Transport Layer (in TCP/IP 4 Layers)

2023. 4. 29. 20:01ใ†Network/Network ์Šคํ„ฐ๋””

2023.04.13 - [Network/Network ์Šคํ„ฐ๋””] - Application Layer (in TCP/IP 4 Layers)

 

Application Layer (in TCP/IP 4 Layers)

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

one-armed-boy.tistory.com

์ด์ „ ํฌ์ŠคํŒ…์—์„œ TCP/IP 4 ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋งˆ์ง€๋ง‰ ๊ณ„์ธต์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์— ๋Œ€ํ•ด ๋‹ค๋ค˜์—ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต(4 ๊ณ„์ธต)๊ณผ ์ธํ„ฐ๋„ท ๊ณ„์ธต(2 ๊ณ„์ธต)์„ ์ด์–ด์ฃผ๋Š” ์ „์†ก ๊ณ„์ธต(3 ๊ณ„์ธต)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

 

์ „์†ก ๊ณ„์ธต(Transport Layer)

์ „์†ก ๊ณ„์ธต์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ์ธํ„ฐ๋„ท ๊ณ„์ธต ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ๋‘ ๊ณ„์ธต์„ ์ด์–ด์ฃผ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์†ก์‹  ์ธก ๊ธฐ์ค€์œผ๋กœ, ๋‹ค์Œ์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ์นœ๋‹ค.

  1. ์ „์†ก ์ธก ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ณด๋‚ธ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ์ธํ„ฐ๋„ท ๊ณ„์ธต์œผ๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ํ•œ๋‹ค.
  2. ์ด๋ฅผ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์ธ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
  3. ์„ธ๊ทธ๋จผํŠธ ํ—ค๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ํฌํŠธ(์†Œ์ผ“)์— ๋„˜๊ฒจ์ค€๋‹ค.

์ด ๊ณผ์ •์—์„œ ํŠน์ • ํ˜ธ์ŠคํŠธ์˜ ์ธํ„ฐ๋„ท ๊ณ„์ธต(1)๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต(N)์„ ์ž‡๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์ „์†ก ๊ณ„์ธต์€ ๋‹ค์ค‘ํ™”์™€ ์—ญ๋‹ค์ค‘ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

(์†ก์‹  ์ธก์—์„œ ์ด๋ค„์ง€๋Š” ์ƒํ™ฉ์„ ๋‹ค์ค‘ํ™”, ๋ฐ˜๋Œ€ ์ƒํ™ฉ์„ ์—ญ๋‹ค์ค‘ํ™”๋ผ๊ณ  ํ•œ๋‹ค.)

์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์—๋Š” TCP์™€ UDP๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

UDP

UDP๋Š” ์ „์†ก ๊ณ„์ธต์ด ์ˆ˜ํ–‰ํ•ด์•ผํ•  ์ตœ์†Œํ•œ์˜ ์—ญํ•  ๋งŒ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  1. ๋‹ค์ค‘ํ™”, ์—ญ๋‹ค์ค‘ํ™” 
  2. ์˜ค๋ฅ˜ ๊ฒ€์ถœ

์ด๋ ‡๊ธฐ ๋•Œ๋ฌธ์— UDP ์„ธ๊ทธ๋จผํŠธ์˜ ํ—ค๋”๋Š” TCP ์„ธ๊ทธ๋จผํŠธ์˜ ํ—ค๋”์˜ ๋น„ํ•ด ์ž‘์€ ํฌ๊ธฐ๋ฅผ ๊ฐ–๋Š”๋‹ค.

(8 byte vs 20 byte)

๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์‹ ๋ขฐ์„ฑ๋ณด๋‹ค๋Š”, ์ž‘์€ ์˜ค๋ฒ„ํ—ค๋“œ๋‚˜ TCP์˜ ํ˜ผ์žก ์ œ์–ด๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กœ์šธ ํ•„์š”์„ฑ์ด ๋” ํด ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์˜ DNS๊ฐ€ UDP๋ฅผ ์ฑ„ํƒํ•œ๋‹ค.

๋˜ํ•œ HTTP์˜ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์ธ HTTP/3์—์„œ TCP ๋Œ€์‹  UDP ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค.

(์—ฌ๋‹ด์œผ๋กœ UDP ํ”„๋กœํ† ์ฝœ ์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„๋ฅผ ์„ธ๊ทธ๋จผํŠธ ๋Œ€์‹  ๋ฐ์ดํ„ฐ๊ทธ๋žจ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.)

๋‹ค์ค‘ํ™”, ์—ญ๋‹ค์ค‘ํ™”

UDP์—์„œ๋Š” ํ•ด๋‹น ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด

์„ธ๊ทธ๋จผํŠธ ํ—ค๋”์— ์ „์†ก ์ธก์˜ ํฌํŠธ ๋ฒˆํ˜ธ์™€ ์ˆ˜์‹  ์ธก์˜ ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋œ๋‹ค.

์ด๋“ค์€ ๊ฐ๊ฐ 2 byte์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ–๋Š”๋ฐ,

์ด๋ฅผ ํ†ตํ•ด ์ˆ˜์‹  ์ธก์—์„œ๋Š” ์ธํ„ฐ๋„ท ๊ณ„์ธต์„ ํ†ตํ•ด ์ „๋‹ฌ๋ฐ›์€ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์†Œ์ผ“์— ๋งคํ•‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

์˜ค๋ฅ˜ ๊ฒ€์ถœ

UDP์—์„œ๋Š” ํ•ด๋‹น ์—ญํ• ์„ ์œ„ํ•ด ์„ธ๊ทธ๋จผํŠธ ํ—ค๋” ๋‚ด ์ฒดํฌ์„ฌ์„ ํฌํ•จ์‹œํ‚จ๋‹ค. 

์†ก์‹  ์ธก ํ—ค๋”๋ฅผ ํ†ตํ•ด ์ฒดํฌ์„ฌ์„ ๋งŒ๋“ค๊ณ , ์ˆ˜์‹  ์ธก์—์„œ๋Š” ์ฒดํฌ์„ฌ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋œ ํ—ค๋”์— ์ฒดํฌ์„ฌ์„ ๋”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์˜ค๋ฅ˜ ๊ฒ€์ถœ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์• ์ดˆ์— ์ฒดํฌ์„ฌ์€ ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ๋“ค๊ณผ ๋”ํ•ด์กŒ์„ ๋•Œ 1111111111111111(2) ์ด ๋˜๋„๋ก ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์—

์ˆ˜์‹  ์ธก์—์„œ ์ˆ˜ํ–‰ํ•œ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ์œ„์™€ ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด ์ „์†ก ๊ณผ์ •์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋‹ค๋งŒ UDP์˜ ์—ญํ• ์€ ๋‹จ์ˆœ ๊ฒ€์ถœ๊นŒ์ง€์ด๊ณ  ์ด์— ๋Œ€ํ•œ ํšŒ๋ณต์€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋˜ํ•œ ์ฒดํฌ์„ฌ์„ 0์œผ๋กœ ์ƒ์„ฑํ•˜๋ฉด ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๊ณผ์ •์„ ์ƒ๋žตํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.

 

TCP

์ „์†ก ๊ณ„์ธต ์ดํ•˜์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ํŒจํ‚ท์˜ ๋„์ฐฉ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ๋ชปํ•˜๊ณ ,

ํŒจํ‚ท์ด ์†์ƒ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹ฌ์ง€์–ด๋Š” ํŒจํ‚ท์„ ์•„์˜ˆ ์žƒ์–ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค.

TCP๋Š” ์ด๋Ÿฌํ•œ ํ™˜๊ฒฝ ์†์—์„œ๋„ ์ „์†ก ๊ณ„์ธต ๋ ˆ๋ฒจ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ์„ ๋ณด์žฅํ•œ๋‹ค. 

UDP๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ• ์€ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ๋„,(๋‹ค์ค‘ํ™”, ์—ญ๋‹ค์ค‘ํ™”, ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๋“ฑ)

๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด UDP๊ฐ€ ๋ณด์žฅํ•˜์ง€ ๋ชปํ•˜๋Š” ์—ฐ๊ฒฐ์„ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.

๋Œ€์‹  ๊ทธ์— ๋”ฐ๋ผ ์„ธ๊ทธ๋จผํŠธ ํ—ค๋”์— ํฌํ•จ๋˜์–ด์•ผํ•˜๋Š” ์ •๋ณด๊ฐ€ UDP๋ณด๋‹ค ๋งŽ์•„์„œ, ์–ด๋Š์ •๋„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

3-way Handshake

TCP ํ”„๋กœํ† ์ฝœ์€ ์—ฐ๊ฒฐ ์ง€ํ–ฅ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์—

TCP ์—ฐ๊ฒฐ ์‹œ 3-way handshake๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์‚ฌ์ „ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ถœ์ฒ˜: https://sjlim5092.tistory.com/35

์œ„ ๊ณผ์ •์„ ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

  1. ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์—ฐ๊ฒฐ ์š”์ฒญ์„ SYN=1, {ํด๋ผ์ด์–ธํŠธ ์ธก ์ˆœ์„œ ๋ฒˆํ˜ธ}=a๋ผ๋Š” ๊ฐ’๊ณผ ํ•จ๊ป˜ ๋ณด๋ƒ„.
  2. ์„œ๋ฒ„ ์ธก์—์„œ๋Š” a๋ฅผ ์ž˜ ์ˆ˜์‹ ํ–ˆ๋‹ค๋Š” ์‘๋‹ต์„ SYN=1, {์„œ๋ฒ„ ์ธก ์ˆœ์„œ ๋ฒˆํ˜ธ}=b, ACK=a+1(a๋ฅผ ์ž˜ ์ˆ˜์‹ ํ–ˆ๊ณ  ๊ทธ ๋‹ค์Œ ์ˆœ์„œ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ ๋‹ค๋Š” ์˜๋ฏธ์˜ +1)์˜ ๊ฐ’๋“ค๋กœ ๋ฐ˜ํ™˜.
  3. ํด๋ผ์ด์–ธํŠธ ์ธก์€ ์„œ๋ฒ„ ์ธก์ด ๋ฐ˜ํ™˜ํ•œ ์‘๋‹ต์„ ์ž˜ ๋ฐ›์•˜๋‹ค๋Š” ์˜๋ฏธ์—์„œ SYN=0(์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์˜ 0, ์ดํ›„ ํ•ด๋‹น ์—ฐ๊ฒฐ์˜ ์„ธ๊ทธ๋จผํŠธ์—์„œ๋Š” ๋ชจ๋‘ 0์˜ ๊ฐ’์„ ๊ฐ€์ง), ACK=b+1 ์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜. 

ํ•ด๋‹น ๊ณผ์ •์„ ํ†ตํ•ด ๋‘ ํ˜ธ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ ์ด์ƒ์ด ์—†์Œ์„ ํ™•์ธํ•˜๊ณ , TCP ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๊ฐ์ข… ๋ณ€์ˆ˜๋“ค์„ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด์„œ TCP ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋œ๋‹ค.

์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก

TCP ๊ธฐ๋ฒ•์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž…์žฅ์—์„œ ์ „์†ก ์ธก์—์„œ ์ „์†กํ•œ ๋ฐ์ดํ„ฐ์˜ ๋„์ฐฉ, ๋ณ€์กฐ ์—ฌ๋ถ€, ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ๊ฒƒ์€ ์ „์†ก ๊ณ„์ธต ์ดํ•˜์˜ ๊ณ„์ธต์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„๋“ค์„ ๋ณด์žฅํ•ด์ฃผ์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๋ฅผ ์œ„ํ•ด TCP ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ํƒ€์ด๋จธ, ์ˆœ์„œ ๋ฒˆํ˜ธ, ํ™•์ธ ์‘๋‹ต(ACK), ์žฌ์ „์†ก ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•œ๋‹ค.

์šฐ์„  ์ „์†ก ์ธก์—์„œ๋Š” ์ „์†กํ•˜๊ณ ์žํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ŠคํŠธ๋ฆผ์˜ ๋ฐ”์ดํŠธ์— ๊ณ ์œ ํ•œ ์ˆœ์„œ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.

๊ทธ ํ›„์—” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  ์ธก์— ์ „์†กํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ˆ˜์‹  ์ธก์€ ์ง€๊ธˆ๊นŒ์ง€ ์ˆ˜์‹ ํ•œ ์—ฐ์†๋œ ์ˆœ์„œ ๋ฒˆํ˜ธ ๋ฐ์ดํ„ฐ์˜ ๋ฐ”๋กœ ๋‹ค์Œ ์ˆœ์„œ ๋ฒˆํ˜ธ๋ฅผ ACK ์‘๋‹ต์— ๋‹ด์•„ ์ „์†ก ์ธก์— ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ๋•Œ ํƒ€์ด๋จธ์˜ ๊ฐœ๋…์ด ๋“ฑ์žฅํ•˜๋Š”๋ฐ,

๋งŒ์•ฝ ์ „์†ก ์ธก์ด ํƒ€์ด๋จธ์— ์ง€์ •๋œ ๊ธฐ๊ฐ„ ๋™์•ˆ ACK ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•œ๋‹ค๋ฉด ์ด๋ฅผ ์ „์†ก ๋ฐ์ดํ„ฐ์˜ ๋ˆ„๋ฝ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ํ•ด๋‹น ์ˆœ์„œ ๋ฒˆํ˜ธ์˜ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์žฌ์ „์†กํ•œ๋‹ค. ์ด ๋•Œ ์ „์†ก ๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„๋ฝ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ACK ์‘๋‹ต์ด ๋ถ„์‹ค๋œ ๊ฒƒ์ด๋ผ๋„ ์ˆ˜์‹  ์ธก์—์„œ๋Š” ์ˆœ์„œ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์ค‘๋ณต ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋˜์ง€ ์•Š๋Š”๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์‹  ์ธก์—์„œ๋Š” ๋ˆ„๋ฝ๋œ ์ˆœ์„œ ๋ฒˆํ˜ธ๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ, ๋ˆ„๋ฝ๋œ ์ˆœ์„œ ๋ฒˆํ˜ธ ์ด์ „์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์œผ๋กœ ๋ฐ€์–ด๋„ฃ๊ณ  ๊ทธ ์ดํ›„ ์ˆœ์„œ ๋ฒˆํ˜ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๊ฐ€ ๋งŒ์กฑ๋  ๋•Œ๊นŒ์ง€ ๋ฒ„ํผ์—์„œ ์ž„์‹œ ์ €์žฅํ•˜๊ฒŒ ๋œ๋‹ค.

ํ๋ฆ„ ์ œ์–ด

TCP ๋ฐฉ์‹์—์„œ ์†ก์ˆ˜์‹ ์— ์ฐธ์—ฌํ•˜๋Š” ๋‘ ์ฃผ์ฒด๋Š” ๋ชจ๋‘ ๊ฐœ๋ณ„์ ์ธ ์ˆ˜์‹  ๋ฒ„ํผ๋ฅผ ๊ฐ–๋Š”๋‹ค. 

์ „์†ก ์ธก์—์„œ ๋ณด๋‚ธ ์„ธ๊ทธ๋จผํŠธ๋“ค์€ ๋ชจ๋‘ ์ˆ˜์‹  ๋ฒ„ํผ์— ์Œ“์ด๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ฒ„ํผ์—์„œ ์ง€์›Œ์ง„๋‹ค.

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

๋”ฐ๋ผ์„œ ์ˆ˜์‹  ๋ฒ„ํผ๋ฅผ ์ฝ์–ด๋‚ด๋Š” ์ˆ˜์‹  ์ธก ์†๋„์™€ ๋ฒ„ํผ๋ฅผ ์ฑ„์šฐ๋Š” ์ „์†ก ์ธก ์†๋„๋ฅผ ์ผ์น˜์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด TCP ๋ฐฉ์‹์—์„œ๋Š” ํ๋ฆ„ ์ œ์–ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ˆ˜์‹  ๋ฒ„ํผ์˜ ๊ฐ€์šฉ ๊ณต๊ฐ„์„ ์ˆ˜์‹  ์œˆ๋„์šฐ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ˆ˜์‹  ์ธก์€ ์œˆ๋„์šฐ ๊ฐ’(rwnd ๊ฐ’)์„ ์„ธ๊ทธ๋จผํŠธ ํ—ค๋“œ์— ๋‹ด์•„์„œ ์ „์†ก ์ธก์— ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ „์†ก ์ธก์€ ํ•ด๋‹น ๊ฐ’์„ ๋ณด๊ณ  ์ˆ˜์‹  ์œˆ๋„์šฐ๊ฐ€ 0 ๋ฏธ๋งŒ์˜ ๊ฐ’์ด ๋˜์ง€ ์•Š๋„๋ก ์†๋„๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ํ๋ฆ„ ์ œ์–ด๋ฅผ ๋‹ฌ์„ฑํ•œ๋‹ค.

ํ˜ผ์žก ์ œ์–ด

๋„คํŠธ์›Œํฌ ์ƒ์— ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ ํŒจํ‚ท์ด ์กด์žฌํ•˜๊ฒŒ ๋˜๋ฉด ํŒจํ‚ท๋“ค์ด ๋ผ์šฐํ„ฐ๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ํ์—์„œ ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ณ , ์‹ฌ์ง€์–ด๋Š” ๋ผ์šฐํ„ฐ์˜ ํ๊ฐ€ ๊ฐ€๋“์ฐจ ํŒจํ‚ท์ด ๋ถ„์‹ค๋˜๊ธฐ๋„ ํ•œ๋‹ค. 

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ 'ํ˜ผ์žก' ์ƒํƒœ๋ผ๊ณ  ํ•˜๋ฉฐ TCP ํ”„๋กœํ† ์ฝœ์€ ์ด๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ˜ผ์žก ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ตœ๊ทผ์—๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ํ˜ผ์žก ์ƒํƒœ์— ์ด๋ฅด๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ๊ฒฝ๊ณ  ์‹œ๊ทธ๋„์„ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹๋„ ์กด์žฌํ•˜์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ „์†ก ๊ณ„์ธต์˜ TCP ํ”„๋กœํ† ์ฝœ์ด ์Šค์Šค๋กœ ํ˜„์žฌ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ํ˜ผ์žกํ•œ์ง€ ํŒ๋‹จํ•  ๊ธฐ์ค€์ด ํ•„์š”ํ•˜๋‹ค.

TCP์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ํŒจํ‚ท์ด ๋ถ„์‹ค๋œ ์ƒํ™ฉ์„ ํ˜ผ์žกํ•œ ์ƒํ™ฉ์œผ๋กœ ์—ฌ๊ธฐ๊ณ , ํŒจํ‚ท์˜ ๋ถ„์‹ค ์—ฌ๋ถ€์— ๋Œ€ํ•œ ํŒ๋‹จ ๊ธฐ์ค€์ด ํ•„์š”ํ–ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด, TCP๋Š” ํƒ€์ด๋จธ ๋ฐฉ์‹๊ณผ ์ค‘๋ณต ACK ์‘๋‹ต ํ™•์ธ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

ํƒ€์ด๋จธ ๋ฐฉ์‹์€ ๊ฐ„๋‹จํ•˜๋‹ค. ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•œ ๋’ค ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ACK ์‘๋‹ต์ด ์˜ค์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ด๋Š” ํŒจํ‚ท์ด ๋ถ„์‹ค๋œ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ , ์ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ํ˜ผ์žกํ•œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค.

์ค‘๋ณต ACK ์‘๋‹ต ํ™•์ธ ๋ฐฉ์‹์€, ์ˆ˜์‹  ์ธก์—์„œ ์„ธ๊ทธ๋จผํŠธ์˜ ์ˆ˜์‹ ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด๋Š” ACK๊ฐ€ ๋ˆ„์  ๋ฐฉ์‹์ด๋ผ๋Š” ๊ฒƒ์— ์ฐฉ์•ˆํ–ˆ๋‹ค. 
์ฆ‰, ์ค‘๋ณต๋œ ACK ์‘๋‹ต์ด ๋ฐ˜๋ณต๋œ๋‹ค๋ฉด ์ด๋Š” ์ˆ˜์‹  ์ธก์— ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๋„์ฐฉ์€ ํ•˜๊ณ  ์žˆ์œผ๋‚˜ ์ค‘๊ฐ„์— ๋ˆ„๋ฝ๋œ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์žˆ์Œ์„ ๋‚ดํฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. TCP์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ค‘๋ณต ACK ์‘๋‹ต์ด 3๋ฒˆ ์ด์ƒ๋  ๊ฒฝ์šฐ ํŒจํ‚ท์ด ๋ถ„์‹ค๋œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค.

TCP ๋‹จ์—์„œ ์–ด๋–ป๊ฒŒ ํ˜ผ์žก ์ƒํƒœ๋ฅผ ํŒ๋‹จํ•˜๋Š”์ง€ ์•Œ๊ฒŒ ๋˜์—ˆ์œผ๋‹ˆ, ์ด์ œ๋Š” TCP๊ฐ€ ์–ด๋–ป๊ฒŒ ํ˜ผ์žก ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

TCP๋Š” ์ „์†ก ์ธก์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ํ˜ผ์žก ์œˆ๋„์šฐ(cwnd) ๋ณ€์ˆ˜ ๋ฐ ํฌ๊ฒŒ ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ, ํ˜ผ์žก ํšŒํ”ผ, ๋น ๋ฅธ ํšŒ๋ณต์œผ๋กœ ๋ถ€๋ฆฌ๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ํ˜ผ์žก ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ๋ž€ TCP ์—ฐ๊ฒฐ์ด ์ˆ˜๋ฆฝ๋œ ํ›„, ์ดˆ๊ธฐ์—๋Š” ์•„์ฃผ ๋Š๋ฆฐ ์†๋„๋กœ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•˜๋‹ค๊ฐ€ ์ ์ฐจ ์ด๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ฐ€๋ น ์—ฐ๊ฒฐ์ด ์ˆ˜๋ฆฝ๋œ ์งํ›„, cwnd๋Š” ์„ธ๊ทธ๋จผํŠธ ํ•˜๋‚˜ ํฌ๊ธฐ์˜ ๊ฐ’์ผ ์ˆ˜ ์žˆ๋‹ค. ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ ๋ฐฉ์‹์—์„œ๋Š” ์ˆ˜์‹  ์ธก์ด ๋ณด๋‚ด๋Š” ACK ์‘๋‹ต์˜ ์ˆ˜๋งŒํผ cwnd์˜ ํฌ๊ธฐ๋ฅผ ์„ธ๊ทธ๋จผํŠธ ๋‹จ์œ„๋กœ ํ‚ค์šด๋‹ค. ์ฆ‰ ์ดˆ๊ธฐ์—๋Š” ์„ธ๊ทธ๋จผํŠธ 1๊ฐœ๋ฅผ ๋™์‹œ์— ์ „์†กํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ฐ€, ์ ์ฐจ 2๊ฐœ, 4๊ฐœ, 8๊ฐœ, 16๊ฐœ... ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ ๋ฐฉ์‹์€ TCP ์—ฐ๊ฒฐ ์ดˆ๊ธฐ์— ์•„์ฃผ ๋Š๋ฆฐ ์ „์†ก ์†๋„๋กœ๋ถ€ํ„ฐ ์ „์†ก ์†๋„(cwnd)๋ฅผ ์ง€์ˆ˜์ ์œผ๋กœ ์ƒ์Šน์‹œ์ผœ ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ „์†ก ์†๋„๊นŒ์ง€ ๋น ๋ฅด๊ฒŒ ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ๋Š” TCP๊ฐ€ ํŒจํ‚ท์ด ๋ถ„์‹ค๋˜์—ˆ๋‹ค๊ณ  ํŒ๋‹จํ•  ๋•Œ๊นŒ์ง€ ์ง€์†๋˜๋ฉฐ, ํŒจํ‚ท์ด ๋ถ„์‹ค๋˜์—ˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋ฉด ๊ทธ ์ฆ‰์‹œ cwnd๋ฅผ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ค„์ด๊ณ (์—ฌ๊ธฐ์—์„œ๋Š” ์„ธ๊ทธ๋จผํŠธ ํ•˜๋‚˜ ๋ถ„๋Ÿ‰) ssthresh๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋ถ„์‹ค ์‹œ์ ์˜ cwnd์˜ ์ ˆ๋ฐ˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ ๋’ค ๋‹ค์‹œ ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ ์ƒํƒœ๋กœ ๋Œ์ž…ํ•œ๋‹ค. ์ดํ›„, cwnd ๊ฐ’์ด ssthresh ๊ฐ’๊ณผ ๋‹ค์‹œ ๋™์ผํ•ด์ง€๋Š” ์‹œ์ ์— TCP๋Š” ํ˜ผ์žก ํšŒํ”ผ ์ƒํƒœ๋กœ ๋Œ์ž…ํ•œ๋‹ค.

ํ˜ผ์žก ํšŒํ”ผ๋ž€ ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด cwnd ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ํ•œ๊ณ„๊นŒ์ง€ ๋„๋‹ฌ์‹œํ‚จ ์ƒํ™ฉ์—์„œ ์กฐ๊ธˆ ๋” ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ cwnd ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด์ „(์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ ๋‹จ๊ณ„)์—๋Š” cwnd ๊ฐ’์ด ํญ๋ฐœ์ ์œผ๋กœ ์ฆ๊ฐ€ํ–ˆ๋‹ค๋ฉด, ์ด์ œ๋Š” ์กฐ๊ธˆ ๋” ํ•œ๊ณ„์น˜์— ๊ฐ€๊น๊ฒŒ ๋‹ค๊ฐ€๊ฐ€๊ธฐ ์œ„ํ•ด ์ง€์ˆ˜์  ์ฆ๊ฐ€ ๋ฐฉ์‹์„ ๋ฒ„๋ฆฌ๊ณ  ์„ ํ˜•์  ์ฆ๊ฐ€ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ๋‹ค. ๊ฐ€๋ น ํŠน์ • ์‹œ์ ์˜ cwnd๊ฐ€ ์„ธ๊ทธ๋จผํŠธ 16๊ฐœ ๋ถ„๋Ÿ‰์ด๋ผ๋ฉด, 16๊ฐœ์˜ ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ACK๊ฐ€ ๋ชจ๋‘ ๋„์ฐฉํ•œ ๋’ค์— cwnd๋ฅผ ์„ธ๊ทธ๋จผํŠธ 17(16+1)๊ฐœ ๋ถ„๋Ÿ‰์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ์‹์ด๋‹ค. ํ˜ผ์žก ํšŒํ”ผ ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ์— ์ข…๋ฃŒ๋˜๊ฒŒ ๋œ๋‹ค. ์ฒซ๋ฒˆ์งธ๋Š” ACK ์‘๋‹ต์— ๋Œ€ํ•ด ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์ด๋‹ค. ํ•ด๋‹น ๊ฒฝ์šฐ์—๋Š” ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ์ฒ˜๋Ÿผ ssthresh ๊ฐ’์„ ํ•ด๋‹น ์‹œ์  cwnd ๊ฐ’์˜ ์ ˆ๋ฐ˜์œผ๋กœ ์„ค์ •ํ•˜๊ณ  cwnd ๊ฐ’์„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ˆ˜์ •ํ•œ๋‹ค. ๋‘๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” ์ค‘๋ณต ACK ์‘๋‹ต์ด ์ผ์ • ํšŸ์ˆ˜ ์ด์ƒ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ์ด๋‹ค. ์ด ๋•Œ๋Š” ํƒ€์ž„์•„์›ƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์ˆ˜์‹  ์ธก์—์„œ ์ง€์†์ ์œผ๋กœ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ˆ˜์‹ ํ–ˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ฒซ๋ฒˆ์งธ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ๊ธ‰์ง„์ ์ธ ๋ฐฉ์‹์œผ๋กœ cwnd ๊ฐ’์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, cwnd ์ ˆ๋ฐ˜ ๊ฐ’์— ์ค‘๋ณต ACK ์‘๋‹ต ํšŸ์ˆ˜ ๋งŒํผ ๋”ํ•œ ๊ฐ’์„ ์ƒˆ๋กœ์šด cwnd ๊ฐ’์œผ๋กœ ์ˆ˜์ •ํ•œ๋‹ค.(ssthresh ๊ฐ’์€ ๋™์ผํ•˜๊ฒŒ ๋ฌธ์ œ ์‹œ์ ์˜ cwnd ๊ฐ’์˜ ์ ˆ๋ฐ˜์œผ๋กœ ์ˆ˜์ •) ์ดํ›„ ๋น ๋ฅธ ํšŒ๋ณต ์ƒํƒœ์— ๋Œ์ž…ํ•œ๋‹ค.

๋น ๋ฅธ ํšŒ๋ณต์ด๋ž€ ์ค‘๋ณต ACK ์‘๋‹ต ์ƒํ™ฉ์—์„œ ์ด๋ฅผ ์œ„ํ•ด ์ค‘๋ณต๋œ ๋งŒํผ cwnd ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ํ•ด๋‹น ์ค‘๋ณต ์ƒํ™ฉ์ด ํ•ด๊ฒฐ๋œ ๊ฒฝ์šฐ ํ˜ผ์žก ํšŒํ”ผ ์ƒํƒœ๋กœ ๋Œ์ž…ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. ๋งŒ์•ฝ ๋น ๋ฅธ ํšŒ๋ณต ๋‹จ๊ณ„์—์„œ ํƒ€์ž„ ์•„์›ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค๋ฉด, ์ด ๊ฒฝ์šฐ์—” ๊ธฐ์กด ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ, ํ˜ผ์žก ํšŒํ”ผ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€์˜ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ ๋’ค ์Šฌ๋กœ์šฐ ์Šคํƒ€ํŠธ ๋‹จ๊ณ„๋กœ ์ด๋™ํ•œ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์€ TCP ํ”„๋กœํ† ์ฝœ์—์„œ ํ˜ผ์žก ์ œ์–ด๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐฉ์‹์„ ํ•œ ๋ˆˆ์— ๋ณด์—ฌ์ค€๋‹ค.

์ถœ์ฒ˜: https://gyoogle.dev/blog/computer-science/network/%ED%9D%90%EB%A6%84%EC%A0%9C%EC%96%B4%20&%20%ED%98%BC%EC%9E%A1%EC%A0%9C%EC%96%B4.html

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

Link Layer (in TCP/IP 4 Layers)  (0) 2023.05.31
Network Layer (in TCP/IP 4 Layers)  (0) 2023.05.11
Application Layer (in TCP/IP 4 Layers)  (0) 2023.04.13