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 ๋์๋์ง๋ ์์)
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๊ฐ ์ ๊ณตํ๋ ์์ผ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ํ๋๋ค.
์๋ฒ ์ค๋น: ์๋ฒ๋ ์์ผ์ ์์ฑํ๊ณ ํฌํธ(80)์ ๋ฐ์ธ๋ฉ(Bind)ํ์ฌ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ฆฌ์จ(Listen) ์ํ๋ก ๋๊ธฐ
ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ: ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ IP์ ํฌํธ๋ก ์ฐ๊ฒฐ(Connect)์ ์๋ํ๋ฉฐ, ์ด ๊ณผ์ ์์ TCP 3-way Handshake๊ฐ ๋ฐ์
๋ฐ์ดํฐ ์ก์์ : ์ฐ๊ฒฐ์ด ์๋ฆฝ๋๋ฉด ํด๋ผ์ด์ธํธ๋ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์์ผ์ ์ฐ๊ณ (Write), OS๋ ์ด๋ฅผ ํจํท์ผ๋ก ๋ง๋ค์ด ์ ์ก -> ์๋ฒ๋ ์์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ (Read) ์ฒ๋ฆฌ
์ฐ๊ฒฐ ์ข ๋ฃ: ๋ฐ์ดํฐ ๊ตํ์ด ๋๋๋ฉด ์์ผ์ ๋ซ๊ณ (Close), TCP 4-way Handshake๋ฅผ ํตํด ๋ฆฌ์์ค๋ฅผ ์ ๋ฆฌ
HTTP/1.1 Keep-Alive์ ๊ฒฝ์ฐ ์ฐ๊ฒฐ์ ์ ์งํ์ฌ ์ฌ๋ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์
์ฐธ๊ณ ์๋ฃ
Last updated
Was this helpful?