버전(Version) 4비트
IP 프로토콜의 버전을 나타내며, IPv4에서 이 값은 항상 4
헤더 길이(Header Length) 4비트
IP 헤더의 길이를 나타냄
서비스 유형(Type of Service) 8비트
패킷 처리 방식을 정의한다.
전체 길이(Total Length) 16비트
헤더와 데이터 모두를 포함한 전체 패킷의 바이트 수이다.
식별자(Identification) 16비트
데이터그램의 식별을 위한 일련번호
플래그(Flags) 3비트
미사용 비트, 단편화 금지 비트(DF: Don't Fragment), 연속 패킷 비트(MF: More Fragments)
조각 오프셋(Fragment Offset) 13비트
조각화된 패킷 재조립에 사용한다.
TTL(Time to Live) 8비트
패킷이 네트워크 내에서 얼마나 존재할 수 있는지를 결정한다.
무한루핑을 방지한다.
TTL 값(최댓값: 225)은 패킷이 라우터를 통과할 때마다 1씩 감소하며 TTL값이 0이 되면 해당 패킷은 폐기된다.
프로토콜(Protocol) 8비트
상위 레벨의 프로토콜을 나타낸다
TCP값: 6
UDP값: 17
ICMP값: 1
헤더 체크섬(Header Checksum) 16비트
헤더에 대한 16비트 오류 검사
출발지 IP 주소(Source IP Address) 32비트
송신자의 IP주소
목적지 IP 주소(Destination IP Address) 32비트
수신자의 IP주소
옵션(Options) 가변 크기
네트워크 점검 또는 디버깅의 목적을 위한 옵션, 항상 4바이트 단위로 할당되고 이 부분에 의해 헤더 길이의 값이 달라진다.