IP패킷 헤더구조
IP패킷은 라우터 MTU(Maximum Transfer Unit)에 맞게 전송해야 하기 때문에 패킷의 크기가 클경우 단편화가 일어나게 된다.
MTU : 어떤 데이터링크에서 하나의 프레임 또는 페킷에 담아 운반 가능한 최대 크기
- Version
IPv4인지 IPv6인지 구별하기 위해 사용 - Header Length
헤더의 길이를 나타냄 이것을 보고 IP헤더의 길이를 알 수 있다. (최소 20byte 최대 40byte)
IP헤더를 보고 데이터의 시작을 알 수 있다.
D : 이 플레그가 체크되어 있으면 단편화를 할 수 없다.
M : 1이면 단편화된 조각이 더 있다는 뜻이고 0 이면 마지막 패킷이라는 소리이다. - Type Of Service(TOS)
우선순위를 나타내는 3bit의 Precedence 및 4비트의 서비스 유형 지정 비트, 그리고 사용되지 않는 1비트로
이루어져 있다.
TOS 필드를 사용하여 라우터나 호스트 등의 장치에서 패킷 처리에 대한 우선순위를 설정할 수 있는데,
현재는 DSCP(Differentiated Services Code Point) 필드로 정의되어 있다 - Total Length
헤더와 데이터를 포함한 패킷의 전체 길이를 나타낸다. - Identification(ID)
생성되는 각각의 패킷마다 부여되는 고유 번호이다. 패킷은 제2계층 프로토콜의 최대전송단위(MTU) 값에 따라 여러 개의 Fragment로 분할되어 처리되는데, 분활되어 온 Flagment들을 원래의 패킷으로 재조립할 때
이 식별자 값을 기준으로 한다.
식별 필드는 단편 플래그 DF(Don't Fragment), MF(More Fragment) 및 데이터그램을 다시 조립하기 위한
단편 오프셋 필드와 함께 사용된다. - Flags
IP 패킷의 Flagmentation 가능 여부와 마지막 Flagment인지 아닌지를 알리기 위해 사용되는 필드이다.
처음 1bit는 항상 0으로 설정되어 있다.
- Flagment Offset
하나의 패킷이ㅣ 여러 개의 프래그먼트로 분할될 때 각각의 프래그먼트 내의 페이로드가 원래의 패킷 내의
페이로드를 기준으로 어떤 위치에 있는지를 명시하는 필드이다. 분할된 프레그먼트들은 이 분할 위치 값을
이용하여 원래의 패킷으로 재조립 된다. - TTL (Time-To-Live)
TTL은 패킷이 무한루핑 하는것을 방지하기 위하여 만들어진 것으로 라우터를 지날때 1씩 감소해서 0이되면
해당 패킷은 폐기되고 Type3의 Destination Unreachable을 보내준다. - Protocol
패킷에 캡슐화되어 있는 상위 계층 PDU가 어떠한 프로토콜을 사용하는지를 명시하는 필드이다.
예를 들어 캡슐화된 PDU가 TCP 세그먼트일 경우 이 필드는 6, UDP일 경우에는 17의 값을 갖는다. - Header Checksum
IP 헤더의 오류 여부 검사를 위한 필드. TCP와 UDP를 포함하며 IP 데이터그램으로 캡슐화되는 프로토콜은
대부분 헤더 및 데이터를 포함하는 체크섬 필드를 가지고 있기 때문에 IP 데이터그램의 체크섬 필드는 단순히 IP 헤더에 대한 오류 검사만을 수행한다. - Source IP Address
32비트의 길이의 출발지 IP주소를 나타낸다. - Destination IP Address
32비트 길이의 목적지 IP 주소를 나타낸다. - Option or Padding
패킷의 전송 결로를 포함한 IP프로토콜의 동작 옵션을 정의하는 필드로 4byte 단위로 구성된다.
IPv4 패킷은 최소 20byte이고 옵션이 붙을경우 최대 60byte가 된다.
'네트워크 > 기타' 카테고리의 다른 글
ICMP 헤더 구조 (0) | 2018.08.27 |
---|---|
캡슐화와 역캡슐화 (2) | 2018.08.20 |
OSI 7계층과 TCP/IP 4계층 (0) | 2018.05.14 |