MPLS: Implementing the Technology with Cdrom

  • Authors:
  • Eric W. Gray

  • Affiliations:
  • -

  • Venue:
  • MPLS: Implementing the Technology with Cdrom
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

From the Book:Multiprotocol Label Switching (MPLS) is the industry-standard approach developed by the Internet Engineering Task Force (IETF)1 for reducing the complexity of forwarding in a network. MPLS is many things to many people, but it is first and foremost an approach for achieving the simplified forwarding characteristics of layer 2 (link layer) switching technologies while retaining the equally desirable flexibility and scalability of layer 3 (network layer) routing. Using MPLS, a routing decision is made at one network device, allowing similar devices to forward data using a simplified label-switching paradigm. Because MPLS reduces the work of the network by reducing the number of times that a routing decision must be made, it offers improved solutions to many routing problems. Currently, the two most important uses of MPLS are traffic engineering and virtual private networks (VPNs), in that order. Although both can and are performed currently using existing standard protocols, MPLS makes these tasks simpler because it is possible to take advantage of the separation of routing and forwarding to reduce or eliminate some of the limitations of routing. In traffic engineering, for example, it is possible to specify explicit routes during the process of setting up a path so that data may be rerouted around network hot spots. Network hot spots (congestion points) develop because routing tends to converge on selection of a single least-cost path to each possible (aggregate) destination. Using an explicit route to direct significant portions of this traffic to parts of the network that are not selected by the routing process allows packets to bypass network trouble spotsby (partially) ignoring routing. MPLS may also be used in a number of ways to provide for tunneling private network traffic across public or backbone infrastructure, as is often necessary in support of virtual private networks. Network operators can use MPLS to tunnel packets between VPN sites, making address translation and more costly tunneling approaches unnecessary. MPLS is potentially useful for other applications as well. For example, MPLS is likely to be fully supported on Linux platforms used at small Internet service providers (ISPs), businesses, and residences to provide network access for multiple computers. Using MPLS to forward packets via a software router may make a noticeable difference in the performance of the host being used as a router, allowing the Linux station to be used, for example, for network management, administrative and accounting applications, and other purposes (such as playing Civilization or Pod Racer). MPLS does not represent a merger of the link and network layers. Instead, it interacts with both layers in a role as the arbitrator of layer 2 and layer 3 technologies. MPLS defines an encapsulation that resides between the network-layer and link-layer encapsulations, but—in some cases—it also defines values for significant field positions in the link-layer encapsulation itself. This is the case for MPLS used with Asynchronous Transfer Mode (ATM) and Frame Relay, for example. The desirable features of link-layer behavior may be achieved by assigning values to fields in the link-layer encapsulation, using a shim-layer encapsulation residing between the link-layer and network-layer encapsulations, or embedding a fixed-length value within the network-layer encapsulation.2 MPLS also includes definitions for mechanisms for establishing label values in link-layer and MPLS shim-layer fields and for using these values in processing packets. Packet processing and forwarding is, of course, the ultimate reason to use the technology. MPLS is not expected to be an end-to-end solution. There is relatively little to gain from having host involvement in MPLS label allocation and use. In addition, MPLS scalability depends in part on limiting the scope of MPLS domains. Merging of labels becomes essential as the size of an MPLS domain increases, yet merging cannot extend all the way to end points—unless, for example, there is only one receiver for traffic in the Internet. Finally, use of labels in forwarding implies a strong trust relationship between systems allocating labels and systems using them. That level of trust relationship does not currently exist end to end in the Internet. Basic MPLS concepts can be summarized as follows: MPLS uses fixed-length labels to represent arbitrary information about packets. This might be information normally included with the packet, or it might be information known about a stream of packets that would not normally be included with each packet. A label is used to locally identify data packets that require equivalent forwarding. The fixed-length-label representation of forwarding information simplifies decisions based on using an exact-match algorithm. This simplified forwarding paradigm is called label switching. A router that participates in label switching is a label switching router (LSR). Labels are added at an MPLS ingress point, swapped at intermediate LSRs, and removed at an MPLS egress point. The path along which this occurs for any particular starting label is called a label-switched path (LSP). About This Book This book is intended to be a self-contained reference for MPLS technology. However, MPLS as a technology interacts with a large number of other technologies, such as various routing protocols, link-layer technologies, and—in theory at least—network-layer technologies. This book does not describe the specifics of individual routing protocols except as they directly relate to MPLS. There are many good reference books on routing and network- and link-layer technologies. This book provides an overview of the various technologies that led to the development of MPLS. A relatively high-level summary of the history of the development process is useful in understanding some of the choices made in that process. However, this book's goal is to make the protocol itself understandable, so the focus is on the protocol details that resulted from the process of merging the various proposals rather than on a detailed analysis and comparison of each proposal. Books that do a good job of comparing at least the early proposals already exist. The material in this book is based on publicly available information. Statements made in this book can be verified by anyone wishing to do so. Of course, not all of the public information is consistent. In particular, for several topics that are completely unavoidable in a serious attempt to talk about label switching, it is not possible to distill a common conclusion from the available information—or, at least, it is not possible to do so objectively. Information presented by the various participants often contains obscure references to information that might or might not be well known (even if not publicly available) and is often starkly at odds with related information provided by others. An example of this problem is the continuing debate over which signaling protocol is most useful under what circumstances. Consequently, the goal of trying to make the MPLS technology easily understandable is slightly at odds with the goal of being fair and objective in discussing the results of the development of the technology standard. Too much fairness and objectivity would result in too much ambiguity. I hope I've done a reasonably good job of achieving the understandability goal without compromising too much on fairness and objectivity. Who Should Read This Book This book assumes that the reader has heard of the MPLS technology and is at least somewhat aware of the terminology. A glossary is provided to help fill in any gaps in the reader's MPLS-related vocabulary, and I've made every effort to make it possible for anyone to get a better understanding of the technology by reading this book. You may be interested in this book because you are a network engineer, a network planner or architect, or other person thinking about deploying MPLS in your own network. You may find this book interesting if you are a technical manager or an engineer thinking of implementing the technology in your products. You might be a student who has volunteered your time and energy to study another tough subject. Or you may simply have heard of the technology and are interested in seeing where reading up on it might take you. It is possible that you might have picked this book off a shelf—either at a bookstore or in a technical library—without ever having heard of the technology, but it is not very likely. MPLS is, after all, yet another member of the new generation of four-letter acronyms ("ATM" having fairly demonstrated that the age of three-letter acronyms has passed) and will most likely not be of urgent interest to someone who has not even heard of it. At the time that I was writing this book, there were no reasonably up-to-date detailed technical books on MPLS and yet there were a lot of questions and general interest in this exciting new technology. The fact that you've read this far indicates that you are one of the many people with questions about this new technology. Thus, unless you're still convinced that MPLS is the abbreviation for Minneapolis, the fact that you still have this book in front of you indicates that you are likely to be someone who should read it. What You Need to Know Already To make the most of this book, the reader should have a basic understanding of networking technologies such as routing, switching, data transport, encapsulation, signaling, and control functions and issues. This book contains numerous references to books on these basic topics. These references should be used for supplemental reading in the event that some basic concepts are not clear. If you are a network engineer or a technical manager, the material in this book—together with a basic understanding of data networking—should be sufficient for you to be able to make intelligent decisions about implementing and deploying the technology. If you are an implementer, this book should provide a solid grounding in the technology. However, before you will be able to do much with this knowledge, you will need to read the particular related texts that will provide you with more detail concerning the specifics of what you are trying to implement. This is especially true with respect to specific routing protocols, quality-of-service models (QoS), and virtual private networks. How to Read This Book The material in this book is organized in such a way that almost anyone can read it and obtain some benefit from doing so. For example, the first chapter provides an overview of the ideas embodied in the technology. For some people, the first chapter may be all that they need to read. As another example, I have used footnotes extensively. My hope in so doing is to make it possible for readers to simply ignore the footnotes if they are not interested in background discussions or in where a particular comment or observation originated. Using footnotes in this way allows many readers somewhat greater ease in following the flow of the ideas being discussed. I have also tried to organize the chapters in such a way as to let each stand on its own in addressing a particular subset of MPLS functionality that might be of interest to people who are not as interested in other chapters. For example, readers who are not interested in the history of MPLS may skip Chapter 2 entirely with little loss in understanding of, say, the usefulness of MPLS for a specific network application. Of course, there will be readers who are interested in all aspects of the technology. Therefore, I set out with the dual goals of making each chapter an integral whole and of providing cross-references to tie the material together for those who are interested in the whole picture. The actual layout of the book is as follows. Part I, consisting of Chapters 1 to 5, provides an overview of the MPLS technology. Part II, consisting of Chapters 6 and 7, digs into the details of the MPLS standard. Chapter 1 describes the basics of the technology, using examples and providing an overview of the technical details. The main concepts discussed include what label switching and label swapping are, how they compare with routing, and what is required to signal labels. Chapter 2 sets forth the evolutionary process by which these revolutionary concepts developed. This brief chronicle starts with a prehistory that touches on some of the problems people were trying to solve, some of the earlier proposals for dealing with these problems, and the ways in which the problems themselves were evolving. The chapter then discusses the major proposals that actually drove the industry to develop one standard solution. Finally, it provides a summary of how the standard reached its present status. Time lines and other charts throughout the chapter show how various efforts influenced each other. Chapters 3, 4, and 5 take the reader a little closer to the technology and its relationship to the networking world. Chapter 3 explains how MPLS must interact with routing and with the network and link layers in order to provide forwarding services at least as good as those that currently exist. It also provides an overview of the benefits MPLS is expected to provide within this framework. Chapter 4 details MPLS system architecture, including components, functions, and operating modes. Chapter 5 explains where specific MPLS encapsulation and signaling approaches are most applicable. These chapters provide the groundwork for more detailed discussion in the remaining chapters. Chapter 6 provides detailed comparisons of MPLS and alternative approaches to solving the same problems. It illustrates how MPLS differs from other approaches and what the benefits are in using MPLS. This chapter also shows how MPLS is supported over various technologies, including Asynchronous Transfer Mode (ATM), Frame Relay, Packet over SONET (POS), and Ethernet. Finally, Chapter 7 describes how services such as QoS, traffic engineering, and virtual private networks may be supported using MPLS. An extensive glossary provides both acronym expansions and definitions of terms and phrases used in this book.