--- 1/draft-ietf-mpls-arch-04.txt 2006-02-05 00:37:10.000000000 +0100 +++ 2/draft-ietf-mpls-arch-05.txt 2006-02-05 00:37:10.000000000 +0100 @@ -1,42 +1,44 @@ - Network Working Group Eric C. Rosen Internet Draft Cisco Systems, Inc. -Expiration Date: August 1999 +Expiration Date: October 1999 Arun Viswanathan Lucent Technologies Ross Callon IronBridge Networks, Inc. - February 1999 + April 1999 Multiprotocol Label Switching Architecture - draft-ietf-mpls-arch-04.txt + draft-ietf-mpls-arch-05.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - To view the list Internet-Draft Shadow Directories, see + The list of current Internet-Drafts can be accessed at + http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This internet draft specifies the architecture for Multiprotocol Label Switching (MPLS). Table of Contents 1 Introduction to MPLS ............................... 4 @@ -44,107 +46,107 @@ 1.2 Terminology ........................................ 6 1.3 Acronyms and Abbreviations ......................... 9 1.4 Acknowledgments .................................... 10 2 MPLS Basics ........................................ 10 2.1 Labels ............................................. 10 2.2 Upstream and Downstream LSRs ....................... 11 2.3 Labeled Packet ..................................... 11 2.4 Label Assignment and Distribution .................. 11 2.5 Attributes of a Label Binding ...................... 12 2.6 Label Distribution Protocols ....................... 12 - 2.7 Downstream vs. Downstream-on-Demand ................ 12 + 2.7 Unsolicited Downstream vs. Downstream-on-Demand .... 12 2.8 Label Retention Mode ............................... 13 2.9 The Label Stack .................................... 13 2.10 The Next Hop Label Forwarding Entry (NHLFE) ........ 14 2.11 Incoming Label Map (ILM) ........................... 15 2.12 FEC-to-NHLFE Map (FTN) ............................. 15 2.13 Label Swapping ..................................... 15 2.14 Scope and Uniqueness of Labels ..................... 16 2.15 Label Switched Path (LSP), LSP Ingress, LSP Egress . 17 - 2.16 Penultimate Hop Popping ............................ 18 + 2.16 Penultimate Hop Popping ............................ 19 2.17 LSP Next Hop ....................................... 20 - 2.18 Invalid Incoming Labels ............................ 20 + 2.18 Invalid Incoming Labels ............................ 21 2.19 LSP Control: Ordered versus Independent ............ 21 2.20 Aggregation ........................................ 22 - 2.21 Route Selection .................................... 23 + 2.21 Route Selection .................................... 24 2.22 Lack of Outgoing Label ............................. 24 2.23 Time-to-Live (TTL) ................................. 25 2.24 Loop Control ....................................... 26 - 2.25 Label Encodings .................................... 26 + 2.25 Label Encodings .................................... 27 2.25.1 MPLS-specific Hardware and/or Software ............. 27 2.25.2 ATM Switches as LSRs ............................... 27 - 2.25.3 Interoperability among Encoding Techniques ......... 28 + 2.25.3 Interoperability among Encoding Techniques ......... 29 2.26 Label Merging ...................................... 29 2.26.1 Non-merging LSRs ................................... 30 2.26.2 Labels for Merging and Non-Merging LSRs ............ 31 - 2.26.3 Merge over ATM ..................................... 31 - 2.26.3.1 Methods of Eliminating Cell Interleave ............. 31 + 2.26.3 Merge over ATM ..................................... 32 + 2.26.3.1 Methods of Eliminating Cell Interleave ............. 32 2.26.3.2 Interoperation: VC Merge, VP Merge, and Non-Merge .. 32 2.27 Tunnels and Hierarchy .............................. 33 - 2.27.1 Hop-by-Hop Routed Tunnel ........................... 33 - 2.27.2 Explicitly Routed Tunnel ........................... 33 + 2.27.1 Hop-by-Hop Routed Tunnel ........................... 34 + 2.27.2 Explicitly Routed Tunnel ........................... 34 2.27.3 LSP Tunnels ........................................ 34 - 2.27.4 Hierarchy: LSP Tunnels within LSPs ................. 34 + 2.27.4 Hierarchy: LSP Tunnels within LSPs ................. 35 2.27.5 Label Distribution Peering and Hierarchy ........... 35 - 2.28 Label Distribution Protocol Transport .............. 36 - 2.29 Why More than one Label Distribution Protocol? ..... 36 + 2.28 Label Distribution Protocol Transport .............. 37 + 2.29 Why More than one Label Distribution Protocol? ..... 37 2.29.1 BGP and LDP ........................................ 37 2.29.2 Labels for RSVP Flowspecs .......................... 37 - 2.29.3 Labels for Explicitly Routed LSPs .................. 37 + 2.29.3 Labels for Explicitly Routed LSPs .................. 38 2.30 Multicast .......................................... 38 3 Some Applications of MPLS .......................... 38 3.1 MPLS and Hop by Hop Routed Traffic ................. 38 3.1.1 Labels for Address Prefixes ........................ 38 - 3.1.2 Distributing Labels for Address Prefixes ........... 38 - 3.1.2.1 Label Distribution Peers for an Address Prefix ..... 38 + 3.1.2 Distributing Labels for Address Prefixes ........... 39 + 3.1.2.1 Label Distribution Peers for an Address Prefix ..... 39 3.1.2.2 Distributing Labels ................................ 39 3.1.3 Using the Hop by Hop path as the LSP ............... 40 - 3.1.4 LSP Egress and LSP Proxy Egress .................... 40 + 3.1.4 LSP Egress and LSP Proxy Egress .................... 41 3.1.5 The Implicit NULL Label ............................ 41 3.1.6 Option: Egress-Targeted Label Assignment ........... 42 - 3.2 MPLS and Explicitly Routed LSPs .................... 43 - 3.2.1 Explicitly Routed LSP Tunnels ...................... 43 - 3.3 Label Stacks and Implicit Peering .................. 44 - 3.4 MPLS and Multi-Path Routing ........................ 45 - 3.5 LSP Trees as Multipoint-to-Point Entities .......... 45 - 3.6 LSP Tunneling between BGP Border Routers ........... 46 - 3.7 Other Uses of Hop-by-Hop Routed LSP Tunnels ........ 48 - 3.8 MPLS and Multicast ................................. 48 - 4 Label Distribution Procedures (Hop-by-Hop) ......... 49 - 4.1 The Procedures for Advertising and Using labels .... 49 + 3.2 MPLS and Explicitly Routed LSPs .................... 44 + 3.2.1 Explicitly Routed LSP Tunnels ...................... 44 + 3.3 Label Stacks and Implicit Peering .................. 45 + 3.4 MPLS and Multi-Path Routing ........................ 46 + 3.5 LSP Trees as Multipoint-to-Point Entities .......... 46 + 3.6 LSP Tunneling between BGP Border Routers ........... 47 + 3.7 Other Uses of Hop-by-Hop Routed LSP Tunnels ........ 49 + 3.8 MPLS and Multicast ................................. 49 + 4 Label Distribution Procedures (Hop-by-Hop) ......... 50 + 4.1 The Procedures for Advertising and Using labels .... 50 4.1.1 Downstream LSR: Distribution Procedure ............. 50 - 4.1.1.1 PushUnconditional .................................. 50 - 4.1.1.2 PushConditional .................................... 50 - 4.1.1.3 PulledUnconditional ................................ 51 - 4.1.1.4 PulledConditional .................................. 51 - 4.1.2 Upstream LSR: Request Procedure .................... 52 - 4.1.2.1 RequestNever ....................................... 52 + 4.1.1.1 PushUnconditional .................................. 51 + 4.1.1.2 PushConditional .................................... 51 + 4.1.1.3 PulledUnconditional ................................ 52 + 4.1.1.4 PulledConditional .................................. 52 + 4.1.2 Upstream LSR: Request Procedure .................... 53 + 4.1.2.1 RequestNever ....................................... 53 4.1.2.2 RequestWhenNeeded .................................. 53 - 4.1.2.3 RequestOnRequest ................................... 53 - 4.1.3 Upstream LSR: NotAvailable Procedure ............... 53 - 4.1.3.1 RequestRetry ....................................... 53 + 4.1.2.3 RequestOnRequest ................................... 54 + 4.1.3 Upstream LSR: NotAvailable Procedure ............... 54 + 4.1.3.1 RequestRetry ....................................... 54 4.1.3.2 RequestNoRetry ..................................... 54 - 4.1.4 Upstream LSR: Release Procedure .................... 54 - 4.1.4.1 ReleaseOnChange .................................... 54 - 4.1.4.2 NoReleaseOnChange .................................. 54 - 4.1.5 Upstream LSR: labelUse Procedure ................... 54 - 4.1.5.1 UseImmediate ....................................... 55 - 4.1.5.2 UseIfLoopNotDetected ............................... 55 - 4.1.6 Downstream LSR: Withdraw Procedure ................. 55 - 4.2 MPLS Schemes: Supported Combinations of Procedures . 56 - 4.2.1 Schemes for LSRs that Support Label Merging ........ 56 + 4.1.4 Upstream LSR: Release Procedure .................... 55 + 4.1.4.1 ReleaseOnChange .................................... 55 + 4.1.4.2 NoReleaseOnChange .................................. 55 + 4.1.5 Upstream LSR: labelUse Procedure ................... 55 + 4.1.5.1 UseImmediate ....................................... 56 + 4.1.5.2 UseIfLoopNotDetected ............................... 56 + 4.1.6 Downstream LSR: Withdraw Procedure ................. 56 + 4.2 MPLS Schemes: Supported Combinations of Procedures . 57 + 4.2.1 Schemes for LSRs that Support Label Merging ........ 57 4.2.2 Schemes for LSRs that do not Support Label Merging . 58 4.2.3 Interoperability Considerations .................... 59 - 5 Security Considerations ............................ 60 - 6 Intellectual Property .............................. 60 - 7 Authors' Addresses ................................. 60 - 8 References ......................................... 61 + 5 Security Considerations ............................ 61 + 6 Intellectual Property .............................. 61 + 7 Authors' Addresses ................................. 61 + 8 References ......................................... 62 1. Introduction to MPLS 1.1. Overview As a packet of a connectionless network layer protocol travels from one router to the next, each router makes an independent forwarding decision for that packet. That is, each router analyzes the packet's header, and each router runs a network layer routing algorithm. Each router independently chooses a next hop for the packet, based on its @@ -524,32 +526,37 @@ distribution protocols are being standardized. Existing protocols have been extended so that label distribution can be piggybacked on them (see, e.g., [MPLS-BGP], [MPLS-RSVP], [MPLS-RSVP-TUNNELS]). New protocols have also been defined for the explicit purpose of distributing labels (see, e.g., [MPLS-LDP], [MPLS-CR-LDP]. In this document, we try to use the acronym "LDP" to refer specifically to the protocol defined in [MPLS-LDP]; when speaking of label distribution protocols in general, we try to avoid the acronym. -2.7. Downstream vs. Downstream-on-Demand +2.7. Unsolicited Downstream vs. Downstream-on-Demand The MPLS architecture allows an LSR to explicitly request, from its next hop for a particular FEC, a label binding for that FEC. This is known as "downstream-on-demand" label distribution. The MPLS architecture also allows an LSR to distribute bindings to LSRs that have not explicitly requested them. This is known as - "downstream" label distribution. + "unsolicited downstream" label distribution. - Both of these label distribution techniques may be used in the same - network at the same time. However, on any given label distribution + It is expected that some MPLS implementations will provide only + downstream-on-demand label distribution, and some will provide only + unsolicited downstream label distribution, and some will provide + both. Which is provided may depend on the characteristics of the + interfaces which are supported by a particular implementation. + However, both of these label distribution techniques may be used in + the same network at the same time. On any given label distribution adjacency, the upstream LSR and the downstream LSR must agree on which technique is to be used. 2.8. Label Retention Mode An LSR Ru may receive (or have received) a label binding for a particular FEC from an LSR Rd, even though Rd is not Ru's next hop (or is no longer Ru's next hop) for that FEC. Ru then has the choice of whether to keep track of such bindings, or @@ -1074,20 +1078,23 @@ information learned from a link state database in order to compute the entire path for the tree ending at that egress node). Explicit routing may be useful for a number of purposes, such as policy routing or traffic engineering. In MPLS, the explicit route needs to be specified at the time that labels are assigned, but the explicit route does not have to be specified with each IP packet. This makes MPLS explicit routing much more efficient than the alternative of IP source routing. + The procedures for making use of explicit routes, either strict or + loose, are beyond the scope of this document. + 2.22. Lack of Outgoing Label When a labeled packet is traveling along an LSP, it may occasionally happen that it reaches an LSR at which the ILM does not map the packet's incoming label into an NHLFE, even though the incoming label is itself valid. This can happen due to transient conditions, or due to an error at the LSR which should be the packet's next hop. It is tempting in such cases to strip off the label stack and attempt to forward the packet further via conventional forwarding, based on @@ -2734,67 +2740,58 @@ document. For more information consult the online list of claimed rights. 7. Authors' Addresses Eric C. Rosen Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA, 01824 E-mail: erosen@cisco.com + Arun Viswanathan Lucent Technologies 101 Crawford Corner Rd., #4D-537 Holmdel, NJ 07733 732-332-5163 E-mail: arunv@dnrc.bell-labs.com - Ross Callon IronBridge Networks 55 Hayden Avenue, Lexington, MA 02173 +1-781-372-8117 E-mail: rcallon@ironbridgenetworks.com 8. References - [MPLS-ATM] "MPLS using ATM VC Switching", Davie, Doolan, Lawrence, - McGloghrie, Rekhter, Rosen, Swallow, work in progress, Internet Draft - , November 1998. + [MPLS-ATM] "MPLS using LDP and ATM VC Switching", Davie, Doolan, + Lawrence, McGloghrie, Rekhter, Rosen, Swallow, work in progress, + April 1999. [MPLS-BGP] "Carrying Label Information in BGP-4", Rekhter, Rosen, - work in progress, Internet Draft , - August 1998. + work in progress, February 1999. - [MPLS-CR-LDP] "Constraint-Based LSP Setup using LDP", Andersson, - Fredette, Jamoussi, Callon, Doolan, Feldman, Gray, Halpern, Heinanen, - Kilty, Malis, Girish, Sundell, Vaananen, Worster, Wu, Dantu, Internet - Draft , January 1999. + [MPLS-CR-LDP] "Constraint-Based LSP Setup using LDP", Jamoussi, + editor, work in progress, March 1999. [MPLS-FRMWRK] "A Framework for Multiprotocol Label Switching", Callon, Doolan, Feldman, Fredette, Swallow, Viswanathan, work in - progress, Internet Draft , November - 1997 + progress, November 1997 [MPLS-FRMRLY] "Use of Label Switching on Frame Relay Networks", - Conta, Doolan, Malis, work in progress, Internet Draft , November 1998 + Conta, Doolan, Malis, work in progress, November 1998 [MPLS-LDP], "LDP Specification", Andersson, Doolan, Feldman, - Fredette, Thomas, work in progress, Internet Draft + Fredette, Thomas, work in progress, April 1999. [MPLS-RSVP] "Use of Label Switching with RSVP", Davie, Rekhter, - Rosen, Viswanathan, Srinivasan, work in progress, Internet Draft - , March 1998. + Rosen, Viswanathan, Srinivasan, work in progress, March 1998. [MPLS-RSVP-TUNNELS], "Extensions to RSVP for LSP Tunnels", Awduche, - Berger, Gan, Li, Swallow, Srinvasan, work in progress, Internet Draft - , November 1998 + Berger, Gan, Li, Swallow, Srinvasan, work in progress, March 1999. [MPLS-SHIM] "MPLS Label Stack Encodings", Rosen, Rekhter, Tappan, - Farinacci, Fedorkow, Li, Conta, work in progress, Internet Draft - , September, 1998 + Farinacci, Fedorkow, Li, Conta, work in progress, April 1999. [MPLS-TRFENG] "Requirements for Traffic Engineering Over MPLS", - Awduche, Malcolm, Agogbua, O'Dell, McManus, work in progress, - Internet Draft + Awduche, Malcolm, Agogbua, O'Dell, McManus, work in progress, August + 1998.