Stream&Datagram

์ŠคํŠธ๋ฆผ (TCP)์˜ ์ž‘๋™ ๋ฐฉ์‹

์ŠคํŠธ๋ฆผ์€ ์—ฐ๊ฒฐ ๊ธฐ๋ฐ˜ ํ†ต์‹ ์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „ ๋ฐ˜๋“œ์‹œ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž ๊ฐ„์˜ **๊ฐ€์ƒ ํšŒ์„ (Virtual Circuit)**์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ 3-way Handshake๋ผ๋Š” ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

  1. SYN (Synchronize): ์†ก์‹ ์ž๊ฐ€ ์ˆ˜์‹ ์ž์—๊ฒŒ "์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•ด๋„ ๋ ๊นŒ์š”?"๋ผ๊ณ  ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

  2. SYN-ACK (Synchronize-Acknowledge): ์ˆ˜์‹ ์ž๋Š” "๋„ค, ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €๋„ ์ค€๋น„๋์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ์‘๋‹ตํ•˜๋ฉฐ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค.

  3. ACK (Acknowledge): ์†ก์‹ ์ž๋Š” "์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค, ์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ฒ ์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ์ตœ์ข… ํ™•์ธ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์—ฐ๊ฒฐ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜๋ฆฝ๋˜๋ฉด, ๋ฐ์ดํ„ฐ๋Š” ์ˆœ์„œ๋Œ€๋กœ, ๊ทธ๋ฆฌ๊ณ  ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์—ฐ์†์ ์œผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. TCP๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ์ „๋‹ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด **์ˆ˜์‹  ํ™•์ธ(Acknowledgement)**์„ ์‚ฌ์šฉํ•˜๊ณ , ๋งŒ์•ฝ ํŒจํ‚ท์ด ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด **์žฌ์ „์†ก(Retransmission)**์„ ์š”์ฒญํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์™„์ „์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์žฅ์ :

  • ์‹ ๋ขฐ์„ฑ: ๋ฐ์ดํ„ฐ ์†์‹ค ์—†์ด ์ •ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

  • ์ˆœ์„œ ๋ณด์žฅ: ๋ณด๋‚ธ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.

  • ํ๋ฆ„ ์ œ์–ด: ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๋ฅผ ์กฐ์ ˆํ•ด ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ :

  • ๋А๋ฆฐ ์†๋„: ์—ฐ๊ฒฐ ์„ค์ •๊ณผ ์˜ค๋ฅ˜ ์ œ์–ด ๋•Œ๋ฌธ์— ํ†ต์‹ ์— ์ง€์—ฐ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ๋†’์€ ์˜ค๋ฒ„ํ—ค๋“œ: ํ—ค๋” ์ •๋ณด๊ฐ€ ๋งŽ๊ณ , ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.


๋ฐ์ดํ„ฐ๊ทธ๋žจ (UDP)์˜ ์ž‘๋™ ๋ฐฉ์‹

๋ฐ์ดํ„ฐ๊ทธ๋žจ์€ ๋น„์—ฐ๊ฒฐ์„ฑ ํ†ต์‹ ์œผ๋กœ, ํ†ต์‹ ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ณ„๋„์˜ ์—ฐ๊ฒฐ ์ ˆ์ฐจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์†ก์‹ ์ž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœํžˆ ํฌ์žฅํ•˜์—ฌ ์ฃผ์†Œ๋งŒ ๋ถ™์ธ ๋‹ค์Œ, ๋„คํŠธ์›Œํฌ์— "๋˜์ ธ๋ฒ„๋ฆฌ๋Š”" ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

UDP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์€ TCP๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•œ ํ—ค๋”๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • Source Port, Destination Port: ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

  • Length: ๋ฐ์ดํ„ฐ๊ทธ๋žจ ์ „์ฒด์˜ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

  • Checksum: ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•˜๋Š” ์šฉ๋„์ด์ง€๋งŒ, ํ•„์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉฐ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

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

์žฅ์ :

  • ๋งค์šฐ ๋น ๋ฅธ ์†๋„: ์—ฐ๊ฒฐ ์„ค์ •์ด๋‚˜ ์žฌ์ „์†ก ์ ˆ์ฐจ๊ฐ€ ์—†์–ด ์ง€์—ฐ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ๋‚ฎ์€ ์˜ค๋ฒ„ํ—ค๋“œ: ํ—ค๋”๊ฐ€ 8๋ฐ”์ดํŠธ๋กœ ๋งค์šฐ ์ž‘์•„ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

  • ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ: ๋ณต์žกํ•œ ์ œ์–ด ๊ธฐ๋Šฅ์ด ์—†์–ด ๊ตฌํ˜„์ด ์‰ฝ์Šต๋‹ˆ๋‹ค.

๋‹จ์ :

  • ๋น„์‹ ๋ขฐ์„ฑ: ํŒจํ‚ท ์†์‹ค์ด ๋ฐœ์ƒํ•ด๋„ ์ด๋ฅผ ์•Œ ์ˆ˜ ์—†๊ณ , ๋ณด์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์ˆœ์„œ ๋น„๋ณด์žฅ: ์—ฌ๋Ÿฌ ํŒจํ‚ท์ด ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ๊ฑฐ์ณ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ์–ด ์ˆœ์„œ๊ฐ€ ๋’ค๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์„ ํƒ ๊ธฐ์ค€: ์–ด๋–ค ์ƒํ™ฉ์— ๋ฌด์—‡์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?

๊ตฌ๋ถ„
์ŠคํŠธ๋ฆผ (TCP)
๋ฐ์ดํ„ฐ๊ทธ๋žจ (UDP)

ํ•ต์‹ฌ ๊ฐ€์น˜

์‹ ๋ขฐ์„ฑ๊ณผ ์ •ํ™•์„ฑ

์†๋„์™€ ํšจ์œจ์„ฑ

์ ํ•ฉํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

- ํŒŒ์ผ ์ „์†ก (FTP): ๋‹จ 1๋น„ํŠธ์˜ ์†์‹ค๋„ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ<br>- ์›น ๋ธŒ๋ผ์šฐ์ง• (HTTP/HTTPS): ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ๋‚ด์šฉ์ด ์ •ํ™•ํžˆ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•จ<br>- ์ด๋ฉ”์ผ (SMTP): ์ค‘์š”ํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋น ์ง์—†์ด ์ „๋‹ฌ๋˜์–ด์•ผ ํ•จ

- ์˜จ๋ผ์ธ ๊ฒŒ์ž„: ์‹ค์‹œ๊ฐ„ ๋ฐ˜์‘์ด ์ค‘์š”ํ•˜๋ฏ€๋กœ ์•ฝ๊ฐ„์˜ ํŒจํ‚ท ์†์‹ค์€ ๊ฐ์ˆ˜<br>- ์ŠคํŠธ๋ฆฌ๋ฐ (์˜์ƒ, ์Œ์„ฑ): ๋ช‡ ํ”„๋ ˆ์ž„์ด ์†์‹ค๋˜์–ด๋„ ์ „์ฒด ํ๋ฆ„์— ํฐ ์ง€์žฅ์ด ์—†์Œ<br>- DNS ์ฟผ๋ฆฌ: ์งง์€ ์š”์ฒญ-์‘๋‹ต์ด๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”

Last updated