Internet Draft S. M. Shahrier Document: draft-shahrier-mpls-lsp-00.txt InterDigital Expires: 2001 June 2001 A Bi-Directional LSP Tunneling Architecture for MPLS 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 obsolete 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." 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. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [1]. Abstract An LSP tunnel in an MPLS network is currently defined to be unidirectional. Hence, the set of label bindings associated with the forward path cannot be used to transmit packets over the reverse path. This draft suggests a new method of setting up bi-directional LSP tunnels within an MPLS network. Then given mappings for the labels and ports for the ôforward LSPö, an equivalent mapping for the reverse path is readily derived. A ôcontent addressingö look-up technique is proposed to look up the label and port bindings for the reverse tunnel. This draft presents the bi-directional LSP tunneling architecture and the method of mapping labels and output ports for the reverse LSP path. 1. Introduction MPLS is a switching technology for fast forwarding of IP packets. The basic idea to the switching approach is the label in the packet header is examined at each LSR, and is associated with an outgoing Shahrier Informational - Expires December 2001 1 A Bi-Directional Tunneling Architecture for MPLS June 2001 label and an output port which are used in the forwarding to the next hop. The incoming label is swapped with the outgoing label in the header, and the packet is sent out through the output port to the next hop in the LSP. The process of label switching occurs at each LSR on the LSP from the ingress to the egress node. The following example illustrates the basic operation of MPLS. --- --- | X | | Y | --- --- 4\ /3 \ Label=1 Label=2 / 1\ /8 --- Label=3 --- Label=4 --- | A |---------| B |---------| C | --- 5 4 --- 3 2 --- Figure 1 An LSP setup in an MPLS Network Fig.1 depicts an MPLS network connecting two customer sites X and Y. The LSP connecting sites X and Y, pass through three LSRs denoted by A, B and C. Each LSR uses the In-Label to index into a mapping table, and retrieves the Out-Label and the designated Out-Port of the router. The Out-Label replaces the In-Label in the header, and the packet is sent out through the Out-Port. The final node in the LSP, node C, determines that it is the exit of the tunnel, and the packet is forwarded to the egress Y. The binding between the In- Label and the Out-Label for the next hop is accomplished by an LDP protocol. The MPLS Working Group has specified several LDPs for distributing labels to the LSRs, based on IP routing information. The base protocol is called LDP [1]. Two other protocols CR-LDP [2] and RSVP-TE [3] have also been proposed for LSPs that require QoS guarantees. Currently, the MPLS Working Group has specified the direction of an LSP as ôunidirectionalö. In other words, in the LSP shown in Fig. 1., traffic must follow the route in the direction of A->B->C, because the bindings of the labels are only specified for that direction. In this draft, we propose a scheme for tunneling IP packets in the reverse direction, over the same LSP, thus effectively performing a traceroute operation. We refer to this technique as ôreverse MPLSö, as contrasting with ôforward MPLSö. The binding of labels and ports in the reverse MPLS is opposite to the bindings for the forward direction. For example, if the mapping at an LSR in the forward path are as follows: -------------------------------- | In-Port = 3 | In-Label = 12 | | Out-Port = 5 | Out-Label = 7 | -------------------------------- then the mappings in the reverse direction are: Internet Draft - Expires December 2001 2 A Bi-Directional Tunneling Architecture for MPLS June 2001 ------------------------------- | In-Port = 5 | In-Label = 7 | | Out-Port = 3 | Out-Label = 12 | ------------------------------- Thus, the mappings of the labels and ports are interchanged in the reverse direction, and corresponds to the flow of packets from Y to X, effectively tracing back the route set up by the forward LSP. Thus, it remains to be determined how given a set of mappings of labels and ports for the forward direction, an equivalent set of mappings for the reverse direction may be obtained. The procedure is explained in the next section. 2. Reverse LSP Architecture In MPLS, the process of mapping labels and ports is summarized by the following expression. . i.e. the In-Label and In-Port numbers are mapped to the corresponding Out-Label and Out-Port values. The mappings may be represented as 1-D vectors, where the index is the In-Label (In- Port) and the vector element is the Out-Label (Out-Port). From the LSP in Fig. 1, the mapping vectors are presented as follows: _ 1| 3 | 1| 5 | 2| X | 2| 8 | 3| 4 | 3| X | 4| 2 | 4| 3 | Out-Label Out-Port These mappings are for the forward LSP direction, i.e. the In-Label (In-Port) is used to index the mapping vectors, to retrieve the Out- Label (Out-Port) values. The Out-Label then replaces the In-Label in the packet header, and the packet is sent out through the Out-Port. For the reverse LSP forwarding, a tunnel is established from Y to X, along the path C->B->A. The Out-Label (Out-Port) may be derived by addressing via the contents of the vectors, as opposed to via the indices. For example, at LSR B the In-Label for the reverse LSP is ô4ö. In the Out-Label mapping vector, using content addressable look-up, element ô4ö corresponds to the index value ô3ö. This value is the Out-Label of the packet for the reverse path at LSR B. Similarly, in the Out-Port mapping vector, using content-addressable look-up, element ô3ö corresponds to index ô4ö, i.e. the output port of the router in the reverse path. A similar look-up procedure is used at all the other LSRÆs on the reverse LSP. Internet Draft - Expires December 2001 3 A Bi-Directional Tunneling Architecture for MPLS June 2001 3. Conclusions. This draft presented a new method of setting up a bi-directional LSP tunnel in an MPLS network. We presented a method of obtaining the Out-Label and Out-Port mappings for the reverse path from the existing vectors for the forward path. This eliminates the need for computing and storing two sets of mapping vectors for both the forward and reverse paths. 4. References 1. ôLDP Specificationö, RFC 3036. 2. ôConstraint Based LSP Setup using LDPö,Internet Draft. 3. ôRSVP-TE Extensions to RSVP for LSP Tunnelsö, Internet Draft. 5. The author may be contacted at: Sharif M. Shahrier InterDigital 781 Third Ave. Phone: 1-610-337-4343 King of Prussia, PA. USA Email: sharif.shahrier@interdigital.com Internet Draft - Expires December 2001 4