Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
Extracted elements (12)
Link-local addresses are not well-suited for use as next hop attributes in BGP-4 under normal BGP rules, yet IPv6 requires a link-local next hop for directly connected routes; therefore the dual global+link-local next hop encoding was introduced to satisfy both constraints.
This document treats global and site-local IPv6 addresses equivalently as 'non-link-local', making no distinction between them, because no assumption is made about the characteristics of the routing realm where BGP-4 is deployed.
Using TCP over IPv6 as the transport for IPv6 reachability information has the advantage of providing explicit confirmation of IPv6 network reachability between two peers, unlike TCP over IPv4.
When using TCP over IPv4 as transport for IPv6 reachability information, additional explicit configuration of the peer's network address is required because BGP-4 normally derives the peer address implicitly from the transport connection.
A BGP speaker shall advertise to its peer in the Network Address of Next Hop field the global IPv6 address of the next hop, potentially followed by the link-local IPv6 address of the next hop.
A BGP speaker that advertises a route to an internal peer may modify the Network Address of Next Hop field by removing the link-local IPv6 address of the next hop.
In all cases where the BGP speaker does not share a common subnet with the next hop entity and the peer, only the global IPv6 address shall be advertised in the Network Address field, with Length set to 16.
The link-local address shall be included in the Next Hop field if and only if the BGP speaker shares a common subnet with the entity identified by the global IPv6 address carried in the Next Hop field and the peer the route is being advertised to.
MP_REACH_NLRI Next Hop field for IPv6 carries either a single 16-byte global IPv6 address or a 32-byte pair consisting of a global IPv6 address followed by a link-local IPv6 address.
The BGP Identifier is a 32-bit unsigned integer exchanged at session establishment in the OPEN message; it must be unique in the network and should be derived from an IPv4 address regardless of which network protocol(s) a BGP-4 instance is carrying.
The extensions defined in this document allow BGP to propagate reachability information about IPv6 routes; no new security issues are raised beyond those already existing in BGP-4 and its use with IPv4.
The Length of Next Hop Network Address field in MP_REACH_NLRI shall be set to 16 when only a global IPv6 address is present, or 32 when a link-local address is also included.