Post

๐Ÿ’› ๋„คํŠธ์›Œํฌ - TCP์™€ UDP๋ฅผ ๋น„๊ตํ•˜์—ฌ ์„ค๋ช…ํ•ด ๋ณด์‹œ์˜ค.

4) ๋„คํŠธ์›Œํฌ - TCP์™€ UDP๋ฅผ ๋น„๊ตํ•˜์—ฌ ์„ค๋ช…ํ•ด ๋ณด์‹œ์˜ค.

  • TCP์™€ UDP๋Š” OSI 7๊ณ„์ธต๋“ค ์ค‘ TCP/IP์˜ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

์ „์†ก ๊ณ„์ธต์€ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.

  • ์ฆ‰, ๋ฐ์ดํ„ฐ์˜ ์ „๋‹ฌ์„ ๋‹ด๋‹นํ•˜๋ฉฐ ์ „๋‹ฌ๋˜๋Š” ํŒจํ‚ท์˜ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์žฌ์ „์†ก ์š”๊ตฌ ๋“ฑ์˜ ์ œ์–ด๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค.

  • TCP(Transmission Control Protocol)

    • TCP๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅ์  ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

      • ์—ฐ๊ฒฐ ์ง€ํ–ฅ์  ํ”„๋กœํ† ์ฝœ์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธํ•œ๋‹ค.

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

    • ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋กœ ๊ฐ€์ƒ ํšŒ์„  ๋ฐฉ์‹์„ ์ œ๊ณต

      • 3-way handshaking ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ ,

      • 4-way handshaking ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•œ๋‹ค.

    • ํ๋ฆ„ ์ œ์–ด(Flow control)
      • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค.
    • ํ˜ผ์žก ์ œ์–ด(Congestion control)

      • ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ํŒจํ‚ท ์ˆ˜๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•œ๋‹ค.
    • ๋†’์€ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅ

      • ์‹ ๋ขฐ์„ฑ์ด ๋†’์€ ์ „์†ก์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— UDP๋ณด๋‹ค ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค.
    • ์ „์ด์ค‘(Full-Duplex), ์ ๋Œ€์ (Point to Point) ๋ฐฉ์‹

      • ์ „์ด์ค‘(Full-Duplex) : ์ „์†ก์ด ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋™์‹œ์— ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.

      • ์ ๋Œ€์ •(Point to Point) : ๊ฐ ์—ฐ๊ฒฐ์ด ์ •ํ™•ํžˆ 2๊ฐœ์˜ ์ข…๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • ๊ฐ€์ƒ ํšŒ์„  ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฐœ์‹ ์ง€์™€ ์ˆ˜์‹ ์ง€๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํŒจํ‚ท์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ๊ฒฝ๋กœ๋ฅผ ๋ฐฐ์ •ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค. 3-way handshaking ๊ณผ์ •์€ ๋ฐœ์‹ ์ง€์™€ ์ˆ˜์‹ ์ง€ ์‚ฌ์ด์— ๋…ผ๋ฆฌ์ ์ธ ์ ‘์†(์„ธ์…˜)์„ ์„ฑ๋ฆฝํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค.

  • TCP๊ฐ€ ์œ„์™€ ๊ฐ™์€ ํŠน์ง•์„ ์ง€๋‹ˆ๋Š” ์ด์œ ๋Š” ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋กœ, ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ 3-way handshaking์˜ ๊ณผ์ •๋„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„ ์ œ์–ด๋‚˜ ํ˜ผ์žก ์ œ์–ด์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ๋„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์— UDP๋ณด๋‹ค ์†๋„๊ฐ€ ๋А๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ TCP๋Š” ์—ฐ์†์„ฑ๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ „์†ก์ด ์ค‘์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ์˜ˆ์‹œ๋กœ ํŒŒ์ผ ์ „์†ก๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

  • TCP ์—ฐ๊ฒฐ ํ•ด์ œ ๊ณผ์ • (4-way handshake)

    1

    • ํด๋ผ์ด์–ธํŠธ๋Š” ์‘๋‹ต์„ ์ฃผ๊ณ  ์—ฐ๊ฒฐ์„ ๋Š๊ธฐ ์œ„ํ•ด FIN] ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.

    • ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ธ ํŒจํ‚ท์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ACK ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.

    • ์„œ๋ฒ„๋Š” ์ž์‹ ์ด ์‚ฌ์šฉํ•œ ์†Œ์ผ“์„ ์ •๋ฆฌํ•˜๋ฉฐ ํ†ต์‹ ์„ ์™„์ „ํžˆ ๋๋‚ด๋„ ๋œ๋‹ค๋Š” ์˜๋ฏธ๋กœ FIN ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.

    • ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„ ํŒจํ‚ท์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ACK ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.

    • 4-way handshake ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ  ๋‚˜๋ฉด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋‹จ์˜ ๋„คํŠธ์›Œํฌ๋Š” ์ข…๋ฃŒ๊ฐ€ ๋œ๋‹ค.


  • UDP(User Datagram Protocol)

    • UDP๋Š” ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

    • ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ํ• ๋‹น๋˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๋กœ๊ฐ€ ์—†๊ณ  ๊ฐ๊ฐ์˜ ํŒจํ‚ท์€ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ์ „์†ก๋˜๋ฉฐ ๋…๋ฆฝ์ ์ธ ๊ด€๊ณ„๋ฅผ ์ง€๋‹Œ๋‹ค.

  • UDP ํŠน์ง•

    • ๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋กœ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค.

      • ๋ฐ์ดํ„ฐ์˜ ์ „์†ก ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค.
      • TCP์˜ 3-way handshaking๊ณผ ๊ฐ™์€ ๊ณผ์ •์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ๋‹ค.
      • ํ๋ฆ„์ œ์–ด๊ฐ€ ์—†์–ด์„œ ์ œ๋Œ€๋กœ ์ „์†ก๋˜์—ˆ๋Š”์ง€ ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค.
    • TCP๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

    • 1:1 & 1:N & N:N ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • UDP๋Š” ๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ํ•ด์ œํ•˜๋Š” ๊ณผ์ •์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ ํ๋ฆ„์ œ์–ด ๋˜๋Š” ํ˜ผ์žก ์ œ์–ด์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ธฐ์— TCP๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๋ฉฐ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๊ฐ€ ์ ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค.

  • UDP๋Š” ์‹ ๋ขฐ์„ฑ๋ณด๋‹ค๋Š” ์—ฐ์†์„ฑ์žˆ๋Š” ์ „์†ก์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ์˜ˆ์‹œ๋กœ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜TCPUDP
์—ฐ๊ฒฐ ๋ฐฉ์‹์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹๊ฐ€์ƒ ํšŒ์„  ๋ฐฉ์‹๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋ฐฉ์‹
์ „์†ก ์ˆœ์„œ์ „์†ก ์ˆœ์„œ ๋ณด์žฅ์ „์†ก ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ
์ˆ˜์‹  ์—ฌ๋ถ€ ํ™•์ธ์ˆ˜์‹  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•จ์ˆ˜์‹  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š์Œ
ํ†ต์‹  ๋ฐฉ์‹1:1 ํ†ต์‹ 1:1 OR 1:N OR N:N
์‹ ๋ขฐ์„ฑ๋†’์Œ๋‚ฎ์Œ
์†๋„๋А๋ฆผ๋น ๋ฆ„
  • ๐Ÿ“Œ ์š”์•ฝ

    • TCP๋Š” ์—ฐ์†์„ฑ๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ์ด ์žˆ๋Š” ์ „์†ก์ด ์ค‘์š”ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ํŒŒ์ผ ์ „์†ก ๋“ฑ์— ์‚ฌ์šฉ๋˜๊ณ , UDP๋Š” TCP๋ณด๋‹ค ๋น ๋ฅด๊ณ  ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๊ฐ€ ์ ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์‹ ๋ขฐ์„ฑ๋ณด๋‹ค๋Š” ์—ฐ์†์„ฑ์ด ์ค‘์š”ํ•œ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.
This post is licensed under CC BY 4.0 by the author.