[๐ŸŽCS] OSI 7 layer & TCP/ UDP

h-a-n-aยท2023๋…„ 5์›” 28์ผ
1

๐ŸŽCS

๋ชฉ๋ก ๋ณด๊ธฐ
2/15

OSI 7 layer

๊ตญ์ œํ‘œ์ค€ํ™”๊ธฐ๊ตฌ์—์„œ ๊ฐœ๋ฐœํ•œ, ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ๋‹จ๊ณ„๋ณ„๋กœ ๊ณ„์ธต์„ ๋‚˜๋ˆˆ ๋ชจ๋ธ

์ดˆ๊ธฐ ์—ฌ๋Ÿฌ ์ •๋ณด ํ†ต์‹  ์—…์ฒด ์žฅ๋น„๋“ค์€ ์ž์‹ ์˜ ์—…์ฒด ์žฅ๋น„๋“ค๋ผ๋ฆฌ๋งŒ ์—ฐ๊ฒฐ์ด ๋˜์–ด ํ˜ธํ™˜์„ฑ์ด ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  ์‹œ์Šคํ…œ๋“ค์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ์— ์žˆ์–ด ๋ฌธ์ œ๊ฐ€ ์—†๋„๋ก ํ‘œ์ค€์„ ์ •ํ•œ๊ฒƒ์ด OSI 7๊ณ„์ธต์ด๋‹ค.

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

  • ์ „์†ก ์‹œ 7๊ณ„์ธต์—์„œ 1๊ณ„์ธต์œผ๋กœ ๊ฐ๊ฐ์˜ ์ธต๋งˆ๋‹ค ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ํ—ค๋”๋ฅผ ๋ถ™์ž„(์บก์Šํ™”)
  • ์ˆ˜์‹  ์‹œ 1๊ณ„์ธต์—์„œ 7๊ณ„์ธต์œผ๋กœ ํ—ค๋”๋ฅผ ๋–ผ์–ด๋ƒ„(๋””์บก์Šํ™”)
  • (์˜ค๋ฅธ์ชฝ) ์‹ค์ œ ์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉ๋˜๋Š” TCP/IP๋Š” OSI ์ฐธ์กฐ ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์—…์ ์ด๊ณ  ์‹ค๋ฌด์ ์œผ๋กœ ์ด์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ๋‹จ์ˆœํ™” ํ•œ ๊ฒƒ์ž„

์˜ค๋Š˜์€ ์ด ์ค‘์—์„œ 4๋ฒˆ์งธ ๊ณ„์ธต์ธ ์ „์†ก๊ณ„์ธต-TCP,UDP์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!

TCP/IP 4๊ณ„์ธต

4.์ „์†ก๊ณ„์ธต
์ „์†ก์ž์™€ ์ˆ˜์‹ ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ์‰ฝ๊ฒŒ ๋งํ•ด ๋ฐ์ดํ„ฐ์˜ ์ „๋‹ฌ์„ ๋‹ด๋‹นํ•œ๋‹ค.

  • ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž ๊ฐ„์˜ ์‹ ๋ขฐ์„ฑ์žˆ๊ณ  ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์˜ค๋ฅ˜๊ฒ€์ถœ ๋ฐ ๋ณต๊ตฌ, ํ๋ฆ„์ œ์–ด์™€ ์ค‘๋ณต๊ฒ€์‚ฌ ๋“ฑ์„ ์ˆ˜ํ–‰
  • ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•ด์„œ Port ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•จ(๋Œ€ํ‘œ์ ์ธ ํ”„๋กœํ† ์ฝœ๋กœ TCP์™€ UDP๊ฐ€ ์žˆ์Œ)
  • ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋‹จ์œ„๋Š” ์„ธ๊ทธ๋จผํŠธ(segment)

๊ณ„์ธต๋ณ„ ์—ญํ• ๊ณผ ํŠน์ง•

Layer 4 ์‘์šฉ

OSI 5~7 ๊ณ„์ธต์— ํ•ด๋‹น, ์‚ฌ์šฉ์ž-์†Œํ”„ํŠธ์›จ์–ด๊ฐ„ ์†Œํ†ต์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. ์„œ๋ฒ„๋‚˜ ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. FTP, DNS, HTTP ๋“ฑ์˜ ํ”„๋กœํ† ์ฝœ ๋ฐ ์„œ๋น„์Šค๊ฐ€ ํ•ด๋‹น๊ณ„์ธต์— ์†ํ•œ๋‹ค.

Layer 3 ์ „์†ก

OSI 4๊ณ„์ธต์— ํ•ด๋‹น. ๋ฐ์ดํ„ฐ์˜ ์ „์†ก ๋ฐ ํ๋ฆ„์— ์žˆ์–ด์„œ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. TCP, UDP ํ”„๋กœํ† ์ฝœ์ด ํ•ด๋‹น ๊ณ„์ธต์— ์†ํ•œ๋‹ค.

Layer 2 ์ธํ„ฐ๋„ท

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

Layer 1 ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ

OSI 1~2๊ณ„์ธต์— ํ•ด๋‹น. ๋…ธ๋“œ๊ฐ„์˜ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.

UDP vs TCP

TCP - Transmission Control Protocol

์ „์†ก์„ ์ œ์–ดํ•˜๋Š” ํ”„๋กœํ† ์ฝœ(๊ทœ์•ฝ)์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์ผ๋ฐ˜์ ์œผ๋กœ TCP์™€ IP๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, IP๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ๋ฐฐ๋‹ฌ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด TCP๋Š” *ํŒจํ‚ท ์„ ์ถ”์  ๋ฐ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค. ๋Œ€๋Ÿ‰์˜ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ๋ณด์žฅํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋กœ ํŒจํ‚ท์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด IP์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

* ํŒจํ‚ท: ์ธํ„ฐ๋„ท ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ๋ฐฐ์ •(๋ผ์šฐํŒ…)์„ ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „์†กํ•˜๋Š”๋ฐ ์ด ๋•Œ ์กฐ๊ฐ์„ ํŒจํ‚ท์ด๋ผ๊ณ  ํ•œ๋‹ค.

IP์˜ ํ•œ๊ณ„

  • ๋น„์—ฐ๊ฒฐ์„ฑ: ํŒจํ‚ท์„ ๋ฐ›์„ ๋Œ€์ƒ์ด ์—†๊ฑฐ๋‚˜ ์„œ๋น„์Šค ๋ถˆ๋Šฅ ์ƒํƒœ์—ฌ๋„ ํŒจํ‚ท ์ „์†ก
  • ๋น„์‹ ๋ขฐ์„ฑ: ์ค‘๊ฐ„์— ํŒจํ‚ท์ด ์‚ฌ๋ผ์ง€๋ฉด? ํŒจํ‚ท์ด ์ˆœ์„œ๋Œ€๋กœ ์•ˆ์˜ค๋ฉด?
  • ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋ถ„: ๊ฐ™์€ IP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„์—์„œ ํ†ต์‹ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‘˜ ์ด์ƒ์ด๋ผ๋ฉด?

TCP ํŠน์ง•

  • ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐฉ์‹์ด๋‹ค.
  • 3-way handshaking ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  4-way handshaking์„ ํ†ตํ•ด ํ•ด์ œํ•œ๋‹ค.
    (๋งค๋ฒˆ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค 3way handshake ํ•ด์•ผํ•˜๊ธฐ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค)
  • UDP๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์„ ๋ณด์žฅํ•œ๋‹ค.(์ค‘๊ฐ„์— ํŒจํ‚ท์ด ๋ˆ„๋ฝ๋˜๋ฉด ์•Œ ์ˆ˜ ์žˆ์Œ)
  • ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•œ๋‹ค.
  • ํ๋ฆ„ ์ œ์–ด ๋ฐ ํ˜ผ์žก ์ œ์–ด
    * ํ๋ฆ„ ์ œ์–ด: ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•˜๋Š” ๊ณณ๊ณผ ์ˆ˜์‹ ํ•˜๋Š” ๊ณณ์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์†ก์‹ ํ•˜๋Š” ๊ณณ์—์„œ ๊ฐ๋‹น์ด ์•ˆ๋˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŽ์ด ๋ณด๋‚ด๋ฉด ์ˆ˜์‹ ์ž์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ!
    * ํ˜ผ์žก ์ œ์–ด: ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ํŒจํ‚ท ์ˆ˜๊ฐ€ ๋„˜์น˜๋„๋ก ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ. ๋งŒ์•ฝ ์ •๋ณด์˜ ์†Œํ†ต๋Ÿ‰์ด ๊ณผ๋‹คํ•˜๋ฉด ํŒจํ‚ท์„ ์กฐ๊ธˆ๋งŒ ์ „์†กํ•˜์—ฌ ํ˜ผ์žก ๋ถ•๊ดด ํ˜„์ƒ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š”๋‹ค.

UDP - User Datagram Protocol

UDP๋Š” ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

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

๊ทธ๋Ÿฌ๋‚˜ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์„ ๋ณด์žฅํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๋ขฐ์„ฑ๋ณด๋‹ค๋Š” ์—ฐ์†์„ฑ์ด ์ค‘์š”ํ•œ ์„œ๋น„์Šค(ex.์‹ค์‹œ๊ฐ„ ๊ฒŒ์ž„์ด๋‚˜ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ/์˜จ๋ผ์ธ ํšŒ์˜ ๋“ฑ๋“ฑ)์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

์ •๋ฆฌ

ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜TCPUDP
์—ฐ๊ฒฐ๋ฐฉ์‹์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
์ „์†ก ์ˆœ์„œ์ˆœ์„œ ๋ณด์žฅ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ
์ˆ˜์‹ ์—ฌ๋ถ€ ํ™•์ธํ™•์ธํ•จํ™•์ธํ•˜์ง€ ์•Š์Œ
์‹ ๋ขฐ์„ฑ๋†’๋‹ค๋‚ฎ๋‹ค
์†๋„๋Š๋ฆฌ๋‹ค๋น ๋ฅด๋‹ค

TCP 3-way Handshake

TCP/IP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด์„œ ํ†ต์‹ ์„ ํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „์— ๋จผ์ € ์ •ํ™•ํ•œ ์ „์†ก์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๋Œ€๋ฐฉ ์ปดํ“จํ„ฐ์™€ ์‚ฌ์ „์— ์„ธ์…˜์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค.

SYN: Synchronize, Connection ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ
ACK: Acknowledgment, data๋ฅผ ์ „์†กํ•˜๋ฉด ์ˆ˜์‹ ์ž๊ฐ€ ๋ฐ›์•˜์Œ์„ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์“ฐ๋Š” Flag
FIN: Connection์„ ๋Š์„ ๋•Œ ์‚ฌ์šฉ

์ปค๋„ฅ์…˜ ์ƒ์„ฑ

Data ์ „์†ก

TCP 4-way Handshake

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

์ปค๋„ฅ์…˜ ์ข…๋ฃŒ

profile
ํ•˜๋ฃจํ•˜๋ฃจ๊ฐ€ ์—ฐ์Šต์ด๋‹ˆ ๋‚ด์ผ์€ ๋” ๊ฐ•ํ•ด์งˆ ๊ฒ๋‹ˆ๋‹ค

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