THE FORMAT OF THE SIGNALING MESSAGE

6 The Multi-Protocol Label Switching MPLS Architecture The multi-protocol label switching MPLS scheme is based on Cisco’s tag switching, which in turn was inspired by the IP switching scheme, an approach to switching IP packets over ATM proposed by Ipsilon Networks Ipsilon was later on purchased by Nokia. MPLS was standardized by IETF, and it introduces a connection-oriented structure into the otherwise connectionless IP network. MPLS circumvents the CPU-intensive table look-up in the forwarding routing table necessary to determine the next hop router of an IP packet. Also, it can be used to introduce QoS in the IP network. Interestingly enough, since the introduction of tag switching, and subsequently of MPLS, several CPU-efficient algorithms for carrying out table look-ups in the forwarding routing table were developed. The importance of MPLS, however, was by no means diminished since it is regarded as a solution for introducing QoS into the IP networks. MPLS requires a set of procedures for the reliable distribution of label bindings. MPLS does not require that a single label distribution protocol is used. In view of this, various schemes have been proposed for the distribution of labels, of which the label distribution protocol LDP and the resource reservation protocol – t raffic engineering RSVP–TE are the most popular. In this chapter, we describe the basic features of the MPLS architecture. The label distribution protocols LDP and its extension CR-LDP, and RSVP and its extension RSVP- TE are presented in the following chapter. MPLS has been extended to generalized MPLS GMPLS , which is described in Section 9.5. Before we proceed to describe the MPLS architecture, we review some basic concepts of IP networks in the following section. This section can be skipped by the knowledgeable reader.

6.1 THE INTERNET PROTOCOL IP: A PRIMER

IP is part of the TCPIP suite of protocols used in the Internet. TCP corresponds to the transport layer of the OSI model, and IP corresponds to the network layer of the OSI model. In this section, we describe the current version of IP, known as IP version 4 IPv4. 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 132 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 identifi- cation 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 infor- mation permits the receiver to know when all of the fragments have arrived. The don’t fragment bit is used to disallow fragmentation. Version IHL Type of Service Total length Identification Flags Fragment offset Time to live Protocol Header checksum Source address Destination address Options and padding Fixed 20 bytes variable Figure 6.1 The IPv4 header.