L3 ▶ IPv4 Header 형식

2024. 5. 23. 14:38CS/네트워크

참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초

 

L3 IP Packet은 IP 헤더와 페이로드로 구분된다.

Packet은 MTU에 맞춰서 최대크기가 1500bytes로 규격화되어있다.

IP헤더는 옵션이 붙지않는 이상 20bytes가 된다. 그렇다면 Payload가 대략 1480bytes 정도 사용할 수 있다는 것인데 그림에서 보면 그보다 훨씬 많은 숫자가 적혀있는 것을 볼 수 있다. 데이터가 늘어나는 경우도 있지만 보통은 MTU에 맞게끔 1480bytes 정도만 사용할 수 있다고 보면 된다.

 

  • 1행
    • Version 필드 (4bit) : TCP/IP 제품은 IPv4를 사용한다.
    • IHL : IP 헤드의 길이를 나타내는 필드이다. 대부분의 IP 헤더의 길이는 20바이트이다. 필드 값이 거의 항상 5다.
    • TOS : Type of Service Flags의 약자로 서비스의 우선 순위를 제공한다.
    • Total Length : 전체 IP패킷의 길이를 바이트 단위로 나타낸다.
  • 2행 : 2행은 단편화와 관련이 있는 부분이다. 단편화란 만약 Payload의 영역이 1300bytes까지밖에 할당하지 못한다면 해당 영역을 더 분할해서 사용해야하는데 이것이 단편화이다.
  • 3행
    • TTL : Time to live의 약자로 데이터를 전달할 수 없는 것으로 판단되어 소멸되기 이전에 데이터가 이동할 수 있는 단계의 수를 나타낸다.
    • Protocol : 상위 계층의 프로토콜을 명시한다. 6이면 TCP, 17이면 UDP 프로토콜이다.
    • Header Checksum : IP헤더의 체크섬을 저장한다. 네트워크로 데이터가 송수신될 때 손상이 있는지 없는지 확인한다.
  • 4행
    • 출발 주소(32bit) : 출발지 IP주소
    • 목적 주소(32bit) : 목적지 IP주소
  • 5행 : 옵션 필드로 가변적인 특징이 있다.
  • 6행 : 데이터가 들어있는 페이로드 영역이다.

➡ wireshark를 이용해서 실습해보기를 권장한다.