- What is Label Switching?
- Why Use Label Switching?
- The ZIP Code Analogy
- Why A Label IS Not an Address
- How Label Switching is Implemented and How it Came About
- Clarification of Terms
- The Need for a QOS-based Internet
- Label Switching's Legacy: X.25 and Virtual Circuits
- MPLS: Status and Concepts
- Examples of Label and QOS Relationships
- Determination of the Physical Path Through the Network: The Label Switched Path (LSP)
Why Use Label Switching?
Let's look at the reasons label switching is of such keen interest in the industry. We examine the topics of (a) speed and delay, (b) scalability, (c) simplicity, (d) resource consumption, and (e) route control.
Speed and Delay
Traditional IP-based forwarding is too slow to handle the large traffic loads in the Internet or an internet, a topic explained in Appendix A. Even with enhanced techniques, such as a fast-table lookup for certain datagrams, the load on the router is often more than the router can handle. The result may be lost traffic, lost connections, and overall poor performance in an IP-based network.
Label switching, in contrast to IP forwarding, is proving to be an effective solution to the problem. Label switching is much faster because the label value that is placed in an incoming packet header is used to access the forwarding table at the router; that is, the label is used to index into the table. This lookup requires only one access to the table, in contrast to a traditional routing table access that might require several thousand lookups.
The result of this more efficient operation is that the user's traffic in the packet is sent though the network much more quickly than with the traditional IP forwarding operation, reducing the delay and response time to enact a transaction between users.
Jitter. For computer networks, speed and its nemesis, delay, have another component. It is the variability of the delay of the user traffic, caused by the packet traversing several to many nodes in the network to reach its destination. It is also the accumulation of this variable delay as the packet makes its way from the sender to the receiver. At each node, the destination address in the packet must be examined and compared to a long list of potential destination addresses in the node's (usually a router) routing table.1
As the packet traverses through these nodes, it encounters both delay and variable delay, depending on how long it takes for the table lookup and, of course, on the number of packets that must be processed in a given period. The end result, say, at the receiving node, is jitter, an accumulation of the variable delays encountered at each node between the sender and the receiver.
This situation is onerous to speech packets because it often translates into uneven speech play-out to the person listening to the speech. It may even result in a person's having to wait a few seconds to receive the final words of a sentence as the speech packets make their way through the network.
Once again, the more efficient label switching operation results in the user's traffic being sent through the network much more quickly and with less jitter than with the traditional IP routing operation.
Certainly, speed is an important aspect of label switching, and processing the user traffic quickly in an internet is very important. But fast service is not all that label switching provides. It can also provide scalability. Scalability refers to the ability or inability of a system, in this case the Internet, to accommodate a large and growing number of Internet users. Thousands of new users (and supporting nodes, such as routers and servers) are signing on to the Internet each day. Imagine the task of a router if it has to keep track of all these users. Label switching offers solutions to this rapid growth and large networks by allowing a large number of IP addresses to be associated with one or a few labels. This approach reduces further the size of address (actually label) tables and enables a router to support more users.
Another attractive aspect of label switching is that it is basically a forwarding protocol (or set of protocols, as we shall see). It is elegantly simple: forward a packet based on its label. How that label is ascer-tained is quite another matter; that is, how the control mechanisms are implemented to correlate the label to a specific user's traffic is irrelevant to the actual forwarding of the traffic. These control mechanisms are somewhat complex, but they do not affect the efficiency of the user traffic flow.
Why is this concept important? It means that a variety of methods can be employed to establish a label binding (an association) to the user's traffic. But after this binding has been accomplished, then label switching operations to forward the traffic are simple. Label switching operations can be implemented in software, in application-specific integrated circuits (ASICs), or in specialized processors.
The control mechanisms to set up the label must not be a burden to the network. They should not consume a lot of resources. If they do, then their benefits are largely negated. Fortunately, label switching networks do not need a lot of the network's resources to execute the control mechanisms to establish label switching paths for users' traffic (if they do consume a lot of resources, they are not designed well). We spend quite a lot of time in this book examining the control mechanisms to support label switching.
Route Control (Control of the Forwarding Path)
With some exceptions, routing in internets is performed with the use of the IP destination address (or in a LAN, with the destination MAC address). Certainly, many products are available that use other information, such as the IP type of service (TOS) field and port numbers, as part of the forwarding decision. But destination-routing (the destination IP address) is the prevalent forwarding method.
Destination-routing is not always an efficient operation. To see why, consider Figure 11. Router 1 receives traffic from routers 2 and 3. If the IP destination address in the arriving IP datagram is for an address found at router 6, the routing table at router 1 directs the router to forward traffic to either router 4 or 5. With some exceptions, no other factor is involved.2
Figure 11 Destination-based routing.
Label switching permits the routes through an internet to be subject to better control. For example, a labeled packet emanating from router 2 may be destined for an address at router 6; likewise, the same situation could hold for a labeled packet starting at router 3. However, the packets' different label values can instruct router 1 to send one labeled packet to router 4 and a packet with a different label value to router 5.
This concept provides a tool to engineer the nodes and links to accommodate traffic more efficiently, as well as to give certain classes of traffic (based on QOS needs) different levels of service. Perhaps the links between routers 1 and 4 and routers between 1 and 5 are DS3 and SONET, respectively. If the user application needs more bandwidth, the user's label can be used to instruct the router to place the traffic on the SONET link instead of the DS3 link. This policy-based approach uses label switching to tailor the network to the needs of the traffic classes, a concept called traffic engineering (TE).
Route Control Using IP
As noted, it is possible to use the TOS field and the precedence bits in this field to ameliorate some of the problems associated with destination routing. However, the precedence bits are used in some networks and not used in others. Although standards define the use (the old RFC 791), a router may leave the bits untouched or may alter them. Likewise, a router may examine them or may ignore them. Notwithstanding these comments, routers can be configured to use the precedence bits. Shortly, the use of these bits is described.
For this discussion, it is a good idea to reset these bits for all traffic entering your network from an unknown network. By resetting the precedence values, you guarantee that users who have set these bits to get special treatment (better service) do not receive this service at the expense of your internal network customers.
Policy-Based Routing with IP. Continuing the discussion on route control, policy-based routing (PBR) is often associated with label switching protocols, such as Frame Relay, ATM, or MPLS. It can also be implemented with IP by using the TOS field as well as port numbers, the IP protocol ID, or the size of the packets.
Using these fields allows the network provider to classify different types of traffic, preferably at the edge of the network; that is, the ingress to the network. Then the core routers can use the precedence bits to decide how to handle the incoming traffic. This "handling" can entail using different queues and different queuing methods.
IP policy-based routing also allows the network manager to execute a form of constraint-based routing, an operation explained in considerable detail in this book. Based on whether the packet meets or does not meet the criteria just discussed, policies can be executed that enable a router to do the following:
Set the precedence value in the IP header.
Set the next hop to route the packet.
Set the output interface for the packet.
We should note that some of the literature in the industry states that IP, without label switching, is not capable of policy-based and constraint-based routing. These claims are not accurate. The problem with the operations described in this section is not that they do not work; indeed they do. But the fact remains that the public Internet consists of many networks and many Internet Service Providers (ISPs), and there is no agreement among these parties on how to use the IP precedence bits.
The same situation potentially holds for label switching. Like IP precedence operations, label switching is only as effective as the agreements among network operators on how it is used.
IP Source Routing. Another way to control the route in IP-based networks is to use the options field in the IP datagram header to support source routing. The sender of the datagram (the source) places a list of IP addresses in the options field, and these addresses are used (one after the other in the list) to specify the route of the datagram. The problem with IP source routing is that (a) it requires the sender to know the route in the first place (which in many networks is not feasible), (b) the list of 32-bit addresses can translate into considerable overhead, and (c) many networks do not support the source routing option.
Nonetheless, IP source routing can be useful in private internets, so it should not be ignored. It comes in two flavors. The first, called loose source routing, gives the IP nodes the option of using other intermediate hops to reach the addresses obtained in the source list as long as the datagram traverses the nodes listed. Conversely, strict source routing requires that the datagram travel only through the hops whose addresses are indicated in the source list. If the strict source route cannot be followed, the originating host IP is notified with an ICMP error message.