TCP/IP 4 Layer

ํ˜„๋Œ€ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ, ์ด๋ก ์  ๋ชจ๋ธ์ธ OSI 7๊ณ„์ธต๊ณผ ๋‹ฌ๋ฆฌ ์‹ค๋ฌด์  ๊ตฌํ˜„๊ณผ ํšจ์œจ์„ฑ์„ ์ค‘์‹œํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ๋‹ค.

๋ชจ๋ธ ๊ตฌ์กฐ ๋ฐ ๋น„๊ต

OSI 7๊ณ„์ธต์ด ํ†ต์‹  ๊ณผ์ •์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์„ธ๋ถ„ํ™”ํ–ˆ๋‹ค๋ฉด, TCP/IP 4๊ณ„์ธต์€ ์ด๋ฅผ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด ์ฒ˜๋ฆฌ์— ๋งž์ถฐ ๋‹จ์ˆœํ™”ํ•œ ๊ตฌ์กฐ๋‹ค.

  • OSI 7๊ณ„์ธต: ๊ตญ์ œ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ(ISO)์—์„œ ๊ฐœ๋ฐœํ•œ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ์Šคํƒ ๋ชจ๋ธ๋กœ, ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ๊ธฐ๋Šฅ๋ณ„๋กœ 7๊ฐœ์˜ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆˆ ๊ฒƒ

  • TCP/IP 4๊ณ„์ธต: ์‹ค์ œ ๊ตฌํ˜„์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋ธ๋กœ, OSI 7๊ณ„์ธต์„ ์ด๋ก ์ ์ธ ์„ค๊ณ„๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋ธ

OSI 7๊ณ„์ธต์˜ ๊ณ„์ธต๋“ค์„ TCP/IP 4๊ณ„์ธต์— ๋งž๊ฒŒ ์žฌ๋ฐฐ์น˜ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.(OSI 7๊ณ„์ธต๊ณผ 1:1 ๋Œ€์‘๋˜์ง€๋Š” ์•Š์Œ)

TCP/IP ๊ณ„์ธต
OSI 7๊ณ„์ธต ๋Œ€์‘
PDU (์ „์†ก ๋‹จ์œ„)
์ฃผ์š” ์—ญํ• 
์ฃผ์š” ํ”„๋กœํ† ์ฝœ

Application

5, 6, 7 ๊ณ„์ธต

Data / Stream

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ†ต์‹  ๋ฐ ํฌ๋งท ๊ฒฐ์ •

HTTP, DNS, FTP, SSH

Transport

4 ๊ณ„์ธต

Segment (TCP) / Datagram (UDP)

ํ˜ธ์ŠคํŠธ์˜ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก(End-to-End), ์˜ค๋ฅ˜ ์ œ์–ด ๋ฐ ํ๋ฆ„ ์ œ์–ด

TCP, UDP

Internet

3 ๊ณ„์ธต

Packet

๋…ผ๋ฆฌ์  ์ฃผ์†Œ(IP) ์ง€์ •, ๋ผ์šฐํŒ…์„ ํ†ตํ•œ ๊ฒฝ๋กœ ์„ค์ •

IP, ICMP, ARP

Network Interface

1, 2 ๊ณ„์ธต

Frame

๋ฌผ๋ฆฌ์  ์ฃผ์†Œ(MAC) ์ง€์ •, ํ•˜๋“œ์›จ์–ด ๊ฐ„ ์‹ ํ˜ธ ์ „์†ก

Ethernet, Wi-Fi, DSL

  • Application Layer (์‘์šฉ ๊ณ„์ธต)

    • ์‚ฌ์šฉ์ž์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณ„์ธต์œผ๋กœ, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์‹ค์ œ ์‘์šฉ ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ

    • ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์„ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ์••์ถ•, ์•”ํ˜ธํ™” ๋“ฑ์˜ ์ฒ˜๋ฆฌ

    • ์†Œ์ผ“(Socket) ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํ•˜์œ„ ๊ณ„์ธต์ธ ์ „์†ก ๊ณ„์ธต๊ณผ ํ†ต์‹ 

      • ์ „์†ก ๋‹จ์œ„์ธ Stream์€ ๋ฐ์ดํ„ฐ์˜ ์‹œ์ž‘์€ ์žˆ์œผ๋‚˜ ๋์€ ์ •ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์—†๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ •์˜ํ•˜๊ฒŒ ๋จ

      • ์ „์†ก ๋ฐ์ดํ„ฐ๊ฐ€ ํฌ๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ Segment๋กœ ๋ถ„ํ• ๋˜์–ด ์ „์†ก๋จ(= Segmentation)

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

    • ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž์˜ ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ(Process-to-Process)์„ ๋‹ด๋‹น

    • ํฌํŠธ(Port) ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ• ์ง€ ์‹๋ณ„

    • ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅ(TCP)ํ•˜๊ฑฐ๋‚˜, ์†๋„๋ฅผ ์šฐ์„ ์‹œ(UDP)ํ•˜๋Š” ์ „์†ก ๋ฐฉ์‹ ๊ฒฐ์ •

    • MSS(Maximum Segment Size)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ถ„ํ• 

  • Internet Layer (์ธํ„ฐ๋„ท ๊ณ„์ธต)

    • ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก(Inter-networking) ๋‹ด๋‹น

    • IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ๊นŒ์ง€์˜ ์ตœ์  ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰(Routing)

    • ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋„์ฐฉํ–ˆ๋Š”์ง€ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless) ํŠน์ง•

  • Network Interface Layer (๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ณ„์ธต)

    • OSI์˜ ๋ฌผ๋ฆฌ ๊ณ„์ธต๊ณผ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์„ ํฌํ•จ

    • MAC ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ ‘ํ•œ ๋…ธ๋“œ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๋‹ด๋‹น

    • LAN ์นด๋“œ์™€ ๊ฐ™์€ ํ•˜๋“œ์›จ์–ด ์ œ์–ด ๋ฐ ์ผ€์ด๋ธ”์„ ํ†ตํ•œ ๋ฌผ๋ฆฌ์  ์‹ ํ˜ธ ์ „์†ก ์ˆ˜ํ–‰

๋ฐ์ดํ„ฐ ์บก์Аํ™” (Encapsulation)

๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์œ„ ๊ณ„์ธต์—์„œ ํ•˜์œ„ ๊ณ„์ธต์œผ๋กœ ๋‚ด๋ ค๊ฐˆ ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๊ณ„์ธต์˜ ํ—ค๋”(์ •๋ณด)๊ฐ€ ๋ถ™๋Š” ๊ณผ์ •์„ ์บก์Аํ•œ๋‹ค.(๋ฐ˜๋Œ€๋Š” ์—ญ์บก์Аํ™”)

TCP/IP ํ†ต์‹  ๊ณผ์ •์—์„œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ตœ์ข…์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ณ„์ธต์˜ ํ—ค๋” ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ํ˜•ํƒœ๋กœ ์ „๋‹ฌ๋œ๋‹ค.

ํ—ค๋” ๊ตฌ์กฐ์™€ ์˜ค๋ฒ„ํ—ค๋“œ

๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋  ๋•Œ ์‹ค์ œ ๋‚ด์šฉ(Payload) ์™ธ์— ๊ฐ ๊ณ„์ธต์˜ ์ œ์–ด ์ •๋ณด๊ฐ€ ํ—ค๋”๋กœ ๋ถ™์–ด, ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ๋„ ํ—ค๋”์˜ ํฌ๊ธฐ๋Š” ๊ณ ์ •์ ์ด๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๋ฐฐ๋ณด๋‹ค ๋ฐฐ๊ผฝ์ด ๋” ํฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Ethernet Header: ๋ชฉ์ ์ง€ MAC, ๋ฐœ์‹ ์ง€ MAC, ์ด๋”ํƒ€์ž… ๋“ฑ (14 bytes)

  • IP Header: ๋ฒ„์ „, ํ—ค๋” ๊ธธ์ด, TTL, ํ”„๋กœํ† ์ฝœ, ๋ฐœ์‹ ์ง€ IP, ๋ชฉ์ ์ง€ IP ๋“ฑ (20 bytes ์ด์ƒ)

  • TCP Header: ๋ฐœ์‹ ์ง€ ํฌํŠธ, ๋ชฉ์ ์ง€ ํฌํŠธ, ์‹œํ€€์Šค ๋„˜๋ฒ„, ACK ๋„˜๋ฒ„, ์œˆ๋„์šฐ ํฌ๊ธฐ, ํ”Œ๋ž˜๊ทธ(SYN, ACK ๋“ฑ) (20 bytes ์ด์ƒ)

๋ฐ์ดํ„ฐ ๋ถ„ํ• ๊ณผ MTU/MSS

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ(Stream)๋Š” ๋ฌผ๋ฆฌ์  ๋„คํŠธ์›Œํฌ์˜ ํ•œ๊ณ„๋กœ ์ธํ•ด ํ•œ ๋ฒˆ์— ์ „์†ก๋  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ ์ ˆํ•œ ํฌ๊ธฐ๋กœ ์ชผ๊ฐœ์„œ ์ „์†กํ•˜๊ฒŒ ๋œ๋‹ค.

  • MTU(Maximum Transmission Unit)

    • ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค(2๊ณ„์ธต)์—์„œ ํ•œ ๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ(์ด๋”๋„ท ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋ณธ๊ฐ’์€ ๋ณดํ†ต 1500 bytes)

    • IP ํŒจํ‚ท์˜ ํฌ๊ธฐ๊ฐ€ MTU๋ณด๋‹ค ํฌ๋ฉด IP ๊ณ„์ธต์—์„œ ๋‹จํŽธํ™”(Fragmentation) ๋ฐœ์ƒ

      • ๋‹จํŽธํ™” ๋ฐœ์ƒ ์‹œ ๋ผ์šฐํ„ฐ์˜ ๋ถ€ํ•˜๋ฅผ ๋†’์ด๊ณ  ํŒจํ‚ท ์œ ์‹ค ์‹œ ์ „์ฒด ์žฌ์ „์†ก์„ ์œ ๋ฐœํ•˜์—ฌ ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์›์ธ์ด ๋จ

  • MSS(Maximum Segment Size)

    • TCP(4๊ณ„์ธต)์—์„œ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํŽ˜์ด๋กœ๋“œ ํฌ๊ธฐ

    • IP ๋‹จํŽธํ™”๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด TCP ์—ฐ๊ฒฐ ์ˆ˜๋ฆฝ(3-way handshake) ๊ณผ์ •์—์„œ ์„œ๋กœ์˜ MSS๋ฅผ ๊ตํ™˜ํ•˜๊ณ  ํ•ฉ์˜

์†Œ์ผ“์„ ํ†ตํ•œ HTTP ํ†ต์‹  ํ๋ฆ„

์›น ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›๋Š” ๊ณผ์ •์€ OS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ๋‹ค.

  1. ์„œ๋ฒ„ ์ค€๋น„: ์„œ๋ฒ„๋Š” ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ  ํฌํŠธ(80)์— ๋ฐ”์ธ๋”ฉ(Bind)ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ฆฌ์Šจ(Listen) ์ƒํƒœ๋กœ ๋Œ€๊ธฐ

  2. ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ: ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ IP์™€ ํฌํŠธ๋กœ ์—ฐ๊ฒฐ(Connect)์„ ์‹œ๋„ํ•˜๋ฉฐ, ์ด ๊ณผ์ •์—์„œ TCP 3-way Handshake๊ฐ€ ๋ฐœ์ƒ

  3. ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ : ์—ฐ๊ฒฐ์ด ์ˆ˜๋ฆฝ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ์ผ“์— ์“ฐ๊ณ (Write), OS๋Š” ์ด๋ฅผ ํŒจํ‚ท์œผ๋กœ ๋งŒ๋“ค์–ด ์ „์†ก -> ์„œ๋ฒ„๋Š” ์†Œ์ผ“์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ (Read) ์ฒ˜๋ฆฌ

  4. ์—ฐ๊ฒฐ ์ข…๋ฃŒ: ๋ฐ์ดํ„ฐ ๊ตํ™˜์ด ๋๋‚˜๋ฉด ์†Œ์ผ“์„ ๋‹ซ๊ณ (Close), TCP 4-way Handshake๋ฅผ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ์ •๋ฆฌ

    • HTTP/1.1 Keep-Alive์˜ ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์—ฌ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

์ฐธ๊ณ ์ž๋ฃŒ

Last updated

Was this helpful?