Name

Total Packet Length

Synopsis

Specifies the length of the entire IP packet, including both the header and data segments, in bytes.

Size

Sixteen bits.

Notes

The primary purpose of this field is to inform a system of where the packet ends. A system can also use this field to determine where the data portion of the packet ends, by subtracting the Header Length from the Total Packet Length.

The latter service is especially useful when fragmentation has occurred. Whenever a fragment indicates that another packet is following (set with the “More Fragments” flag), the system will add the value provided in the current fragment’s Fragmentation Offset field to the length of the current fragment’s data segment. The resulting value will then be used to determine which fragment should be read next (discovered by examining the values stored in the Fragmentation Offset field of the remaining associated fragments). By combining the Fragmentation Offset and Total Packet Length fields from each of the fragments that are received, the recipient can determine if there are any holes in the original datagram that need to be filled before it can be processed.

The minimum size of an IP packet is 21 bytes (20 bytes for the header, and 1 byte of data). The maximum size is 65,535 bytes.

Capture Sample

In the capture shown in Figure 2.13, the Total Packet Length is set to 60 bytes. Twenty of those bytes are used by the IP header, meaning that 40 bytes are used for data.

Figure 2.13. The Total Length field
See Also ...

Get Internet Core Protocols: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.