IP 헤더는 IP 패킷의 앞부분에 위치하며 IP 주소를 비롯한 각종 제어정보를 담고 있다. IPv4 헤더는 고정 부분 20바이트와 가변 부분 0~40바이트로 구성되어 있다. 옵션을 지정하지 않았을 때의 최소 크기는 20바이트이다.
버전
버전(Version)은 IP의 버전을 나타내는 영역이다. IPv4이므로 4이다.
헤더 길이
헤더 길이(Header Length)는 4바이트를 기본 단위로 헤더의 길이를 규정하는 영역이다. IPv4에서는 헤더 길이가 가변이므로 이를 규정하는 영역이 필요하다. 기본값은 5로서, 최소 크기는 20 바이트이고, 옵션 영역을 사용하면 60바이트까지 확장할 수 있다.
DS
DS(Differentiated Service, 차등 서비스)는 IP 패킷 전송 시 우선순위와 혼잡 알림을 위한 8비트의 영역이다. 앞의 6비트는 요구되는 서비스 질에 따른 차등 서비스를 나타내는 DS 필드로 사용되고, 뒤의 2비트는 혼잡 정도를 알리는 ECN(Explicit Congestion Notification) 필드로 사용된다. DS 필드에는 서비스 품질 유형을 나타내는 DSCP(Differentiated Service Code Point) 값이 들어간다.
전체 길이
전체 길이(Total Length)는 헤더와 데이터를 합한 IP 패킷 전체 길이를 바이트 단위로 나타낸다. 최댓값은 65,535바이트이다.
식별자
식별자(Identification)는 IP 패킷을 식별하기 위해 사용된다. 이 영역의 값을 참조하면 어느 원본 패킷으로부터 분할되었는지를 알 수 있다.
플래그
플래그(Flags)는 패킷의 분할 여부에 대한 정보를 나타내는 3비트의 영역이다. 첫 번째 비트는 예비용을 항상 0으로 설정하며, 두 번째 비트는 DF(Don't Fragment), 세 번째 비트는 MF(More Fragment)이다. DF는 데이터를 단편화할 것인지 판단하는 역할을 하며, 0이면 분할이 가능하고 1이면 분할하지 말라는 의미이다. MF는 단편이 더 있는지 판단하는 역할을 하며, 0이면 마지막 단편이라는 뜻이고 1이면 아직 수신되지 않은 단편이 있다는 의미이다.
단편 오프셋
단편 오프셋(Fragment Offset)은 분할된 패킷을 재조립할 수 있도록 원래 위치를 알려주는 영역으로, 바이트를 8로 나눈 값을 사용한다.
TTL
수신지에 도착하지 못한 패킷이 네트워크에 남으면 결과적으로 네트워크의 자원을 심각하게 잠식할 수 있다. TTL(Time to Live, 패킷 수명)은 이를 방지하는 옵션으로, 라우터를 지날 때마다 TTL 값을 하나씩 감소시키고 값이 0이 된 패킷을 받으면 폐기하도록 한다. 폐기된 패킷을 수신하면 전송지에 이를 알리는 메시지를 보낸다.
프로토콜 유형
프로토콜 유형(Protocol Type)은 데이터에 어떤 상위 계층 프로토콜이 포함되어 있는지를 나타낸다.
헤더 체크섬
헤더 체크섬(Header Checksum)은 네트워크를 통해 패킷이 전송될 때 발생한 오류를 검출하기 위해 사용하는 영역이다. 데이터 전체가 아닌 헤드의 오류만 검출하며, 오류가 검출되면 복구하지 않고 폐기한다. 헤더를 2바이트씩 모두 잘라 더하고, 발생한 올림 영역까지 더한 후 1의 보수 연산을 수행해 계산한다.
전송지 주소
전송지 주소(Source Address)는 패킷을 전송하는 호스트의 주소를 나타내는 영역이다.
수신지 주소
수신지 주소(Destination Address)는 패킷을 수신하는 호스트의 주소를 나타내는 영역이다.
댓글