컴퓨터 네트워크는 여러 개의 통신 계층이 조합된 형태로 구성된다.
컴퓨터 네트워크는 다양한 통신 장비 및 프로그램이 어울려 통신이 이루어진다. 여기서 다양한 장비나 프로그램은 각각 맡은 역할이 정해져 있고, 이 역할들을 분류하고 추상화한 것이 계층 모델 이다. 계층 모델은 인터넷에서 사용되는 TCP/IP 계층 모델, 그리고 TCP/IP 계층 모델보다 더 세분화된 7개의 계층으로 구성된 OSI 참조 모델 등이 있다.
TCP/IP의 4개 계층 중에서 서비스의 내용을 결정하는 것은 애플리케이션 계층 뿐이며 / 나머지 3개 계층은 데이터를 전달하는 통신 기능을 담당한다. 각 계층은 각각 고유한 역할을 가지고 독립된 형태로 각자 맡은 일을 수행하게 된다.
키워드 : 서버, 클라이언트, HTTP, SMPT, POP3, FTP, SSH ...
역할 : 웹 서비스, 이메일과 같은 서비스를 사용자에게 제공
키워드 : TCP, UDP
역할 : 중계 역할. 애플리케이션 계층<->인터넷 계층 사이에서 데이터가 올바르게 전달되도록 중계한다.
키워드 : IP 어드레스, IPv4, IPv6, ICMP, 라우팅 ...
역할 : 목적지의 IP 어드레스로 데이터를 전달한다.
키워드 : 이더넷, 무선 LAN, MAC 어드레스, PPP, FTTx, xDSL ...
역할 : 네트워크 어댑터와 같은 하드웨어를 통해 다른 컴퓨터 등으로 실질적으로 데이터를 전달한다.
통신 과정에서 각 계층을 지나는 데이터는 패킷 단위로 작게 쪼개지고, 목적지 정보와 같은 부가 정보가 헤더의 형태로 덧붙여지게 된다.
송신지의 각 계층에서 작업이 끝나고 나면, 하드웨어를 통과하는 데이터의 형태는 다음과 같은 형태로 이루어지게 된다.
*데이터 앞에 덧붙이는 정보는 Header, 뒤에 덧붙이는 정보는 Trailer라고 부른다.
위의 두 그림에서 각각의 역할을 살펴보면 다음과 같다.
역할 : 사용자가 실제로 체감할 수 있는 서비스를 제공하는 것. 데이터의 내용을 보고 그에 맞는 서비스를 처리하는데 집중한다. 데이터 전송에 대해서는 일절 관여하지 않고, 하위 계층에 위임한다.
역할 : 애플리케이션 계층의 프로그램 에서 전달받은 데이터를 목적지 애플리케이션 계층의 프로그램 까지 전달하는 것.
역할 : 데이터에 어드레스(IP) 정보를 덧붙여 목적지까지 무사히 전달하는 것. 이때, 목적지 컴퓨터까지 도달할 수 있도록 경로를 찾기 위해 라우터(router) 라는 장비가 사용된다.
역할 : 유선 LAN 어댑터나 무선 LAN 어댑터가 처리할 수 있는 형태로 데이터를 변환하고, 이 데이터를 목적지까지 전달하는 것. 인터넷 계층이 멀리 떨어져 있는 목적지까지의 전달 방법에 초점을 맞추고 있다면, 네트워크 인터페이스 계층은 물리적으로 인접하여 장비까지 데이터를 전달하는 방법에 초점을 맞추고 있다.
Example에 설명을 덧붙이자면, 결국 데이터는 트랜스포트 계층에 의해 알맞게 패킷단위로 쪼개어지고, 쪼개진 패킷마다 계층을 지나면서 헤더에 다음과 같은 순서의 정보가 덧붙여진다.