본문 바로가기

work/network

IP 패킷의 헤더 구조

출처 : http://www.easytv.co.kr/119

TCP/IP의 계층 구조에 있어서 제2계층인 네트워크계층의 헤더 구조를 살펴본다.


네트워크계층에서 사용되는 프로토콜은 IP, ARP, ICMP등이 있으며 통신에서 addressing을 담당하고
있다.

데이터 단위는 패킷이라 하며 패킷의 앞부분에 32x6bit size의 헤더가 포함되어있다.


- VERSION
   IPv4용 패킷인지 IPv6용 패킷인지 식별
- HEADER LENGTH
   IP OPTIONS가 필수항목이 아니기 때문에 전체 header의 길이는 가변적이다.
   그래서 header의 길이를 명시한다.
- SERVICE TYPE
   중요한 데이터인지, 우선적으로 보내야하는 데이터인지 명시
- TOTAL LENGTH
   header + data의 길이, maximum trasmit unit = 65,536byte
- IDENTIFICATION
   송신할 데이터가 1,518byte이상일 경우 여러조각으로 분할하여 전송하게 되는데 이때 이 조각들이
   하나의 데이터에서 분할된것임을 나타내는 식별 번호
- FLAGS
   분할할 수 없는 데이터인지 명시
- FRAGMENT OFFSET
   IDENTIFICATION에서 분할된 순서, 이 순서들을 이용하여 수신측에서 re-assemble한다.
- TIME TO LIVE
   통신망에서 데이터의 폭주를 방지하기 위해 1~255사이의 정수를 표시하여 한 개의 라우터를 지나면서
   -1씩 차감하게 된다. 이 숫자가 계속 차감되어 0이되면 이 패킷은 라우터에서 버림이 발생하고 해당
   메세지가 송신측으로 보내어진다.
- TYPE
   전송계층(TCP계층)에서 사용될 프로토콜 번호. 1(ICMP), 6(TCP), 17(UDP)
- HEADER CHECKSUM
   헤더 전체의 checksum.
- SOURCE IP ADDRESS
- DESTINATION IP ADDRESS
- IP OPTIONS
   네트워크 관리
- PADDING
   IP OPTIONS가 32bit를 채우지 못할경우 0을 채워 넣는다.