Download (direct link):
IP provides a connectionless service using packet switching with datagrams. Packets in a connectionless network, such as the IP network, are referred to as datagrams. An IP host can transmit datagrams to a destination IP host without having to set up a connection to the destination, as in the case of X.25, frame relay, and ATM networks. IP datagrams
Connection-oriented Networks Harry Perros © 2005 John Wiley & Sons, Ltd ISBN: 0-470-02163-2
THE MULTI-PROTOCOL LABEL SWITCHING (MPLS) ARCHITECTURE
are routed through the IP network independently from each other, and in theory, they can follow different paths through the IP network. In practice, however, the IP network uses routing tables that remain fixed for a period of time. In view of this, all IP packets from a sender to a receiver typically follow the same path. These routing tables are refreshed periodically, taking into account congested links and hardware failures of routers and links.
IP does not guarantee delivery of IP datagrams. In view of this, if the underlying network drops an IP datagram, IP will not be aware of that. Also, as in the ATM networks, IP does not check the payload of an IP datagram for errors, but it only checks its IP header. IP will drop an IP datagram, if it finds that its header is in error. Lost or erroneous data is recovered by the destination’s TCP.
6.1.1 The IP Header
An IP datagram consists of a header and a payload. The IP header is shown in Figure 6.1, and it consists of a 20-byte fixed part and an optional part which has a variable length. The following fields are defined in the IP header:
• Version: A 4-bit field used to indicate which version of the protocol is used.
• Internet Header Length (IHL): This is a 4-bit field that gives the length of the header in 32-bit words. The minimum header length is five 32-bit words (or 20 bytes).
• Type of service: This is an 8-bit field that indicates whether the sender prefers for the datagram to travel over a route with minimal delay, or a route with maximal throughput.
• Total length: A 16-bit field used to indicate the length of the entire datagram (i.e., header and payload). The default value for the maximum length is 65,535 bytes.
• Identification: A 16-bit field used by the receiver to identify the datagram that the fragment belongs to. All fragments of a datagram have the same value in the identification field.
• Flags: This is a 3-bit field, but only two bits - more fragments and don’t fragment - are used. All fragments, except the last one, have the more fragments bit set. This information permits the receiver to know when all of the fragments have arrived. The don’t fragment bit is used to disallow fragmentation.
f 1 1 1 ³ ³ i ....... ................
Version IHL Type of Service Total length
Identification Flags Fragment offset
Time to live Protocol Header checksum
V Destination address
Options and padding
Figure 6.1 The IPv4 header.
THE INTERNET PROTOCOL (IP): A PRIMER
• Fragment offset: This 13-bit field contains an offset that points to where this fragment belongs to in the original datagram.
• Time to live: This is an 8-bit field that specifies in seconds how long a datagram is allowed to live in the network. The maximum lifetime is 255 sec. Every router that processes the datagram must decrease this field by one second, and by several seconds if the datagram is queued in the router for a long time. This field can be seen as being similar to a hop count. When the time to live field becomes equal to 0, the datagram is discarded. This prevents a datagram from moving around in the network forever.
• Protocol: This field is 8 bits long; it specifies the next higher level protocol (e.g. TCP and UDP) to which the datagram should be delivered.
• Header checksum: A 16-bit field used to verify whether the IP header has been correctly received. The transmitting host adds up all of the 16-bit half-words of the header using 1’s compliment arithmetic, assuming that the checksum field is 0. The 1’s compliment of the final result is then computed and placed in the checksum field. The receiving host calculates the checksum, and if the final result is 0, then the header has been correctly received. Otherwise, the header is erroneous and the datagram is dropped. The checksum is recomputed at each router along the path of the datagram, since at least one field of the header (the time to live field) is changed.
• Source address: A 32-bit field populated with the network and host number of the sending host.
• Destination address: A 32-bit field populated with the network and host number of the destination host. The IP addressing scheme is discussed below.
• Options: A variable-length field used to encode the options requested by the user (e.g. security, source routing, route recording, and time stamping).