TCP/IP 4계층 모델은 네트워크에서 사용되는 통신 프로토콜의 집합으로, 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성된다.
- OSI 7계층 모델과 자주 비교되는데, OSI 7계층 모델은 애플리케이션 계층을 세 개로 나누고 네트워크 인터페이스 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현한다. 반면 TCP/IP 4계층 모델은 구분이 모호한 [전송-세션-표현] 등을 그룹화한다.
- TCP / IP 모델은 실제 인터넷 통신을 반영하기에 현실적이며, 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수하다.
네트워크 인터페이스 계층은 전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 규칙을 정하는 계층이다.
인터넷 계층은 장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층이다. IP, ARP, ICMP 등이 있으며 패킷을 수신해야 할 상대의 주소를 지정하여 전달한다.
전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하며 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공하며 애플리케이션과 인터넷 계층 사이의 중계 역할을 한다. 대표적인 프로토콜은 TCP와 UDP가 있다.
TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 수신 여부를 확인하며 가상회선 패킷 교환 방식 을 사용한다.
가상회선 패킷 교환 방식은 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식이다.
UDP는 순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 주는 데이터그램 패킷 교환 방식 을 사용한다.
데이터그램 패킷 교환 방식이란 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 가는데, 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 순서가 다를 수 있는 방식이다.
데이터 단위는 세그먼트(실질적인 데이터 전송단위), 전송 주소는 Port 를 참조한다.
Segment(세그먼트)는 전송을 위해 데이터를 일정 크기로 나누며, 발신, 수신, 포트주소, 오류검출코드가 첨부된다.
애플리케이션 계층은 FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층이며 웹 서비스, 이메일 등 서비스를 실질적으로 제공하는 층이다.