One document matched: draft-lefaucheur-mp-nh-01.txt

Differences from draft-lefaucheur-mp-nh-00.txt




                                                    Francois Le Faucheur  
                                                              Dan Tappan 
                                                          Gargi Nalawade 
                                                     Cisco Systems, Inc. 
 
                                                                         
 
    
IETF Internet Draft 
Expires: December, 2003                                                
Document: draft-lefaucheur-mp-nh-01.txt                   October, 2003 
 
 
 
                      BGP-4 NEXT_HOP-v2 Attribute 
 
 
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 specifies a new BGP attribute, called the NEXT_HOP-v2 
   attribute, which can optionally be used in conjunction with the 
   MP_REACH_NLRI defined in [MP-BGP], with the NLRI field defined in 
   [BGP-4] or with the UPDATE-v2 message defined in [UPDATE-v2], to 
   advertise next hop information associated with a different Network 
   Layer protocol to the one associated with the NLRI. This is 
   desirable or required in a number of environments, but is not always 
   currently achievable easily with [MP-BGP]. 
    
   In addition, the NEXT_HOP-v2 provides the generic capability to 
   advertise information (set of TLVs) associated with the next hop.  
    
   The extensions proposed in this document are backward compatible: a 
   router which supports the extensions can interoperate with a router 
   that doesn't support the extensions. 
  
Le Faucheur et al.                                                   1 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
    
    
1.      Introduction 
 
   [MP-BGP] defines extensions to BGP-4 to enable it to carry routing 
   information for multiple Layer protocols (e.g. IPv4-VPN, IPv6, IPv6-
   VPN). This is achieved by associating a particular Network Layer 
   protocol with the NLRI via the AFI field. In [MP-BGP], the SAFI 
   field is used to further qualify the semantics of the NLRI (e.g. 
   unicast, multicast, label, VPN ...). The SAFI field could 
   potentially be used to also convey the Network Layer Protocol of the 
   next hop information but this would require allocation of one SAFI 
   value for each possible combination of (i) NLRI semantics and (ii) 
   next hop AFI/SAFI. Considering there already are quite a few such 
   combinations and that this number is likely to explode as new 
   AFI/SAFI values are being defined in IETF for new applications 
   ([L2VPN], [TUNN-SAFI], ...), a more flexible/scalable way of 
   allowing advertisement of next hop information from a different 
   Network Layer protocol to the one of the NLRI is necessary. 
    
   There are already many situations where the next hop information to 
   be advertised is indeed from a different Network Layer protocol to 
   the one of the NLRI.  
    
   In a number of such situations, the [MP-BGP] limitation has been 
   circumvented by effectively embedding the meaningful next hop 
   information inside the next hop information field of the same 
   Network Layer protocol as the NLRI, and somehow flagging this fact 
   through ad-hoc padding of the unused bits of the field. [RFC2547] is 
   an example of this since it calls for advertisement of IPv4 next hop 
   information along with IPv4-VPN NLRI, which is achieved by 
   prepending a Null Route Distinguisher to the IPv4 Next Hop address. 
   [BGP-TUN] is another example of this since it calls for 
   advertisement of IPv4 next hop information along with IPv6 NLRI, 
   which is achieved by encoding the IPv4 next hop address as an  
   IPv4-mapped IPv6 address. [IPv6-VPN] is yet another example of this 
   since it calls for advertisement of IPv4 or IPv6 next hop 
   information along with IPv6-VPN NLRI, which is achieved by  
   prepending a Null Route Distinguisher to the next hop address and, 
   when the meaningful next hop is IPv4, by encoding it as an  
   IPv4-mapped IPv6 address.  
    
   In a number of other situations, the [MULTI-BGP] limitation could 
   not be circumvented in similar ways because the Network Layer 
   protocol of the meaningful next hop information is such that the 
   next hop address to convey cannot be aligned to the format 
   corresponding to the Network Layer protocol of the NLRI by simple 
   padding. Support of IPv4 VPNs over an IPv6 backbone is an example of 
   this since it calls for advertisement of IPv6 next hop information 
   along with IPv4-VPN NLRI. 
    

 
 Le Faucheur et. al                                                  2 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
   As a generic solution to this problem, this document specifies a new 
   BGP attribute, called the BGP-4 NEXT_HOP-v2 attribute. This 
   attribute can be used to advertise next hop information, when the 
   nexthop is associated with a different Network Layer protocol from 
   the one associated with the NLRI. It can be used in conjunction with 
   the MP_REACH_NLRI defined in [MP-BGP], with the NLRI field of the 
   Update message defined in [BGP-4], or with the Update-v2 message 
   defined in [UPDATE-v2]. 
    
   In addition, the NEXT_HOP-v2 attribute provides a generic capability 
   to advertise information (set of TLVs) associated with the next hop. 
    
   The extensions proposed in this document are backward compatible: a 
   router which supports the extensions can interoperate with a router 
   that doesn't support the extensions. 
    
    
2.      NEXT_HOP-v2 attribute (Type Code TBD) 
    
   This is an optional non-transitive attribute that can be used for 
   the purpose of advertising the address, in any Network Layer 
   protocol regardless of the Network Layer protocol of the NLRI, that 
   should be used as the next hop to the destinations advertised in the 
   NLRI field of the Update message, in the MP_NLRI field of the 
   MP_REACH_NLRI attribute, or in the NLRI field of the Update-v2 
   message. 
    
   The attribute is encoded as shown below: 
    
         +---------------------------------------------------------+ 
         | Length of Next Hop (2 octets)                           | 
         +---------------------------------------------------------+ 
         | Address Family Identifier (2 octets)                    | 
         +---------------------------------------------------------+ 
         | Subsequent Address Family Identifier (2 octets)         | 
         +---------------------------------------------------------+ 
         | Reserved (2 octets)                                     | 
         +---------------------------------------------------------+ 
         | Length of Next Hop Network Address (1 octet)            | 
         +---------------------------------------------------------+ 
         | Network Address of Next Hop (variable)                  | 
         +---------------------------------------------------------+ 
         | Set of Next Hop TLVs (variable length)                  | 
         +---------------------------------------------------------+ 
         | Reserved (1 octet)                                      | 
         +---------------------------------------------------------+ 
    
   Where: 
         
       "Length of Next Hop" (2 octets):  
             This field indicates the total length in octets of all the 
             following fields related to the Next Hop (ie AFI, SAFI, 
 
 Le Faucheur et. al                                                  3 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
             Length of Network Address, Network Address and set of Next 
             Hop TLVs). 
        
       Address Family Identifier (2 octets):  
             This field carries the identity of the Network Layer 
             protocol associated with the Next Hop Network Address that 
             follows. Presently defined values for this field are 
             specified in RFC1700 (see the Address Family Numbers 
             section). 
        
       Subsequent Address Family Identifier (2 octets):  
             This field provides additional information about the type 
             of the Next Hop Network Address that follows. Values for 
             this field are specified in [MULTI-BGP] as well as other 
             documents including [BGP-LABEL], [TUNNEL-SAFI] and 
             [L2VPN]. 
              
       "Reserved" (2 octets):   
             This field MUST be set to 0 by the sender and ignored by 
             the receiver. 
        
       Length of Next Hop Network Address (1 octet):  
             This field indicates the length in octets of the Next Hop 
             Network Address field which follows. 
        
       Next Hop Network Address (variable length):  
             This field contains the Network Address of the next router 
             on the path to the destination system(s).  
        
       Set of Next Hop TLVs (variable length):  
             This field carries zero or more TLVs associated with the 
             Next Hop whose address is contained in the previous field. 
             Specification of these TLVs is beyond the scope of this 
             document. 
              
       "Reserved" (1 octet):   
             This field MUST be set to 0 by the sender and ignored by 
             the receiver.  
              
              
3.      Use of BGP Capability Advertisement 
    
   A BGP speaker that uses NEXT_HOP-v2 SHOULD use the Capability 
   Advertisement procedures defined in [BGP-CAP] to determine whether 
   it could use the NEXTHOP-v2 attribute for a particular combination 
   of NLRI SAFI and next hop SAFI with a particular peer. 
    
   The fields in the Capabilities Optional Parameter are set as 
   follows. 
    
   The Capability Code field is set to TBD (which indicates NEXT_HOP-v2 
   capability). 
 
 Le Faucheur et. al                                                  4 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
    
   The Capability Length field is set to a variable value which is the 
   length of the Capability Value field (which follows). 
    
   The Capability Value field has the following format: 
    
            +-----------------------------------------------------+ 
            |   NLRI AFI - 1 (2 octets)                           | 
            +-----------------------------------------------------+ 
            |   NLRI SAFI - 1 (2 octets)                          | 
            +-----------------------------------------------------+ 
            |   Reserved Field (2 octets)                         | 
            +-----------------------------------------------------+ 
            |   Number of Nexthop AFI/SAFIs (1 octet)             | 
            +-----------------------------------------------------+ 
            |   Nexthop AFI - 11 (2 octets)                       | 
            +-----------------------------------------------------+ 
            |   Nexthop SAFI - 11 (2 octets)                      | 
            +-----------------------------------------------------+ 
            |   .....                                             | 
            +-----------------------------------------------------+ 
            |   Nexthop AFI - 1n (2 octets)                       | 
            +-----------------------------------------------------+ 
            |   Nexthop SAFI - 2n (2 octets)                      | 
            +-----------------------------------------------------+ 
            |                                                     | 
            |   .....                                             | 
            +-----------------------------------------------------+ 
            |   NLRI AFI - m (2 octets)                           | 
            +-----------------------------------------------------+ 
            |   NLRI SAFI - m (2 octet)                           | 
            +-----------------------------------------------------+ 
            |   Reserved Field (2 octets)                         | 
            +-----------------------------------------------------+ 
            |   Number of Nexthop AFI/SAFIs (1 octet)             | 
            +-----------------------------------------------------+ 
            |   Nexthop AFI - m1 (2 octets)                       | 
            +-----------------------------------------------------+ 
            |   Nexthop SAFI - m1 (2 octets)                      | 
            +-----------------------------------------------------+ 
            |   .....                                             | 
            +-----------------------------------------------------+ 
            |   Nexthop AFI - mp (2 octets)                       | 
            +-----------------------------------------------------+ 
            |   Nexthop SAFI - mp (2 octets)                      | 
            +-----------------------------------------------------+ 
    
    
   where the list of Next-Hop AFI/SAFIs indicates the nexthop formats 
   supported in the NEXT_HOP-v2 attribute for each NLRI AFI/SAFI. 
    
   and where : 
 
 Le Faucheur et. al                                                  5 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
    
     AFI - Address Family Identifier (16 bits). Values for this field 
         are specified in [RFC1700] as well as other documents 
         including [L2VPN]. 
      
     SAFI - Subsequent Address Family Identifier (8 bits). Values for 
         this field are specified in [MULTI-BGP] as well as other 
         documents including [BGP-LABEL], [TUNNEL-SAFI] and [L2VPN]. 
      
     Res - Reserved (16 bits) field. Should be set to 0 by the sender 
         and ignored by the receiver. 
    
   To have a bidirectional exchange of routing information between a 
   pair of BGP speakers for NLRIs of a particular AFI/SAFI (AFI1/SAFI1) 
   using the NEXT_HOP-v2 attribute to carry a next hop of a particular 
   AFI/SAFI (AFI2/SAFI2), each such speaker MUST advertise to the other 
   (via the Capability Advertisement mechanism) the capability to use 
   the NEXT_HOP-v2 attribute with the corresponding <AFI1/SAFI1, 
   AFI2/SAFI2> pair in the Capability Value field. 
    
   When used in conjunction with the Update-v2 message [UPDATE-v2], the 
   NEXT_HOP-v2 capability is inferred from the Update-v2 capability and 
   MUST not be advertised separately (i.e. the NEXT_HOP-v2 Capability 
   specified above is not used and only the Update-v2 Capability 
   defined in [UPDATE-v2] is used). 
  
 
4.      Operations 
    
   When: 
        -  a BGP Speaker wants to advertise itself as the router that 
           should be used as the next hop to the destinations 
           advertised in the NLRI field (of the Update message or of 
           the Update-v2 message) or in the MP_NLRI field of the 
           MP_REACH_NLRI attribute, and wants to advertise one of its 
           Network Layer addresses for a Network Layer protocol 
           (AFI2/SAFI2) which is different to the Network Layer 
           protocol (AFI1/SAFI1) of the NLRI destinations, and 
        -  the BGP speaker and the BGP peer have both advertised the 
           corresponding NEXT_HOP-v2 capability for the 
           <AFI1/SAF1,AFI2/SAFI2> tuple, 
   the BGP speaker MUST include the NEXT_HOP-v2 attribute and convey 
   its Network Layer address inside. 
    
   When : 
        -  a BGP speaker and its BGP peer have advertised support of  
           the NEXT_HOP-v2 Capability for a given <NLRI-AFI/SAFI, 
           Nexthop AFI/SAFI> tuple, and 
        -  the BGP speaker receives a BGP advertisement for that tuple 
           with next hop information encoded both in the MP_REACH_NLRI 
           and in the NEXT_HOP-v2,  

 
 Le Faucheur et. al                                                  6 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
   the BGP speaker MUST ignore the information encoded in the nexthop 
   field of the MP_REACH_NLRI and use the next hop information encoded 
   in the NEXT_HOP-v2.  
 
   When: 
        -  a BGP speaker and its BGP peer have advertised support of 
           the NEXT_HOP-v2 Capability for a given <NLRI-AFI/SAFI, 
           Nexthop AFI/SAFI> tuple, and 
        -  the BGP speaker receives a BGP advertisement for that tuple 
           containing both a NEXT_HOP attribute and a NEXT_HOP-v2 
           attribute,  
   the BGP speaker MUST ignore the NEXT_HOP attribute and use the next 
   hop information encoded in the NEXT_HOP-v2. 
    
   When: 
        -  a BGP speaker and its BGP peer have advertised support of 
           the NEXT_HOP-v2 Capability for a given <NLRI-AFI/SAFI, 
           Nexthop AFI/SAFI> tuple, and 
        -  the BGP speaker receives a BGP advertisement for that tuple 
           without a NEXT_HOP-v2 attribute,  
   the BGP speaker should signal an error notification to the peer. For 
   peers that support [BGP-SOFT], a BGP-v4 Soft-Notification message 
   should be sent back to the peer for the NLRI AFI/SAFI with Error 
   Code "Update Message Error" and Error Sub-Code TBD and the speaker 
   should soft-reset the session for that AFI/SAFI. For peers that 
   don't support [BGP-SOFT], the BGP speaker may reset the session with 
   the peer with the Error Code "Update Message Error" and Error 
   Subcode TBD. 
    
   If a BGP speaker not supporting the NEXT_HOP-v2 Capability for a 
   given <NLRI-AFI/SAFI, Nexthop AFI/SAFI> tuple, receives a BGP 
   advertisement for that tuple with the nexthop encoded in the 
   NEXT_HOP-v2 attribute, the BGP speaker should signal an error 
   notification to the peer. For peers that support [BGP-SOFT], a BGP-
   v4 Soft-Notification message should be sent back to the peer for the 
   NLRI AFI/SAFI with Error Code "Update Message Error" and Error Sub-
   Code TBD and the speaker should soft-reset the session for that 
   AFI/SAFI. For peers that don't support [BGP-SOFT], the BGP speaker 
   may reset the session with the peer with the Error Code "Update 
   Message Error" and Error Subcode TBD. 
    
    
5.      Usage Examples  
    
5.1.    IPv4 VPNs over IPv6 Core 
    
   The NEXT_HOP-v2 attribute may be used for support of IPV4 VPNs over 
   an IPv6 backbone. In this application, PE Routers would advertise 
   IPv4-VPN NLRI information in the MP_REACH_NLRI along with an IPv6 
   next hop in the NEXT_HOP-v2 attribute. 
    

 
 Le Faucheur et. al                                                  7 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
   During BGP Capability Advertisement, the PE routers would include 
   the following tuple in the Capability Value field of the NEXT_HOP-v2 
   capability: 
        - <NLRI AFI=1, NLRI SAFI=128, Next Hop AFI=2, Next Hop SAFI=1> 
    
    
5.2.    IPv4 over IPv6 Core 
    
   The NEXT_HOP-v2 attribute may be used for support of IPv4 
   reachability over an IPv6 core. In this application, BGP speakers 
   would advertise IPv4 NLRI information in the MP_REACH_NLRI along 
   with an IPv6 next hop in the NEXT_HOP-v2 attribute. 
    
   During BGP Capability Advertisement, the PE routers would include 
   the following tuple in the Capability Value field of the NEXT_HOP-v2 
   capability: 
        - <NLRI AFI=1, NLRI SAFI=1  , Next Hop AFI=2, Next Hop SAFI=1> 
    
    
5.3.    L2 VPNs over IPv6  
    
   The NEXT_HOP-v2 attribute could be used for support of Layer 2 VPN 
   autodiscovery over an IPv6 core. In this application, BGP speakers 
   would advertise L2VPN NLRI information in the MP_REACH_NLRI along 
   with an IPv6 next hop in the NEXT_HOP-v2 attribute. 
    
   During BGP Capability Advertisement, the L2 VPN PEs would include 
   the following tuple in the Capability Value field: 
        - <NLRI AFI=L2VPN-TBD, NLRI SAFI=L2VPN-TBD, Next Hop AFI=2, 
           Next Hop SAFI=1> 
    
    
5.4.    IPv4 VPNs over IPv4 with multiple Tunnel Encaps  
    
   Consider an environment where multiple IPv4 tunneling methods can be 
   used and tunnel endpoint information is distributed as per [TUNN-
   SAFI]. The NEXT_HOP-v2 attribute could be used to distribute IPv4 
   VPNs reachability information along with a next hop from the Tunnel-
   SAFI format. 
    
   During BGP Capability Advertisement, the PEs would include the 
   following tuple in the Capability Value field: 
        - <NLRI AFI=1, NLRI SAFI=128, Next Hop AFI=1,  
           Next Hop SAFI= TUNNEL-TBD> 
 
    
6.      Security Considerations 
    
   This document does not raise any additional security issues beyond 
   those of BGP-4 and the Multiprotocol extensions for BGP-4. The same 
   security mechanisms are applicable. 
    
 
 Le Faucheur et. al                                                  8 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
    
7.      Acknowledgments 
    
   We thank Jim Guichard, Robert Raszuk, Pedro Marques and Himanshu 
   Shah for their comments and suggestions on this document. 
    
    
References 
    
   [BGP-4] Rekhter et al., "a Border Gateway Protocol 4 (BGP-4)", 
   draft-ietf-idr-bgp4-21.txt, work in progress 
    
   [MULTI-BGP] Bates et al, Multiprotocol Extensions for BGP-4, draft-
   ietf-idr-rfc2858bis-04.txt, work in progress. 
    
   [RFC2547] Rosen et al., BGP/MPLS VPNs, draft-ietf-l3vpn-rfc2547bis-
   01.txt, work in progress. 
    
   [BGP-TUNN] Ooms et al., Connecting IPv6 Islands across IPv4 Clouds 
   with BGP, draft-ooms-v6ops-bgp-tunnel-00.txt, work in progress. 
    
   [IPv6-VPN] De Clercq et al., BGP-MPLS VPN extension for IPv6 VPN, 
   draft-ietf-l3vpn-bgp-ipv6-01.txt, work in progress. 
    
   [BGP-CAP] Chandra et al., "Capabilities Advertisement with BGP-4", 
   RFC2842 
    
   [RFC1700] Postel et al., Assigned Numbers, STD2, RFC1700 (see also 
   http://www.iana.org/iana/assignments.html) 
    
   [BGP-LABEL] Rekhter et al., "Carrying Label Information in BGP-4", 
   RFC3107. 
    
   [UPDATE-v2] Nalawade et al., "BGPv4 Update-v2 Message",  
   draft-nalawade-bgp-update-v2-00.txt, work in progress 
    
   [TUNN-SAFI] Nalawade et al., "IPv4-Tunnel SAFI",  
   draft-nalawade-kapoor-tunnel-safi-00.txt, work in progress. 
    
   [L2VPN] Kompella at al., "Layer 2 VPNs Over Tunnels",  
   draft-kompella-ppvpn-l2vpn-00.txt, work in progress. 
    
   [BGP-SOFT] Nalawade et al., "BGP-v4 SOFT-NOTIFICATION message", 
   draft-nalawade-bgp-soft-notify-00.txt, work in progress. 
    
    
Authors' Address: 
    
   Francois Le Faucheur 
   Cisco Systems, Inc. 
   Village d'Entreprise Green Side - Batiment T3 
   400, Avenue de Roumanille 
 
 Le Faucheur et. al                                                  9 
 








 
                     BGP-4 NEXT_HOP-v2 Attribute         October 2003 
 
   06410 Biot-Sophia Antipolis 
   France 
   Email: flefauch@cisco.com 
    
   Dan Tappan 
   Cisco Systems, Inc. 
   300 Beaver Brook Road 
   Boxborough, 01719, MA 
   USA 
   Email: tappan@cisco.com 
    
   Gargi Nalawade 
   Cisco Systems, Inc. 
   510 McCarthy Blvd 
   Milpitas, 95035, CA 
   USA 
   Email: gargi@cisco.com 



































 
 Le Faucheur et. al                                                 10 
 









PAFTECH AB 2003-20262026-04-23 06:04:28