Data from upper layers is passed down to IP during the encapsulation process. When IP obtains data from upper-layer protocols, it adds an extra header prior to passing it down to lower layer technologies (like Ethernet) for framing. An IP header actually contains a variety of useful information that helps a packet move across a network. One note here – it has been my experience that people often choose to ignore the importance of the information found in headers when they’re just starting out in networking. Be sure to take the time to examine the headers diagrammed in this book, and read the explanation of what the various fields are used for – ultimately, it will help you to better understand network communications.
The figure below outlines the fields found in an IP header, and their responsibilities.
The IP header fields are described below:
- Version. This field specifies the version of IP in use. The current version is IP version 4.
- Header Length. This field specifies the length of the IP header. It actually groups fields into 32-bit numbers. So, if the total header length were 160 bits, the Header Length field would specify 5 (160 divided by 32).
- Service Type. Often referred to as the Class of Service or DiffServ field, bits can be set here to define the priority level of a packet.
- Total Length. Specifies the total length of a packet, including the data field.
- Identification. A value to uniquely identify a particular packet
- Flags. This field specifies whether fragmentation is allowed to occur. In some cases, such as when a packet is routed from one network type to another, fragmentation (breaking the packet up into a number of smaller packets) may be necessary when the underlying technologies allow different maximum packet sizes.
- Fragment Offset. This field provides the information required to reassemble a fragmented packet.
- Time to Live. Specifies how long, in seconds, the packet is allowed to exist on a network. When a router processes a packet, it must decrement the TTL by 1. At a TTL of 0, a packet is removed from the network.
- Protocol. This field specifies the upper-layer protocol to which this packet belongs. For example, TCP is defined by protocol number 6, while UDP is protocol number 17.
- Header Checksum. A computed value that verifies the integrity of the IP header, similar to a CRC.
- Destination Address. The destination IP address for the packet.
- Source Address. The source IP address of the packet.
- IP Options. This field can be used to specify different options such as security restrictions, router alerts, path specification, and so on.
- Data. This field contains the encapsulated data passed down from upper-layer protocols and applications.
While you don’t necessarily need to memorize the fields listed above for your exams, having an understanding of their purpose and functions will go a long way towards better understanding of IP communications.
Tip: For more information on Internet Protocol, see RFC 791.