Internet DRAFT - draft-cai-vc-rsvp-te

draft-cai-vc-rsvp-te





   Internet Draft                                       Martin Machacek 
   Document: draft-cai-vc-rsvp-te-00.txt                       Ting Cai 
   Expires: August 2001                         Terabeam Networks, Inc. 
                                                          February 2001 
 
 
                Signaling Virtual Circuit Label Using RSVP-TE 
 
 
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." 
    
   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 document proposes an extension to RSVP-TE to distribute VC 
   labels required by L2 circuit over MPLS encapsulation proposed by 
   Martini et. al.  The distribution of VC labels is piggybacked on 
   signaling of LSP tunnels using two new RSVP objects. 
 
Table of Contents 
    
   Status of this Memo................................................1 
   Abstract...........................................................1 
   Conventions used in this document..................................2 
   VC LABEL Object....................................................2 
   VC LABEL REQUEST Object............................................4 
   Processing Rules...................................................6 
   Security Considerations............................................7 
   Acknowledgements...................................................8 
   References.........................................................9 
   Author's Addresses.................................................9 
     
   Cai           Internet Draft - Expires August 2001                1 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
Introduction 
    
   Martini et. al. proposed in [5] a method of encapsulating L2 PDUs in 
   MPLS packets.  The method uses a stack of two labels: one specifying 
   the LSP tunnel across the MPLS network and the other identifying the 
   virtual circuit (VC) to which the L2 PDUs belong. Martini et. al. 
   proposed a method for distributing VC labels using LDP in 
   downstream-unsolicited mode in [2]. 
    
   We propose a simple extension to RSVP-TE [3] to signal VC labels 
   using RSVP-TE in downstream-on-demand mode. The extension includes 
   two new RSVP object classes, VC LABEL and VC LABEL REQUEST.  The 
   data formats including their interpretations are taken from [2] with 
   only minor modifications required by the RSVP object format. This 
   should simplify implementations supporting both LDP and RSVP-TE. 
    
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]. 
    
 
VC LABEL Object 
    
   The VC LABEL object MAY be used in RSVP RESV messages when replying 
   to RSVP PATH messages with VC LABEL REQUEST object. The VC LABEL 
   object SHOULD only be interpreted by the originator of the VC LABEL 
   REQUEST object at the ingress of the tunnel.  Multiple VC LABEL 
   objects MAY be present in one RESV message. If multiple VC LABEL 
   objects with identical VC ID are present, the first object MUST be 
   used while others MUST be ignored and notification to management 
   SHOULD be generated. 
    
   The VC LABEL Class number is 208 [Note] and currently only C-Type 1 
   is defined. The VC LABEL class is optional from RSVP point of view.  
   Based on rules in Section 3.10 of [4] all label switch routers (LSR) 
   that do not support this class MUST ignore the object and pass it 
   unchanged. LSRs supporting the VC Label Request class MUST also 
   support VC Label class. 
 
   The VC LABEL object has the following format:   
        
   0                   1                   2                   3  
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
     |    Reserved   |C|         VC Type             |VC info Length | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                      Group ID                                 | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                        VC ID                                  | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                       Interface parameters                    | 
     |                              "                                | 
     
   Cai           Internet Draft - Expires August 2001                2 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
     |                              "                                | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                      VC LABEL                                 | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
        
     Reserved 
       
        MUST be set to zero on transmission and ignored on receipt.   
    
     VC TYPE  
        
        A 15-bit quantity containing a value that represents the type 
        of VC. Assigned values are:  
        
                     VC Type  Description  
         
                     0x0001   Frame Relay DLCI  
                     0x0002   ATM AAL5 VCC transport  
                     0x0003   ATM transparent cell transport  
                     0x0004   Ethernet VLAN  
                     0x0005   Ethernet  
                     0x0006   HDLC ( Cisco )  
                     0x0007   PPP  
                     0x8008   CEM [8]  
                     0x0009   ATM VCC cell transport  
                     0x000A   ATM VPC cell transport  
                     0x000B   MPLS  
        
     Control word bit (C)  
        
        The C bit is used to signal whether control word (as defined in 
        [5]) will be used for the VC.  
        
                     C bit = 1 control word present on this VC.  
                     C bit = 0 no control word present on this VC.  
             
     VC information length 
    
        Length of the VC ID field and the interface parameters field in 
        octets. If this value is 0, then it references all VCs using 
        the specified group ID and there is no VC ID present, nor any 
        interface parameters. The length must be multiple of 4. 
    
     Group ID 
    
        An arbitrary 32 bit value which represents a group of VCs that 
        is used to augment the VC space. This value MUST be user 
        configurable. The group ID is intended to be used as a port 
        index, or a virtual tunnel index. To simplify configuration a 
        particular VC ID at ingress could be part of the virtual tunnel 
        for transport to the egress router. The Group ID can be used 
        to send a wild card label withdrawals to remote LSRs upon 
        physical port failure.   
    
     
   Cai           Internet Draft - Expires August 2001                3 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
     VC ID  
    
        A non-zero 32-bit connection ID that together with the VC type, 
        identifying VC for which label is being provided. 
    
     Interface parameters 
    
        A variable length field that is used to provide interface 
        specific parameters of the egress interface of the VC. Format 
        of this field is described in section 5.1 of [2]. Interface 
        parameter field MAY be present even if no special parameters 
        were requested in the corresponding LABEL REQUEST object. Total 
        length of this field MUST be multiple of 4 and if necessary it 
        MUST be padded with zeroes to the nearest 32-bit boundary. 
      
     VC LABEL 
    
        Generic MPLS label encoded right aligned in 4 octets. Note that 
        ATM and Frame Relay labels cannot be used in this context. 
    
    
         
VC LABEL REQUEST Object 
    
   The VC LABEL REQUEST object MAY be used in RSVP PATH messages to 
   request label mapping for a particular VC from the egress LSR. The 
   VC LABEL REQUEST object SHOULD be interpreted only by the egress LSR 
   whose router ID is the tunnel end point IP address in the Session 
   object of the RSVP PATH message. Multiple VC LABEL REQUEST objects 
   MAY be present in one PATH message. If multiple LABEL REQUEST 
   objects with identical VC ID are present only the first one MUST be 
   used while others MUST be ignored and notification to management 
   SHOULD be generated. 
       
   The VC LABEL REQUEST class number is 209 [Note] and currently only 
   C-Type 1 is defined. The VC LABEL REQUEST object is optional from 
   RSVP point of view.  Based on rules in Section 3.10 of [4] all LSRs 
   that do not support this class MUST ignore it and pass it unchanged. 
   LSRs supporting VC LABEL REQUEST class MUST also support VC LABEL 
   class.  
    
   The VC LABEL REQUEST object has following format:   
        
      0                   1                   2                   3  
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
     |  Reserved   |C|          VC TYPE              |VC Info Length |  
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
     |                          Group ID                             |  
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
     |                           VC ID                               |  
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                    Interface Parameters                       |  
     |                               "                               |  
     
   Cai           Internet Draft - Expires August 2001                4 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
     |                               "                               |  
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
        
     Reserved 
       
        MUST be zeroed on transmission and ignored on receipt.   
    
     VC TYPE  
        
        A 15-bit quantity containing a value which represents the type 
        of VC. Assigned Values are:  
        
                     VC Type  Description  
         
                     0x0001   Frame Relay DLCI  
                     0x0002   ATM AAL5 VCC transport  
                     0x0003   ATM transparent cell transport  
                     0x0004   Ethernet VLAN  
                     0x0005   Ethernet  
                     0x0006   HDLC ( Cisco )  
                     0x0007   PPP  
                     0x8008   CEM [8]  
                     0x0009   ATM VCC cell transport  
                     0x000A   ATM VPC cell transport  
                     0x000B   MPLS  
        
     Control word bit (C)  
        
        The C bit is used to signal whether control word (as defined in 
        [5]) will be used for the VC.  
        
                     C bit = 1 control word present on this VC.  
                     C bit = 0 no control word present on this VC.  
             
     VC information length 
    
        Length of the VC ID field and the interface parameters field in 
        octets. If this value is 0, then it references all VCs using 
        the specified group ID and there is no VC ID present, nor any 
        interface parameters. The length must be multiple of 4. 
         
     Group ID 
    
        An arbitrary 32 bit value which represents a group of VCs that 
        is used to augment the VC space. This value MUST be user 
        configurable. The group ID is intended to be used as a port 
        index, or a virtual tunnel index. To simplify configuration a 
        particular VC ID at ingress could be part of the virtual tunnel 
        for transport to the egress router. The Group ID is very useful 
        to send a wild card label withdrawals to remote LSRs upon 
        physical port failure.   
    
     VC ID  
    
     
   Cai           Internet Draft - Expires August 2001                5 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
        A non-zero 32-bit connection ID that together with the VC type, 
        identifying VC for which label is being provided. 
    
     Interface parameters 
    
        Variable length field is used to provide interface specific 
        parameters of the ingress interface of the VC. Format of this 
        field is described in section 5.1 of [2]. Interface parameter 
        field MAY be present even if no special parameters were 
        requested in corresponding LABEL REQUEST object. Total length 
        of this field MUST be multiple of 4 and if necessary it MUST be 
        padded with zeroes to the nearest 32-bit boundary. 
         
    
Processing Rules 
    
   Ingress 
        
        To request VC label for a particular virtual circuit, the 
        ingress of L2 tunnel places VC LABEL REQUEST objects with 
        appropriate VC Type in RSVP PATH messages and sends them to the 
        egress. VC Label Request objects SHOULD be placed immediately 
        after LABEL REQUEST objects in the PATH message. The ingress 
        node SHOULD set the C bit in the VC LABEL REQUEST object if it 
        intends to use the control word in the encapsulation of L2 
        PDUs. The ingress node MUST NOT send data over the L2 circuit 
        if: 
    
                - the egress node does not reply with VC LABEL object 
                - the VC LABEL object has C bit set and the LSR is     
                not capable of supporting control word in the 
                encapsulation. 
                - interface parameters specified in the VC LABEL object 
                are not acceptable,  
                - interface parameters specified in VC LABEL REQUEST 
                object was not found in corresponding VC LABEL object. 
         
        Ingress node SHOULD stop sending VC LABEL REQUEST objects in 
        RSVP PATH messages if it detects that the egress node of the  
        L2 channel is not operational.  
         
        If ingress does not receive RESV replies with VC LABEL objects 
        from the egress after certain timeout period, it SHOULD use 
        methods appropriate in the L2 protocol to signal that the 
        receiving side of the virtual circuit is not operational.  The 
        signal SHOULD be sent to the L2 link that is being tunneled 
        over MPLS network.   
         
        If ingress wants to change the VC setup, it simply sends 
        revised VC LABEL REQUEST objects in PATH messages.  The virtual 
        circuit that does not have corresponding VC ID in the revised 
        VC LABEL REQUEST object SHOULD be torn down.    
         
     
   Cai           Internet Draft - Expires August 2001                6 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
        If ingress wants to tear down a particular virtual circuit it 
        SHOULD stop sending VC Label Request object in PATH messages. 
        Alternatively it MAY also initiate the teardown procedure as 
        defined in [4]. 
 
   Egress 
    
        The egress node replies to VC LABEL REQUEST objects in PATH 
        messages with VC LABEL objects in RESV messages. The egress 
        node MUST NOT reply with LABEL object if: 
    
                - the VC Type specified in the VC Label Request is not 
                supported, 
                - the specified VC ID does not match any configured 
                virtual circuit 
                - the VC Label Request object has the C bit set and 
                the egress LSR is not capable of using control word 
                in L2 PDU encapsulation. 
                - interface parameters specified in the VC LABEL 
                REQUEST object are not acceptable. 
                - the receiving side of the L2 circuit related to the 
                VC ID is not operational.  
    
        The egress node MAY set the C bit to 1 in VC Label object if it 
        requires the ingress node to use the control word in the 
        encapsulation.  This may occur even if the VC Label Request 
        object that has C bit set to zero. If interface parameter field 
        is included in the VC LABEL REQUEST, egress LSR MUST include 
        this field unchanged in the VC LABEL object. It MAY include 
        interface parameter field in the VC LABEL object even if no 
        such field was present in the corresponding VC LABEL REQUEST. 
         
        If egress does not receive PATH messages with VC LABEL REQUEST 
        objects after certain timeout period, it SHOULD use methods 
        appropriate for the L2 protocol to signal that the sending side 
        of the virtual circuit is not operational.  The signal should 
        be sent on the L2 link that is being tunneled over MPLS 
        network.    
         
        If egress wants to change the VC setup, it simply sends revised 
        VC LABEL objects in RESV messages.    
         
        If egress wants to tear down a particular VC of L2 it SHOULD 
        stop replying to the corresponding VC Label Requests. 
        Alternatively it MAY also initiate the teardown procedure as 
        defined [4].  
    
    
Security Considerations 
 
   This document does not affect the underlying security issues of 
   MPLS. 
    
     
   Cai           Internet Draft - Expires August 2001                7 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
Acknowledgements 
 
   We would like to thank Jeff Apple for reviewing the draft and Steve 
   Cheek and Karel Zikan for their just-in-time help on editing the 
   draft. 
     
   Cai           Internet Draft - Expires August 2001                8 
            Signaling Virtual Circuit Label Using RSVP-TE February 2001 
    
    
References 
 
1  Bradner, S., "Key words for use in RFCs to Indicate Requirement 
Levels", BCP 14, RFC 2119, March 1997 
 
2  "Transport of Layer 2 Frames Over MPLS", draft-martini- 
l2circuit-trans-mpls-04.txt, Work in Progress.  
 
3  "RSVP-TE: Extensions to RSVP for LSP Tunnels", draft-ietf-mpls-rsvp-
lsp-tunnel-07.txt, Work in Progress.  
 
4  RFC 2205 R. Branden, L.Zhang, S. Berson, S. Herzog, S. Jamin, 
"Resource Reservation Protococol (RSVP) -- Version 1 Functional 
Specification", September, 1997 
 
5  "Encapsulation Methods for Transport of Layer 2 Frames Over 
MPLS", draft-martini-l2circuit-encap-mpls-01.txt, Work in Progress 
 
Note: The RSVP class number 208 and 209 and their C-Types is pending 
IANA approval. 
 
    
    
    
Author's Addresses 
    
   Martin Machacek 
   Terabeam Networks, Inc.  
   14833 NE 87th St.            Phone:   
   Redmond, WA, USA             Email:  Martin.Machacek@Terabeam.com 
    
   Ting Cai 
   Terabeam Networks, Inc.   
   14833 NE 87th St.            Phone: (206) 321-6367 
   Redmond, WA, USA             Email:  Ting.Cai@terabeam.com 
     
   Cai           Internet Draft - Expires August 2001                9