[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ๐Ÿ‘จโ€๐Ÿซ๋ฅด์œˆ์˜ TCP UDP

KIM YONG GUยท2023๋…„ 9์›” 9์ผ
0

์šฐ์•„ํ•œํ…Œํฌ

๋ชฉ๋ก ๋ณด๊ธฐ
4/41

1. Transport Layer.

End Point๊ฐ„ ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ €์†ก์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต

์‹ ๋ขฐ์„ฑ : ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ , ์•ˆ์ •์ ์ธ ์ „๋‹ฌ
์ „์†ก : ํฌํŠธ ๋ฒˆํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

Q. ์ „์†ก ๊ณ„์ธต์ด ์—†๋‹ค๋ฉด? (์ „์†ก ๊ณ„์ธต์˜ ์ค‘์š”์„ฑ)

  • ๋ฐ์ดํ„ฐ ์ˆœ์ฐจ ์ „์†ก ์›ํ™œํ•˜์ง€ ์•Š์Œ
  • Flow(ํ๋ฆ„ ๋ฌธ์ œ) : ์†ก์ˆ˜์‹ ์ž ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„ ์ฐจ์ด ~ ์ˆ˜์‹ ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Ÿ‰ ์ดˆ๊ณผ
  • Congestion(ํ˜ผ์žก ๋ฌธ์ œ) : ๋„คํŠธ์›Œํฌ์˜ ๋ฐ์น˜ํ„ฐ ์ฒ˜๋ฆฌ ์†๋„(ex. ๋ผ์šฐํ„ฐ) ~ Network๊ฐ€ ํ˜ผ์žกํ•  ๋•Œ

2. TCP (Transfer Control Protocol)

์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ
ํŠน์ง• : Connection ์—ฐ๊ฒฐ (3-way-handshake) - ์–‘๋ฐฉํ–ฅ ํ†ต์‹ 
๋ฐ์ดํ„ฐ์˜ ์ˆœ์ฐจ ์ „์†ก์„ ๋ณด์žฅ
Flow Control(ํ๋ฆ„ ์ œ์–ด)
Congesntion Control (ํ˜ผ์žก ์ œ์–ด)
Error Dectection (์˜ค๋ฅ˜ ๊ฐ์ง€)

์„ธ๊ทธ๋จผํŠธ(Segmant) - TCP ํ”„๋กœํ† ์ฝœ์˜ PDU

ACK, SYN, FIN (TCP ์—ฐ๊ฒฐ ์ œ์–ด ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ 9๊ฐœ์ค‘ 3๊ฐ€์ง€๋ฅผ ์ค‘์ ์ ์œผ๋กœ ์ด์•ผ๊ธฐ ํ•ด ๋ณผ ๊ฒƒ)

TCP์˜ 3-way handshake (Connection ์—ฐ๊ฒฐ)

  1. SYN ๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•ด ํŒจํ‚ท ์†ก์‹ 
  2. SYN ACK๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•ด ํŒจํ‚ท ์†ก์‹ 
  3. ACK ๋น„ํŠธ๋กค 1๋กœ ์„ค์ •ํ•ด ํŒจํ‚ท ์†ก์‹ 

TCP 4-way handshake (Connection close์ข…๋ฃŒ)

  1. ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ถ€ ์†ก์‹ ํ•œ Client๊ฐ€ FIN ์†ก์‹ 
  2. Server๊ฐ€ ACK ์†ก์‹ 
  3. Server์—์„œ ๋‚จ์€ ํŒจํ‚ท ์†ก์‹  (์ผ์ • ์‹œ๊ฐ„ ๋Œ€๊ธฐ)
  4. Server๊ฐ€ FIN ์†ก์‹ 
  5. Client๊ฐ€ ACK ์†ก์‹ 

TCP์˜ ๋ฌธ์ œ์ 

์ „์†ก์˜ ์‹ ๋ขฐ์„ฑ์€ ๋ณด์žฅํ•˜์ง€๋งŒ. ๋งค๋ฒˆ Connection์„ ์—ฐ๊ฒฐํ•ด์„œ ์‹œ๊ฐ„ ์†์‹ค ๋ฐœ์ƒ (3 way-handshake)
ํŒจํ‚ท์„ ์กฐ๊ธˆ๋งŒ ์†์‹คํ•ด๋„ ์žฌ์ „์†ก (๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ํ—ˆ์šฉ๋ฒ”์œ„๋‚ด์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  -> ๋น„ํšจ์œจ์ )

3. UDP (User Datagram Protocol)

TCP๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ์ด ๋–จ์–ด์ง€์ง€๋งŒ ์ „์†ก ์†๋„๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋นจ๋Š ํ”„๋กœํ† ์ฝœ
(์ˆœ์ฐจ ์ „์†ก X, ํ๋ฆ„ ์ œ์–ด X, ํ˜ผ์žก ์ œ์–ด X)
Connectionless (3 way-handshake X)
Error Dection
๋น„๊ต์  ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ์ด ์ค‘์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉ (ex. ์ŠคํŠธ๋ฆฌ๋ฐ)

User Datagrem - UDP ํ”„๋กœํ† ์ฝœ์˜ PDU(Protocol Data Unit)

UDP์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹

  1. Client๊ฐ€ ํŒจํ‚ท ์†ก์‹ 

์š”์•ฝ

TPC. UDP์˜ ํŠน์„ฑ์„ ํŒŒ์•…ํ•˜๊ณ  ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
TPC. UDP์˜ ํ—ค๋”์— ๋Œ€ํ•ด ํŒŒ์•…ํ•˜๊ณ  ์„ฑ๋Šฅ ๊ฐœ์„ ์— ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Ref)
Peter L Dordal. An Introduction to Computer Networks. p359
W. Richard Stenvens. kevin R. Fall. TCP/IP Illustrated Volume 1

profile
Engineer, Look Beyond the Code.

0๊ฐœ์˜ ๋Œ“๊ธ€