| Version |
(4-bits) The Version of the IP Protocol being
used |
| Header Length |
(4-bits) Length of IP header |
| Service Type |
(8-bit) Specifies how the datagram should be
handled |
| Total Length |
(16-bit) Total length of datagram |
| Identification |
(16-bit) Fragmentation control. Allows
destination to know which fragments belong to which
datagrams. |
| Flags |
(3-bit) More frag control. Marks where, in the
datagram, a fragment belongs. |
| Fragment Offset |
(13-bit) Specifies the offset of the fragmented
data in the original datagram. |
| Time to Live |
(8-bit) How long, in seconds, a datagram can
remain in an internet (AKA: TTL). |
| Protocol |
(8-bit) Specifies which high-level protocol
created the message. e.g., FTP. |
| Header Checksum |
(16-bit) Computational field to ensure header
value integrity. |
| Source of IP Address |
(32-bit) Datagram's sender's IP Address |
| Destination of IP Address |
(32-bit) Datagram's intended recipient's IP
Address |
| IP Options |
(x-bit) An unrequired field. Mostly used for
testing. |
| Padding |
(32 - x-bit) As the size indicates, it fills
whatever of the 32-bits is not used by the IP Options
field. |
| Data |
(32-bit) This is where the Header ends and the
actual Data is stored. |
| ... |
Loose ends... |