RFC 5316
ISIS Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering
RFC 5316 β¨ ISIS Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering π
okay so this one is about teaching IS-IS to share traffic engineering info across AS boundaries π¦ It's a Standards Track doc from December 2008, and it's giving real infrastructure energy π
- Authors: M. Chen and R. Zhang (Huawei Technologies Co., Ltd), and X. Duan (China Mobile) π«Ά
- Category: Standards Track π₯
- Date: December 2008 π
- Obsoletes / Updates: the header doesn't list anything for either one πΈ
Status of This Memo π
This is an Internet standards track protocol spec for the Internet community, and the authors are literally asking for discussion and suggestions π«Ά For where it sits in the standardization state and status, check the current "Internet Official Protocol Standards" (STD 1) edition. Distribution is unlimited π
Copyright Notice Β©οΈ
Copyright (c) 2008 IETF Trust and the persons identified as the document authors. All rights reserved. π
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stood on the publication date. Read those carefully, bestie, because they explain your rights and restrictions π
Abstract π¦
Okay, the big picture: this doc extends IS-IS (ISIS) so it can support MPLS and GMPLS Traffic Engineering (TE) across multiple Autonomous Systems (ASes) β¨ It defines ISIS-TE extensions for flooding TE info about inter-AS links, and that info can be used for inter-AS TE path computation π§
No support for flooding information from within one AS to another AS is proposed or defined in this document. π Not happening, not here π
Table of Contents ποΈ
1. Introduction ....................................................2
1.1. Conventions Used in This Document ..........................3
2. Problem Statement ...............................................3
2.1. A Note on Non-Objectives ...................................4
2.2. Per-Domain Path Determination ..............................4
2.3. Backward Recursive Path Computation ........................6
3. Extensions to ISIS-TE ...........................................7
3.1. Inter-AS Reachability TLV ..................................7
3.2. TE Router ID ...............................................9
3.3. Sub-TLV Detail .............................................9
3.3.1. Remote AS Number Sub-TLV ............................9
3.3.2. IPv4 Remote ASBR ID Sub-TLV ........................10
3.3.3. IPv6 Remote ASBR ID Sub-TLV ........................11
3.3.4. IPv4 TE Router ID sub-TLV ..........................11
3.3.5. IPv6 TE Router ID sub-TLV ..........................12
4. Procedure for Inter-AS TE Links ................................12
4.1. Origin of Proxied TE Information ..........................14
5. Security Considerations ........................................14
6. IANA Considerations ............................................15
6.1. Inter-AS Reachability TLV .................................15
6.2. Sub-TLVs for the Inter-AS Reachability TLV ................15
6.3. Sub-TLVs for the IS-IS Router Capability TLV ..............17
7. Acknowledgments ................................................17
8. References .....................................................17
8.1. Normative References ......................................17
8.2. Informative References ....................................17
1. Introduction πΈ
So [ISIS-TE] adds IS-IS extensions ([ISIS]) for intra-area Traffic Engineering (TE) π It gives TE-enabled links inside the network (TE links) a way to be encoded and flooded within an area β¨ The extended IS reachability TLV and the traffic engineering router ID TLV, both from [ISIS-TE], carry that info π The extended IS reachability TLV also has a bunch of nested sub-TLVs that describe a TE link's TE attributes π§
[ISIS-TE-V3] and [GMPLS-TE] do the same kind of thing for IPv6 and GMPLS traffic engineering respectively π¦
Now the actual problem: MPLS TE Label Switched Paths (LSPs) that cross multiple Autonomous Systems (ASes) are covered in [INTER-AS-TE-REQ] π As [INTER-AS-TE-REQ] explains, a method SHOULD provide the ability to compute a path spanning multiple ASes π So the path computation entity (which could be the head-end Label Switching Router (LSR), an AS Border Router (ASBR), or a Path Computation Element (PCE [PCE])) needs TE info not just for links inside its AS, but also for the links that connect out to other ASes π
Here's what this doc adds. There's a new TLV, the inter-AS reachability TLV, that advertises inter-AS TE info π There are also three new sub-TLVs that go inside it to carry the remote AS number and the remote ASBR ID β¨ The sub-TLVs already defined in [ISIS-TE], [ISIS-TE-V3], and other docs for the extended IS reachability TLV, which describe a TE link's TE properties, also apply inside the inter-AS reachability TLV for describing an inter-AS TE link π«Ά Two more new sub-TLVs go inside the IS-IS router capability TLV, to carry the TE Router ID when it needs to reach all routers in an entire ISIS routing domain π§ The extensions work the same for IPv4 and IPv6, since they're identical to [ISIS-TE] and [ISIS-TE-V3] π Details and procedures are in the sections that follow π¦
This document does not propose or define any mechanisms to advertise any other extra-AS TE information within ISIS. π See Section 2.1 for the full list of non-objectives, because there's a lot of stuff this doc is NOT doing π
1.1. Conventions Used in This Document π
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. Problem Statement π₯
So imagine setting up an inter-AS TE LSP that goes through multiple ASes β¨ As [INTER-AS-TE-REQ] describes, the Path message [RFC3209] can put these into the Explicit Route Object (ERO) to describe the LSP's path π
- a set of AS numbers as loose hops, and/or
- a set of LSRs including ASBRs as loose hops.
There are two methods being discussed for figuring out inter-AS paths π The per-domain method [PD-PATH] works out the path one domain at a time π¦ The backward recursive method [BRPC] has PCEs cooperate to find an optimum inter-domain path π The next sections look at how inter-AS TE link info could help in both cases π
2.1. A Note on Non-Objectives π ββοΈ
Important: this doc does NOT change the confidentiality and scaling assumptions around using ASes on the Internet π«Ά It also conforms to the requirements in [INTER-AS-TE-REQ] β¨
These are explicitly out of scope:
- There is no attempt to distribute TE information from within one AS to another AS.
- There is no mechanism proposed to distribute any form of TE reachability information for destinations outside the AS.
- There is no proposed change to the PCE architecture or usage.
- TE aggregation is not supported or recommended.
- There is no exchange of private information between ASes.
- No ISIS adjacencies are formed on the inter-AS link.
2.2. Per-Domain Path Determination πΊοΈ
So in the per-domain method for finding an inter-AS path for an MPLS-TE LSP, here's the situation π An LSR that's the entry point to an AS gets a Path message from an upstream AS, and the ERO has a next hop that's an AS number β¨ That LSR needs to find which LSRs (ASBRs) inside its local AS are connected to the downstream AS π Then it can compute a TE LSP segment across the local AS to one of those LSRs, forward the Path message to that LSR, and that gets it into the next AS π¦ Check out Figure 1 for an example π
R1------R3----R5-----R7------R9-----R11
| | \ | / |
| | \ | ---- |
| | \ | / |
R2------R4----R6 --R8------R10----R12
: :
<-- AS1 -->:<---- AS2 --->:<--- AS3 --->
Figure 1: Inter-AS Reference Model
The figure shows three ASes (AS1, AS2, and AS3) and twelve LSRs (R1 through R12) π R3 and R4 are ASBRs in AS1 π§ R5, R6, R7, and R8 are ASBRs in AS2 π R9 and R10 are ASBRs in AS3 π«Ά
If an inter-AS TE LSP is planned from R1 to R12, the AS sequence will be AS1, AS2, AS3 π
Say the Path message enters AS2 from R3 π³ The next hop in the ERO shows AS3, so R5 has to figure out a path segment across AS2 to reach AS3 π¦ R5 has three exit points from AS2 to choose from (R6, R7, and R8) β¨ It needs to know which of those give TE connectivity to AS3, and whether that connectivity (like available bandwidth) is enough for the requested LSP π
Now, if the next hop in the ERO is the entry ASBR for AS3 (say R9), R5 needs to know which of its exit ASBRs has a TE link that connects to R9 π There can be more than one ASBR connected to R9 (R7 and R8 in this example), so R5 also needs the TE properties of the inter-AS TE links to pick the right exit ASBR π₯
Once the Path message reaches the exit ASBR, the ASBR can pick any inter-AS TE link, unless the entry ASBR that computed the segment already made that choice πΈ
More details are in Section 4 of [PD-PATH], which clearly explains why advertising inter-AS links is desired π
To help R5 pick the correct exit ASBR, it needs:
- List of all inter-AS TE links for the local AS.
- TE properties of each inter-AS TE link.
- AS number of the neighboring AS connected to by each inter-AS TE link.
- Identity (TE Router ID) of the neighboring ASBR connected to by each inter-AS TE link.
In GMPLS networks, more info may also be needed to select the correct TE links, as defined in [GMPLS-TE] π§
The example above shows this info is needed at the entry-point ASBRs for each AS (or at the PCEs that provide computation services for those ASBRs) π It's also needed throughout the local AS if path computation is fully distributed among the LSRs in that AS, for example to support LSPs whose start points (ingress nodes) are inside the AS π«Άβ¨
2.3. Backward Recursive Path Computation β¨
Okay so another scenario with PCE techniques has the same problem π«Ά [BRPC] defines a PCE-based TE LSP computation method (called Backward Recursive Path Computation) for computing optimal inter-domain constrained MPLS-TE or GMPLS LSPs. In this method, the specific set of traversed domains (ASes) is picked before computation starts. Each downstream PCE in domain(i) sends back to its upstream neighbor PCE in domain(i-1) a multipoint-to-point tree of potential paths. Each tree is the set of paths from all boundary nodes in domain(i) to the destination, and every path has to satisfy the set of required constraints for the TE LSP (bandwidth, affinities, etc.) π
So a PCE needs to choose boundary nodes (that is, ASBRs) that give connectivity from the upstream AS. For the tree of paths from one PCE to its neighbor to line up, the identities of the ASBRs on each path need to be referenced. That means the PCE must know the identities of the ASBRs in the remote AS that are reached by any inter-AS TE link. And to hand over only suitable paths in the tree, the PCE must know the TE properties of the inter-AS TE links π₯ Here's an example figure:
PCE1<------>PCE2<-------->PCE3
/ : :
/ : :
R1------R3----R5-----R7------R9-----R11
| | \ | / |
| | \ | ---- |
| | \ | / |
R2------R4----R6 --R8------R10----R12
: :
<-- AS1 -->:<---- AS2 --->:<--- AS3 --->
Figure 2: BRPC for Inter-AS Reference Model
The figure shows three ASes (AS1, AS2, and AS3), three PCEs (PCE1, PCE2, and PCE3), and twelve LSRs (R1 through R12). R3 and R4 are ASBRs in AS1. R5, R6, R7, and R8 are ASBRs in AS2. R9 and R10 are ASBRs in AS3. PCE1, PCE2, and PCE3 work together to do inter-AS path computation, and each is responsible for path segment computation within its own domain(s) πΈ
Say an inter-AS TE LSP is planned from R1 to R12. The traversed domains are picked as AS1->AS2->AS3, and the PCE chain is PCE1->PCE2->PCE3. First, the path computation request from the PCC (R1) gets relayed by PCE1 and PCE2 down the PCE chain to PCE3. Then PCE3 starts computing the path segments from the entry boundary nodes that connect AS2 to the destination (R12). But to produce suitable path segments, PCE3 must figure out which entry boundary nodes give connectivity to its upstream neighbor AS (identified by its AS number), and it must know the TE properties of the inter-AS TE links. Same deal for PCE2: it also needs to work out the entry boundary nodes based on its upstream neighbor AS and the inter-AS TE link capabilities π§
So, to support Backward Recursive Path Computation, the same information listed in Section 2.2 is required. The AS number of the neighboring AS that each inter-AS TE link connects to is especially important π
3. Extensions to ISIS-TE π
Heads up: this document does not define mechanisms for distributing TE information from one AS to another, does not distribute any form of TE reachability information for destinations outside the AS, does not change the PCE architecture or usage, does not suggest or recommend any form of TE aggregation, and does not feed private information between ASes. See Section 2.1 π
In this document, a new TLV called the inter-AS reachability TLV is defined for advertising inter-AS TE links. Three new sub-TLVs are also defined to go inside the inter-AS reachability TLV, carrying the neighboring AS number and the remote ASBR ID of an inter-AS link. The sub-TLVs that [ISIS-TE], [ISIS-TE-V3], and other documents define for the extended IS reachability TLV can also go inside the inter-AS reachability TLV when advertising inter-AS TE links. Two other new sub-TLVs are defined for the IS-IS router capability TLV, carrying the TE Router ID when it's needed to reach all routers within an entire ISIS routing domain π¦
While some of an inter-AS TE link's TE information may be available within the AS from other protocols, this mechanism carries all the information needed for the required TE operations, so nothing depends on where those other protocols get processed β¨
3.1. Inter-AS Reachability TLV π
The inter-AS reachability TLV has type 141 (see Section 6.1) and holds a data structure made up of:
- 4 octets of Router ID
- 3 octets of default metric
- 1 octet of control information, consisting of:
- 1 bit of flooding-scope information (S bit)
- 1 bit of up/down information (D bit)
- 6 bits reserved
- 1 octet of length of sub-TLVs
- 0-246 octets of sub-TLVs, where each sub-TLV is a sequence of:
- 1 octet of sub-type
- 1 octet of length of the value field of the sub-TLV
- 0-244 octets of value
Compared to the extended reachability TLV defined in [ISIS-TE], the inter-AS reachability TLV swaps the "7 octets of System ID and Pseudonode Number" field for a "4 octets of Router ID" field, and adds an extra "control information" field. That field has a flooding-scope bit (S bit), an up/down bit (D bit), and 6 reserved bits π
The Router ID field of the inter-AS reachability TLV is 4 octets long and holds the Router ID of the router that generates the inter-AS reachability TLV. The Router ID MUST be unique within the ISIS area. If the router generates an inter-AS reachability TLV with entire ISIS routing domain flooding scope, then the Router ID MUST also be unique within the entire ISIS routing domain. The Router ID could be used to indicate the source of the inter-AS reachability TLV π
The flooding procedures for the inter-AS reachability TLV are identical to the flooding procedures for the GENINFO TLV, which are defined in Section 4 of [GENINFO]. These procedures were previously discussed in [ISIS-CAP]. The flooding-scope bit (S bit) SHOULD be set to 0 if the flooding scope is to be limited to the single IGP area that the ASBR belongs to. It MAY be set to 1 if the information is meant to reach all routers (including area border routers, ASBRs, and PCEs) in the entire ISIS routing domain. Picking 0 or 1 is an AS-wide policy choice, and configuration control SHOULD be provided in ASBR implementations that support advertising inter-AS TE links π₯
The sub-TLVs that [ISIS-TE], [ISIS-TE-V3], and other documents define for describing the TE properties of a TE link also apply to the inter-AS reachability TLV for describing the TE properties of an inter-AS TE link. Apart from those, three new sub-TLVs are defined for inclusion in the inter-AS reachability TLV defined in this document:
Sub-TLV type Length Name
------------ ------ ---------------------------
24 4 remote AS number
25 4 IPv4 remote ASBR identifier
26 16 IPv6 remote ASBR identifier
The detailed definitions of the three new sub-TLVs are in Section 3.3 π
3.2. TE Router ID πΈ
The IPv4 TE Router ID TLV and IPv6 TE Router ID TLV, defined in [ISIS-TE] and [ISIS-TE-V3] respectively, only have area flooding-scope. When performing inter-AS TE, the TE Router ID MAY be needed to reach all routers within an entire ISIS routing domain, and it MUST have the same flooding scope as the inter-AS reachability TLV does π
[ISIS-CAP] defines a generic advertisement mechanism for ISIS that lets a router advertise its capabilities within an ISIS area or an entire ISIS routing domain. [ISIS-CAP] also points out that the TE Router ID is a candidate to be carried in the IS-IS router capability TLV when performing inter-area TE π¦
This document uses that mechanism for TE Router ID advertisement when the TE Router ID is needed to reach all routers within an entire ISIS Routing domain. Two new sub-TLVs are defined for the IS-IS router capability TLV to carry the IPv4 and IPv6 TE Router IDs, respectively:
Sub-TLV type Length Name
------------ ------ -----------------
11 4 IPv4 TE Router ID
12 16 IPv6 TE Router ID
The detailed definitions of the two new sub-TLVs are in Section 3.3 β¨
3.3. Sub-TLV Detail π§
3.3.1. Remote AS Number Sub-TLV π
A new sub-TLV, the remote AS number sub-TLV, is defined for inclusion in the inter-AS reachability TLV when advertising inter-AS links. The remote AS number sub-TLV specifies the AS number of the neighboring AS that the advertised link connects to π
The remote AS number sub-TLV is TLV type 24 (see Section 6.2) and is 4 octets in length. The format looks like this:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Remote AS number field is 4 octets. When only 2 octets are used for the AS number, as in current deployments, the left (high-order) 2 octets MUST be set to 0. The remote AS number sub-TLV MUST be included when a router advertises an inter-AS TE link π₯
3.3.2. IPv4 Remote ASBR ID Sub-TLV π¦
A new sub-TLV, called the IPv4 remote ASBR ID sub-TLV, is defined for inclusion in the inter-AS reachability TLV when advertising inter-AS links. The IPv4 remote ASBR ID sub-TLV specifies the IPv4 identifier of the remote ASBR that the advertised inter-AS link connects to. This could be any stable and routable IPv4 address of the remote ASBR. Use of the TE Router ID as specified in the Traffic Engineering router ID TLV [ISIS-TE] is RECOMMENDED π«Ά
The IPv4 remote ASBR ID sub-TLV is TLV type 25 (see Section 6.2) and is 4 octets in length. Its format 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv4 remote ASBR ID sub-TLV MUST be included if the neighboring ASBR has an IPv4 address. If the neighboring ASBR does not have an IPv4 address (not even an IPv4 TE Router ID), the IPv6 remote ASBR ID sub-TLV MUST be included instead. An IPv4 remote ASBR ID sub-TLV and an IPv6 remote ASBR ID sub-TLV MAY both be present in an extended IS reachability TLV π
3.3.3. IPv6 Remote ASBR ID Sub-TLV β¨
okay bestie, so there's a brand new sub-TLV called the IPv6 remote ASBR ID sub-TLV π It gets tucked into the inter-AS reachability TLV whenever you advertise an inter-AS link π Its whole job is to name the IPv6 identifier of the remote ASBR that the link connects to. It can be any stable and routable IPv6 address of that remote ASBR, and using the TE Router ID from the IPv6 Traffic Engineering router ID TLV [ISIS-TE-V3] is RECOMMENDED πΈ
This sub-TLV is TLV type 26 (see Section 6.2) and it's 16 octets long π Here's how it's laid out:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The IPv6 remote ASBR ID sub-TLV MUST be included if the neighboring ASBR has an IPv6 address. If the neighboring ASBR doesn't have one, the IPv4 remote ASBR ID sub-TLV MUST be included instead π«Ά An IPv4 remote ASBR ID sub-TLV and an IPv6 remote ASBR ID sub-TLV MAY both show up in an extended IS reachability TLV β¨
3.3.4. IPv4 TE Router ID sub-TLV π
The IPv4 TE Router ID sub-TLV is TLV type 11 (see Section 6.3) and it's 4 octets long π The layout looks like this:
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 Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
When the TE Router ID is needed to reach every router inside an entire ISIS routing domain, the IS-IS Router capability TLV MUST be included in its LSP π£ If an ASBR supports Traffic Engineering for IPv4 and has an IPv4 TE Router ID, the IPv4 TE Router ID sub-TLV MUST be included. If the ASBR doesn't have an IPv4 TE Router ID, the IPv6 TE Router sub-TLV MUST be included instead. An IPv4 TE Router ID sub-TLV and an IPv6 TE Router ID sub-TLV MAY both be present in an IS-IS router capability TLV π
3.3.5. IPv6 TE Router ID sub-TLV π¦
The IPv6 TE Router ID sub-TLV is TLV type 12 (see Section 6.3) and it's 4 octets long π§ Here's the 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Router ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Router ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Router ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Same deal as before: when the TE Router ID is needed to reach all routers within an entire ISIS routing domain, the IS-IS router capability TLV MUST be included in its LSP π₯ If an ASBR supports Traffic Engineering for IPv6 and has an IPv6 TE Router ID, the IPv6 TE Router ID sub-TLV MUST be included. If the ASBR doesn't have an IPv6 TE Router ID, the IPv4 TE Router sub-TLV MUST be included instead. An IPv4 TE Router ID sub-TLV and IPv6 TE Router ID sub-TLV MAY both be present in an IS-IS router capability TLV π
4. Procedure for Inter-AS TE Links π
okay, this is the part where we set the vibe for how ASBRs handle TE on inter-AS links π When TE is enabled on an inter-AS link and the link is up, the ASBR SHOULD advertise the link using the normal procedures for ISIS-TE [ISIS-TE]. When the link goes down or TE gets disabled on it, the ASBR SHOULD withdraw the advertisement π When the TE parameters change (like when the available bandwidth changes), the ASBR SHOULD re-advertise the link, but it MUST take precautions against excessive re-advertisements. no spamming the flooding, bestie π
Hellos MUST NOT be exchanged over the inter-AS link, and because of that, an ISIS adjacency MUST NOT be formed π« The info being advertised comes from the ASBR's knowledge of the link's TE capabilities, its knowledge of the link's current status and usage, and the configuration at the ASBR of the remote AS number and remote ASBR TE Router ID π§
Legacy routers that get an advertisement for an inter-AS TE link can just ignore it, since they don't know the new TLV and sub-TLVs defined in Section 3 of this document π They'll keep flooding the LSP, they just won't try to use the info β¨
Okay, the tea: in regular ISIS-TE, the LSRs at each end of a TE link emit LSAs describing the link. That means the databases in the LSRs have two entries (one generated locally, one from the peer) describing the two "directions" of the link. This lets Constrained Shortest Path First (CSPF) do a two-way check on the link during path computation, and it drops the link from consideration unless both directions satisfy the required constraints π§
Now here's the twist. In the case we're looking at (a TE link to another AS), there's by definition no IGP peering, so there's no bidirectional TE link information. For CSPF to include the link as a candidate path, we need some way to get LSAs describing its (bidirectional) TE properties into the TE database π―
The solution is for the ASBR to advertise, internally to its own AS, information about both directions of the TE link to the next AS π¦ The ASBR normally generates an LSA describing its own side of a link. Here, it acts as a "proxy" for the ASBR at the edge of the other AS and generates an extra LSA describing that device's "view" of the link π
Only some essential TE info needs to be advertised for an inter-AS TE link: the Interface Address, the remote AS number, and the remote ASBR ID πΈ
Routers or PCEs that can process advertisements of inter-AS TE links SHOULD NOT use such links to compute paths that exit an AS to a remote ASBR and then immediately re-enter the AS through another TE link π ββοΈ Those paths would be extremely rare, and they SHOULD NOT be allowed except as the result of specific policy configurations at the router or PCE computing the path π
4.1. Origin of Proxied TE Information π
Section 4 explains how an ASBR advertises TE link information as a proxy for its neighbor ASBR, but it doesn't say where that information comes from π€·ββοΈ
The source of this info is outside the scope of this document. It could well end up being a configuration requirement at the ASBR, just like other local properties of the TE link βοΈ And where BGP is used to exchange IP routing information between the ASBRs, a fair amount of extra local configuration about the link and the remote ASBR will probably be available π
We also note that it's possible, and may be operationally advantageous, to get some of the required configuration info from BGP π« Whether and how to use these possibilities is an implementation matter π οΈ
5. Security Considerations π
The protocol extensions in this document are relatively minor, and they can be secured within the AS where they're used by the existing ISIS security mechanisms (for example, the cleartext passwords or the Hashed Message Authentication Codes - Message Digest 5 (HMAC-MD5) algorithm, which are defined in [ISIS] and [RFC5304], respectively) π‘οΈ
There's no exchange of information between ASes, and no change to the ISIS security relationship between the ASes. In particular, since no ISIS adjacency is formed on the inter-AS links, there's no requirement for ISIS security between the ASes π
Some of the info in these new advertisements (like the remote AS number and the remote ASBR ID) is obtained manually from a neighboring administration as part of a commercial relationship π€ The source and content of this info should be carefully checked before it's entered as configuration at the ASBR responsible for advertising the inter-AS TE links. Double-check everything, bestie π¨
Worth noting: in the scenario we're considering, a Border Gateway Protocol (BGP) peering may exist between the two ASBRs, and it could be used to detect configuration inconsistencies (for example, the administration that originally supplied the info may be lying, or some manual mis-configurations or mistakes may be made by the operators) π For example, if a different remote AS number is received in a BGP OPEN [BGP] from the one locally configured for ISIS-TE, as we describe here, then local policy SHOULD be applied to decide whether to alert the operator to a potential mis-configuration or to suppress the ISIS advertisement of the inter-AS TE link π© Also, if BGP is used to exchange TE information as described in Section 4.1, the inter-AS BGP session SHOULD be secured using mechanisms described in [BGP] to provide authentication and integrity checks π
For a discussion of general security considerations for IS-IS, see [RFC5304] π
6. IANA Considerations π·
IANA has made the following allocations from registries under its control π
6.1. Inter-AS Reachability TLV π
This document defines the following new ISIS TLV type, described in Section 3.1, which has been registered in the ISIS TLV codepoint registry β¨
Type Description IIH LSP SNP
---- ---------------------- --- --- ---
141 inter-AS reachability n y n
information
6.2. Sub-TLVs for the Inter-AS Reachability TLV π
okay bestie, this is where we get the new sub-TLVs for TLV 141 π This doc defines three new sub-TLV types (the ones from Sections 3.3.1, 3.3.2, and 3.3.3) of top-level TLV 141 (see Section 6.1 above), and they've been registered in the ISIS sub-TLV registry for TLV 141. Now the important bit: these three new sub-TLVs SHOULD NOT appear in TLV 22 (or TLV 222) and MUST be ignored in TLV 22 (or TLV 222). Hard boundary, no cap π«
Type Description
---- ------------------------------
24 remote AS number
25 IPv4 remote ASBR Identifier
26 IPv6 remote ASBR Identifier
As we covered in Section 3.1, the sub-TLVs from [ISIS-TE], [ISIS-TE-V3], and other docs that describe the TE properties of a TE link also work for describing an inter-AS TE link π¦ They MAY be included in the inter-AS reachability TLV when adverting inter-AS TE links.
IANA updated the registry that used to be called "Sub-TLVs for TLV 22" so it's now "Sub-TLVs for TLVs 22, 141, and 222" π Three new columns were added to show which TLVs each sub-TLV can show up in. Every sub-TLV defined so far may be present in all three TLVs, so the registry (with the new sub-TLVs from this doc) looks like this:
TLV TLV TLV
Type Description 22 141 222 Reference
------- ------------------------------------ --- --- --- ---------
0 Unassigned y y y
1 Unassigned y y y
2 Unassigned y y y
3 Administrative group (color) y y y [RFC5305]
4 Link Local/Remote Identifiers y y y
[RFC4205][RFC5307]
5 Unassigned y y y
6 IPv4 interface address y y y [RFC5305]
7 Unassigned y y y
8 IPv4 neighbor address y y y [RFC5305]
9 Maximum link bandwidth y y y [RFC5305]
10 Maximum reservable link bandwidth y y y [RFC5305]
11 Unreserved bandwidth y y y [RFC5305]
12 Unassigned y y y
13 Unassigned y y y
14 Unassigned y y y
15 Unassigned y y y
16 Unassigned y y y
17 Unassigned y y y
18 TE Default metric y y y [RFC5305]
19 Link-attributes y y y [RFC5029]
20 Link Protection Type y y y
[RFC4205][RFC5307]
21 Interface Switching Capability Desc y y y
[RFC4205][RFC5307]
22 Bandwidth Constraints y y y [RFC4124]
23 Unconstrained TE LSP Count (sub-)TLV y y y [RFC5330]
24 remote AS number n y n [RFC5316]
25 IPv4 remote ASBR identifier n y n [RFC5316]
26 IPv6 remote ASBR identifier n y n [RFC5316]
27-249 Unassigned
250-254 Reserved for Cisco-specific exts
255 Reserved for future expansion
More sub-TLVs may be defined later for use in any of TLVs 22, 141, or 222 β¨ The renaming of the registry means there's no accidental overlap of sub-TLV codepoints, and the new columns make it super clear which sub-TLVs go where. Iconic organisation π
6.3. Sub-TLVs for the IS-IS Router Capability TLV π§
This doc defines two new sub-TLV types, described in Sections 3.3.4 and 3.3.5, of top-level TLV 242 (which is defined in [ISIS-CAP]). They've been registered in the ISIS sub-TLV registry for TLV 242 π
Type Description Length
---- ------------------------------ --------
11 IPv4 TE Router ID 4
12 IPv6 TE Router ID 16
7. Acknowledgments π«Ά
The authors want to thank Adrian Farrel, Jean-Louis Le Roux, Christian Hopps, Les Ginsberg, and Hannes Gredler for reviewing this document and sharing their comments. Real ones, all of them π
8. References π
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001.
[RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic Authentication", RFC 5304, October 2008.
[ISIS] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990.
[ISIS-CAP] Vasseur, JP., Ed., Shen, N., Ed., and R. Aggarwal, Ed., "Intermediate System to Intermediate System (IS-IS) Extensions for Advertising Router Information", RFC 4971, July 2007.
8.2. Informative References
[INTER-AS-TE-REQ] Zhang, R., Ed., and J.-P. Vasseur, Ed., "MPLS Inter-Autonomous System (AS) Traffic Engineering (TE) Requirements", RFC 4216, November 2005.
[PD-PATH] 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, February 2008.
[BRPC] Vasseur, JP., Ed., Zhang, R., Bitar, N., JL. Le Roux, "A Backward Recursive PCE-Based Computation (BRPC) Procedure to Compute Shortest Inter-Domain Traffic Engineering Label Switched Paths", Work in Progress, April 2008.
[PCE] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006.
[ISIS-TE] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, October 2008.
[ISIS-TE-V3] Harrison, J., Berger, J., and Bartlett, M., "IPv6 Traffic Engineering in IS-IS", Work in Progress, June 2008.
[GMPLS-TE] Kompella, K., Ed., and Y. Rekhter, Ed., "IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 5307, October 2008.
[BGP] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006.
[GENINFO] L. Ginsberg., Previdi, S., and M. Shand, "Advertising Generic Information in IS-IS", Work in Progress, June 2008.
Authors' Addresses π
Mach (Guoyi) Chen
Huawei Technologies Co., Ltd
KuiKe Building, No.9 Xinxi Rd.
Hai-Dian District
Beijing, 100085
P.R. China
EMail: mach@huawei.com
Renhai Zhang
Huawei Technologies Co., Ltd
KuiKe Building, No.9 Xinxi Rd.
Hai-Dian District
Beijing, 100085
P.R. China
EMail: zhangrenhai@huawei.com
Xiaodong Duan
China Mobile
53A, Xibianmennei Ave.
Xunwu District
Beijing, China
EMail: duanxiaodong@chinamobile.com
π¦ where this page comes from
- ietf: rfc5316 2008-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms