Internet Protocol Suite(흔히 TCP/IP 스택이라 부른다)는 인터넷에서 실제로 구현·사용되는 프로토콜 묶음으로, OSI Reference Model의 7계층을 Application·Transport·Internet·Link 4개 계층으로 압축한다[1]. OSI가 통신을 설명하기 위한 개념적 참조 모델이라면, TCP/IP는 그 개념을 실제 프로토콜로 구현한 스택이다.
OSI와의 대응
| TCP/IP 계층 | 대응하는 OSI 계층 | 대표 프로토콜 |
|---|---|---|
| Application | Application·Presentation·Session | DNS, HTTP |
| Transport | Transport | TCP, UDP |
| Internet | Network | IP |
| Link | Data Link·Physical | Ethernet |
TCP/IP의 Application 계층은 OSI의 Application·Presentation·Session 세 계층 역할을 하나로 합쳐 처리하고, Transport 계층은 TCP와 UDP 두 프로토콜이 구현하며 TCP는 신뢰성 있는 연결지향 전송을, UDP는 비연결형 전송을 제공한다. Internet 계층은 IP가 출발지에서 목적지까지 데이터그램을 전달하는 역할을 맡고, Link 계층은 Ethernet처럼 직접 연결된 네트워크와 통신하는 프로토콜이 담당한다[1].
캡슐화(Encapsulation)
데이터가 상위 계층에서 하위 계층으로 내려갈 때마다 각 계층은 자신의 헤더를 덧붙인다 — 이를 캡슐화라 하며, 그 결과물은 다음 계층에서 페이로드로 취급되어 다시 캡슐화된다. 수신 측에서는 반대로 각 계층이 자신의 헤더를 벗겨내며 상위 계층으로 전달하는 역캡슐화(decapsulation)가 일어난다[2].
Ethernet 프레임의 FCS(Frame Check Sequence)처럼, Link 계층은 헤더뿐 아니라 트레일러(trailer)도 덧붙여 프레임 전체의 손상 여부를 검사한다 — 이더넷 프레임 구조의 세부는 Ethernet 페이지에서 다룬다.
종단 간 패킷 흐름
캡슐화·역캡슐화는 경로 양 끝 — 출발지와 목적지 노드에서만 온전히 일어난다. 중간의 라우터는 Network 계층까지만 열어 목적지 IP 주소를 보고 다음 홉을 정할 뿐이며, 그 라우팅에 쓰는 출발지·목적지 IP 주소는 경로 내내 바뀌지 않는다[3]. 반면 OSI Reference Model에서 다루듯 Data Link 계층은 인접한 두 노드 간(1홉) 단위로만 동작하므로, 라우터는 홉마다 그 구간에 맞는 새 Link 계층 프레임을 씌워 내보낸다 — 이때 필요한 다음 홉의 하드웨어 주소를 알아내는 절차가 ARP다.