Please refer to RFC791 for the complete Internet Protocol(IP) Specification.
IPv4 Header
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ||||||||||||||||||||||||||||||||
Version | IHL(Header Length) | TOS(Type of Service) | Total Length | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identification | IP Flags | Fragment Offset | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TTL(Time To Live) | Protocol | Header Checksum | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Source IP Address | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Destination IP Address | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IP Option(variable length, optional, not common) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Version
Version of IP Protocol. 4 and 6 are valid. This diagram represents version 4 structure only.
IHL(Header Length)
Number of 32-bit words in TCP header, mininum value of 5. Multiply by 4 to get byte count. range 5 to 15.
TOS
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Precedence | D | T | R | M | U |
D: Delay; T: Throughput; R: Reliability; M: Monetary; U: Unused.
Total Length
Total length of IP datagram, or IP fragment if fragmented. Measured in Bytes.
IP Flags
48 | 49 | 50 |
X | D | M |
X: 0x80 reserved(evil bit)
D: 0x40 Do Not Fragment(0 permit fragment, 1 deny fragment)
M: 0x20 More Fragments follow(0 present no fragment or last fragments, 1 preset more fragments)
Fragment Offset
Fragment offset from start of IP datagram. Mesured in 8 byte(2 word, 64 bits) increments. If IP datagram is fragmented, fragment size(Totol Length) must be a multiple of 8 bytes.
Protocol
IP Protocol ID. Including(but not limited to):
1.ICMP 2.IGMP 6.TCP 9.IGRP 17.UDP 47.GRE 50.ESP 51.AH 57.SKIP 88.EIGRP 89.OSPF 115.L2TP
Header Checksum
Checksum of entire IP header.