5. 인캡슐레이션과 디캡슐레이션

상위 계층에서 하위계층으로 데이터를 보내면, 물리계층에서 전기 신호 형태로 네트워크를 통해 신호를 보낸다. 받는 쪽에서는 다시 하위 계층에서 상위 계층으로 데이터를 보낸다. 데이터를 보내는 과정을 인캡슐레이션, 받는 과정을 디캡슐레이션이라고 부른다.

encap-and-decap

  1. 인캡슐레이션
    • 상위계층에서 하위계층으로 데이터를 내려보내면서 패킷에 데이터를 넣을수 있도록 분할하고, 프로토콜에 대한 정보를 헤더에 넣는 과정
    • 헤더 정보는 4계층부터 붙기 시작한다. 각 계층마다 한개의 헤더씩 붙어 4,3,2 계층의 헤더가 붙게 된다.
  2. 디캡슐레이션
    • 반대로 하위계층에서 패킷을 조합하고 해석해 상위 계층으로 올려보내는 과정이다. 헤더정보를 통해 상위 계층에 전달하며, 사용된 헤더정보는 버리고 올려준다.
  3. 헤더 정보
    • 4,3,2 계층에서 붙는 헤더에는 두가지 정보가 반드시 포함된다.
  4. 현재 계층에서 정의하는 정보
  5. 상위 프로토콜 지시자
    • 4계층에서는 패킷을 다루기 위한 시퀀스번호, ACK번호 등을 헤더에 넣습니다. 3계층에서는 IP정보를 헤더에 넣고, 2계층에서는 MAC주소를 헤더에 넣습니다.
HTTP SSH FTP DNS SMTP SNTP
<—- TCP –> <– UDP –>
<– -IP –>
Ethernet <-Token Ring -> <-Frame Relay -> ATM
  • 잘 알려진 상위 프로토콜 지시자 : 포트번호
포트번호 서비스
TCP 20, 21 FTP
TCP 22 SSH
TCP 23 TELNET
TCP 25 SMTP
TCP 49 TACACS
UDP 53 TACACS
TCP, UDP 53 DNS
UDP 67,68 BOOTP
TCP, UDP 80 HTTP
UDP 123 NTP
UDP 161,162 SNMP
TCP 443 HTTPS
TCP, UDP 445 Microsoft-DS

포트번호의 경우, 4계층 헤더의 정보이지만 어플리케이션 계층의 프로토콜 종류를 나타내주는 정보이다.

MSS & MTU

  • MSS 데이터를 인캡슐레이션할 때, 네트워크에서 수용할 수 있는 크기를 역산정해 적절한 크기로 쪼개질 수 있도록 4계층에 유도하고 그 값을 MSS(Maximum Segment Size)라고 한다. 4계층에서 가질 수 있는 최대 데이터 크기이다.

  • MTU 네트워크에서 한번에 보낼 수 있는 데이터 크기를 MTU(Maximum Transmission Unit)이라고 부르며 일반적인 이더넷에서 수용할 수 있는 크기는 1500바이트이다. 2계층에서 가질 수 있는 최대 데이터 크기이다. 2계층 헤더를 제외한 데이터 크기이다.

일반적으로 IP헤더와 TCP헤더의 크기각 각각 20바이트 이므로 MSS값을 1460으로 사용한다.