📄 rfc2105.txt
字号:
Network Working Group Y. RekhterRequest for Comments: 2105 B. DavieCategory: Informational D. Katz E. Rosen G. Swallow Cisco Systems, Inc. February 1997 Cisco Systems' Tag Switching Architecture OverviewStatus of this Memo This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited.IESG Note: This protocol is NOT the product of an IETF working group nor is it a standards track document. It has not necessarily benefited from the widespread and in depth community review that standards track documents receive.Abstract This document provides an overview of a novel approach to network layer packet forwarding, called tag switching. The two main components of the tag switching architecture - forwarding and control - are described. Forwarding is accomplished using simple label-swapping techniques, while the existing network layer routing protocols plus mechanisms for binding and distributing tags are used for control. Tag switching can retain the scaling properties of IP, and can help improve the scalability of IP networks. While tag switching does not rely on ATM, it can straightforwardly be applied to ATM switches. A range of tag switching applications and deployment scenarios are described.Table of Contents 1 Introduction ........................................... 2 2 Tag Switching components ............................... 3 3 Forwarding component ................................... 3 3.1 Tag encapsulation ...................................... 4 4 Control component ...................................... 4 4.1 Destination-based routing .............................. 5 4.2 Hierarchy of routing knowledge ......................... 7 4.3 Multicast .............................................. 8Rekhter, et. al. Informational [Page 1]RFC 2105 Cisco's Tag Switching Architecture February 1997 4.4 Flexible routing (explicit routes) ..................... 9 5 Tag switching with ATM ................................. 9 6 Quality of service ..................................... 11 7 Tag switching migration strategies ..................... 11 8 Summary ................................................ 12 9 Security Considerations ................................ 12 10 Intellectual Property Considerations ................... 12 11 Acknowledgments ........................................ 12 12 Authors' Addresses ..................................... 131. Introduction Continuous growth of the Internet demands higher bandwidth within the Internet Service Providers (ISPs). However, growth of the Internet is not the only driving factor for higher bandwidth - demand for higher bandwidth also comes from emerging multimedia applications. Demand for higher bandwidth, in turn, requires higher forwarding performance (packets per second) by routers, for both multicast and unicast traffic. The growth of the Internet also demands improved scaling properties of the Internet routing system. The ability to contain the volume of routing information maintained by individual routers and the ability to build a hierarchy of routing knowledge are essential to support a high quality, scalable routing system. We see the need to improve forwarding performance while at the same time adding routing functionality to support multicast, allowing more flexible control over how traffic is routed, and providing the ability to build a hierarchy of routing knowledge. Moreover, it becomes more and more crucial to have a routing system that can support graceful evolution to accommodate new and emerging requirements. Tag switching is a technology that provides an efficient solution to these challenges. Tag switching blends the flexibility and rich functionality provided by Network Layer routing with the simplicity provided by the label swapping forwarding paradigm. The simplicity of the tag switching forwarding paradigm (label swapping) enables improved forwarding performance, while maintaining competitive price/performance. By associating a wide range of forwarding granularities with a tag, the same forwarding paradigm can be used to support a wide variety of routing functions, such as destination- based routing, multicast, hierarchy of routing knowledge, and flexible routing control. Finally, a combination of simple forwarding, a wide range of forwarding granularities, and the ability to evolve routing functionality while preserving the same forwarding paradigm enables a routing system that can gracefully evolve toRekhter, et. al. Informational [Page 2]RFC 2105 Cisco's Tag Switching Architecture February 1997 accommodate new and emerging requirements. The rest of the document is organized as follows. Section 2 introduces the main components of tag switching, forwarding and control. Section 3 describes the forwarding component. Section 4 describes the control component. Section 5 describes how tag switching could be used with ATM. Section 6 describes the use of tag switching to help provide a range of qualities of service. Section 7 briefly describes possible deployment scenarios. Section 8 summarizes the results.2. Tag Switching components Tag switching consists of two components: forwarding and control. The forwarding component uses the tag information (tags) carried by packets and the tag forwarding information maintained by a tag switch to perform packet forwarding. The control component is responsible for maintaining correct tag forwarding information among a group of interconnected tag switches.3. Forwarding component The fundamental forwarding paradigm employed by tag switching is based on the notion of label swapping. When a packet with a tag is received by a tag switch, the switch uses the tag as an index in its Tag Information Base (TIB). Each entry in the TIB consists of an incoming tag, and one or more sub-entries of the form (outgoing tag, outgoing interface, outgoing link level information). If the switch finds an entry with the incoming tag equal to the tag carried in the packet, then for each (outgoing tag, outgoing interface, outgoing link level information) in the entry the switch replaces the tag in the packet with the outgoing tag, replaces the link level information (e.g MAC address) in the packet with the outgoing link level information, and forwards the packet over the outgoing interface. From the above description of the forwarding component we can make several observations. First, the forwarding decision is based on the exact match algorithm using a fixed length, fairly short tag as an index. This enables a simplified forwarding procedure, relative to longest match forwarding traditionally used at the network layer. This in turn enables higher forwarding performance (higher packets per second). The forwarding procedure is simple enough to allow a straightforward hardware implementation. A second observation is that the forwarding decision is independent of the tag's forwarding granularity. For example, the same forwarding algorithm applies to both unicast and multicast - a unicast entry would just have a single (outgoing tag, outgoing interface, outgoingRekhter, et. al. Informational [Page 3]RFC 2105 Cisco's Tag Switching Architecture February 1997 link level information) sub-entry, while a multicast entry may have one or more (outgoing tag, outgoing interface, outgoing link level information) sub-entries. (For multi-access links, the outgoing link level information in this case would include a multicast MAC address.) This illustrates how with tag switching the same forwarding paradigm can be used to support different routing functions (e.g., unicast, multicast, etc...) The simple forwarding procedure is thus essentially decoupled from the control component of tag switching. New routing (control) functions can readily be deployed without disturbing the forwarding paradigm. This means that it is not necessary to re-optimize forwarding performance (by modifying either hardware or software) as new routing functionality is added.3.1. Tag encapsulation Tag information can be carried in a packet in a variety of ways: - as a small "shim" tag header inserted between the layer 2 and the Network Layer headers; - as part of the layer 2 header, if the layer 2 header provides adequate semantics (e.g., ATM, as discussed below); - as part of the Network Layer header (e.g., using the Flow Label field in IPv6 with appropriately modified semantics). It is therefore possible to implement tag switching over virtually any media type including point-to-point links, multi-access links, and ATM. Observe also that the tag forwarding component is Network Layer independent. Use of control component(s) specific to a particular Network Layer protocol enables the use of tag switching with different Network Layer protocols.4. Control component Essential to tag switching is the notion of binding between a tag and Network Layer routing (routes). To provide good scaling characteristics, while also accommodating diverse routing functionality, tag switching supports a wide range of forwarding granularities. At one extreme a tag could be associated (bound) to a group of routes (more specifically to the Network Layer Reachability Information of the routes in the group). At the other extreme a tag could be bound to an individual application flow (e.g., an RSVP flow). A tag could also be bound to a multicast tree.Rekhter, et. al. Informational [Page 4]RFC 2105 Cisco's Tag Switching Architecture February 1997 The control component is responsible for creating tag bindings, and then distributing the tag binding information among tag switches. The control component is organized as a collection of modules, each designed to support a particular routing function. To support new routing functions, new modules can be added. The following describes some of the modules.4.1. Destination-based routing In this section we describe how tag switching can support destination-based routing. Recall that with destination-based routing a router makes a forwarding decision based on the destination address carried in a packet and the information stored in the Forwarding Information Base (FIB) maintained by the router. A router constructs
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -