summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7752.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7752.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7752.txt')
-rw-r--r--doc/rfc/rfc7752.txt2691
1 files changed, 2691 insertions, 0 deletions
diff --git a/doc/rfc/rfc7752.txt b/doc/rfc/rfc7752.txt
new file mode 100644
index 0000000..91efc5f
--- /dev/null
+++ b/doc/rfc/rfc7752.txt
@@ -0,0 +1,2691 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) H. Gredler, Ed.
+Request for Comments: 7752 Individual Contributor
+Category: Standards Track J. Medved
+ISSN: 2070-1721 S. Previdi
+ Cisco Systems, Inc.
+ A. Farrel
+ Juniper Networks, Inc.
+ S. Ray
+ March 2016
+
+
+ North-Bound Distribution of Link-State and Traffic Engineering (TE)
+ Information Using BGP
+
+Abstract
+
+ In a number of environments, a component external to a network is
+ called upon to perform computations based on the network topology and
+ current state of the connections within the network, including
+ Traffic Engineering (TE) information. This is information typically
+ distributed by IGP routing protocols within the network.
+
+ This document describes a mechanism by which link-state and TE
+ information can be collected from networks and shared with external
+ components using the BGP routing protocol. This is achieved using a
+ new BGP Network Layer Reachability Information (NLRI) encoding
+ format. The mechanism is applicable to physical and virtual IGP
+ links. The mechanism described is subject to policy control.
+
+ Applications of this technique include Application-Layer Traffic
+ Optimization (ALTO) servers and Path Computation Elements (PCEs).
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7752.
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 1]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+Copyright Notice
+
+ Copyright (c) 2016 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 1.1. Requirements Language ......................................5
+ 2. Motivation and Applicability ....................................5
+ 2.1. MPLS-TE with PCE ...........................................5
+ 2.2. ALTO Server Network API ....................................6
+ 3. Carrying Link-State Information in BGP ..........................7
+ 3.1. TLV Format .................................................8
+ 3.2. The Link-State NLRI ........................................8
+ 3.2.1. Node Descriptors ...................................12
+ 3.2.2. Link Descriptors ...................................16
+ 3.2.3. Prefix Descriptors .................................18
+ 3.3. The BGP-LS Attribute ......................................19
+ 3.3.1. Node Attribute TLVs ................................20
+ 3.3.2. Link Attribute TLVs ................................23
+ 3.3.3. Prefix Attribute TLVs ..............................28
+ 3.4. BGP Next-Hop Information ..................................31
+ 3.5. Inter-AS Links ............................................32
+ 3.6. Router-ID Anchoring Example: ISO Pseudonode ...............32
+ 3.7. Router-ID Anchoring Example: OSPF Pseudonode ..............33
+ 3.8. Router-ID Anchoring Example: OSPFv2 to IS-IS Migration ....34
+ 4. Link to Path Aggregation .......................................34
+ 4.1. Example: No Link Aggregation ..............................35
+ 4.2. Example: ASBR to ASBR Path Aggregation ....................35
+ 4.3. Example: Multi-AS Path Aggregation ........................36
+ 5. IANA Considerations ............................................36
+ 5.1. Guidance for Designated Experts ...........................37
+ 6. Manageability Considerations ...................................38
+ 6.1. Operational Considerations ................................38
+ 6.1.1. Operations .........................................38
+ 6.1.2. Installation and Initial Setup .....................38
+ 6.1.3. Migration Path .....................................38
+
+
+
+Gredler, et al. Standards Track [Page 2]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ 6.1.4. Requirements on Other Protocols and
+ Functional Components ..............................38
+ 6.1.5. Impact on Network Operation ........................38
+ 6.1.6. Verifying Correct Operation ........................39
+ 6.2. Management Considerations .................................39
+ 6.2.1. Management Information .............................39
+ 6.2.2. Fault Management ...................................39
+ 6.2.3. Configuration Management ...........................40
+ 6.2.4. Accounting Management ..............................40
+ 6.2.5. Performance Management .............................40
+ 6.2.6. Security Management ................................41
+ 7. TLV/Sub-TLV Code Points Summary ................................41
+ 8. Security Considerations ........................................42
+ 9. References .....................................................43
+ 9.1. Normative References ......................................43
+ 9.2. Informative References ....................................45
+ Acknowledgements ..................................................47
+ Contributors ......................................................47
+ Authors' Addresses ................................................48
+
+1. Introduction
+
+ The contents of a Link-State Database (LSDB) or of an IGP's Traffic
+ Engineering Database (TED) describe only the links and nodes within
+ an IGP area. Some applications, such as end-to-end Traffic
+ Engineering (TE), would benefit from visibility outside one area or
+ Autonomous System (AS) in order to make better decisions.
+
+ The IETF has defined the Path Computation Element (PCE) [RFC4655] as
+ a mechanism for achieving the computation of end-to-end TE paths that
+ cross the visibility of more than one TED or that require CPU-
+ intensive or coordinated computations. The IETF has also defined the
+ ALTO server [RFC5693] as an entity that generates an abstracted
+ network topology and provides it to network-aware applications.
+
+ Both a PCE and an ALTO server need to gather information about the
+ topologies and capabilities of the network in order to be able to
+ fulfill their function.
+
+ This document describes a mechanism by which link-state and TE
+ information can be collected from networks and shared with external
+ components using the BGP routing protocol [RFC4271]. This is
+ achieved using a new BGP Network Layer Reachability Information
+ (NLRI) encoding format. The mechanism is applicable to physical and
+ virtual links. The mechanism described is subject to policy control.
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 3]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ A router maintains one or more databases for storing link-state
+ information about nodes and links in any given area. Link attributes
+ stored in these databases include: local/remote IP addresses, local/
+ remote interface identifiers, link metric and TE metric, link
+ bandwidth, reservable bandwidth, per Class-of-Service (CoS) class
+ reservation state, preemption, and Shared Risk Link Groups (SRLGs).
+ The router's BGP process can retrieve topology from these LSDBs and
+ distribute it to a consumer, either directly or via a peer BGP
+ speaker (typically a dedicated Route Reflector), using the encoding
+ specified in this document.
+
+ The collection of link-state and TE information and its distribution
+ to consumers is shown in the following figure.
+
+ +-----------+
+ | Consumer |
+ +-----------+
+ ^
+ |
+ +-----------+
+ | BGP | +-----------+
+ | Speaker | | Consumer |
+ +-----------+ +-----------+
+ ^ ^ ^ ^
+ | | | |
+ +---------------+ | +-------------------+ |
+ | | | |
+ +-----------+ +-----------+ +-----------+
+ | BGP | | BGP | | BGP |
+ | Speaker | | Speaker | . . . | Speaker |
+ +-----------+ +-----------+ +-----------+
+ ^ ^ ^
+ | | |
+ IGP IGP IGP
+
+ Figure 1: Collection of Link-State and TE Information
+
+ A BGP speaker may apply configurable policy to the information that
+ it distributes. Thus, it may distribute the real physical topology
+ from the LSDB or the TED. Alternatively, it may create an abstracted
+ topology, where virtual, aggregated nodes are connected by virtual
+ paths. Aggregated nodes can be created, for example, out of multiple
+ routers in a Point of Presence (POP). Abstracted topology can also
+ be a mix of physical and virtual nodes and physical and virtual
+ links. Furthermore, the BGP speaker can apply policy to determine
+ when information is updated to the consumer so that there is a
+
+
+
+
+
+Gredler, et al. Standards Track [Page 4]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ reduction of information flow from the network to the consumers.
+ Mechanisms through which topologies can be aggregated or virtualized
+ are outside the scope of this document
+
+1.1. Requirements Language
+
+ 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 [RFC2119].
+
+2. Motivation and Applicability
+
+ This section describes use cases from which the requirements can be
+ derived.
+
+2.1. MPLS-TE with PCE
+
+ As described in [RFC4655], a PCE can be used to compute MPLS-TE paths
+ within a "domain" (such as an IGP area) or across multiple domains
+ (such as a multi-area AS or multiple ASes).
+
+ o Within a single area, the PCE offers enhanced computational power
+ that may not be available on individual routers, sophisticated
+ policy control and algorithms, and coordination of computation
+ across the whole area.
+
+ o If a router wants to compute a MPLS-TE path across IGP areas, then
+ its own TED lacks visibility of the complete topology. That means
+ that the router cannot determine the end-to-end path and cannot
+ even select the right exit router (Area Border Router (ABR)) for
+ an optimal path. This is an issue for large-scale networks that
+ need to segment their core networks into distinct areas but still
+ want to take advantage of MPLS-TE.
+
+ Previous solutions used per-domain path computation [RFC5152]. The
+ source router could only compute the path for the first area because
+ the router only has full topological visibility for the first area
+ along the path, but not for subsequent areas. Per-domain path
+ computation uses a technique called "loose-hop-expansion" [RFC3209]
+ and selects the exit ABR and other ABRs or AS Border Routers (ASBRs)
+ using the IGP-computed shortest path topology for the remainder of
+ the path. This may lead to sub-optimal paths, makes alternate/back-
+ up path computation hard, and might result in no TE path being found
+ when one really does exist.
+
+ The PCE presents a computation server that may have visibility into
+ more than one IGP area or AS, or may cooperate with other PCEs to
+ perform distributed path computation. The PCE obviously needs access
+
+
+
+Gredler, et al. Standards Track [Page 5]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ to the TED for the area(s) it serves, but [RFC4655] does not describe
+ how this is achieved. Many implementations make the PCE a passive
+ participant in the IGP so that it can learn the latest state of the
+ network, but this may be sub-optimal when the network is subject to a
+ high degree of churn or when the PCE is responsible for multiple
+ areas.
+
+ The following figure shows how a PCE can get its TED information
+ using the mechanism described in this document.
+
+ +----------+ +---------+
+ | ----- | | BGP |
+ | | TED |<-+-------------------------->| Speaker |
+ | ----- | TED synchronization | |
+ | | | mechanism: +---------+
+ | | | BGP with Link-State NLRI
+ | v |
+ | ----- |
+ | | PCE | |
+ | ----- |
+ +----------+
+ ^
+ | Request/
+ | Response
+ v
+ Service +----------+ Signaling +----------+
+ Request | Head-End | Protocol | Adjacent |
+ -------->| Node |<------------>| Node |
+ +----------+ +----------+
+
+ Figure 2: External PCE Node Using a TED Synchronization Mechanism
+
+ The mechanism in this document allows the necessary TED information
+ to be collected from the IGP within the network, filtered according
+ to configurable policy, and distributed to the PCE as necessary.
+
+2.2. ALTO Server Network API
+
+ An ALTO server [RFC5693] is an entity that generates an abstracted
+ network topology and provides it to network-aware applications over a
+ web-service-based API. Example applications are peer-to-peer (P2P)
+ clients or trackers, or Content Distribution Networks (CDNs). The
+ abstracted network topology comes in the form of two maps: a Network
+ Map that specifies allocation of prefixes to Partition Identifiers
+ (PIDs), and a Cost Map that specifies the cost between PIDs listed in
+ the Network Map. For more details, see [RFC7285].
+
+
+
+
+
+Gredler, et al. Standards Track [Page 6]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ ALTO abstract network topologies can be auto-generated from the
+ physical topology of the underlying network. The generation would
+ typically be based on policies and rules set by the operator. Both
+ prefix and TE data are required: prefix data is required to generate
+ ALTO Network Maps, and TE (topology) data is required to generate
+ ALTO Cost Maps. Prefix data is carried and originated in BGP, and TE
+ data is originated and carried in an IGP. The mechanism defined in
+ this document provides a single interface through which an ALTO
+ server can retrieve all the necessary prefix and network topology
+ data from the underlying network. Note that an ALTO server can use
+ other mechanisms to get network data, for example, peering with
+ multiple IGP and BGP speakers.
+
+ The following figure shows how an ALTO server can get network
+ topology information from the underlying network using the mechanism
+ described in this document.
+
+ +--------+
+ | Client |<--+
+ +--------+ |
+ | ALTO +--------+ BGP with +---------+
+ +--------+ | Protocol | ALTO | Link-State NLRI | BGP |
+ | Client |<--+------------| Server |<----------------| Speaker |
+ +--------+ | | | | |
+ | +--------+ +---------+
+ +--------+ |
+ | Client |<--+
+ +--------+
+
+ Figure 3: ALTO Server Using Network Topology Information
+
+3. Carrying Link-State Information in BGP
+
+ This specification contains two parts: definition of a new BGP NLRI
+ that describes links, nodes, and prefixes comprising IGP link-state
+ information and definition of a new BGP path attribute (BGP-LS
+ attribute) that carries link, node, and prefix properties and
+ attributes, such as the link and prefix metric or auxiliary Router-
+ IDs of nodes, etc.
+
+ It is desirable to keep the dependencies on the protocol source of
+ this attribute to a minimum and represent any content in an IGP-
+ neutral way, such that applications that want to learn about a link-
+ state topology do not need to know about any OSPF or IS-IS protocol
+ specifics.
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 7]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.1. TLV Format
+
+ Information in the new Link-State NLRIs and attributes is encoded in
+ Type/Length/Value triplets. The TLV format is shown in Figure 4.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Value (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: TLV Format
+
+ The Length field defines the length of the value portion in octets
+ (thus, a TLV with no value portion would have a length of zero). The
+ TLV is not padded to 4-octet alignment. Unrecognized types MUST be
+ preserved and propagated. In order to compare NLRIs with unknown
+ TLVs, all TLVs MUST be ordered in ascending order by TLV Type. If
+ there are more TLVs of the same type, then the TLVs MUST be ordered
+ in ascending order of the TLV value within the TLVs with the same
+ type by treating the entire Value field as an opaque hexadecimal
+ string and comparing leftmost octets first, regardless of the length
+ of the string. All TLVs that are not specified as mandatory are
+ considered optional.
+
+3.2. The Link-State NLRI
+
+ The MP_REACH_NLRI and MP_UNREACH_NLRI attributes are BGP's containers
+ for carrying opaque information. Each Link-State NLRI describes
+ either a node, a link, or a prefix.
+
+ All non-VPN link, node, and prefix information SHALL be encoded using
+ AFI 16388 / SAFI 71. VPN link, node, and prefix information SHALL be
+ encoded using AFI 16388 / SAFI 72.
+
+ In order for two BGP speakers to exchange Link-State NLRI, they MUST
+ use BGP Capabilities Advertisement to ensure that they are both
+ capable of properly processing such NLRI. This is done as specified
+ in [RFC4760], by using capability code 1 (multi-protocol BGP), with
+ AFI 16388 / SAFI 71 for BGP-LS, and AFI 16388 / SAFI 72 for
+ BGP-LS-VPN.
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 8]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The format of the Link-State NLRI is shown in the following figures.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | NLRI Type | Total NLRI Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ // Link-State NLRI (variable) //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5: Link-State AFI 16388 / SAFI 71 NLRI 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | NLRI Type | Total NLRI Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Route Distinguisher +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ // Link-State NLRI (variable) //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 6: Link-State VPN AFI 16388 / SAFI 72 NLRI Format
+
+ The Total NLRI Length field contains the cumulative length, in
+ octets, of the rest of the NLRI, not including the NLRI Type field or
+ itself. For VPN applications, it also includes the length of the
+ Route Distinguisher.
+
+ +------+---------------------------+
+ | Type | NLRI Type |
+ +------+---------------------------+
+ | 1 | Node NLRI |
+ | 2 | Link NLRI |
+ | 3 | IPv4 Topology Prefix NLRI |
+ | 4 | IPv6 Topology Prefix NLRI |
+ +------+---------------------------+
+
+ Table 1: NLRI Types
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 9]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ Route Distinguishers are defined and discussed in [RFC4364].
+
+ The Node NLRI (NLRI Type = 1) is shown in the following figure.
+
+ 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
+ +-+-+-+-+-+-+-+-+
+ | Protocol-ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Identifier |
+ | (64 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Local Node Descriptors (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 7: The Node NLRI Format
+
+ The Link NLRI (NLRI Type = 2) is shown in the following figure.
+
+ 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
+ +-+-+-+-+-+-+-+-+
+ | Protocol-ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Identifier |
+ | (64 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Local Node Descriptors (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Remote Node Descriptors (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Link Descriptors (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 8: The Link NLRI Format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 10]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The IPv4 and IPv6 Prefix NLRIs (NLRI Type = 3 and Type = 4) use the
+ same format, as shown in the following figure.
+
+ 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
+ +-+-+-+-+-+-+-+-+
+ | Protocol-ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Identifier |
+ | (64 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Local Node Descriptors (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Prefix Descriptors (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 9: The IPv4/IPv6 Topology Prefix NLRI Format
+
+ The Protocol-ID field can contain one of the following values:
+
+ +-------------+----------------------------------+
+ | Protocol-ID | NLRI information source protocol |
+ +-------------+----------------------------------+
+ | 1 | IS-IS Level 1 |
+ | 2 | IS-IS Level 2 |
+ | 3 | OSPFv2 |
+ | 4 | Direct |
+ | 5 | Static configuration |
+ | 6 | OSPFv3 |
+ +-------------+----------------------------------+
+
+ Table 2: Protocol Identifiers
+
+ The 'Direct' and 'Static configuration' protocol types SHOULD be used
+ when BGP-LS is sourcing local information. For all information
+ derived from other protocols, the corresponding Protocol-ID MUST be
+ used. If BGP-LS has direct access to interface information and wants
+ to advertise a local link, then the Protocol-ID 'Direct' SHOULD be
+ used. For modeling virtual links, such as described in Section 4,
+ the Protocol-ID 'Static configuration' SHOULD be used.
+
+ Both OSPF and IS-IS MAY run multiple routing protocol instances over
+ the same link. See [RFC6822] and [RFC6549]. These instances define
+ independent "routing universes". The 64-bit Identifier field is used
+ to identify the routing universe where the NLRI belongs. The NLRIs
+ representing link-state objects (nodes, links, or prefixes) from the
+ same routing universe MUST have the same 'Identifier' value. NLRIs
+
+
+
+
+Gredler, et al. Standards Track [Page 11]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ with different 'Identifier' values MUST be considered to be from
+ different routing universes. Table 3 lists the 'Identifier' values
+ that are defined as well-known in this document.
+
+ +------------+----------------------------------+
+ | Identifier | Routing Universe |
+ +------------+----------------------------------+
+ | 0 | Default Layer 3 Routing topology |
+ +------------+----------------------------------+
+
+ Table 3: Well-Known Instance Identifiers
+
+ If a given protocol does not support multiple routing universes, then
+ it SHOULD set the Identifier field according to Table 3. However, an
+ implementation MAY make the 'Identifier' configurable for a given
+ protocol.
+
+ Each Node Descriptor and Link Descriptor consists of one or more
+ TLVs, as described in the following sections.
+
+3.2.1. Node Descriptors
+
+ Each link is anchored by a pair of Router-IDs that are used by the
+ underlying IGP, namely, a 48-bit ISO System-ID for IS-IS and a 32-bit
+ Router-ID for OSPFv2 and OSPFv3. An IGP may use one or more
+ additional auxiliary Router-IDs, mainly for Traffic Engineering
+ purposes. For example, IS-IS may have one or more IPv4 and IPv6 TE
+ Router-IDs [RFC5305] [RFC6119]. These auxiliary Router-IDs MUST be
+ included in the link attribute described in Section 3.3.2.
+
+ It is desirable that the Router-ID assignments inside the Node
+ Descriptor are globally unique. However, there may be Router-ID
+ spaces (e.g., ISO) where no global registry exists, or worse, Router-
+ IDs have been allocated following the private-IP allocation described
+ in RFC 1918 [RFC1918]. BGP-LS uses the Autonomous System (AS) Number
+ and BGP-LS Identifier (see Section 3.2.1.4) to disambiguate the
+ Router-IDs, as described in Section 3.2.1.1.
+
+3.2.1.1. Globally Unique Node/Link/Prefix Identifiers
+
+ One problem that needs to be addressed is the ability to identify an
+ IGP node globally (by "globally", we mean within the BGP-LS database
+ collected by all BGP-LS speakers that talk to each other). This can
+ be expressed through the following two requirements:
+
+ (A) The same node MUST NOT be represented by two keys (otherwise,
+ one node will look like two nodes).
+
+
+
+
+Gredler, et al. Standards Track [Page 12]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ (B) Two different nodes MUST NOT be represented by the same key
+ (otherwise, two nodes will look like one node).
+
+ We define an "IGP domain" to be the set of nodes (hence, by extension
+ links and prefixes) within which each node has a unique IGP
+ representation by using the combination of Area-ID, Router-ID,
+ Protocol-ID, Multi-Topology ID, and Instance-ID. The problem is that
+ BGP may receive node/link/prefix information from multiple
+ independent "IGP domains", and we need to distinguish between them.
+ Moreover, we can't assume there is always one and only one IGP domain
+ per AS. During IGP transitions, it may happen that two redundant
+ IGPs are in place.
+
+ In Section 3.2.1.4, a set of sub-TLVs is described, which allows
+ specification of a flexible key for any given node/link information
+ such that global uniqueness of the NLRI is ensured.
+
+3.2.1.2. Local Node Descriptors
+
+ The Local Node Descriptors TLV contains Node Descriptors for the node
+ anchoring the local end of the link. This is a mandatory TLV in all
+ three types of NLRIs (node, link, and prefix). The length of this
+ TLV is variable. The value contains one or more Node Descriptor
+ Sub-TLVs defined in Section 3.2.1.4.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ // Node Descriptor Sub-TLVs (variable) //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 10: Local Node Descriptors TLV Format
+
+3.2.1.3. Remote Node Descriptors
+
+ The Remote Node Descriptors TLV contains Node Descriptors for the
+ node anchoring the remote end of the link. This is a mandatory TLV
+ for Link NLRIs. The length of this TLV is variable. The value
+ contains one or more Node Descriptor Sub-TLVs defined in
+ Section 3.2.1.4.
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 13]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ // Node Descriptor Sub-TLVs (variable) //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 11: Remote Node Descriptors TLV Format
+
+3.2.1.4. Node Descriptor Sub-TLVs
+
+ The Node Descriptor Sub-TLV type code points and lengths are listed
+ in the following table:
+
+ +--------------------+-------------------+----------+
+ | Sub-TLV Code Point | Description | Length |
+ +--------------------+-------------------+----------+
+ | 512 | Autonomous System | 4 |
+ | 513 | BGP-LS Identifier | 4 |
+ | 514 | OSPF Area-ID | 4 |
+ | 515 | IGP Router-ID | Variable |
+ +--------------------+-------------------+----------+
+
+ Table 4: Node Descriptor Sub-TLVs
+
+ The sub-TLV values in Node Descriptor TLVs are defined as follows:
+
+ Autonomous System: Opaque value (32-bit AS Number)
+
+ BGP-LS Identifier: Opaque value (32-bit ID). In conjunction with
+ Autonomous System Number (ASN), uniquely identifies the BGP-LS
+ domain. The combination of ASN and BGP-LS ID MUST be globally
+ unique. All BGP-LS speakers within an IGP flooding-set (set of
+ IGP nodes within which an LSP/LSA is flooded) MUST use the same
+ ASN, BGP-LS ID tuple. If an IGP domain consists of multiple
+ flooding-sets, then all BGP-LS speakers within the IGP domain
+ SHOULD use the same ASN, BGP-LS ID tuple.
+
+ Area-ID: Used to identify the 32-bit area to which the NLRI belongs.
+ The Area Identifier allows different NLRIs of the same router to
+ be discriminated.
+
+ IGP Router-ID: Opaque value. This is a mandatory TLV. For an IS-IS
+ non-pseudonode, this contains a 6-octet ISO Node-ID (ISO system-
+ ID). For an IS-IS pseudonode corresponding to a LAN, this
+
+
+
+Gredler, et al. Standards Track [Page 14]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ contains the 6-octet ISO Node-ID of the Designated Intermediate
+ System (DIS) followed by a 1-octet, nonzero PSN identifier (7
+ octets in total). For an OSPFv2 or OSPFv3 non-pseudonode, this
+ contains the 4-octet Router-ID. For an OSPFv2 pseudonode
+ representing a LAN, this contains the 4-octet Router-ID of the
+ Designated Router (DR) followed by the 4-octet IPv4 address of the
+ DR's interface to the LAN (8 octets in total). Similarly, for an
+ OSPFv3 pseudonode, this contains the 4-octet Router-ID of the DR
+ followed by the 4-octet interface identifier of the DR's interface
+ to the LAN (8 octets in total). The TLV size in combination with
+ the protocol identifier enables the decoder to determine the type
+ of the node.
+
+ There can be at most one instance of each sub-TLV type present in
+ any Node Descriptor. The sub-TLVs within a Node Descriptor MUST
+ be arranged in ascending order by sub-TLV type. This needs to be
+ done in order to compare NLRIs, even when an implementation
+ encounters an unknown sub-TLV. Using stable sorting, an
+ implementation can do binary comparison of NLRIs and hence allow
+ incremental deployment of new key sub-TLVs.
+
+3.2.1.5. Multi-Topology ID
+
+ The Multi-Topology ID (MT-ID) TLV carries one or more IS-IS or OSPF
+ Multi-Topology IDs for a link, node, or prefix.
+
+ Semantics of the IS-IS MT-ID are defined in Section 7.2 of RFC 5120
+ [RFC5120]. Semantics of the OSPF MT-ID are defined in Section 3.7 of
+ RFC 4915 [RFC4915]. If the value in the MT-ID TLV is derived from
+ OSPF, then the upper 9 bits MUST be set to 0. Bits R are reserved
+ and SHOULD be set to 0 when originated and ignored on receipt.
+
+ The format of the MT-ID TLV is shown in the following figure.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length=2*n |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |R R R R| Multi-Topology ID 1 | .... //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // .... |R R R R| Multi-Topology ID n |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 12: Multi-Topology ID TLV Format
+
+ where Type is 263, Length is 2*n, and n is the number of MT-IDs
+ carried in the TLV.
+
+
+
+Gredler, et al. Standards Track [Page 15]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The MT-ID TLV MAY be present in a Link Descriptor, a Prefix
+ Descriptor, or the BGP-LS attribute of a Node NLRI. In a Link or
+ Prefix Descriptor, only a single MT-ID TLV containing the MT-ID of
+ the topology where the link or the prefix is reachable is allowed.
+ In case one wants to advertise multiple topologies for a given Link
+ Descriptor or Prefix Descriptor, multiple NLRIs need to be generated
+ where each NLRI contains an unique MT-ID. In the BGP-LS attribute of
+ a Node NLRI, one MT-ID TLV containing the array of MT-IDs of all
+ topologies where the node is reachable is allowed.
+
+3.2.2. Link Descriptors
+
+ The Link Descriptor field is a set of Type/Length/Value (TLV)
+ triplets. The format of each TLV is shown in Section 3.1. The Link
+ Descriptor TLVs uniquely identify a link among multiple parallel
+ links between a pair of anchor routers. A link described by the Link
+ Descriptor TLVs actually is a "half-link", a unidirectional
+ representation of a logical link. In order to fully describe a
+ single logical link, two originating routers advertise a half-link
+ each, i.e., two Link NLRIs are advertised for a given point-to-point
+ link.
+
+ The format and semantics of the Value fields in most Link Descriptor
+ TLVs correspond to the format and semantics of Value fields in IS-IS
+ Extended IS Reachability sub-TLVs, defined in [RFC5305], [RFC5307],
+ and [RFC6119]. Although the encodings for Link Descriptor TLVs were
+ originally defined for IS-IS, the TLVs can carry data sourced by
+ either IS-IS or OSPF.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 16]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The following TLVs are valid as Link Descriptors in the Link NLRI:
+
+ +-----------+---------------------+--------------+------------------+
+ | TLV Code | Description | IS-IS TLV | Reference |
+ | Point | | /Sub-TLV | (RFC/Section) |
+ +-----------+---------------------+--------------+------------------+
+ | 258 | Link Local/Remote | 22/4 | [RFC5307]/1.1 |
+ | | Identifiers | | |
+ | 259 | IPv4 interface | 22/6 | [RFC5305]/3.2 |
+ | | address | | |
+ | 260 | IPv4 neighbor | 22/8 | [RFC5305]/3.3 |
+ | | address | | |
+ | 261 | IPv6 interface | 22/12 | [RFC6119]/4.2 |
+ | | address | | |
+ | 262 | IPv6 neighbor | 22/13 | [RFC6119]/4.3 |
+ | | address | | |
+ | 263 | Multi-Topology | --- | Section 3.2.1.5 |
+ | | Identifier | | |
+ +-----------+---------------------+--------------+------------------+
+
+ Table 5: Link Descriptor TLVs
+
+ The information about a link present in the LSA/LSP originated by the
+ local node of the link determines the set of TLVs in the Link
+ Descriptor of the link.
+
+ If interface and neighbor addresses, either IPv4 or IPv6, are
+ present, then the IP address TLVs are included in the Link
+ Descriptor but not the link local/remote Identifier TLV. The link
+ local/remote identifiers MAY be included in the link attribute.
+
+ If interface and neighbor addresses are not present and the link
+ local/remote identifiers are present, then the link local/remote
+ Identifier TLV is included in the Link Descriptor.
+
+ The Multi-Topology Identifier TLV is included in Link Descriptor
+ if that information is present.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 17]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.2.3. Prefix Descriptors
+
+ The Prefix Descriptor field is a set of Type/Length/Value (TLV)
+ triplets. Prefix Descriptor TLVs uniquely identify an IPv4 or IPv6
+ prefix originated by a node. The following TLVs are valid as Prefix
+ Descriptors in the IPv4/IPv6 Prefix NLRI:
+
+ +-------------+---------------------+----------+--------------------+
+ | TLV Code | Description | Length | Reference |
+ | Point | | | (RFC/Section) |
+ +-------------+---------------------+----------+--------------------+
+ | 263 | Multi-Topology | variable | Section 3.2.1.5 |
+ | | Identifier | | |
+ | 264 | OSPF Route Type | 1 | Section 3.2.3.1 |
+ | 265 | IP Reachability | variable | Section 3.2.3.2 |
+ | | Information | | |
+ +-------------+---------------------+----------+--------------------+
+
+ Table 6: Prefix Descriptor TLVs
+
+3.2.3.1. OSPF Route Type
+
+ The OSPF Route Type TLV is an optional TLV that MAY be present in
+ Prefix NLRIs. It is used to identify the OSPF route type of the
+ prefix. It is used when an OSPF prefix is advertised in the OSPF
+ domain with multiple route types. The Route Type TLV allows the
+ discrimination of these advertisements. The format of the OSPF Route
+ Type TLV is shown in the following figure.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Route Type |
+ +-+-+-+-+-+-+-+-+
+
+ Figure 13: OSPF Route Type TLV Format
+
+ where the Type and Length fields of the TLV are defined in Table 6.
+ The OSPF Route Type field values are defined in the OSPF protocol and
+ can be one of the following:
+
+ o Intra-Area (0x1)
+
+ o Inter-Area (0x2)
+
+ o External 1 (0x3)
+
+
+
+Gredler, et al. Standards Track [Page 18]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ o External 2 (0x4)
+
+ o NSSA 1 (0x5)
+
+ o NSSA 2 (0x6)
+
+3.2.3.2. IP Reachability Information
+
+ The IP Reachability Information TLV is a mandatory TLV that contains
+ one IP address prefix (IPv4 or IPv6) originally advertised in the IGP
+ topology. Its purpose is to glue a particular BGP service NLRI by
+ virtue of its BGP next hop to a given node in the LSDB. A router
+ SHOULD advertise an IP Prefix NLRI for each of its BGP next hops.
+ The format of the IP Reachability Information TLV is shown in the
+ following figure:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Prefix Length | IP Prefix (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 14: IP Reachability Information TLV Format
+
+ The Type and Length fields of the TLV are defined in Table 6. The
+ following two fields determine the reachability information of the
+ address family. The Prefix Length field contains the length of the
+ prefix in bits. The IP Prefix field contains the most significant
+ octets of the prefix, i.e., 1 octet for prefix length 1 up to 8, 2
+ octets for prefix length 9 to 16, 3 octets for prefix length 17 up to
+ 24, 4 octets for prefix length 25 up to 32, etc.
+
+3.3. The BGP-LS Attribute
+
+ The BGP-LS attribute is an optional, non-transitive BGP attribute
+ that is used to carry link, node, and prefix parameters and
+ attributes. It is defined as a set of Type/Length/Value (TLV)
+ triplets, described in the following section. This attribute SHOULD
+ only be included with Link-State NLRIs. This attribute MUST be
+ ignored for all other address families.
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 19]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.3.1. Node Attribute TLVs
+
+ Node attribute TLVs are the TLVs that may be encoded in the BGP-LS
+ attribute with a Node NLRI. The following Node Attribute TLVs are
+ defined:
+
+ +-------------+----------------------+----------+-------------------+
+ | TLV Code | Description | Length | Reference |
+ | Point | | | (RFC/Section) |
+ +-------------+----------------------+----------+-------------------+
+ | 263 | Multi-Topology | variable | Section 3.2.1.5 |
+ | | Identifier | | |
+ | 1024 | Node Flag Bits | 1 | Section 3.3.1.1 |
+ | 1025 | Opaque Node | variable | Section 3.3.1.5 |
+ | | Attribute | | |
+ | 1026 | Node Name | variable | Section 3.3.1.3 |
+ | 1027 | IS-IS Area | variable | Section 3.3.1.2 |
+ | | Identifier | | |
+ | 1028 | IPv4 Router-ID of | 4 | [RFC5305]/4.3 |
+ | | Local Node | | |
+ | 1029 | IPv6 Router-ID of | 16 | [RFC6119]/4.1 |
+ | | Local Node | | |
+ +-------------+----------------------+----------+-------------------+
+
+ Table 7: Node Attribute TLVs
+
+3.3.1.1. Node Flag Bits TLV
+
+ The Node Flag Bits TLV carries a bit mask describing node attributes.
+ The value is a variable-length bit array of flags, where each bit
+ represents a node capability.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |O|T|E|B|R|V| Rsvd|
+ +-+-+-+-+-+-+-+-+-+
+
+ Figure 15: Node Flag Bits TLV Format
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 20]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The bits are defined as follows:
+
+ +-----------------+-------------------------+------------+
+ | Bit | Description | Reference |
+ +-----------------+-------------------------+------------+
+ | 'O' | Overload Bit | [ISO10589] |
+ | 'T' | Attached Bit | [ISO10589] |
+ | 'E' | External Bit | [RFC2328] |
+ | 'B' | ABR Bit | [RFC2328] |
+ | 'R' | Router Bit | [RFC5340] |
+ | 'V' | V6 Bit | [RFC5340] |
+ | Reserved (Rsvd) | Reserved for future use | |
+ +-----------------+-------------------------+------------+
+
+ Table 8: Node Flag Bits Definitions
+
+3.3.1.2. IS-IS Area Identifier TLV
+
+ An IS-IS node can be part of one or more IS-IS areas. Each of these
+ area addresses is carried in the IS-IS Area Identifier TLV. If
+ multiple area addresses are present, multiple TLVs are used to encode
+ them. The IS-IS Area Identifier TLV may be present in the BGP-LS
+ attribute only when advertised in the Link-State Node NLRI.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Area Identifier (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 16: IS-IS Area Identifier TLV Format
+
+3.3.1.3. Node Name TLV
+
+ The Node Name TLV is optional. Its structure and encoding has been
+ borrowed from [RFC5301]. The Value field identifies the symbolic
+ name of the router node. This symbolic name can be the Fully
+ Qualified Domain Name (FQDN) for the router, it can be a subset of
+ the FQDN (e.g., a hostname), or it can be any string operators want
+ to use for the router. The use of FQDN or a subset of it is strongly
+ RECOMMENDED. The maximum length of the Node Name TLV is 255 octets.
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 21]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The Value field is encoded in 7-bit ASCII. If a user interface for
+ configuring or displaying this field permits Unicode characters, that
+ user interface is responsible for applying the ToASCII and/or
+ ToUnicode algorithm as described in [RFC5890] to achieve the correct
+ format for transmission or display.
+
+ Although [RFC5301] describes an IS-IS-specific extension, usage of
+ the Node Name TLV is possible for all protocols. How a router
+ derives and injects node names, e.g., OSPF nodes, is outside of the
+ scope of this document.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Node Name (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 17: Node Name Format
+
+3.3.1.4. Local IPv4/IPv6 Router-ID TLVs
+
+ The local IPv4/IPv6 Router-ID TLVs are used to describe auxiliary
+ Router-IDs that the IGP might be using, e.g., for TE and migration
+ purposes such as correlating a Node-ID between different protocols.
+ If there is more than one auxiliary Router-ID of a given type, then
+ each one is encoded in its own TLV.
+
+3.3.1.5. Opaque Node Attribute TLV
+
+ The Opaque Node Attribute TLV is an envelope that transparently
+ carries optional Node Attribute TLVs advertised by a router. An
+ originating router shall use this TLV for encoding information
+ specific to the protocol advertised in the NLRI header Protocol-ID
+ field or new protocol extensions to the protocol as advertised in the
+ NLRI header Protocol-ID field for which there is no protocol-neutral
+ representation in the BGP Link-State NLRI. The primary use of the
+ Opaque Node Attribute TLV is to bridge the document lag between,
+ e.g., a new IGP link-state attribute being defined and the protocol-
+ neutral BGP-LS extensions being published. A router, for example,
+ could use this extension in order to advertise the native protocol's
+ Node Attribute TLVs, such as the OSPF Router Informational
+ Capabilities TLV defined in [RFC7770] or the IGP TE Node Capability
+ Descriptor TLV described in [RFC5073].
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 22]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Opaque node attributes (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 18: Opaque Node Attribute Format
+
+3.3.2. Link Attribute TLVs
+
+ Link Attribute TLVs are TLVs that may be encoded in the BGP-LS
+ attribute with a Link NLRI. Each 'Link Attribute' is a Type/Length/
+ Value (TLV) triplet formatted as defined in Section 3.1. The format
+ and semantics of the Value fields in some Link Attribute TLVs
+ correspond to the format and semantics of the Value fields in IS-IS
+ Extended IS Reachability sub-TLVs, defined in [RFC5305] and
+ [RFC5307]. Other Link Attribute TLVs are defined in this document.
+ Although the encodings for Link Attribute TLVs were originally
+ defined for IS-IS, the TLVs can carry data sourced by either IS-IS or
+ OSPF.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 23]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ The following Link Attribute TLVs are valid in the BGP-LS attribute
+ with a Link NLRI:
+
+ +-----------+---------------------+--------------+------------------+
+ | TLV Code | Description | IS-IS TLV | Reference |
+ | Point | | /Sub-TLV | (RFC/Section) |
+ +-----------+---------------------+--------------+------------------+
+ | 1028 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
+ | | Local Node | | |
+ | 1029 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
+ | | Local Node | | |
+ | 1030 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
+ | | Remote Node | | |
+ | 1031 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
+ | | Remote Node | | |
+ | 1088 | Administrative | 22/3 | [RFC5305]/3.1 |
+ | | group (color) | | |
+ | 1089 | Maximum link | 22/9 | [RFC5305]/3.4 |
+ | | bandwidth | | |
+ | 1090 | Max. reservable | 22/10 | [RFC5305]/3.5 |
+ | | link bandwidth | | |
+ | 1091 | Unreserved | 22/11 | [RFC5305]/3.6 |
+ | | bandwidth | | |
+ | 1092 | TE Default Metric | 22/18 | Section 3.3.2.3 |
+ | 1093 | Link Protection | 22/20 | [RFC5307]/1.2 |
+ | | Type | | |
+ | 1094 | MPLS Protocol Mask | --- | Section 3.3.2.2 |
+ | 1095 | IGP Metric | --- | Section 3.3.2.4 |
+ | 1096 | Shared Risk Link | --- | Section 3.3.2.5 |
+ | | Group | | |
+ | 1097 | Opaque Link | --- | Section 3.3.2.6 |
+ | | Attribute | | |
+ | 1098 | Link Name | --- | Section 3.3.2.7 |
+ +-----------+---------------------+--------------+------------------+
+
+ Table 9: Link Attribute TLVs
+
+3.3.2.1. IPv4/IPv6 Router-ID TLVs
+
+ The local/remote IPv4/IPv6 Router-ID TLVs are used to describe
+ auxiliary Router-IDs that the IGP might be using, e.g., for TE
+ purposes. All auxiliary Router-IDs of both the local and the remote
+ node MUST be included in the link attribute of each Link NLRI. If
+ there is more than one auxiliary Router-ID of a given type, then
+ multiple TLVs are used to encode them.
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 24]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.3.2.2. MPLS Protocol Mask TLV
+
+ The MPLS Protocol Mask TLV carries a bit mask describing which MPLS
+ signaling protocols are enabled. The length of this TLV is 1. The
+ value is a bit array of 8 flags, where each bit represents an MPLS
+ Protocol capability.
+
+ Generation of the MPLS Protocol Mask TLV is only valid for and SHOULD
+ only be used with originators that have local link insight, for
+ example, the Protocol-IDs 'Static configuration' or 'Direct' as per
+ Table 2. The MPLS Protocol Mask TLV MUST NOT be included in NLRIs
+ with the other Protocol-IDs listed in Table 2.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |L|R| Reserved |
+ +-+-+-+-+-+-+-+-+
+
+ Figure 19: MPLS Protocol Mask TLV
+
+ The following bits are defined:
+
+ +------------+------------------------------------------+-----------+
+ | Bit | Description | Reference |
+ +------------+------------------------------------------+-----------+
+ | 'L' | Label Distribution Protocol (LDP) | [RFC5036] |
+ | 'R' | Extension to RSVP for LSP Tunnels | [RFC3209] |
+ | | (RSVP-TE) | |
+ | 'Reserved' | Reserved for future use | |
+ +------------+------------------------------------------+-----------+
+
+ Table 10: MPLS Protocol Mask TLV Codes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 25]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.3.2.3. TE Default Metric TLV
+
+ The TE Default Metric TLV carries the Traffic Engineering metric for
+ this link. The length of this TLV is fixed at 4 octets. If a source
+ protocol uses a metric width of less than 32 bits, then the high-
+ order bits of this field MUST be padded with zero.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TE Default Link Metric |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 20: TE Default Metric TLV Format
+
+3.3.2.4. IGP Metric TLV
+
+ The IGP Metric TLV carries the metric for this link. The length of
+ this TLV is variable, depending on the metric width of the underlying
+ protocol. IS-IS small metrics have a length of 1 octet (the two most
+ significant bits are ignored). OSPF link metrics have a length of 2
+ octets. IS-IS wide metrics have a length of 3 octets.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // IGP Link Metric (variable length) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 21: IGP Metric TLV Format
+
+3.3.2.5. Shared Risk Link Group TLV
+
+ The Shared Risk Link Group (SRLG) TLV carries the Shared Risk Link
+ Group information (see Section 2.3 ("Shared Risk Link Group
+ Information") of [RFC4202]). It contains a data structure consisting
+ of a (variable) list of SRLG values, where each element in the list
+ has 4 octets, as shown in Figure 22. The length of this TLV is 4 *
+ (number of SRLG values).
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 26]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Shared Risk Link Group Value |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // ............ //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Shared Risk Link Group Value |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 22: Shared Risk Link Group TLV Format
+
+ The SRLG TLV for OSPF-TE is defined in [RFC4203]. In IS-IS, the SRLG
+ information is carried in two different TLVs: the IPv4 (SRLG) TLV
+ (Type 138) defined in [RFC5307] and the IPv6 SRLG TLV (Type 139)
+ defined in [RFC6119]. In Link-State NLRI, both IPv4 and IPv6 SRLG
+ information are carried in a single TLV.
+
+3.3.2.6. Opaque Link Attribute TLV
+
+ The Opaque Link Attribute TLV is an envelope that transparently
+ carries optional Link Attribute TLVs advertised by a router. An
+ originating router shall use this TLV for encoding information
+ specific to the protocol advertised in the NLRI header Protocol-ID
+ field or new protocol extensions to the protocol as advertised in the
+ NLRI header Protocol-ID field for which there is no protocol-neutral
+ representation in the BGP Link-State NLRI. The primary use of the
+ Opaque Link Attribute TLV is to bridge the document lag between,
+ e.g., a new IGP link-state attribute being defined and the 'protocol-
+ neutral' BGP-LS extensions being published.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Opaque link attributes (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 23: Opaque Link Attribute TLV Format
+
+3.3.2.7. Link Name TLV
+
+ The Link Name TLV is optional. The Value field identifies the
+ symbolic name of the router link. This symbolic name can be the FQDN
+ for the link, it can be a subset of the FQDN, or it can be any string
+
+
+
+Gredler, et al. Standards Track [Page 27]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ operators want to use for the link. The use of FQDN or a subset of
+ it is strongly RECOMMENDED. The maximum length of the Link Name TLV
+ is 255 octets.
+
+ The Value field is encoded in 7-bit ASCII. If a user interface for
+ configuring or displaying this field permits Unicode characters, that
+ user interface is responsible for applying the ToASCII and/or
+ ToUnicode algorithm as described in [RFC5890] to achieve the correct
+ format for transmission or display.
+
+ How a router derives and injects link names is outside of the scope
+ of this document.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Link Name (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 24: Link Name TLV Format
+
+3.3.3. Prefix Attribute TLVs
+
+ Prefixes are learned from the IGP topology (IS-IS or OSPF) with a set
+ of IGP attributes (such as metric, route tags, etc.) that MUST be
+ reflected into the BGP-LS attribute with a prefix NLRI. This section
+ describes the different attributes related to the IPv4/IPv6 prefixes.
+ Prefix Attribute TLVs SHOULD be used when advertising NLRI types 3
+ and 4 only. The following Prefix Attribute TLVs are defined:
+
+ +---------------+----------------------+----------+-----------------+
+ | TLV Code | Description | Length | Reference |
+ | Point | | | |
+ +---------------+----------------------+----------+-----------------+
+ | 1152 | IGP Flags | 1 | Section 3.3.3.1 |
+ | 1153 | IGP Route Tag | 4*n | [RFC5130] |
+ | 1154 | IGP Extended Route | 8*n | [RFC5130] |
+ | | Tag | | |
+ | 1155 | Prefix Metric | 4 | [RFC5305] |
+ | 1156 | OSPF Forwarding | 4 | [RFC2328] |
+ | | Address | | |
+ | 1157 | Opaque Prefix | variable | Section 3.3.3.6 |
+ | | Attribute | | |
+ +---------------+----------------------+----------+-----------------+
+
+ Table 11: Prefix Attribute TLVs
+
+
+
+Gredler, et al. Standards Track [Page 28]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.3.3.1. IGP Flags TLV
+
+ The IGP Flags TLV contains IS-IS and OSPF flags and bits originally
+ assigned to the prefix. The IGP Flags TLV is encoded as follows:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |D|N|L|P| Resvd.|
+ +-+-+-+-+-+-+-+-+
+
+ Figure 25: IGP Flag TLV Format
+
+ The Value field contains bits defined according to the table below:
+
+ +----------+---------------------------+-----------+
+ | Bit | Description | Reference |
+ +----------+---------------------------+-----------+
+ | 'D' | IS-IS Up/Down Bit | [RFC5305] |
+ | 'N' | OSPF "no unicast" Bit | [RFC5340] |
+ | 'L' | OSPF "local address" Bit | [RFC5340] |
+ | 'P' | OSPF "propagate NSSA" Bit | [RFC5340] |
+ | Reserved | Reserved for future use. | |
+ +----------+---------------------------+-----------+
+
+ Table 12: IGP Flag Bits Definitions
+
+3.3.3.2. IGP Route Tag TLV
+
+ The IGP Route Tag TLV carries original IGP Tags (IS-IS [RFC5130] or
+ OSPF) of the prefix and is encoded as follows:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Route Tags (one or more) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 26: IGP Route Tag TLV Format
+
+ Length is a multiple of 4.
+
+ The Value field contains one or more Route Tags as learned in the IGP
+ topology.
+
+
+
+Gredler, et al. Standards Track [Page 29]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+3.3.3.3. Extended IGP Route Tag TLV
+
+ The Extended IGP Route Tag TLV carries IS-IS Extended Route Tags of
+ the prefix [RFC5130] and is encoded as follows:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Extended Route Tag (one or more) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 27: Extended IGP Route Tag TLV Format
+
+ Length is a multiple of 8.
+
+ The Extended Route Tag field contains one or more Extended Route Tags
+ as learned in the IGP topology.
+
+3.3.3.4. Prefix Metric TLV
+
+ The Prefix Metric TLV is an optional attribute and may only appear
+ once. If present, it carries the metric of the prefix as known in
+ the IGP topology as described in Section 4 of [RFC5305] (and
+ therefore represents the reachability cost to the prefix). If not
+ present, it means that the prefix is advertised without any
+ reachability.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Metric |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 28: Prefix Metric TLV Format
+
+ Length is 4.
+
+3.3.3.5. OSPF Forwarding Address TLV
+
+ The OSPF Forwarding Address TLV [RFC2328] [RFC5340] carries the OSPF
+ forwarding address as known in the original OSPF advertisement.
+ Forwarding address can be either IPv4 or IPv6.
+
+
+
+
+
+Gredler, et al. Standards Track [Page 30]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Forwarding Address (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 29: OSPF Forwarding Address TLV Format
+
+ Length is 4 for an IPv4 forwarding address, and 16 for an IPv6
+ forwarding address.
+
+3.3.3.6. Opaque Prefix Attribute TLV
+
+ The Opaque Prefix Attribute TLV is an envelope that transparently
+ carries optional Prefix Attribute TLVs advertised by a router. An
+ originating router shall use this TLV for encoding information
+ specific to the protocol advertised in the NLRI header Protocol-ID
+ field or new protocol extensions to the protocol as advertised in the
+ NLRI header Protocol-ID field for which there is no protocol-neutral
+ representation in the BGP Link-State NLRI. The primary use of the
+ Opaque Prefix Attribute TLV is to bridge the document lag between,
+ e.g., a new IGP link-state attribute being defined and the protocol-
+ neutral BGP-LS extensions being published.
+
+ The format of the TLV is as follows:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Opaque Prefix Attributes (variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 30: Opaque Prefix Attribute TLV Format
+
+ Type is as specified in Table 11. Length is variable.
+
+3.4. BGP Next-Hop Information
+
+ BGP link-state information for both IPv4 and IPv6 networks can be
+ carried over either an IPv4 BGP session or an IPv6 BGP session. If
+ an IPv4 BGP session is used, then the next hop in the MP_REACH_NLRI
+ SHOULD be an IPv4 address. Similarly, if an IPv6 BGP session is
+ used, then the next hop in the MP_REACH_NLRI SHOULD be an IPv6
+ address. Usually, the next hop will be set to the local endpoint
+
+
+
+Gredler, et al. Standards Track [Page 31]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ address of the BGP session. The next-hop address MUST be encoded as
+ described in [RFC4760]. The Length field of the next-hop address
+ will specify the next-hop address family. If the next-hop length is
+ 4, then the next hop is an IPv4 address; if the next-hop length is
+ 16, then it is a global IPv6 address; and if the next-hop length is
+ 32, then there is one global IPv6 address followed by a link-local
+ IPv6 address. The link-local IPv6 address should be used as
+ described in [RFC2545]. For VPN Subsequent Address Family Identifier
+ (SAFI), as per custom, an 8-byte Route Distinguisher set to all zero
+ is prepended to the next hop.
+
+ The BGP Next Hop attribute is used by each BGP-LS speaker to validate
+ the NLRI it receives. In case identical NLRIs are sourced by
+ multiple originators, the BGP Next Hop attribute is used to tiebreak
+ as per the standard BGP path decision process. This specification
+ doesn't mandate any rule regarding the rewrite of the BGP Next Hop
+ attribute.
+
+3.5. Inter-AS Links
+
+ The main source of TE information is the IGP, which is not active on
+ inter-AS links. In some cases, the IGP may have information of
+ inter-AS links [RFC5392] [RFC5316]. In other cases, an
+ implementation SHOULD provide a means to inject inter-AS links into
+ BGP-LS. The exact mechanism used to provision the inter-AS links is
+ outside the scope of this document
+
+3.6. Router-ID Anchoring Example: ISO Pseudonode
+
+ Encoding of a broadcast LAN in IS-IS provides a good example of how
+ Router-IDs are encoded. Consider Figure 31. This represents a
+ Broadcast LAN between a pair of routers. The "real" (non-pseudonode)
+ routers have both an IPv4 Router-ID and IS-IS Node-ID. The
+ pseudonode does not have an IPv4 Router-ID. Node1 is the DIS for the
+ LAN. Two unidirectional links (Node1, Pseudonode1) and (Pseudonode1,
+ Node2) are being generated.
+
+ The Link NLRI of (Node1, Pseudonode1) is encoded as follows. The IGP
+ Router-ID TLV of the local Node Descriptor is 6 octets long and
+ contains the ISO-ID of Node1, 1920.0000.2001. The IGP Router-ID TLV
+ of the remote Node Descriptor is 7 octets long and contains the ISO-
+ ID of Pseudonode1, 1920.0000.2001.02. The BGP-LS attribute of this
+ link contains one local IPv4 Router-ID TLV (TLV type 1028) containing
+ 192.0.2.1, the IPv4 Router-ID of Node1.
+
+ The Link NLRI of (Pseudonode1, Node2) is encoded as follows. The IGP
+ Router-ID TLV of the local Node Descriptor is 7 octets long and
+ contains the ISO-ID of Pseudonode1, 1920.0000.2001.02. The IGP
+
+
+
+Gredler, et al. Standards Track [Page 32]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ Router-ID TLV of the remote Node Descriptor is 6 octets long and
+ contains the ISO-ID of Node2, 1920.0000.2002. The BGP-LS attribute
+ of this link contains one remote IPv4 Router-ID TLV (TLV type 1030)
+ containing 192.0.2.2, the IPv4 Router-ID of Node2.
+
+ +-----------------+ +-----------------+ +-----------------+
+ | Node1 | | Pseudonode1 | | Node2 |
+ |1920.0000.2001.00|--->|1920.0000.2001.02|--->|1920.0000.2002.00|
+ | 192.0.2.1 | | | | 192.0.2.2 |
+ +-----------------+ +-----------------+ +-----------------+
+
+ Figure 31: IS-IS Pseudonodes
+
+3.7. Router-ID Anchoring Example: OSPF Pseudonode
+
+ Encoding of a broadcast LAN in OSPF provides a good example of how
+ Router-IDs and local Interface IPs are encoded. Consider Figure 32.
+ This represents a Broadcast LAN between a pair of routers. The
+ "real" (non-pseudonode) routers have both an IPv4 Router-ID and an
+ Area Identifier. The pseudonode does have an IPv4 Router-ID, an IPv4
+ Interface Address (for disambiguation), and an OSPF Area. Node1 is
+ the DR for the LAN; hence, its local IP address 10.1.1.1 is used as
+ both the Router-ID and Interface IP for the pseudonode keys. Two
+ unidirectional links, (Node1, Pseudonode1) and (Pseudonode1, Node2),
+ are being generated.
+
+ The Link NLRI of (Node1, Pseudonode1) is encoded as follows:
+
+ o Local Node Descriptor
+
+ TLV #515: IGP Router-ID: 11.11.11.11
+
+ TLV #514: OSPF Area-ID: ID:0.0.0.0
+
+ o Remote Node Descriptor
+
+ TLV #515: IGP Router-ID: 11.11.11.11:10.1.1.1
+
+ TLV #514: OSPF Area-ID: ID:0.0.0.0
+
+ The Link NLRI of (Pseudonode1, Node2) is encoded as follows:
+
+ o Local Node Descriptor
+
+ TLV #515: IGP Router-ID: 11.11.11.11:10.1.1.1
+
+ TLV #514: OSPF Area-ID: ID:0.0.0.0
+
+
+
+
+Gredler, et al. Standards Track [Page 33]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ o Remote Node Descriptor
+
+ TLV #515: IGP Router-ID: 33.33.33.34
+
+ TLV #514: OSPF Area-ID: ID:0.0.0.0
+
+ +-----------------+ +-----------------+ +-----------------+
+ | Node1 | | Pseudonode1 | | Node2 |
+ | 11.11.11.11 |--->| 11.11.11.11 |--->| 33.33.33.34 |
+ | | | 10.1.1.1 | | |
+ | Area 0 | | Area 0 | | Area 0 |
+ +-----------------+ +-----------------+ +-----------------+
+
+ Figure 32: OSPF Pseudonodes
+
+3.8. Router-ID Anchoring Example: OSPFv2 to IS-IS Migration
+
+ Graceful migration from one IGP to another requires coordinated
+ operation of both protocols during the migration period. Such a
+ coordination requires identifying a given physical link in both IGPs.
+ The IPv4 Router-ID provides that "glue", which is present in the Node
+ Descriptors of the OSPF Link NLRI and in the link attribute of the
+ IS-IS Link NLRI.
+
+ Consider a point-to-point link between two routers, A and B, that
+ initially were OSPFv2-only routers and then IS-IS is enabled on them.
+ Node A has IPv4 Router-ID and ISO-ID; node B has IPv4 Router-ID, IPv6
+ Router-ID, and ISO-ID. Each protocol generates one Link NLRI for the
+ link (A, B), both of which are carried by BGP-LS. The OSPFv2 Link
+ NLRI for the link is encoded with the IPv4 Router-ID of nodes A and B
+ in the local and remote Node Descriptors, respectively. The IS-IS
+ Link NLRI for the link is encoded with the ISO-ID of nodes A and B in
+ the local and remote Node Descriptors, respectively. In addition,
+ the BGP-LS attribute of the IS-IS Link NLRI contains the TLV type
+ 1028 containing the IPv4 Router-ID of node A, TLV type 1030
+ containing the IPv4 Router-ID of node B, and TLV type 1031 containing
+ the IPv6 Router-ID of node B. In this case, by using IPv4 Router-ID,
+ the link (A, B) can be identified in both the IS-IS and OSPF
+ protocol.
+
+4. Link to Path Aggregation
+
+ Distribution of all links available in the global Internet is
+ certainly possible; however, it not desirable from a scaling and
+ privacy point of view. Therefore, an implementation may support a
+ link to path aggregation. Rather than advertising all specific links
+ of a domain, an ASBR may advertise an "aggregate link" between a non-
+ adjacent pair of nodes. The "aggregate link" represents the
+
+
+
+Gredler, et al. Standards Track [Page 34]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ aggregated set of link properties between a pair of non-adjacent
+ nodes. The actual methods to compute the path properties (of
+ bandwidth, metric, etc.) are outside the scope of this document. The
+ decision whether to advertise all specific links or aggregated links
+ is an operator's policy choice. To highlight the varying levels of
+ exposure, the following deployment examples are discussed.
+
+4.1. Example: No Link Aggregation
+
+ Consider Figure 33. Both AS1 and AS2 operators want to protect their
+ inter-AS {R1, R3}, {R2, R4} links using RSVP-FRR LSPs. If R1 wants
+ to compute its link-protection LSP to R3, it needs to "see" an
+ alternate path to R3. Therefore, the AS2 operator exposes its
+ topology. All BGP-TE-enabled routers in AS1 "see" the full topology
+ of AS2 and therefore can compute a backup path. Note that the
+ computing router decides if the direct link between {R3, R4} or the
+ {R4, R5, R3} path is used.
+
+ AS1 : AS2
+ :
+ R1-------R3
+ | : | \
+ | : | R5
+ | : | /
+ R2-------R4
+ :
+ :
+
+ Figure 33: No Link Aggregation
+
+4.2. Example: ASBR to ASBR Path Aggregation
+
+ The brief difference between the "no-link aggregation" example and
+ this example is that no specific link gets exposed. Consider
+ Figure 34. The only link that gets advertised by AS2 is an
+ "aggregate" link between R3 and R4. This is enough to tell AS1 that
+ there is a backup path. However, the actual links being used are
+ hidden from the topology.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 35]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ AS1 : AS2
+ :
+ R1-------R3
+ | : |
+ | : |
+ | : |
+ R2-------R4
+ :
+ :
+
+ Figure 34: ASBR Link Aggregation
+
+4.3. Example: Multi-AS Path Aggregation
+
+ Service providers in control of multiple ASes may even decide to not
+ expose their internal inter-AS links. Consider Figure 35. AS3 is
+ modeled as a single node that connects to the border routers of the
+ aggregated domain.
+
+ AS1 : AS2 : AS3
+ : :
+ R1-------R3-----
+ | : : \
+ | : : vR0
+ | : : /
+ R2-------R4-----
+ : :
+ : :
+
+ Figure 35: Multi-AS Aggregation
+
+5. IANA Considerations
+
+ IANA has assigned address family number 16388 (BGP-LS) in the
+ "Address Family Numbers" registry with this document as a reference.
+
+ IANA has assigned SAFI values 71 (BGP-LS) and 72 (BGP-LS-VPN) in the
+ "SAFI Values" sub-registry under the "Subsequent Address Family
+ Identifiers (SAFI) Parameters" registry.
+
+ IANA has assigned value 29 (BGP-LS Attribute) in the "BGP Path
+ Attributes" sub-registry under the "Border Gateway Protocol (BGP)
+ Parameters" registry.
+
+ IANA has created a new "Border Gateway Protocol - Link State (BGP-LS)
+ Parameters" registry at <http://www.iana.org/assignments/bgp-ls-
+ parameters>. All of the following registries are BGP-LS specific and
+ are accessible under this registry:
+
+
+
+Gredler, et al. Standards Track [Page 36]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ o "BGP-LS NLRI-Types" registry
+
+ Value 0 is reserved. The maximum value is 65535. The registry
+ has been populated with the values shown in Table 1. Allocations
+ within the registry require documentation of the proposed use of
+ the allocated value (Specification Required) and approval by the
+ Designated Expert assigned by the IESG (see [RFC5226]).
+
+ o "BGP-LS Protocol-IDs" registry
+
+ Value 0 is reserved. The maximum value is 255. The registry has
+ been populated with the values shown in Table 2. Allocations
+ within the registry require documentation of the proposed use of
+ the allocated value (Specification Required) and approval by the
+ Designated Expert assigned by the IESG (see [RFC5226]).
+
+ o "BGP-LS Well-Known Instance-IDs" registry
+
+ The registry has been populated with the values shown in Table 3.
+ New allocations from the range 1-31 use the IANA allocation policy
+ "Specification Required" and require approval by the Designated
+ Expert assigned by the IESG (see [RFC5226]). Values in the range
+ 32 to 2^64-1 are for "Private Use" and are not recorded by IANA.
+
+ o "BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and
+ Attribute TLVs" registry
+
+ Values 0-255 are reserved. Values 256-65535 will be used for code
+ points. The registry has been populated with the values shown in
+ Table 13. Allocations within the registry require documentation
+ of the proposed use of the allocated value (Specification
+ Required) and approval by the Designated Expert assigned by the
+ IESG (see [RFC5226]).
+
+5.1. Guidance for Designated Experts
+
+ In all cases of review by the Designated Expert (DE) described here,
+ the DE is expected to ascertain the existence of suitable
+ documentation (a specification) as described in [RFC5226] and to
+ verify that the document is permanently and publicly available. The
+ DE is also expected to check the clarity of purpose and use of the
+ requested code points. Last, the DE must verify that any
+ specification produced in the IETF that requests one of these code
+ points has been made available for review by the IDR working group
+ and that any specification produced outside the IETF does not
+ conflict with work that is active or already published within the
+ IETF.
+
+
+
+
+Gredler, et al. Standards Track [Page 37]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+6. Manageability Considerations
+
+ This section is structured as recommended in [RFC5706].
+
+6.1. Operational Considerations
+
+6.1.1. Operations
+
+ Existing BGP operational procedures apply. No new operation
+ procedures are defined in this document. It is noted that the NLRI
+ information present in this document carries purely application-level
+ data that has no immediate corresponding forwarding state impact. As
+ such, any churn in reachability information has a different impact
+ than regular BGP updates, which need to change the forwarding state
+ for an entire router. Furthermore, it is anticipated that
+ distribution of this NLRI will be handled by dedicated route
+ reflectors providing a level of isolation and fault containment
+ between different NLRI types.
+
+6.1.2. Installation and Initial Setup
+
+ Configuration parameters defined in Section 6.2.3 SHOULD be
+ initialized to the following default values:
+
+ o The Link-State NLRI capability is turned off for all neighbors.
+
+ o The maximum rate at which Link-State NLRIs will be advertised/
+ withdrawn from neighbors is set to 200 updates per second.
+
+6.1.3. Migration Path
+
+ The proposed extension is only activated between BGP peers after
+ capability negotiation. Moreover, the extensions can be turned on/
+ off on an individual peer basis (see Section 6.2.3), so the extension
+ can be gradually rolled out in the network.
+
+6.1.4. Requirements on Other Protocols and Functional Components
+
+ The protocol extension defined in this document does not put new
+ requirements on other protocols or functional components.
+
+6.1.5. Impact on Network Operation
+
+ Frequency of Link-State NLRI updates could interfere with regular BGP
+ prefix distribution. A network operator MAY use a dedicated Route-
+ Reflector infrastructure to distribute Link-State NLRIs.
+
+
+
+
+
+Gredler, et al. Standards Track [Page 38]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ Distribution of Link-State NLRIs SHOULD be limited to a single admin
+ domain, which can consist of multiple areas within an AS or multiple
+ ASes.
+
+6.1.6. Verifying Correct Operation
+
+ Existing BGP procedures apply. In addition, an implementation SHOULD
+ allow an operator to:
+
+ o List neighbors with whom the speaker is exchanging Link-State
+ NLRIs.
+
+6.2. Management Considerations
+
+6.2.1. Management Information
+
+ The IDR working group has documented and continues to document parts
+ of the Management Information Base and YANG models for managing and
+ monitoring BGP speakers and the sessions between them. It is
+ currently believed that the BGP session running BGP-LS is not
+ substantially different from any other BGP session and can be managed
+ using the same data models.
+
+6.2.2. Fault Management
+
+ If an implementation of BGP-LS detects a malformed attribute, then it
+ MUST use the 'Attribute Discard' action as per [RFC7606], Section 2.
+
+ An implementation of BGP-LS MUST perform the following syntactic
+ checks for determining if a message is malformed.
+
+ o Does the sum of all TLVs found in the BGP-LS attribute correspond
+ to the BGP-LS path attribute length?
+
+ o Does the sum of all TLVs found in the BGP MP_REACH_NLRI attribute
+ correspond to the BGP MP_REACH_NLRI length?
+
+ o Does the sum of all TLVs found in the BGP MP_UNREACH_NLRI
+ attribute correspond to the BGP MP_UNREACH_NLRI length?
+
+ o Does the sum of all TLVs found in a Node, Link or Prefix
+ Descriptor NLRI attribute correspond to the Total NLRI Length
+ field of the Node, Link, or Prefix Descriptors?
+
+ o Does any fixed-length TLV correspond to the TLV Length field in
+ this document?
+
+
+
+
+
+Gredler, et al. Standards Track [Page 39]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+6.2.3. Configuration Management
+
+ An implementation SHOULD allow the operator to specify neighbors to
+ which Link-State NLRIs will be advertised and from which Link-State
+ NLRIs will be accepted.
+
+ An implementation SHOULD allow the operator to specify the maximum
+ rate at which Link-State NLRIs will be advertised/withdrawn from
+ neighbors.
+
+ An implementation SHOULD allow the operator to specify the maximum
+ number of Link-State NLRIs stored in a router's Routing Information
+ Base (RIB).
+
+ An implementation SHOULD allow the operator to create abstracted
+ topologies that are advertised to neighbors and create different
+ abstractions for different neighbors.
+
+ An implementation SHOULD allow the operator to configure a 64-bit
+ Instance-ID.
+
+ An implementation SHOULD allow the operator to configure a pair of
+ ASN and BGP-LS identifiers (Section 3.2.1.4) per flooding set in
+ which the node participates.
+
+6.2.4. Accounting Management
+
+ Not Applicable.
+
+6.2.5. Performance Management
+
+ An implementation SHOULD provide the following statistics:
+
+ o Total number of Link-State NLRI updates sent/received
+
+ o Number of Link-State NLRI updates sent/received, per neighbor
+
+ o Number of errored received Link-State NLRI updates, per neighbor
+
+ o Total number of locally originated Link-State NLRIs
+
+ These statistics should be recorded as absolute counts since system
+ or session start time. An implementation MAY also enhance this
+ information by recording peak per-second counts in each case.
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 40]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+6.2.6. Security Management
+
+ An operator SHOULD define an import policy to limit inbound updates
+ as follows:
+
+ o Drop all updates from consumer peers.
+
+ An implementation MUST have the means to limit inbound updates.
+
+7. TLV/Sub-TLV Code Points Summary
+
+ This section contains the global table of all TLVs/sub-TLVs defined
+ in this document.
+
+ +-----------+---------------------+--------------+------------------+
+ | TLV Code | Description | IS-IS TLV/ | Reference |
+ | Point | | Sub-TLV | (RFC/Section) |
+ +-----------+---------------------+--------------+------------------+
+ | 256 | Local Node | --- | Section 3.2.1.2 |
+ | | Descriptors | | |
+ | 257 | Remote Node | --- | Section 3.2.1.3 |
+ | | Descriptors | | |
+ | 258 | Link Local/Remote | 22/4 | [RFC5307]/1.1 |
+ | | Identifiers | | |
+ | 259 | IPv4 interface | 22/6 | [RFC5305]/3.2 |
+ | | address | | |
+ | 260 | IPv4 neighbor | 22/8 | [RFC5305]/3.3 |
+ | | address | | |
+ | 261 | IPv6 interface | 22/12 | [RFC6119]/4.2 |
+ | | address | | |
+ | 262 | IPv6 neighbor | 22/13 | [RFC6119]/4.3 |
+ | | address | | |
+ | 263 | Multi-Topology ID | --- | Section 3.2.1.5 |
+ | 264 | OSPF Route Type | --- | Section 3.2.3 |
+ | 265 | IP Reachability | --- | Section 3.2.3 |
+ | | Information | | |
+ | 512 | Autonomous System | --- | Section 3.2.1.4 |
+ | 513 | BGP-LS Identifier | --- | Section 3.2.1.4 |
+ | 514 | OSPF Area-ID | --- | Section 3.2.1.4 |
+ | 515 | IGP Router-ID | --- | Section 3.2.1.4 |
+ | 1024 | Node Flag Bits | --- | Section 3.3.1.1 |
+ | 1025 | Opaque Node | --- | Section 3.3.1.5 |
+ | | Attribute | | |
+ | 1026 | Node Name | variable | Section 3.3.1.3 |
+ | 1027 | IS-IS Area | variable | Section 3.3.1.2 |
+ | | Identifier | | |
+ | 1028 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
+ | | Local Node | | |
+
+
+
+Gredler, et al. Standards Track [Page 41]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ | 1029 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
+ | | Local Node | | |
+ | 1030 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
+ | | Remote Node | | |
+ | 1031 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
+ | | Remote Node | | |
+ | 1088 | Administrative | 22/3 | [RFC5305]/3.1 |
+ | | group (color) | | |
+ | 1089 | Maximum link | 22/9 | [RFC5305]/3.4 |
+ | | bandwidth | | |
+ | 1090 | Max. reservable | 22/10 | [RFC5305]/3.5 |
+ | | link bandwidth | | |
+ | 1091 | Unreserved | 22/11 | [RFC5305]/3.6 |
+ | | bandwidth | | |
+ | 1092 | TE Default Metric | 22/18 | Section 3.3.2.3 |
+ | 1093 | Link Protection | 22/20 | [RFC5307]/1.2 |
+ | | Type | | |
+ | 1094 | MPLS Protocol Mask | --- | Section 3.3.2.2 |
+ | 1095 | IGP Metric | --- | Section 3.3.2.4 |
+ | 1096 | Shared Risk Link | --- | Section 3.3.2.5 |
+ | | Group | | |
+ | 1097 | Opaque Link | --- | Section 3.3.2.6 |
+ | | Attribute | | |
+ | 1098 | Link Name | --- | Section 3.3.2.7 |
+ | 1152 | IGP Flags | --- | Section 3.3.3.1 |
+ | 1153 | IGP Route Tag | --- | [RFC5130] |
+ | 1154 | IGP Extended Route | --- | [RFC5130] |
+ | | Tag | | |
+ | 1155 | Prefix Metric | --- | [RFC5305] |
+ | 1156 | OSPF Forwarding | --- | [RFC2328] |
+ | | Address | | |
+ | 1157 | Opaque Prefix | --- | Section 3.3.3.6 |
+ | | Attribute | | |
+ +-----------+---------------------+--------------+------------------+
+
+ Table 13: Summary Table of TLV/Sub-TLV Code Points
+
+8. Security Considerations
+
+ Procedures and protocol extensions defined in this document do not
+ affect the BGP security model. See the Security Considerations
+ section of [RFC4271] for a discussion of BGP security. Also refer to
+ [RFC4272] and [RFC6952] for analysis of security issues for BGP.
+
+ In the context of the BGP peerings associated with this document, a
+ BGP speaker MUST NOT accept updates from a consumer peer. That is, a
+ participating BGP speaker should be aware of the nature of its
+ relationships for link-state relationships and should protect itself
+
+
+
+Gredler, et al. Standards Track [Page 42]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ from peers sending updates that either represent erroneous
+ information feedback loops or are false input. Such protection can
+ be achieved by manual configuration of consumer peers at the BGP
+ speaker.
+
+ An operator SHOULD employ a mechanism to protect a BGP speaker
+ against DDoS attacks from consumers. The principal attack a consumer
+ may apply is to attempt to start multiple sessions either
+ sequentially or simultaneously. Protection can be applied by
+ imposing rate limits.
+
+ Additionally, it may be considered that the export of link-state and
+ TE information as described in this document constitutes a risk to
+ confidentiality of mission-critical or commercially sensitive
+ information about the network. BGP peerings are not automatic and
+ require configuration; thus, it is the responsibility of the network
+ operator to ensure that only trusted consumers are configured to
+ receive such information.
+
+9. References
+
+9.1. Normative References
+
+ [ISO10589] International Organization for Standardization,
+ "Intermediate System to Intermediate System intra-domain
+ routeing information exchange protocol for use in
+ conjunction with the protocol for providing the
+ connectionless-mode network service (ISO 8473)", ISO/
+ IEC 10589, November 2002.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <http://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
+ DOI 10.17487/RFC2328, April 1998,
+ <http://www.rfc-editor.org/info/rfc2328>.
+
+ [RFC2545] Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol
+ Extensions for IPv6 Inter-Domain Routing", RFC 2545,
+ DOI 10.17487/RFC2545, March 1999,
+ <http://www.rfc-editor.org/info/rfc2545>.
+
+ [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
+ and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
+ Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
+ <http://www.rfc-editor.org/info/rfc3209>.
+
+
+
+Gredler, et al. Standards Track [Page 43]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions
+ in Support of Generalized Multi-Protocol Label Switching
+ (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005,
+ <http://www.rfc-editor.org/info/rfc4202>.
+
+ [RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in
+ Support of Generalized Multi-Protocol Label Switching
+ (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005,
+ <http://www.rfc-editor.org/info/rfc4203>.
+
+ [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
+ Border Gateway Protocol 4 (BGP-4)", RFC 4271,
+ DOI 10.17487/RFC4271, January 2006,
+ <http://www.rfc-editor.org/info/rfc4271>.
+
+ [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
+ "Multiprotocol Extensions for BGP-4", RFC 4760,
+ DOI 10.17487/RFC4760, January 2007,
+ <http://www.rfc-editor.org/info/rfc4760>.
+
+ [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
+ Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
+ RFC 4915, DOI 10.17487/RFC4915, June 2007,
+ <http://www.rfc-editor.org/info/rfc4915>.
+
+ [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed.,
+ "LDP Specification", RFC 5036, DOI 10.17487/RFC5036,
+ October 2007, <http://www.rfc-editor.org/info/rfc5036>.
+
+ [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
+ Topology (MT) Routing in Intermediate System to
+ Intermediate Systems (IS-ISs)", RFC 5120,
+ DOI 10.17487/RFC5120, February 2008,
+ <http://www.rfc-editor.org/info/rfc5120>.
+
+ [RFC5130] Previdi, S., Shand, M., Ed., and C. Martin, "A Policy
+ Control Mechanism in IS-IS Using Administrative Tags",
+ RFC 5130, DOI 10.17487/RFC5130, February 2008,
+ <http://www.rfc-editor.org/info/rfc5130>.
+
+ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 5226,
+ DOI 10.17487/RFC5226, May 2008,
+ <http://www.rfc-editor.org/info/rfc5226>.
+
+ [RFC5301] McPherson, D. and N. Shen, "Dynamic Hostname Exchange
+ Mechanism for IS-IS", RFC 5301, DOI 10.17487/RFC5301,
+ October 2008, <http://www.rfc-editor.org/info/rfc5301>.
+
+
+
+Gredler, et al. Standards Track [Page 44]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
+ Engineering", RFC 5305, DOI 10.17487/RFC5305, October
+ 2008, <http://www.rfc-editor.org/info/rfc5305>.
+
+ [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions
+ in Support of Generalized Multi-Protocol Label Switching
+ (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008,
+ <http://www.rfc-editor.org/info/rfc5307>.
+
+ [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
+ for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
+ <http://www.rfc-editor.org/info/rfc5340>.
+
+ [RFC5890] Klensin, J., "Internationalized Domain Names for
+ Applications (IDNA): Definitions and Document Framework",
+ RFC 5890, DOI 10.17487/RFC5890, August 2010,
+ <http://www.rfc-editor.org/info/rfc5890>.
+
+ [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic
+ Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119,
+ February 2011, <http://www.rfc-editor.org/info/rfc6119>.
+
+ [RFC6549] Lindem, A., Roy, A., and S. Mirtorabi, "OSPFv2 Multi-
+ Instance Extensions", RFC 6549, DOI 10.17487/RFC6549,
+ March 2012, <http://www.rfc-editor.org/info/rfc6549>.
+
+ [RFC6822] Previdi, S., Ed., Ginsberg, L., Shand, M., Roy, A., and D.
+ Ward, "IS-IS Multi-Instance", RFC 6822,
+ DOI 10.17487/RFC6822, December 2012,
+ <http://www.rfc-editor.org/info/rfc6822>.
+
+ [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
+ Patel, "Revised Error Handling for BGP UPDATE Messages",
+ RFC 7606, DOI 10.17487/RFC7606, August 2015,
+ <http://www.rfc-editor.org/info/rfc7606>.
+
+9.2. Informative References
+
+ [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.,
+ and E. Lear, "Address Allocation for Private Internets",
+ BCP 5, RFC 1918, DOI 10.17487/RFC1918, February 1996,
+ <http://www.rfc-editor.org/info/rfc1918>.
+
+ [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
+ RFC 4272, DOI 10.17487/RFC4272, January 2006,
+ <http://www.rfc-editor.org/info/rfc4272>.
+
+
+
+
+
+Gredler, et al. Standards Track [Page 45]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
+ Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
+ 2006, <http://www.rfc-editor.org/info/rfc4364>.
+
+ [RFC4655] Farrel, A., Vasseur, JP., and J. Ash, "A Path Computation
+ Element (PCE)-Based Architecture", RFC 4655,
+ DOI 10.17487/RFC4655, August 2006,
+ <http://www.rfc-editor.org/info/rfc4655>.
+
+ [RFC5073] Vasseur, JP., Ed. and JL. Le Roux, Ed., "IGP Routing
+ Protocol Extensions for Discovery of Traffic Engineering
+ Node Capabilities", RFC 5073, DOI 10.17487/RFC5073,
+ December 2007, <http://www.rfc-editor.org/info/rfc5073>.
+
+ [RFC5152] Vasseur, JP., Ed., Ayyangar, A., Ed., and R. Zhang, "A
+ Per-Domain Path Computation Method for Establishing Inter-
+ Domain Traffic Engineering (TE) Label Switched Paths
+ (LSPs)", RFC 5152, DOI 10.17487/RFC5152, February 2008,
+ <http://www.rfc-editor.org/info/rfc5152>.
+
+ [RFC5316] Chen, M., Zhang, R., and X. Duan, "ISIS Extensions in
+ Support of Inter-Autonomous System (AS) MPLS and GMPLS
+ Traffic Engineering", RFC 5316, DOI 10.17487/RFC5316,
+ December 2008, <http://www.rfc-editor.org/info/rfc5316>.
+
+ [RFC5392] Chen, M., Zhang, R., and X. Duan, "OSPF Extensions in
+ Support of Inter-Autonomous System (AS) MPLS and GMPLS
+ Traffic Engineering", RFC 5392, DOI 10.17487/RFC5392,
+ January 2009, <http://www.rfc-editor.org/info/rfc5392>.
+
+ [RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic
+ Optimization (ALTO) Problem Statement", RFC 5693,
+ DOI 10.17487/RFC5693, October 2009,
+ <http://www.rfc-editor.org/info/rfc5693>.
+
+ [RFC5706] Harrington, D., "Guidelines for Considering Operations and
+ Management of New Protocols and Protocol Extensions",
+ RFC 5706, DOI 10.17487/RFC5706, November 2009,
+ <http://www.rfc-editor.org/info/rfc5706>.
+
+ [RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
+ BGP, LDP, PCEP, and MSDP Issues According to the Keying
+ and Authentication for Routing Protocols (KARP) Design
+ Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
+ <http://www.rfc-editor.org/info/rfc6952>.
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 46]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+ [RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
+ Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
+ "Application-Layer Traffic Optimization (ALTO) Protocol",
+ RFC 7285, DOI 10.17487/RFC7285, September 2014,
+ <http://www.rfc-editor.org/info/rfc7285>.
+
+ [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
+ S. Shaffer, "Extensions to OSPF for Advertising Optional
+ Router Capabilities", RFC 7770, DOI 10.17487/RFC7770,
+ February 2016, <http://www.rfc-editor.org/info/rfc7770>.
+
+Acknowledgements
+
+ We would like to thank Nischal Sheth, Alia Atlas, David Ward, Derek
+ Yeung, Murtuza Lightwala, John Scudder, Kaliraj Vairavakkalai, Les
+ Ginsberg, Liem Nguyen, Manish Bhardwaj, Matt Miller, Mike Shand,
+ Peter Psenak, Rex Fernando, Richard Woundy, Steven Luong, Tamas
+ Mondal, Waqas Alam, Vipin Kumar, Naiming Shen, Carlos Pignataro,
+ Balaji Rajagopalan, Yakov Rekhter, Alvaro Retana, Barry Leiba, and
+ Ben Campbell for their comments.
+
+Contributors
+
+ We would like to thank Robert Varga for the significant contribution
+ he gave to this document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 47]
+
+RFC 7752 Link-State Info Distribution Using BGP March 2016
+
+
+Authors' Addresses
+
+ Hannes Gredler (editor)
+ Individual Contributor
+
+ Email: hannes@gredler.at
+
+
+ Jan Medved
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134
+ United States
+
+ Email: jmedved@cisco.com
+
+
+ Stefano Previdi
+ Cisco Systems, Inc.
+ Via Del Serafico, 200
+ Rome 00142
+ Italy
+
+ Email: sprevidi@cisco.com
+
+
+ Adrian Farrel
+ Juniper Networks, Inc.
+
+ Email: adrian@olddog.co.uk
+
+
+ Saikat Ray
+
+ Email: raysaikat@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gredler, et al. Standards Track [Page 48]
+