Application Layer (in TCP/IP 4 Layers)

2023. 4. 13. 21:17ใ†Network/Network ์Šคํ„ฐ๋””

ํ˜„๋Œ€ ์‚ฌํšŒ์—์„œ ํŠน์ • ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์ง€๊ตฌ ๋ฐ˜๋Œ€ํŽธ์˜ ์‚ฌ์šฉ์ž์™€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ผ์ด ์ „ํ˜€ ์–ด๋ ต์ง€ ์•Š์€ ์ผ์ด๋‹ค.

์ด๋ฅผ ๊ฐ€๋Šฅ์ผ€ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋„คํŠธ์›Œํฌ์ธ๋ฐ, ๋„คํŠธ์›Œํฌ๋Š” ํŽธ์˜์— ๋”ฐ๋ผ ํฌ๊ฒŒ 4๊ฐœ์˜ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋‰œ๋‹ค. (TCP/IP 4๊ณ„์ธต ๋ฐฉ๋ฒ•๋ก  ๊ธฐ์ค€)

๋„คํŠธ์›Œํฌ๋ฅผ ํฌ๊ฒŒ 4๊ฐœ์˜ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆˆ ๊นŒ๋‹ญ์€,

๊ธฐ๋Šฅ์„ ๊ณ„์ธต๋ณ„๋กœ ๋‚˜๋ˆ„์–ด ๊ตฌ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ  ๊ฐ ๊ณ„์ธต์˜ ์—ญํ• ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

TCP/IP 4๊ณ„์ธต์€ ๋‹ค์Œ์˜ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

  1. ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๊ณ„์ธต(1๊ณ„์ธต)
  2. ์ธํ„ฐ๋„ท ๊ณ„์ธต(2๊ณ„์ธต)
  3. ์ „์†ก ๊ณ„์ธต(3๊ณ„์ธต)
  4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต(4๊ณ„์ธต)

๊ณ„์ธต์ด ๋†’์•„์งˆ์ˆ˜๋ก ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ€๊นŒ์›Œ์ง€๋ฉฐ 

์‚ฌ์šฉ์ž๊ฐ„ ํ†ต์‹ ์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์ธก ์‚ฌ์šฉ์ž์˜ 4๊ณ„์ธต๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ 3, 2, 1๊ณ„์ธต์œผ๋กœ ๋‚ด๋ ค๊ฐ„ ๋’ค,

๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์ธก์˜ ์‚ฌ์šฉ์ž์˜ 1, 2, 3, 4๊ณ„์ธต ์ˆœ์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

์•„๋ž˜๋Š” ์ด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ์„ค๋ช…ํ•œ ์ž๋ฃŒ์ด๋‹ค.

์ถœ์ฒ˜: https://hongchangsub.com/networkprotocol/

 

 

์†Œ์ผ“

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ์ „์†ก ๊ณ„์ธต์€ ์„œ๋กœ ์ธ์ ‘ํ•ด์žˆ๋‹ค. 

์ด ๋‘ ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ์˜ ์ด๋™์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์†Œ์ผ“์ด๋‹ค.

์†Œ์ผ“์€ ์ผ์ข…์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ ์ด์— ๋Œ€ํ•œ I/O๋ฅผ ํ†ตํ•ด ๋‘ ๊ณ„์ธต์„ ์ž‡๋Š”๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ HTTP ํ†ต์‹ ์„ ์‹œ๋„ํ•  ๋•Œ, ์†Œ์ผ“์„ ํ•˜๋‚˜ ์„ ํƒํ•ด์•ผ ํ•˜๋ฉฐ ์ด ๊ณผ์ •์€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถ”์ƒํ™”๋˜์–ด ์žˆ๋‹ค. 

ํฌํŠธ๋ฅผ ์„ ํƒํ•œ ๋’ค ์ „์†กํ•  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ž…๋ ฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๊ทธ ์ดํ›„ ๊ณผ์ •์€ ์ดํ•˜์˜ ๊ณ„์ธต๋“ค์ด ์•Œ์•„์„œ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค. 

์ด์ฒ˜๋Ÿผ ์ถ”์ƒํ™”๊ฐ€ ์ž˜ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์ผ“์€ ์ผ์ข…์˜ ์ „ํ™”๊ธฐ๋กœ ๋น„์œ ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

 

 

HTTP

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์€ HTTP, SMTP, DNS ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค.

์ด ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ HTTP ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค.

HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ์„ ๋”ฐ๋ฅธ๋‹ค.

์„œ๋ฒ„ ์ธก์ด ๊ณ ์ •๋œ IP์™€ ํ•ญ์ƒ ์ผœ์ ธ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํด๋ผ์ด์–ธํŠธ ์ธก์€ ์–ธ์ œ๋“ ์ง€ ์„œ๋ฒ„ ์ธก์— ์š”์ฒญ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

HTTP ํ”„๋กœํ† ์ฝœ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ TCP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์‹ ๋ขฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ,

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๊ฐ์ž์˜ ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์— ์–ด๋ ค์›€๋„ ์—†๋‹ค. 

 

HTTP/1.1 vs HTTP/2

ํ˜„์žฌ ์ธํ„ฐ๋„ท์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” HTTP ๋ฒ„์ „์€ 1.1 ๋ฒ„์ „๊ณผ 2 ๋ฒ„์ „์ด๋‹ค.

1.1 ๋ฒ„์ „์€ 1999๋…„์— ๋“ฑ์žฅํ–ˆ๊ณ , 2 ๋ฒ„์ „์€ 2015๋…„์— ๋“ฑ์žฅํ–ˆ๋‹ค.

์ œ์ผ ์ฒ˜์Œ ๋“ฑ์žฅํ•œ HTTP/1.0 ๋ฒ„์ „์—๋Š” ํ•œ๋ฒˆ์˜ TCP ์—ฐ๊ฒฐ์—์„œ ๋‹จ ํ•˜๋‚˜์˜ ์ž์›๋งŒ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

๋งŒ์•ฝ ํŠน์ • ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ž์›์ด HTML ํ•˜๋‚˜, ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—ด๊ฐœ๋ผ๊ณ  ํ•˜๋ฉด ์ด ์—ดํ•œ๋ฒˆ์˜ TCP ์—ฐ๊ฒฐ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ ๊ณผ์ •์ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

TCP ์—ฐ๊ฒฐ ์ƒ์„ฑ ์‹œ์—๋Š” 3-way Handshake๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค๋ฒˆ ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์€ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด์—ˆ๋‹ค. 

์ด์— HTTP/1.1 ๋ฒ„์ „์—์„œ๋Š” ์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ํ•˜๋‚˜์˜ TCP ์—ฐ๊ฒฐ์„ ์žฌ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

(์ด ์—ฐ๊ฒฐ์€ ์ผ์ • ์‹œ๊ฐ„ ์œ ์ง€๋˜๋‹ค๊ฐ€, ์ผ์ • ์‹œ๊ฐ„ ์ด์ƒ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ๋Š์–ด์ง„๋‹ค.)

HTTP/1.1 ๋ฒ„์ „์€ ์˜ค๋žซ๋™์•ˆ ์•ˆ์ •์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์ง€๋งŒ ์Šค๋งˆํŠธํฐ์˜ ๋ฐœ๋‹ฌ, ๋ฉ€ํ‹ฐ ๋ฏธ๋””์–ด์— ๋Œ€ํ•œ ์š”์ฒญ ์ฆ๊ฐ€ ๋“ฑ์˜ ํŠธ๋ Œ๋“œ๋กœ ๋ฌธ์ œ๋ฅผ ์ง๋ฉดํ•œ๋‹ค.

HOL Blocking

HTTP/1.1 ๋ฒ„์ „์˜ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ์ ์€ Head of Line(HOL) Blocking์ด๋‹ค.

HTTP/1.1 ๋ฒ„์ „์€ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ , ์ผ๋‹จ ์„œ๋ฒ„์— ๋ชจ๋“  ์š”์ฒญ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ดํ”„๋ผ์ธ ๋ฐฉ์‹์ด ๋„์ž…๋˜์—ˆ๋‹ค.

์ถœ์ฒ˜: https://bbo-blog.tistory.com/87?category=1004651

ํ•˜์ง€๋งŒ HTTP/1.1 ๋ฒ„์ „์˜ ํŒŒ์ดํ”„๋ผ์ธ ๋ฐฉ์‹์€ ๊ทธ์ € ์„œ๋ฒ„ ์ธก์—์„œ ๋จผ์ € ๋“ค์–ด์˜จ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋™์•ˆ ๋Šฆ๊ฒŒ ๋“ค์–ด์˜จ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์ธ์œ„์ ์œผ๋กœ ๋ฏธ๋ฃจ๋Š” ์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋จผ์ € ๋“ค์–ด์˜จ ์š”์ฒญ์˜ ๊ทœ๋ชจ๊ฐ€ ํฌ๋‹ค๋ฉด ์ดํ›„ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋Š” Blocking์ด ๋˜๊ฒŒ ๋œ๋‹ค.

์ด๋ฅผ HTTP/2 ๋ฒ„์ „์—์„œ๋Š” ๋ฉ€ํ‹ฐ ํ”Œ๋ ‰์‹ฑ์„ ๋„์ž…ํ•˜์—ฌ ํ•ด๊ฒฐํ•œ๋‹ค.

Multi Flexing

๋ฉ€ํ‹ฐ ํ”Œ๋ ‰์‹ฑ ๋ฐฉ์‹์€ HTTP ํ†ต์‹ ์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋” ์ชผ๊ฐค ์ˆ˜ ์—†๋Š” ํ”„๋ ˆ์ž„์ด๋ผ๋Š” ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. (ํ”„๋ ˆ์ž„์€ ํ—ค๋” ํ”„๋ ˆ์ž„๊ณผ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ๋‘ ์ข…๋ฅ˜๋กœ ๋‚˜๋‰œ๋‹ค.)

๋˜ํ•œ ๊ฐ ํ”„๋ ˆ์ž„๋“ค์— ๋Œ€ํ•œ ์žฌ์กฐ๋ฆฝ์€ ์—”๋“œํฌ์ธํŠธ์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋„์ž…ํ•˜์—ฌ ํŠน์ • ์š”์ฒญ, ์‘๋‹ต์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—…์ด Blocking ๋˜๋Š” ์ผ์„ ์—†์•ด๋‹ค. 

๊ทธ์™ธ์—๋„ ํ—ค๋” ์••์ถ•, ์„œ๋ฒ„ ํ‘ธ์‹ฑ ๋“ฑ์˜ ๋ฐฉ์‹์„ ๋„์ž…ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋งŽ์ด ๊ฐœ์„ ์‹œ์ผฐ๋‹ค.

ํ˜„์žฌ๋Š” HTTP/3 ๋ฒ„์ „๊นŒ์ง€ ๋‚˜์˜จ ์ƒํ™ฉ์ด์ง€๋งŒ ์ด๋Š” ์•„์ง ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒ๋˜์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ๋‹ค๋งŒ, Google์ด๋‚˜ Youtube ๋“ฑ์˜ ์›น์‚ฌ์ดํŠธ์—๋Š” ์ด๋ฅผ ์„ ์ œ์ ์œผ๋กœ ์ ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

 

'Network > Network ์Šคํ„ฐ๋””' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Link Layer (in TCP/IP 4 Layers)  (0) 2023.05.31
Network Layer (in TCP/IP 4 Layers)  (0) 2023.05.11
Transport Layer (in TCP/IP 4 Layers)  (0) 2023.04.29