TCP์™€ UDP

๊ถŒํƒœํ˜•ยท2023๋…„ 3์›” 31์ผ
0

์ง€์‹์ •๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
50/72
post-thumbnail
post-custom-banner

๐Ÿ˜€TCP์™€ UDP์˜ ๊ณตํ†ต์ ๊ณผ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด๋ณด๋ผ๋Š” CS๋ฉด์ ‘์งˆ๋ฌธ์„ ๋ณด๊ณ  ๋‚ด๊ฒŒ ์ทจ์•ฝํ•œ ๋„คํŠธ์›ŒํฌCS์ง€์‹์„ ๋ณด์ถฉํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์งˆ๋ฌธ์ด ๋  ๊ฒƒ์ด๋ผ ํŒ๋‹จํ•˜์—ฌ ์ด ํฌ์ŠคํŒ…์„ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. TCP์™€ UDP๋ฅผ ๋น„๊ต ๋ถ„์„ํ•ด๋ด๋ผ๋Š” ์งˆ๋ฌธ์ด๊ธฐ์— TCP์™€ UDP๋ฅผ ํ•˜๋‚˜์”ฉ ์ฒœ์ฒœํžˆ ์•Œ์•„๋ณด๊ณ  ๋น„๊ตํ•ด๋ณด์ž

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

๐Ÿ˜€TCP์™€ UDP๋Š” ๋ชจ๋‘ TCP/IP์˜ ์ „์†ก๊ณ„์ธต์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๋•Œ๋ฌธ์— ์ „์†ก๊ณ„์ธต์ด ๋ฌด์—‡์ธ์ง€, ํ•˜๋Š” ์—ญํ• ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„์•ผ ํ•  ํ•„์š”์„ฑ์ด ์žˆ๋‹ค.

TCP/IP ๋ชจ๋ธ์˜ ์ „์†ก ๊ณ„์ธต(Transport Layer)์€ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž ๊ฐ„์˜ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.

ํŒจํ‚ท์ด ์ „์†ก ๊ณผ์ •์—์„œ ์•„๋ฌด ๋ฌธ์ œ ์—†์ด ์ œ๋Œ€๋กœ ์ˆ˜์‹ ์ง€ ์ปดํ“จํ„ฐ์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ท ์ „์†ก์„ ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ด ๊ณ„์ธต์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„ธ๊ทธ๋จผํŠธ(Segment) ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ทธ๋žจ(Datagram) ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๊ณ , ์ „์†ก์„ ๋ณด์žฅํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ถœํ•˜๋ฉฐ, ํ๋ฆ„ ์ œ์–ด์™€ ํ˜ผ์žก ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ „์†ก๊ณ„์ธต์˜ ํ•„์š”์„ฑ

์ธํ„ฐ๋„ท ๊ณ„์ธต์ด ํŒจํ‚ท ์ „์†ก์ด๋ผ๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜์ง€๋งŒ ์ˆ˜์‹ ์ง€๊นŒ์ง€ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„ ํŒจํ‚ท์„ ์ „์†กํ•  ๋ฟ ์ˆ˜์‹ ์ง€ ์ปดํ“จํ„ฐ๊ฐ€ ์ธํ„ฐ๋„ท์— ์กด์žฌํ•˜๋Š”์ง€, ์ˆ˜์‹ ์ง€ ์ปดํ“จํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋”๋ผ๋„ ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋Š”์ง€, ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋”๋ผ๋„ ์ „์†ก ๊ณผ์ •์—์„œ ํŒจํ‚ท์ด ์†์ƒ๋˜๊ฑฐ๋‚˜ ์œ ์‹ค๋˜์ง€๋Š” ์•Š์•˜๋Š”์ง€ ๋“ฑ์˜ ๋ฌธ์ œ๋“ค์€ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.

ํŒจํ‚ท์ด ์ „์†ก ๊ณผ์ •์—์„œ ์•„๋ฌด ๋ฌธ์ œ ์—†์ด ์ œ๋Œ€๋กœ ์ˆ˜์‹ ์ง€ ์ปดํ“จํ„ฐ์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ท ์ „์†ก์„ ์ œ์–ดํ•  ํ•„์š”์„ฑ์ด ์žˆ๋‹ค.

๐Ÿ˜€๋งŒ์•ฝ ์ „์†ก๊ณ„์ธต ์—†์ด ์ „์†ก์˜ ์ œ์–ด๋ฅผ ๋”ฐ๋กœํ•˜์ง€ ์•Š๊ณ  ์–ด๋–ค ์‚ฌํƒœ๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ?

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

์†ก์‹ ์ž ์ธก์—์„œ "Hello, Nice to meet you" ๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ƒˆ์ง€๋งŒ, ์ด๋ฏธ ์ˆ˜์‹ ์ธก์˜ ์šฉ๋Ÿ‰์˜ ํ•œ๋„์—์„œ ์ฒ˜๋ฆฌ์ค‘์ด๋ผ ์ผ๋ถ€๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค๋ฉด,

์ˆ˜์‹ ์ž ์ธก์—์„œ ๋ฐ›์€ ๋ฉ”์‹œ์ง€๋Š” "Hellใ€€,ใ€€ใ€€ใ€€ใ€€toใ€€ใ€€ใ€€you"๋ผ๋Š” ๋ฉ”์ง€์‹œ๊ฐ€ ๋„๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.


TCP (Transmission Control Protocol)

TCP(Transmission Control Protocol)๋Š” ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ(IP)์˜ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅ์ ์ธ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

์žฅ์น˜๋“ค ์‚ฌ์ด์— ๋…ผ๋ฆฌ์ ์ธ ์ ‘์†์„ ์„ฑ๋ฆฝ(establish)ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜์—ฌ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅ์ ์ธ ํ”„๋กœํ† ์ฝœ

TCP๋Š” ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋‚˜ ๋ฉ”์‹œ์ง€ ๋“ฑ์„ ์•ˆ์ •์ ์œผ๋กœ, ์ˆœ์„œ๋Œ€๋กœ, ์—๋Ÿฌ์—†์ด ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.


TCP์˜ ๋™์ž‘ ๊ณผ์ •

์†Œ์ผ“ ์ƒ์„ฑ ๐Ÿ‘‰ 3Way Handshake ๐Ÿ‘‰ ๋ฐ์ดํ„ฐ ์†ก์‹ , ์ˆ˜์‹  ๐Ÿ‘‰ 4Way Handshake ๐Ÿ‘‰ ์†Œ์ผ“ ์—ฐ๊ฒฐ์ข…๋ฃŒ

TCP๋Š” ํฌ๊ฒŒ ์œ„ ๊ณผ์ •์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹  ํ•œ๋‹ค.

3Way Handshake๋Š” ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋™์ž‘์˜ ๊ณผ์ •์ด๊ณ ,

4Way Handshake๋Š” ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž์˜ ์—ฐ๊ฒฐ์„ ํ•ด์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋™์ž‘์˜ ๊ณผ์ •์ด๋‹ค.

๐Ÿ˜€์œ„์˜ ์ผ๋ จ์˜ ๊ณผ์ •์„ ์„ธ์„ธํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” TCP Header์— ๋‹ด๊ธด ์ •๋ณด๋ฅผ ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

TCP ํ—ค๋” ์ •๋ณด

์‘์šฉ ๊ณ„์ธต์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์€ TCP๋Š” ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„์— ์ด๋ฅผ IP๋กœ ๋ณด๋‚ธ๋‹ค. ํ—ค๋”์—๋Š” ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.

ํ•„ ๋“œ๋‚ด ์šฉํฌ ๊ธฐ
์†ก์ˆ˜์‹ ์ž์˜ ํฌํŠธ ๋ฒˆํ˜ธTCP๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฐ€์ƒ ํšŒ์„  ์–‘๋‹จ์˜ ์†ก์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜๋Š” ํฌํŠธ ์ฃผ์†Œ16
์‹œํ€€์Šค ๋ฒˆํ˜ธ(Sequence Number)์†ก์‹ ์ž๊ฐ€ ์ง€์ •ํ•˜๋Š” ์ˆœ์„œ ๋ฒˆํ˜ธ, ์ „์†ก๋˜๋Š” ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฆ๊ฐ€.
SYN = 1 : ์ดˆ๊ธฐ ์‹œํ€€์Šค ๋ฒˆํ˜ธ๊ฐ€ ๋œ๋‹ค. ACK ๋ฒˆํ˜ธ๋Š” ์ด ๊ฐ’์— 1์„ ๋”ํ•œ ๊ฐ’.
SYN = 0 : ํ˜„์žฌ ์„ธ์…˜์˜ ์ด ์„ธ๊ทธ๋จผํŠธ ๋ฐ์ดํ„ฐ์˜ ์ตœ์ดˆ ๋ฐ”์ดํŠธ ๊ฐ’์˜ ๋ˆ„์  ์‹œํ€€์Šค ๋ฒˆํ˜ธ
32
์‘๋‹ต ๋ฒˆํ˜ธ(ACK Number)์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์ˆ˜์‹ ํ•œ ๋ฐ”์ดํŠธ์˜ ์ˆ˜๋ฅผ ์‘๋‹ตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.32
๋ฐ์ดํ„ฐ ์˜คํ”„์…‹(Data Offset)TCP ์„ธ๊ทธ๋จผํŠธ์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ํ‘œํ˜„(TCP ํ—ค๋”์˜ ํฌ๊ธฐ)4
์˜ˆ์•ฝ ํ•„๋“œ(Reserved)์‚ฌ์šฉ์„ ํ•˜์ง€ ์•Š์ง€๋งŒ ๋‚˜์ค‘์„ ์œ„ํ•œ ์˜ˆ์•ฝ ํ•„๋“œ์ด๋ฉฐ 0์œผ๋กœ ์ฑ„์›Œ์ ธ์•ผํ•œ๋‹ค.6
์ œ์–ด ๋น„ํŠธ(Flag Bit)SYN, ACK, FIN ๋“ฑ์˜ ์ œ์–ด ๋ฒˆํ˜ธ -> ์•„๋ž˜ ์ถ”๊ฐ€ ์„ค๋ช… ์ฐธ์กฐ6
์œˆ๋„์šฐ ํฌ๊ธฐ(Window)์ˆ˜์‹  ์œˆ๋„์šฐ์˜ ๋ฒ„ํผ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ. 0์ด๋ฉด ์†ก์‹  ํ”„๋กœ์„ธ์Šค์˜ ์ „์†ก ์ค‘์ง€16
์ฒดํฌ์„ฌ(Checksum)TCP ์„ธ๊ทธ๋จผํŠธ์— ํฌํ•จ๋˜๋Š” ํ”„๋กœํ† ์ฝœ ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์˜ค๋ฅ˜ ๊ฒ€์ถœ ์šฉ๋„16
๊ธด๊ธ‰ ์œ„์น˜(Urgent Pointer)๊ธด๊ธ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ, URG ํ”Œ๋ž˜๊ทธ ๋น„ํŠธ๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ์œ ํšจ16

ํ—ค๋” ์ •๋ณด ์ค‘ Flag Bit์˜ ์ •๋ณด

์ข… ๋ฅ˜๋‚ด ์šฉ
ใ€€ใ€€ใ€€ใ€€URGใ€€ใ€€ใ€€ใ€€๊ธด๊ธ‰ ์œ„์น˜๋ฅผ ํ•„๋“œ๊ฐ€ ์œ ํšจํ•œ์ง€ ์„ค์ •
ใ€€ใ€€ใ€€ใ€€ACKใ€€ใ€€ใ€€ใ€€์‘๋‹ต ๋ฒˆํ˜ธ ํ•„๋“œ๊ฐ€ ์œ ํšจํ•œ์ง€ ์„ค์ •.
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์ตœ์ดˆ์˜ SYN ํŒจํ‚ท ์ดํ›„์— ์ „์†ก๋˜๋Š” ๋ชจ๋“  ํŒจํ‚ท์€ ์ด ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋˜์–ด์•ผ ํ•œ๋‹ค.
ใ€€ใ€€ใ€€ใ€€PSHใ€€ใ€€ใ€€ใ€€์ˆ˜์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฒ„ํผ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์œ„ ๊ณ„์ธต์— ์ฆ‰์‹œ ์ „๋‹ฌํ•  ๋•Œ
ใ€€ใ€€ใ€€ใ€€RSTใ€€ใ€€ใ€€ใ€€์—ฐ๊ฒฐ์˜ ๋ฆฌ์…‹์ด๋‚˜ ์œ ํšจํ•˜์ง€ ์•Š์€ ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ์‘๋‹ต์šฉ
ใ€€ใ€€ใ€€ใ€€SYNใ€€ใ€€ใ€€ใ€€์—ฐ๊ฒฐ ์„ค์ • ์š”๊ตฌ. ๋™๊ธฐํ™” ์‹œํ€€์Šค ๋ฒˆํ˜ธ. ์–‘์ชฝ์ด ๋ณด๋‚ธ ์ตœ์ดˆ์˜ ํŒจํ‚ท์—๋งŒ ์ด ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
ใ€€ใ€€ใ€€ใ€€FINใ€€ใ€€ใ€€ใ€€๋” ์ด์ƒ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ ์—ฐ๊ฒฐ ์ข…๋ฃŒ ์˜์‚ฌ ํ‘œ์‹œ

3Way Handshake

์†ก์ˆ˜์‹  ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ 3Way Handshake๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ๋ถ€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
    ์ดˆ๊ธฐํ™”ํ•œ ๋ฒˆํ˜ธ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ Flag Bit์ค‘ SYN(Synchronize) ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.

  2. ์„œ๋ฒ„๋Š” SYN์„ ๋ฐ›๊ณ  ACK์™€ SYN์„ ์‘๋‹ตํ•œ๋‹ค.
    ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ SYN์ด ์ž˜ ๋„์ฐฉํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ACK๋ฅผ ์„ค์ •ํ•ด์„œ SYN๊ณผ ๊ฐ™์ด ๋ณด๋‚ด์ค€๋‹ค.

  3. ํด๋ผ์ด์–ธํŠธ๋Š” ACK๋ฅผ ๋ฐ›๊ณ , ์„œ๋ฒ„์—๊ฒŒ ACK๋ฅผ ์‘๋‹ตํ•œ๋‹ค.
    ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ๋‹ค์‹œ ACK๊ฐ€ ์ž˜ ๋„์ฐฉํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ํ•œ๋ฒˆ๋” ACK๋ฅผ ์„ค์ •ํ•ด์„œ ๋ณด๋‚ด์ค€๋‹ค.

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

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ๋™์ž‘์„ ํ˜ธ์ถœํ•˜๋ฉด ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด ์„œ๋ฒ„์— ์ „๋‹ฌํ•œ๋‹ค.
    ํด๋ผ์ด์–ธํŠธ์—์„œ write()ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋ฉด HTTP request๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„ ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด ์„œ๋ฒ„์— ์ „๋‹ฌํ•œ๋‹ค.

  2. ์„œ๋ฒ„๋Š” ๋™์ž‘์„ ์ง„ํ–‰ํ•˜๊ณ , ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•œ๋‹ค.
    ํด๋ผ์ด์–ธํŠธ์—์„œ ํŒจํ‚ท์„ ๋ฐ›์„ ์„œ๋ฒ„๋Š” write()์š”์ฒญ์— ์˜ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด์„œ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•œ๋‹ค.
    ์ด๋•Œ Flag bit์˜ ACK๋ฒˆํ˜ธ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— 1์„ ๋”ํ•œ ๊ฐ’์„ ๋งŒ๋“ค์–ด์„œ ๋ณด๋‚ธ๋‹ค.
    (ACK๋ฒˆํ˜ธ 11 = ๋ฐ์ดํ„ฐํฌ๊ธฐ10 + 1 )

  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ ํŒจํ‚ท์„ ํ™•์ธํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜, ๋‹ค์Œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ ํŒจํ‚ท์„ ํ™•์ธํ•˜๊ณ  ๋‹ค์Œ๋™์ž‘์œผ๋กœ read()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š”๋‹ค.

  4. 2๋ฒˆ ๊ณผ์ •์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ณ  1๋ฒˆ๊ณผ์ •์—์„œ ํŒจํ‚ท์˜ ์†Œ์‹ค๋กœ ์„œ๋ฒ„์ธก์—์„œ ์‘๋‹ต์ด ์—†์„๋•Œ๋Š” ์ด์ „ํŒจํ‚ท์„ ์žฌ์ „์†กํ•œ๋‹ค.
    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๋Š” ๋™์•ˆ ํŒจํ‚ท์˜ ์†Œ์‹ค๋กœ ์ธํ•ด ์‘๋‹ต์ด ์—†์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์ผ์ •์‹œ๊ฐ„ ์ดํ›„ ๋‹ค์‹œ ์ด์ „ํŒจํ‚ท์„ ์žฌ์ „์†ก์„ ์‹ค์‹œํ•˜๊ณ , ์ด๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‘๋‹ต์ด ์—†๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ์ดํ„ฐ ์†ก์‹ ์ž‘์—…์„ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๊ณ  ์—๋Ÿฌ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

4Way Handshake

์†ก์ˆ˜์‹  ํฌํŠธ ์—ฐ๊ฒฐํ•ด์ œ๋ฅผ ์œ„ํ•œ 4Way Handshake๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ๋ถ€ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ FIN(Finish) ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
    ํด๋ผ์ด์–ธํŠธ์—์„œ close()๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋ฉด, TCP Header์— ์ œ์–ด๋น„ํŠธ ์ค‘ ์—ฐ๊ฒฐ๋Š๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” FIN๋‹ด์€ ํŒจํ‚ท์„ ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” FIN_WAIT1 ์ƒํƒœ๋กœ ๋Œ€๊ธฐํ•œ๋‹ค.

  2. ์„œ๋ฒ„๋Š” FIN์ด ๋‹ด๊ธด ํŒจํ‚ท์„ ๋ฐ›๊ณ , ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ACK๋ฅผ ๋ณด๋‚ธ๋‹ค.
    ์„œ๋ฒ„๋Š” FIN์„ ํ™•์ธํ•˜๊ณ  ์ƒํƒœ๋ฅผ CLOSE_WAIT์œผ๋กœ ๋ฐ”๊พผ๋’ค ์—ฐ๊ฒฐ์ข…๋ฃŒ๋ฅผ ํ™•์ธํ–ˆ๋‹ค๋Š” ์‘๋‹ต์„ ํ•˜๊ธฐ์œ„ํ•ด ACK๊ฐ€ ๋‹ด๊ธด ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. ๋™์‹œ์— ํ•ด๋‹น ํฌํŠธ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ close()๋ฅผ ์š”์ฒญํ•œ๋‹ค. ACK๋ฅผ ๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒํƒœ๋ฅผ FIN_WAIT2๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

  3. ์„œ๋ฒ„๋Š” ์ž์‹ ์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋๋‚˜๋ฉด, ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ FIN ํŒจํ‚ท์„ ๋ณด๋‚ธ๊ณ  LAST_WAIT ์ƒํƒœ์— ์ง„์ž…ํ•œ๋‹ค.

  4. ํด๋ผ์ด์–ธํŠธ๋Š” FIN ํŒจํ‚ท์„ ๋ฐ›๊ณ , ์„œ๋ฒ„์—๊ฒŒ ACK๋ฅผ ๋ณด๋‚ด๊ณ  TIME_WAIT ์ƒํƒœ์— ์ง„์ž…ํ•œ๋‹ค. ACK๋ฅผ ๋ฐ›์€ ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹คCLOSED. ํด๋ผ์ด์–ธํŠธ๋Š” ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„, ์ž์‹ ์˜ ์†Œ์ผ“์„ ๋‹ซ๋Š”๋‹ค CLOSED.

์‹œํ€€์Šค(seq)๋ฒˆํ˜ธ์™€ ACK(ack)๋ฒˆํ˜ธ

์•„๋ž˜์˜ ๊ทธ๋ฆผ์€ ์œ„์˜ TCP์˜ ๋™์ž‘๊ณผ์ •์ค‘ ์‹œํ€€์Šค๋ฒˆํ˜ธ์™€ ACK๋ฒˆํ˜ธ์˜ ๋ณ€ํ™”๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค.

โ›”ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋Š” x, y๋กœ ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ๋ฒˆํ˜ธ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ ์ฐธ๊ณ ๋˜๋Š” ์ˆซ์ž๋Š” 0,1,11,12๋ฐ–์— ์—†๋‹ค๊ณ  ํ•จ๋ถ€๋กœ x = y๋ผ๊ณ  ํŒ๋‹จํ•ด์„œ๋Š” ์ ˆ๋Œ€๋กœ ์•ˆ๋œ๋‹ค. ์˜ˆ์‹œ์„œ๋Š” 0์˜ ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋กœ ์‹œ์ž‘๋˜๋Š” ์˜ˆ์‹œ์ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋žœ๋คํ•œ ๊ฐ’์ด ๋‚œ์ˆ˜๋กœ ๋œ ์‹œํ€€์Šค๋ฒˆํ˜ธ๋กœ ์‹œ์ž‘๋œ๋‹ค.

  • seq์™€ ack๋Š” ์—ฐ๊ฒฐ๊ณผ์ •๊ณผ, ํ•ด์ œ๊ณผ์ •์—์„œ ์„œ๋กœ ๋ณ€๋™๋˜๋ฉฐ +1๊ฐ’์„ ๋” ํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์‹œ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋งŒํผ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉฐ 1์„ ๋”ํ•˜์ง€ ์•Š๋Š”๋‹ค.

TCP์˜ ํŠน์ง•

  • ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
    ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋กœ ๊ฐ€์ƒ ํšŒ์„  ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค.
    3-way handshaking ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ค์ •
    4-way handshaking ์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ํ•ด์ œ.

  • ํ๋ฆ„์ œ์–ด(Flow control)
    ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€
    ์†ก์‹ ํ•˜๋Š” ๊ณณ์—์„œ ๊ฐ๋‹น์ด ์•ˆ๋˜๊ฒŒ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ณด๋‚ด ์ˆ˜์‹ ํ•˜๋Š” ๊ณณ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š”๋‹ค.
    ์ˆ˜์‹ ์ž๊ฐ€ ์œˆ๋„์šฐํฌ๊ธฐ(Window Size) ๊ฐ’์„ ํ†ตํ•ด ์ˆ˜์‹ ๋Ÿ‰์„ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ˜ผ์žก์ œ์–ด(Congestion control)
    ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ํŒจํ‚ท ์ˆ˜๊ฐ€ ๋„˜์น˜๊ฒŒ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€
    ์ •๋ณด์˜ ์†Œํ†ต๋Ÿ‰์ด ๊ณผ๋‹คํ•˜๋ฉด ํŒจํ‚ท์„ ์กฐ๊ธˆ๋งŒ ์ „์†กํ•˜์—ฌ ํ˜ผ์žก ๋ถ•๊ดด ํ˜„์ƒ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š”๋‹ค.

  • ์‹ ๋ขฐ์„ฑ์ด ๋†’์€ ์ „์†ก(Reliable transmission)

    • Dupack-based retransmission
      ์ •์ƒ์ ์ธ ์ƒํ™ฉ์—์„œ๋Š” ACK ๊ฐ’์ด ์—ฐ์†์ ์œผ๋กœ ์ „์†ก๋˜์–ด์•ผ ํ•œ๋‹ค.
      ๊ทธ๋Ÿฌ๋‚˜ ACK๊ฐ’์ด ์ค‘๋ณต์œผ๋กœ ์˜ฌ ๊ฒฝ์šฐ ํŒจํ‚ท ์ด์ƒ์„ ๊ฐ์ง€ํ•˜๊ณ  ์žฌ์ „์†ก์„ ์š”์ฒญํ•œ๋‹ค.
    • Timeout-based retransmission
      ์ผ์ •์‹œ๊ฐ„๋™์•ˆ ACK ๊ฐ’์ด ์ˆ˜์‹ ์„ ๋ชปํ•  ๊ฒฝ์šฐ ์žฌ์ „์†ก์„ ์š”์ฒญํ•œ๋‹ค.
  • ์ „์ด์ค‘, ์ ๋Œ€์  ๋ฐฉ์‹
    ๋ฉ€ํ‹ฐ์บ์ŠคํŒ…์ด๋‚˜ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

    • ์ „์ด์ค‘ (Full-Duplex)
      ์ „์†ก์ด ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋™์‹œ์— ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.
    • ์ ๋Œ€์  (Point to Point)
      ๊ฐ ์—ฐ๊ฒฐ์ด ์ •ํ™•ํžˆ 2๊ฐœ์˜ ์ข…๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

UDP (User Datagram Protocol)

์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ(IP)์˜ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋น„ ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

UDP๋Š” ๋น„ ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ฒŒ๋  ์ˆ˜์‹ ์ž(์„œ๋ฒ„)๊ฐ€ ๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š๋Š”๋‹ค.

UDP์˜ ์ „์†ก ๋ฐฉ์‹์€ ๋„ˆ๋ฌด ๋‹จ์ˆœํ•ด์„œ ์„œ๋น„์Šค์˜ ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ๊ณ , ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋„์ฐฉ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜, ์ค‘๋ณต๋˜๊ฑฐ๋‚˜, ์‹ฌ์ง€์–ด๋Š” ํ†ต๋ณด ์—†์ด ๋ˆ„๋ฝ์‹œํ‚ค๊ธฐ๋„ ํ•œ๋‹ค. UDP๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ค๋ฅ˜์˜ ๊ฒ€์‚ฌ์™€ ์ˆ˜์ •์ด ํ•„์š” ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.

UDP ํ—ค๋” ์ •๋ณด

ํ•„๋“œ๋‚ด์šฉํฌ๊ธฐ
ใ€€์†ก์ˆ˜์‹ ์ž์˜ ํฌํŠธ ๋ฒˆํ˜ธใ€€ใ€€UDP๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฐ€์ƒ ํšŒ์„  ์–‘๋‹จ์˜ ์†ก์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜๋Š” ํฌํŠธ ์ฃผ์†Œใ€€ใ€€๊ฐ๊ฐ 2ใ€€ใ€€ใ€€
ใ€€ใ€€์ดํ•ฉ 4
ใ€€ใ€€UDP ๊ธธ์ดใ€€ใ€€ใ€€ใ€€ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ UDP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์˜ ์ „์ฒด ๊ธธ์ดใ€€ใ€€ใ€€2ใ€€ใ€€ใ€€
ใ€€ใ€€UDP ์ฒดํฌ์„ฌใ€€ใ€€ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ๊ทธ๋žจ์— ๋Œ€ํ•œ ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ํ•„๋“œใ€€ใ€€ใ€€ใ€€2ใ€€ใ€€ใ€€

UDP์˜ ํŠน์ง•

  • UDP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ ํ›„์—๋„ ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š๋Š”๋‹ค.

  • ์ „์†ก ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ , ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ „์†ก ์ค‘ ์†์‹ค์ด๋‚˜ ์ค‘๋ณต ์ „์†ก ๋“ฑ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.

  • ์ฃผ๋กœ ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์€ ๋ฐ์ดํ„ฐ ์ „์†กํ•œ๋‹ค.


TCP์™€ UDP์˜ ๋น„๊ต

TCPUDP
ใ€€ใ€€ใ€€ใ€€Connection-oriented protocol
ใ€€ใ€€ใ€€ใ€€ใ€€(์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ)
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€Connection-less protocol
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(๋น„ ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ)
ใ€€ใ€€ใ€€ใ€€Connection by byte stream
ใ€€ใ€€ใ€€ใ€€(๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•œ ์—ฐ๊ฒฐ)
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€Connection by message stream
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(๋ฉ”์„ธ์ง€ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•œ ์—ฐ๊ฒฐ)
ใ€€ใ€€ใ€€ใ€€Congestion / Flow control
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(ํ˜ผ์žก์ œ์–ด, ํ๋ฆ„์ œ์–ด)
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€NO Congestion / Flow control
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(ํ˜ผ์žก์ œ์–ด์™€ ํ๋ฆ„์ œ์–ด ์ง€์› X)
ใ€€ใ€€ใ€€ใ€€ใ€€Ordered, Lower speed
ใ€€ใ€€ใ€€ใ€€(์ˆœ์„œ ๋ณด์žฅ, ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆผ)
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€Not ordered, Higer speed
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(์ˆœ์„œ ๋ณด์žฅ๋˜์ง€ ์•Š์Œ, ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฆ„)
ใ€€ใ€€ใ€€ใ€€Reliable data transmission
ใ€€ใ€€ใ€€(์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก - ์•ˆ์ •์ )
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€Unreliable data transmission
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(๋ฐ์ดํ„ฐ ์ „์†ก ๋ณด์žฅ X)
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€TCP packet : Segment
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(์„ธ๊ทธ๋จผํŠธ TCP ํŒจํ‚ท)
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€UDP packet : Datagram
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€(๋ฐ์ดํ„ฐ๊ทธ๋žจ UDP ํŒจํ‚ท)
ใ€€ใ€€ใ€€HTTP, Email, File transfer์—์„œ ์‚ฌ์šฉใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€DNS, Broadcasting(๋„๋ฉ”์ธ, ์‹ค์‹œ๊ฐ„ ๋™์˜์ƒ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ)ใ€€ใ€€ใ€€

์ฐธ๊ณ ์ž๋ฃŒ(์ถœ์ฒ˜)
ํ‹ฐ์Šคํ† ๋ฆฌ Sam 3 ํฌ์ŠคํŒ… ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๋Š” ๋„คํŠธ์›Œํฌ 16. TCP/IP ์ „์†ก ๊ณ„์ธต(ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต)๊ณผ ํฌํŠธ(Port) ๋ฒˆํ˜ธ
์šฐ์•„ํ•œํ…Œํฌ ์œ ํŠœ๋ธŒ๋™์˜์ƒ [10๋ถ„ ํ…Œ์ฝ”ํ†ก] ์น™์ด‰์˜ TCP/UDP
์šฐ์•„ํ•œํ…Œํฌ ์œ ํŠœ๋ธŒ๋™์˜์ƒ [10๋ถ„ ํ…Œ์ฝ”ํ†ก] ๐Ÿ‘จโ€๐Ÿซ๋ฅด์œˆ์˜ TCP UDP
์ธ๋„ค์ผ ์ด๋ฏธ์ง€ ์ถœ์ฒ˜ ๊ธฐ๊ธ€ํ•˜๋“œ์›จ์–ด ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌ์ŠคํŒ…
์œ„ํ‚ค๋ฐฑ๊ณผ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ [์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ], [์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ]
gitlab io ๊น€๋•ก๋•ก ํฌ์ŠคํŒ… ์ „์†ก์ธต ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ, UDP, TCP
Velog hi daehyunlee ํฌ์ŠคํŒ… TCP ์™€ UDP ์ฐจ์ด๋ฅผ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž

profile
22๋…„ 12์›” ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•œ ์‹ ์ž… ๊ฐœ๋ฐœ์ž โ€˜๊ถŒํƒœํ˜•โ€™์ž…๋‹ˆ๋‹ค. ํฌ์ŠคํŒ… ํ•˜๋‚˜ํ•˜๋‚˜ ๋‚ด๊ฐ€ ๋‹ค์‹œ๋ณด๊ธฐ ์œ„ํ•ด ์“ฐ๋Š” ๊ฒƒ์ด์ง€๋งŒ, ๋‹ค๋ฅธ ๋ถ„๋“ค์—๊ฒŒ๋„ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ฏ์ปฌ๋ŸฌํฐํŠธ๊ฐ€ ์ž˜ ์•ˆ๋ณด์ด์‹ค ๊ฒฝ์šฐ ๐ŸŒ™๋‹คํฌ๋ชจ๋“œ๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.๐Ÿ˜€ ์ง€์ ๊ณผ ์ฐธ๊ฒฌ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
post-custom-banner

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