BGP Extensions for IPv6 Compressed Routing Header (CRH)Liquid TelecomNairobiKenyaAndrew.Alston@liquidtelecom.comLiquid TelecomJohannesburgSouth Africadaniam.henriques@liquidtelecom.comJuniper NetworksHerndon20171VirginiaUSArbonica@juniper.net
Routing Area
SPRING Working GroupSegment RoutingIPv6This document describes a new BGP extension for signalling the mapping
between Segment Identifiers (SID's), as used by a SRv6+ Compressed
Routing Header (CRH) and the IPv6 Addresses they represent. The
extension defines both a new optional BGP attribute to signal the
Maximum SID Value (MSV) and a new Sub-Address Family (SAFI) of the IPv6 Address family.The SRv6+ Compressed Routing Header uses an ordered sequence of segment identifiers (SID) to specify the end to end path a packet should follow through the network.
This allows for much smaller header sizes than found in the SRH (Segment Routing Header), which utilizes an ordered sequence of 128 bit IPv6 address to achieve the same goal.
In addition, this method prevents the overloading of the IPv6 address space.This results in the need to signal the mapping between the SIDs used in the CRH and the IPv6 addresses they represent.
While such signalling can be achieved through IGP extensions in a single network domain, circumstances may dictate that the SID to address mapping be signaled both to systems
that do not partake in the IGP used within that network domain, and between autonomous systems.It is envisaged that such signalling will be required to signal, among other things, deep packet inspection systems and flow analysis systems that need the ability to see the
full path a packet is traversing, while at the same time not necessarily partaking in the IGP which would normally be used for such signalling. This also allows signalling of SID
to Address mapping in environments that do not run an IGP capable of such signalling.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14 when, and only
when, they appear in all capitals, as shown here.This document describes a new BGP extension for signalling the mapping
between Segment Identifiers (SIDs) as used by an SRv6+ Compressed
Routing Header (CRH) and the IPv6 Addresses they represent.The extension defines both a new optional transitive attribute to signal the
SID size in Octets and a new Subsequent Address Family Identifier
(SAFI) of the IPv6 Address family.The document defines a new BGP attribute which signals the maximum
size in octets of a CRH Segment Identifier (SID). The attribute
MUST be included in any BGP session carrying the CRH signalling SAFI.
Additionally a new attribute BGP Path Attribute code will need to be assigned by IANA.The attribute is comprised of a single octet, which signals the
maximum length in octets of the SIDs found in the Network Layer
Reachability Information (NLRI) section of the relevant MP-BGP Attribute.Since SIDs in the context of a compressed routing header can be
either 16bit of 32bit, the attribute value MUST be either 2 or 4 and
the attribute MUST be ignored if this is not the case. In the event
of the CRH signalling attribute not being present in a BGP Update
Message, any BGP Updates containing the CRH SAFI MUST be considered
malformed and should be ignored.The format of the MP Reach Attribute utilized by the CRH SAFI is as per .
The AFI MUST be set to 2, and the SAFI is currently TBD (see ).The Nexthop field of the attribute contains no significance and is maintained purely for compatibility. For standardization purposes we maintain
a next-hop length field of 16 which contains an arbitrary value. Implementations MAY at their discretion use the originating router ID, or 128 bit mapped equivalent,
in this field for simple identification of mapping sourceThe format of the NLRI contained within the MP Reach Attribute is
comprised of a 16bit Length (2 octets) field, followed by a series of
repeating tuples. The length in octets of the first element of each
tuple is determined by the SID Length specified in the CRH signalling
attribute (Section 3.1). The second element of the tuple is an IPv6
address and MUST be 16 octets in length. The length of the NLRI can
be calculated as (SID Length+16)*N where N is the number of tuples
contained within the NLRI.The CRH SAFI uses a new NLRI defined as follows: where M MUST be the size in octets of the MSV
signalled via BGP upon session establishment and N specifies a given number of SID/IPv6 Address pairings.This document defines new Sub-TLVs in the following existing
registries:BGP Path AttributesSubsequent Address Family Identifiers (SAFI) ParametersA new SAFI in the IANA registry for "Subsequent Address Family Identifiers (SAFI) Parameters" will be required:
A new SAFI in the IANA registry for "Subsequent Address Family Identifiers (SAFI) Parameters" will be required:
SRv6+ CRH BGP Signalling is envisioned to be run within a trusted domain.Further aspects of security are TBD.The authors wish to acknowledge Ben Roberts for his support.