각 디바이스는 고유한 MAC 주소를 갖게 되며, 연결된 네트워크 디바이스에 따라 IP 주소가 그때 그때 할당된다.
네트워크 디바이스는 고유한 IP 주소를 갖는다.
Version: 사용 중인 인터넷 프로토콜 버전, IPv4 가 가장 일반적인 버전이다. 요즘엔 IPv6도 많이 사용된다.
Header Length: IP 데이터그램의 길이를 나타내며 20바이트로 많이 설정된다. 20바이트는 IP 데이터그램 헤더의 최소 길이다.
Service Type: QoS 기술을 적용하기 위해 필요한 필드이다. QoS 는 애플리케이션 우선 순위에 따라 트래픽이 정체된 라우터에서도 우선적으로 라우팅할 수 있도록 하는 기술이다.
Total Length: IP 데이터그램의 전체 길이를 나타낸다.
Identification: 메시지를 그룹화하기 위한 필드이다.
Flags: 조각화 되었거나 조각화 될 수 있다는 정보를 담은 필드이다.
Fragment Offset: 조각화된 데이터그램의 순서를 맞추기 위해 사용된다.
TTL: 라우팅에서 거쳐갈 수 있는 최대 홉 수를 나타낸다. 이 필드를 매번 홉을 거칠때 마다 1씩 감소시켜 0이 되면 패킷을 삭제시킨다. 네트워크에서 패킷이 무한루프를 도는 것을 방지한다.
Protocol: transport layer의 프로토콜이 무엇인지 나타낸다. 일반적으로 TCP/UDP이다.
Header checksum: IP 데이터그램 헤더의 전체 정보에 체크섬 함수를 적용한 값으로 수신지에서 체크섬을 다시 계산하여 이 필드의 값과 비교하여 IP 데이터그램 헤더의 무결성을 확인한다.
Source IP Address, Destination IP Address: 송신 측과 수신 측의 IP 주소를 나타냄
IP options: optional 필드이며, 테스트 목적으로 사용되는 데이터 그램의 특수한 특성을 설정하기 위해 사용된다.
padding: IP options 필드가 가변적이기 때문에 0으로 채워진 패딩을 통해 전체 크기가 올바른지 확인하는 역할만 한다.
데이터그램은 큰 데이터그램을 허용하는 네트워크에서 작은 데이터그램만 허용하는 네트워크로 교차해야 하는 경우 데이터그램 자체를 조각화해야한다.
이렇게 조각화된 데이터그램은 수신 측에서 다시 하나의 데이터로 만들어야 하는데, 이때 조각화된 데이터그램들을 하나로 식별하기 위해 Identification 필드를 사용한다.
조각화된 데이터그램의 순서를 보존하기 위해 Fragment Offset 필드가 사용된다.
version: IP 버전의 번호이며 IPv6 은 6을 저장함
Traffic class: Service Type 필드와 동일하게 QoS 및 흐름 제어에 사용됨
Flow Label: 데이터 흐름을 식별하기 위한 필드로, 같은 데이터 흐름을 가진 패킷들이 동일한 경로를 따르도록 하는데 사용됨
Payload legth: IP 헤더를 제외한 데이터의 길이 (IP 헤더 길이는 고정이므로 저장하지도 않음)
Next header: IP 패킷에 포함된 프로토콜, TCP/UDP, ICMPv6 등
Hop Limit: TTL과 비슷한 역할로 최대 홉 수를 지정
Source, Destination address: IPv6 은 128비트의 주소를 사용하므로 주소 공간도 각각 128비트로 구성됨