Internet Protocol Suite(흔히 TCP/IP 스택이라 부른다)는 인터넷에서 실제로 구현·사용되는 프로토콜 묶음으로, OSI Reference Model의 7계층을 Application·Transport·Internet·Link 4개 계층으로 압축한다[1]. OSI가 통신을 설명하기 위한 개념적 참조 모델이라면, TCP/IP는 그 개념을 실제 프로토콜로 구현한 스택이다.

OSI와의 대응

TCP/IP 계층대응하는 OSI 계층대표 프로토콜
ApplicationApplication·Presentation·SessionDNS, HTTP
TransportTransportTCP, UDP
InternetNetworkIP
LinkData Link·PhysicalEthernet

TCP/IP의 Application 계층은 OSI의 Application·Presentation·Session 세 계층 역할을 하나로 합쳐 처리하고, Transport 계층은 TCPUDP 두 프로토콜이 구현하며 TCP는 신뢰성 있는 연결지향 전송을, UDP는 비연결형 전송을 제공한다. Internet 계층은 IP가 출발지에서 목적지까지 데이터그램을 전달하는 역할을 맡고, Link 계층은 Ethernet처럼 직접 연결된 네트워크와 통신하는 프로토콜이 담당한다[1].

캡슐화(Encapsulation)

데이터가 상위 계층에서 하위 계층으로 내려갈 때마다 각 계층은 자신의 헤더를 덧붙인다 — 이를 캡슐화라 하며, 그 결과물은 다음 계층에서 페이로드로 취급되어 다시 캡슐화된다. 수신 측에서는 반대로 각 계층이 자신의 헤더를 벗겨내며 상위 계층으로 전달하는 역캡슐화(decapsulation)가 일어난다[2].

Application Data Transport TCP/UDP Data Internet IP TCP/UDP Data Link Ethernet IP TCP/UDP Data FCS

Ethernet 프레임의 FCS(Frame Check Sequence)처럼, Link 계층은 헤더뿐 아니라 트레일러(trailer)도 덧붙여 프레임 전체의 손상 여부를 검사한다 — 이더넷 프레임 구조의 세부는 Ethernet 페이지에서 다룬다.

종단 간 패킷 흐름

캡슐화·역캡슐화는 경로 양 끝 — 출발지와 목적지 노드에서만 온전히 일어난다. 중간의 라우터는 Network 계층까지만 열어 목적지 IP 주소를 보고 다음 홉을 정할 뿐이며, 그 라우팅에 쓰는 출발지·목적지 IP 주소는 경로 내내 바뀌지 않는다[3]. 반면 OSI Reference Model에서 다루듯 Data Link 계층은 인접한 두 노드 간(1홉) 단위로만 동작하므로, 라우터는 홉마다 그 구간에 맞는 새 Link 계층 프레임을 씌워 내보낸다 — 이때 필요한 다음 홉의 하드웨어 주소를 알아내는 절차가 ARP다.

참고문헌

[1]
R. (ed. ) Braden, “RFC 1122 — Requirements for Internet Hosts – Communication Layers”. 1989. [Online]. Available at: https://www.rfc-editor.org/rfc/rfc1122
[2]
ISO/IEC, “ISO/IEC 7498-1:1994 — Information technology — Open Systems Interconnection — Basic Reference Model: The Basic Model”, 1994.
[3]
J. Postel, “RFC 791 — Internet Protocol”. 1981. [Online]. Available at: https://www.rfc-editor.org/rfc/rfc791