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-2026 | 2026-04-23 06:04:28 |