본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.


Transmission Control Protocol/Internet Protocol

OSI 4계층 TCP와 3계층 IP 두 가지 프로토콜이 합쳐진 형태

  • TCP
    • Transmission Control Protocol
    • 데이터를 패킷으로 나눠 데이터의 흐름을 관리하고 신뢰성 있는 전송을 보장하는 프로토콜
  • IP
    • Internet Protocol
    • 네트워크를 통해 패킷을 전송하는 프로토콜

TCP/IP라는 이름은 대표 프로토콜 두 개를 딴 것이고, 실제로는 UDP, ICMP, ARP, HTTP 등을 포함한 인터넷 프로토콜 묶음(프로토콜 스위트) 전체를 가리킨다. 인터넷 호스트가 갖춰야 할 요구사항은 RFC 1122(통신 계층)와 RFC 1123(응용 및 지원)에 정리되어 있다.

  • 하드웨어, 운영체제, 물리적 네트워크에 투명하게 동작
  • De Facto
  • 표준 문서(RFC)가 공개되어 있어 누구나 구현할 수 있다.
  • 연결형 전송(TCP)과 비연결형 전송(UDP)을 모두 제공한다.
  • OSI 7계층과 달리 네트워크 액세스 계층, 인터넷 계층, 전송 계층, 응용 계층 총 4개의 계층으로 구분된다.

RFC 1122는 이 네 계층을 아래에서부터 링크 계층(Link Layer), 인터넷 계층(Internet Layer), 전송 계층(Transport Layer), 응용 계층(Application Layer)이라 부른다. 네트워크 액세스 계층은 RFC 1122의 링크 계층과 같은 것이다.

OSI 7계층과의 대응

편집 원본 편집
OSI 7계층 TCP/IP 4계층 대표 프로토콜 PDU
7 응용 계층 응용 계층 HTTP, FTP, SMTP, DNS, SNMP, 텔넷, SSH, DHCP 메시지(데이터)
6 표현 계층
5 세션 계층
4 전송 계층 전송 계층 TCP, UDP 세그먼트(TCP), 데이터그램(UDP)
3 네트워크 계층 인터넷 계층 IP, ICMP, IGMP 패킷(IP 데이터그램)
2 데이터 링크 계층 네트워크 액세스 계층(링크 계층) 이더넷, PPP, ARP 프레임
1 물리 계층
  • ARP는 IP 주소로 MAC 주소를 찾는 프로토콜이다. 인터넷 계층과 링크 계층 사이에서 동작하므로 교재에 따라 어느 계층에 넣는지가 다르다. 시험에서는 보통 인터넷 계층(3계층) 프로토콜로 분류한다.
  • ICMP는 IP 위에 실려 전달되지만 IP의 오류·제어 보고를 담당하므로 인터넷 계층에 속한다.

데이터를 보낼 때 각 계층은 위 계층에서 받은 데이터 앞에 자기 헤더를 붙인다. 이를 캡슐화라 하고, 받는 쪽에서 헤더를 하나씩 떼어 내는 과정을 역캡슐화라 한다.

  1. 응용 계층: 응용 프로그램이 보낼 데이터(메시지)를 만든다.
  2. 전송 계층: TCP 헤더(또는 UDP 헤더)를 붙여 세그먼트를 만든다. 여기에 출발지·목적지 포트 번호가 들어간다.
  3. 인터넷 계층: IP 헤더를 붙여 패킷을 만든다. 여기에 출발지·목적지 IP 주소가 들어간다.
  4. 네트워크 액세스 계층: 이더넷 헤더와 트레일러(FCS)를 붙여 프레임을 만든다. 여기에 MAC 주소가 들어간다. 이후 비트 신호로 바뀌어 매체로 나간다.
  • 라우터는 프레임을 받으면 링크 계층 헤더를 떼고 IP 헤더를 보고 경로를 정한 뒤, 다음 구간에 맞는 새 링크 계층 헤더를 붙여 내보낸다. IP 주소는 끝까지 유지되고 MAC 주소는 구간마다 바뀐다.

TCP/IP는 미국 국방부 연구 기관의 지원으로 개발되어 ARPANET에 적용되었다. ARPANET은 원래 NCP(Network Control Protocol)를 쓰고 있었는데, RFC 801(1981년 11월, NCP/TCP 전환 계획)은 1983년 1월 1일까지 NCP에서 IP/TCP로 완전히 전환한다는 목표를 제시했다. 이 전환 이후 TCP/IP는 인터넷의 표준 프로토콜로 자리 잡았고, 오늘날 사실상 표준(De Facto)으로 쓰인다.

  • TCP/IP 4계층 이름과 OSI 7계층의 어느 계층에 대응하는지를 묻는다.
  • 프로토콜을 계층별로 분류하는 문제(예: ICMP·IGMP는 인터넷 계층, TCP·UDP는 전송 계층)가 자주 나온다.
  • 계층별 PDU(메시지, 세그먼트, 패킷, 프레임)와 캡슐화 순서를 구분할 수 있어야 한다.