컴퓨터 공학 & 통신

[개념 정리] 네트워크 - TCP/IP 4계층

왈왈디 2023. 7. 11. 14:40
728x90

TCP/IP 4계층

TCP(Transmissino Control Protocol)/ IP(Internet Protocol) 4계층이란

장치들(node)이 인터넷 상에서 데이터를 주고 받을 때 쓰는

독립적인 프로토콜의 집합을 의미한다.

인터넷을 통해 데이터를 주고 받을 때 주로 TCP와 IP를 이용하여 보내기 때문에 사용되는 용어이다.

 

TCP/IP 4계층의 구성은 아래와 같다.

TCP/IP 4계층

1. 애플리케이션 계층(application)

웹 서비스, 이메일 등 실질적으로 사용자에게 서비스를 제공하는 계층으로,

대표적인 애플리케이션 계층으로는 HTTP, SMTP, SSH, FTP가 있다.

 

2. 전송 계층(transport)

애플리케이션 계층에서 받은 메시지를 기반으로

세그먼트 또는 데이터그램으로 데이터를 쪼개어, 

데이터가 오류 없이 순서대로 전달되도록 도움을 주는 계층이다.

대표적으로 TCPUDP가 있다.

 

3. 인터넷 계층(network)

한 노드에서다른 노드로,

전송 계층에서 받은 세그먼트 또는 데이터그램을 패킷화하여 목적지로 전송하는 역할이다.

IP, ICMP, ARP가 대표적이다.

 

4. 링크 계층(link)

링크 계층은 전선, 광섬유, 무선 등으로

데이터가 네트워크를 통해 물리적으로 전송되는 방식을 정의한다.

데이터 링크 계층물리 계층을 합친 계층이다.

 

캡슐화(encapsulation) & 비캡슐화(decapsulation)

네트워크에서 캡슐화란 송신자가 수신자에게 데이터를 보낼 때

데이터가 각 계층을 지나며 각 계층의 특징이 담긴 헤더가 붙여지는 과정을 말한다.

예를 들어, 전송 계층은 TCP 헤더, 네트워크 계층은 IP주소 헤더를 추가한다.

 

비캡슐화란 이 과정의 역이다. 

수신자측에서 캡슐화된 데이터를 역순으로 제거하면서 응용 계층까지 도달하는 것을 말한다.

 

PDU(protocol data unit)

PDU란 TPC/IP 4계층을 기반으로 이야기 할 때

각 계층에서 데이터의 단위를 말한다.

  • 애플리케이션 계층: 메시지
  • 전송 계층: TCP - 세그먼트*, UDP - 데이터그램
  • 인터넷 계층: 패킷*
  • 링크 계층: 데이터 링크 계층 - 프레임*, 물리 계층 - 비트

* 세그먼트: 적절한 크기로 쪼갠 조각 (세그먼트와 데이터그램의 의미는 같음)

* 패킷: 세그먼트에 SP** DP**가 포함된 IP 헤더가 붙은 형태의 조각

* 프레임: MAC주소 헤더와 CRC/체크섬 트레일러가 붙은 조각

** SP: (IPv4 기준) 송신자의 32비트 IP주소

** DP: (IPv4 기준) 수신자의 32비트 IP주소

 

CRC/체크섬 트레일러

데이터의 오류 감지를 위한 수학적 함수가 적용된 값으로,

과도한 트래픽 등 링크의 오류로 인한 데이터 손상감지하는 역할을 한다.

 

OSI(Open System Interconnection) 7계층

TCP/IP 4계층은 OSI 7계층 모델로 설명되기도 한다.

TCP/IP 계층과 달리, OSI 계층은 

애플리케이션 계층3개로 쪼개고,

링크 계층데이터 링크 계층, 물리 계층으로 나눠서 표현하며,

인터넷 계층네트워크 계층으로 부른다는 점이 다르다.

OSI 7계층 VS TCP/IP 4계층

 

MTU(Maximum Transmission Unit)

MTU란 네트워크에 연결된 장치가 받아들일 수 있는

최대 데이터 패킷의 크기를 말한다.

MTU를 기준으로 데이터가 쪼개져 패킷화된다.

네트워크 경로 상 어느 장치에서든 MTU보다 패킷이 크면, 그 패킷은 분할될 수 있다.

 

* 패킷이 분할되지 않는 경우

네트워크 경로 상 어떤 라우터나 장치의 MTU를 초과할 때,

패킷을 분할할 수 없는 경우,

분할해서 전달하지 않고 아예 전달하지 않을 수 있다.

  • IPv6: IPv6는 분할을 허용하지 않는다.
  • IPv4: IPv4 헤더에는 flags라는 필드가 있다. 여기서 bit가 1이 되면 "Don't Fragment" 플래그가 활성화되어, 분할불가능하다.

 

MTU & MSS(Maximum Segment Size)

MTU와 MSS의 차이점은,

MTU는 IP헤더TCP헤더크기포함하지만,

MSS는 데이터의 크기(payload의 크기)만을 의미한다는 점이다.

MTU vs MSS

일반적으로 MTU는 1500바이트이며, MSS는 1460바이트이다.

네트워크를 통해 데이터를 보낼 때 MTU가 1500이라도, 

데이터는 보통 1460바이트 이하의 크기로 보내야 전달이 가능하다.

다만, TCP를 쓰지 않는다면 달라질 수 있다.

 

PMTUD(Path MTU Discovery)

PMTUD는 수신자와 송신자의 경로 상 장치가 패킷을 누락한 경우,

테스트 패킷의 크기를 낮추면서 MTU에 맞게끔 반복하여 보내는 과정을 말한다.

 

참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

728x90