~/network/tcp-ip
아키텍처

TCP/IP

TCP/IP Model

TCP/IP는 인터넷이 실제로 동작하는 기반이 되는 프로토콜 스택이자 참조 모델이다. OSI 7계층 모델이 이론적인 참조 모델이라면 TCP/IP는 현실에서 채택되어 인터넷의 표준이 된 모델이다.

이름은 두 핵심 프로토콜인 TCP(Transmission Control Protocol)IP(Internet Protocol) 에서 따왔지만, 실제로는 HTTP, DNS, ICMP, ARP 등 인터넷 통신을 구성하는 모든 프로토콜의 모음을 가리킨다.

TCP/IP 모델은 OSI보다 단순한 4계층 구조로 정의되어 있다.

계층이름PDU대표 프로토콜
4ApplicationDataHTTP, DNS, FTP, SMTP, SSH
3TransportSegment / DatagramTCP, UDP
2InternetPacketIP, ICMP, ARP
1Network AccessFrame / BitEthernet, Wi-Fi, PPP

1. Network Access Layer

OSI의 물리 계층 + 데이터 링크 계층에 해당한다. 같은 물리 네트워크 안에서 비트와 프레임을 주고받는 역할을 한다.

  • 대표 기술: 이더넷, Wi-Fi (802.11), PPP
  • 주소 체계: MAC 주소
  • 장비: L2 스위치, 브리지, 허브

이 계층의 구체적인 동작은 STP, VLAN, Trunk 같은 기술로 확장된다.

2. Internet Layer

서로 다른 네트워크를 연결하고, 패킷을 출발지에서 목적지까지 전달하는 계층이다. IP 주소를 기준으로 라우팅이 이루어진다.

  • IP: 패킷의 주소 지정과 라우팅
  • ICMP: 오류 보고, 진단 (ping, traceroute)
  • ARP: IP 주소를 MAC 주소로 변환

IP는 비신뢰성(best-effort) 프로토콜로 패킷이 손실되어도 알리지 않는다. 신뢰성은 상위의 TCP가 책임진다.

이 계층에서 동작하는 라우팅 방식은 Distance Vector, Link State 같은 라우팅 프로토콜에 따라 달라지며, 계산된 경로는 RIB / FIB에 저장된다.

3. Transport Layer

호스트에 도착한 데이터를 올바른 포트에 전달하고, 전송 신뢰성을 결정하는 계층이다.

대표 프로토콜은 TCPUDP다. TCP는 연결 지향이며 재전송, 흐름 제어, 혼잡 제어를 통해 신뢰성을 보장하고, UDP는 비연결 지향으로 신뢰성을 포기하는 대신 오버헤드가 적어 실시간 스트리밍이나 단순 질의에 쓰인다.

4. Application Layer

OSI의 세션 + 표현 + 응용 계층을 통합한 계층이다. 사용자 애플리케이션이 직접 사용하는 프로토콜이 동작한다.

  • : HTTP, HTTPS
  • 메일: SMTP, POP3, IMAP
  • 파일 전송: FTP, SFTP, TFTP
  • 이름 해석: DNS
  • 자동 설정: DHCP
  • 원격 접속: SSH, Telnet

OSI에서 분리되어 있던 세션 관리, 데이터 표현 변환, 암호화 같은 기능이 응용 계층 또는 그 아래의 라이브러리(TLS 등)에서 함께 처리된다.

TCP/IP가 인터넷의 표준이 된 이유

오늘날 인터넷에서 동작하는 모든 통신은 사실상 TCP/IP 위에서 이루어진다.

  • 선행 보급: 4.2BSD UNIX(1983)에 TCP/IP가 무료로 탑재되어 대학과 연구기관으로 빠르게 확산되었다. OSI 표준이 1984년에 나왔을 때 학계는 이미 TCP/IP 위에서 통신하고 있어 갈아탈 동기가 약했다.
  • 개방성: TCP/IP는 IETF의 RFC를 통해 누구나 무료로 읽고 구현할 수 있었다. 반면 OSI는 ISO를 통한 표준화로 문서가 유료였고 절차도 느렸다.
  • 단순성: 4계층으로 줄여 구현이 쉬웠다. OSI는 7계층에 풍부한 기능까지 정의했지만 "design by committee"로 옵션이 너무 많아 무거웠고 구현 간 호환성 문제도 잦았다.
  • 실용성: TCP/IP는 프로토콜을 먼저 만들어 검증한 뒤 모델로 정리한 반면, OSI는 모델을 먼저 정의하고 프로토콜을 끼워 맞추는 방식이라 상용 구현이 따라가지 못했다.