|  | 10.3 | IP Addresses within the IP Header
| 10.3.2 | Network layer fields
The Layer 3 packet/datagram becomes the Layer 2 data, which is then encapsulated into frames (as previously discussed). Similarly, the IP packet consists of the data from upper layers plus an IP header, which consists of: version - indicates the version of IP currently used (4 bits) IP header length (HLEN) - indicates the datagram header length in 32 bit words (4 bits) type-of-service - specifies the level of importance that it has been assigned by a particular upper-layer protocol (8 bits) total length - specifies the length of the entire IP packet, including data and header, in bytes (16 bits) identification - contains an integer that identifies the current datagram (16 bits) flags - a 3-bit field in which the 2 low-order bits control fragmentation – one bit specifying whether the packet can be fragmented, and the second whether the packet is the last fragment in a series of fragmented packets (3 bits) fragment offset - the field that is used to help piece together datagram fragments (16 bits) time-to-live - maintains a counter that gradually decreases, by increments, to zero, at which point the datagram is discarded, keeping the packets from looping endlessly (8 bits) protocol - indicates which upper-layer protocol receives incoming packets after IP processing has been completed (8 bits) header checksum - helps ensure IP header integrity (16 bits) source address - specifies the sending node (32 bits) destination address - specifies the receiving node (32 bits) options - allows IP to support various options, such as security (variable length) data - contains upper-layer information (variable length, maximum 64 Kb) padding - extra zeros are added to this field to ensure that the IP header is always a multiple of 32 bits
| Web Links
| IP Addressing Architecture