RFC 5392
OSPF Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering
RFC 5392: OSPF Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering β¨
Okay bestie, let's start with the basics π This one is an Standards Track doc from the Network Working Group, dated January 2009. The authors are M. Chen and R. Zhang from Huawei Technologies Co., Ltd., plus X. Duan from China Mobile πΈ Its header doesn't list anything it obsoletes or updates, so there's nothing to chase there π
Status of This Memo
This doc specifies an Internet standards track protocol for the Internet community, and it asks for discussion and suggestions for improvements. For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) π Distribution of this memo is unlimited π¦
Copyright Notice
Copyright (c) 2009 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) as they stand on the date of publication. Please read these carefully, because they spell out your rights and restrictions for this document π
Abstract
Okay, the big idea π§ This doc extends OSPF version 2 and version 3 so they can support Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering (TE) across multiple Autonomous Systems (ASes) π₯ OSPF-TE v2 and v3 get new extensions for flooding TE info about inter-AS links, so path computation can work across ASes π
Also, no support for flooding info from inside one AS into another AS is proposed or defined 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 OSPF ..............................................7
3.1. LSA Definitions ............................................8
3.1.1. Inter-AS-TE-v2 LSA ..................................8
3.1.2. Inter-AS-TE-v3 LSA ..................................8
3.2. LSA Payload ................................................9
3.2.1. Link TLV ............................................9
3.3. Sub-TLV Details ...........................................10
3.3.1. Remote AS Number Sub-TLV ...........................10
3.3.2. IPv4 Remote ASBR ID Sub-TLV ........................11
3.3.3. IPv6 Remote ASBR ID Sub-TLV ........................11
4. Procedure for Inter-AS TE Links ................................12
4.1. Origin of Proxied TE Information ..........................13
5. Security Considerations ........................................14
6. IANA Considerations ............................................14
6.1. Inter-AS TE OSPF LSA ......................................14
6.1.1. Inter-AS-TE-v2 LSA .................................14
6.1.2. Inter-AS-TE-v3 LSA .................................14
6.2. OSPF LSA Sub-TLVs Type ....................................15
7. Acknowledgments ................................................15
8. References .....................................................15
8.1. Normative References ......................................15
8.2. Informative References ....................................16
1. Introduction π
Okay, background time π [OSPF-TE] extends the OSPF protocol [OSPF] for intra-area Traffic Engineering (TE) π It gives a way to encode TE info for TE-enabled links inside the network (TE links) and flood that info within an area πͺ Type 10 Opaque Link State Advertisements (LSAs) [RFC5250] carry this TE info. [OSPF-TE] defines two top-level Type Length Values (TLVs): the Router Address TLV and the Link TLV. The Link TLV has a bunch of nested sub-TLVs that describe the TE attributes for a TE link π
[OSPF-V3-TE] does something similar for OSPFv3 [OSPFV3] β¨ It defines a new LSA called the Intra-Area-TE LSA to advertise TE info. It uses "Traffic Engineering Extensions to OSPF" [OSPF-TE] as its base for TLV definitions, and it adds some new TLVs and sub-TLVs to bring TE to IPv6 networks π
Now the requirements part π The requirements for setting up Multiprotocol Label Switching Traffic Engineering (MPLS-TE) Label Switched Paths (LSPs) that cross multiple Autonomous Systems (ASes) are in [INTER-AS-TE-REQ]. As that doc 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], needs TE info not just for links inside its own AS, but also for links that connect to other ASes π
In this doc, two new separate LSAs are defined to advertise inter-AS TE info for OSPFv2 and OSPFv3 respectively π¦ Three new sub-TLVs are added to the existing Link TLV to extend TE for inter-AS Traffic Engineering. The detailed definitions and procedures come in the following sections π§
This doc doesn't propose or define any mechanism to advertise any other extra-AS TE info within OSPF. Check Section 2.1 for the full list of non-objectives π
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]. Those capitalized words are the official key words, so they carry the exact weight they're supposed to π
2. Problem Statement πΈ
As [INTER-AS-TE-REQ] describes, when you're setting up an inter-AS TE LSP that goes through multiple ASes, the Path message [RFC3209] may include the following elements in 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.
Two methods for finding inter-AS paths are being discussed right now π The per-domain method [PD-PATH] figures out the path one domain at a time. The backward recursive method [BRPC] uses cooperation between PCEs to find an optimum inter-domain path π§
The sections that follow look at how inter-AS TE link info could help in both cases β¨
2.1. A Note on Non-Objectives
Important note, bestie π«Ά This doc does not change the confidentiality and scaling assumptions around the use of ASes on the Internet. Specifically, it conforms to the requirements in [INTER-AS-TE-REQ] π
These things are explicitly excluded:
- 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 OSPF adjacencies are formed on the inter-AS link.
Also, the extensions here are only used to advertise info about inter-AS TE links π¦ That makes them a totally different problem from L1VPN Auto-Discovery [L1VPN-OSPF-AD], which defines how TE info about links between Customer Edge (CE) equipment and Provider Edge (PE) equipment can be advertised in OSPF-TE alongside the auto-discovery info for the CE-PE links. There is no overlap between this doc and [L1VPN-OSPF-AD] π
2.2. Per-Domain Path Determination
Now the per-domain method π§ When an LSR that's an entry point to an AS gets a Path message from an upstream AS, and its ERO has a next hop that is an AS number, it needs to figure out which LSRs (ASBRs) inside the local AS connect to the downstream AS π That way it can compute a TE LSP segment across the local AS to one of those LSRs, forward the Path message to it, and it hops 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 must work out a path segment across AS2 to reach AS3. R5 has three exit points from AS2 to choose from (R6, R7, and R8), and it needs to know which of those give TE connectivity to AS3, and whether that TE connectivity (for example, available bandwidth) is good enough for the requested LSP π
Or, if the next hop in the ERO is the entry ASBR for AS3 (say R9), then R5 needs to know which of its exit ASBRs has a TE link connecting to R9 π Since more than one ASBR connects to R9 (both R7 and R8 in this example), R5 also needs the TE properties of the inter-AS TE links so it can pick the correct exit ASBR π
Once the path message reaches the exit ASBR, any choice of inter-AS TE link can be made by that ASBR, unless the entry ASBR that computed the segment already made it π«Ά
More details are in Section 4 of [PD-PATH], which clearly explains why advertising inter-AS links is desired π₯
To help R5 make the correct choice of exit ASBR, it needs this info:
- 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 to which each inter-AS TE link is connected.
- Identity (TE Router ID) of the neighboring ASBR to which each inter-AS TE link is connected.
In GMPLS networks, more info may also be needed to select the correct TE links, as defined in [GMPLS-TE] πΈ
The example above shows that this info is needed at the entry point ASBRs for each AS (or the PCEs that provide computation services for those ASBRs). This info is also needed throughout the local AS if path computation is fully distributed among LSRs in that AS. For example, it's needed to support LSPs whose start points (ingress nodes) are inside the AS π
2.3. Backward Recursive Path Computation
okay so this is giving dΓ©jΓ vu π Another scenario using PCE techniques has the same problem. [BRPC] defines a PCE-based TE LSP computation method (called Backward Recursive Path Computation) for working out optimal inter-domain constrained MPLS-TE or GMPLS LSPs π§. In this method, a specific set of traversed domains (ASes) is assumed to be picked before computation starts. Each downstream PCE in domain(i) hands 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 trees of paths from one PCE to its neighbor to line up, the identities of the ASBRs for each path need to be referenced. That means the PCE must know the identities of the ASBRs in the remote AS reached by any inter-AS TE link. And to only hand over suitable paths in the tree, the PCE must know the TE properties of the inter-AS TE links π. Here's the 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 one is responsible for the path segment computation within its own domain(s) π.
If an inter-AS TE LSP is planned to be set up from R1 to R12, the traversed domains are assumed to be picked as AS1->AS2->AS3, and the PCE chain is PCE1->PCE2->PCE3 π¦. First, the path computation request from the Path Computation Client (R1) gets relayed by PCE1 and PCE2 along 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 come up with 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 π. In the same way, PCE2 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 OSPF β¨
Okay, pay attention, this part is important π This document does not define mechanisms for distributing TE information from one AS to another. It 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.
The extensions in this document let an inter-AS TE link advertisement be easily identified as one, using two new types of LSA, called Inter-AS-TE-v2 LSA and Inter-AS-TE-v3 LSA π¦. Three new sub-TLVs are added to the Link TLV to carry the information about the neighboring AS and the remote ASBR.
Some of the TE information for an inter-AS TE link may already be available within the AS from other protocols. But to avoid depending on where those protocols get processed, this mechanism carries all the information needed for the required TE operations π .
3.1. LSA Definitions
3.1.1. Inter-AS-TE-v2 LSA
For advertising OSPFv2 inter-AS TE links, a new Opaque LSA, the Inter-AS-TE-v2 LSA, is defined in this document π§. The Inter-AS-TE-v2 LSA has the same format as the "Traffic Engineering LSA," which is defined in [OSPF-TE].
The inter-AS TE link advertisement SHOULD be carried in a Type 10 Opaque LSA [RFC5250] if the flooding scope is to be limited to the single IGP area that the ASBR belongs to. It MAY be carried in a Type 11 Opaque LSA [RFC5250] if the information is meant to reach all routers (including area border routers, ASBRs, and PCEs) in the AS π. Choosing between a Type 10 (area-scoped) or Type 11 (AS-scoped) Opaque LSA is an AS-wide policy choice, and configuration control of it SHOULD be provided in ASBR implementations that support advertising inter-AS TE links π.
The Link State ID of an Opaque LSA as defined in [RFC5250] is split into two parts: the Opaque type (8-bit) and the Opaque ID (24-bit) π. The value for the Opaque type of the Inter-AS-TE-v2 LSA is 6, and it's been assigned by IANA (see Section 6.1). The Opaque ID of the Inter-AS-TE-v2 LSA is an arbitrary value used to uniquely identify Traffic Engineering LSAs. The Link State ID has no topological significance π.
The TLVs in the body of an Inter-AS-TE-v2 LSA have the same format as used in OSPF-TE. The payload of the TLVs is made of one or more nested Type/Length/Value triplets. New sub-TLVs specifically for inter-AS TE link advertisement are described in Section 3.2 π.
3.1.2. Inter-AS-TE-v3 LSA
In this document, a new LS type is defined for OSPFv3 inter-AS TE link advertisement πΈ. The new LS type function code is 13 (see Section 6.1).
The format of an Inter-AS-TE-v3 LSA follows the standard definition of an OSPFv3 LSA, as defined in [OSPFV3] π«Ά.
The high-order three bits of the LS type field in the OSPFv3 LSA header encode generic properties of the LSA, and they're called the U-bit, S2-bit, and S1-bit [OSPFV3]. The rest of the LS type carries the LSA function code.
For the Inter-AS-TE-v3-LSA, the bits are set like this:
The U-bit is always set to 1 to indicate that an OSPFv3 router MUST flood the LSA at its defined flooding scope, even if it doesn't recognize the LS type π₯.
The S2 and S1 bits indicate the flooding scope of an LSA. For the Inter-AS-TE-v3-LSA, the S2 and S1 bits SHOULD be set to 01 to indicate that the flooding scope is limited to the single IGP area that the ASBR belongs to. They MAY be set to 10 if the information should reach all routers (including area border routers, ASBRs, and PCEs) in the AS. Choosing between 01 and 10 is a network-wide policy choice, and configuration control SHOULD be provided in ASBR implementations that support advertising inter-AS TE links π.
The Link State ID of the Inter-AS-TE-v3 LSA is an arbitrary value used to uniquely identify Traffic Engineering LSAs. The LSA ID has no topological significance π¦.
The TLVs in the body of an Inter-AS-TE-v3 LSA have the same format and semantics as those defined in [OSPF-V3-TE]. New sub-TLVs specifically for inter-AS TE link advertisement are described in Section 3.2 π .
3.2. LSA Payload
Both the Inter-AS-TE-v2 LSA and the Inter-AS-TE-v3 LSA contain one top-level TLV:
2 - Link TLV
For the Inter-AS-TE-v2 LSA, this TLV is defined in [OSPF-TE], and for the Inter-AS-TE-v3 LSA, it's defined in [OSPF-V3-TE]. The sub-TLVs carried in this TLV are described in the following sections π§.
3.2.1. Link TLV
The Link TLV describes a single link and consists of a set of sub-TLVs. The sub-TLVs for the Link TLV of the Inter-AS-TE-v2 LSA and the Inter-AS-TE-v3 LSA are defined in [OSPF-TE] and [OSPF-V3-TE], respectively, and the list of sub-TLVs may be extended by other documents. However, this document defines the following exceptions π.
The Link ID sub-TLV [OSPF-TE] MUST NOT be used in the Link TLV of an Inter-AS-TE-v2 LSA, and the Neighbor ID sub-TLV [OSPF-V3-TE] MUST NOT be used in the Link TLV of an Inter-AS-TE-v3 LSA. OSPF is an IGP and should only be used between routers in the same routing domain, so the OSPF-specific Link ID and Neighbor ID sub-TLVs don't apply to inter-AS links π.
Instead, the remote ASBR is identified by including the following new sub-TLVs, defined in this document and described in the subsequent sections:
21 - Remote AS Number sub-TLV
22 - IPv4 Remote ASBR ID sub-TLV
23 - IPv6 Remote ASBR ID sub-TLV
The Remote-AS-Number sub-TLV MUST be included in the Link TLV of both the Inter-AS-TE-v2 LSA and the Inter-AS-TE-v3 LSA. At least one of the IPv4-Remote-ASBR-ID sub-TLV and the IPv6-Remote-ASBR-ID sub-TLV SHOULD be included in the Link TLV of the Inter-AS-TE-v2 LSA and the Inter-AS-TE-v3 LSA. It's possible to include the IPv6-Remote-ASBR-ID sub-TLV in the Link TLV of the Inter-AS-TE-v2 LSA, and to include the IPv4-Remote-ASBR-ID sub-TLV in the Link TLV of the Inter-AS-TE-v3 LSA, because the sub-TLVs refer to ASBRs that are in a different addressing scope (that is, a different AS) from where the OSPF LSA is used π¦.
3.3. Sub-TLV Details
3.3.1. Remote AS Number Sub-TLV
A new sub-TLV, the Remote AS Number sub-TLV, is defined for inclusion in the Link 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 REQUIRED in a Link TLV that advertises an inter-AS TE link π₯.
The Remote AS Number sub-TLV is TLV type 21 (see Section 6.2) and is four octets in length. The 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 AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Remote AS Number field has 4 octets. When only two octets are used for the AS number, as in current deployments, the left (high-order) two octets MUST be set to zero π.
3.3.2. IPv4 Remote ASBR ID Sub-TLV β¨
Okay bestie, so there's a brand new sub-TLV called the IPv4 Remote ASBR ID sub-TLV π¦ that can be tucked into the Link TLV whenever we're advertising inter-AS links. It carries the IPv4 identifier of the remote ASBR that the advertised inter-AS link connects to π . That can be any stable and routable IPv4 address of the remote ASBR. Using the TE Router Address TE Router ID from the Router Address TLV [OSPF-TE] is RECOMMENDED π.
It's TLV type 22 (see Section 6.2) and it's four 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In OSPFv2 advertisements, the IPv4 Remote ASBR ID sub-TLV MUST be included if the neighboring ASBR has an IPv4 address. If the neighboring ASBR doesn't 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 IPv6 Remote ASBR ID sub-TLV MAY both be present in a Link TLV in OSPFv2 or OSPFv3. π
3.3.3. IPv6 Remote ASBR ID Sub-TLV π§
A new sub-TLV, called the IPv6 Remote ASBR ID sub-TLV π, can be included in the Link TLV when advertising inter-AS links. It specifies the identifier of the remote ASBR that the advertised inter-AS link connects to. This could be any stable, routable, and global IPv6 address of the remote ASBR. Using the TE Router IPv6 Address (IPv6 TE Router ID) from the IPv6 Router Address, which is specified in the IPv6 Router Address TLV [OSPF-V3-TE], is RECOMMENDED β¨.
It's TLV type 24 (see Section 6.2) and it's sixteen octets long π. The format goes 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 ASBR ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote ASBR ID (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In OSPFv3 advertisements, 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 an IPv6 address, the IPv4 Remote ASBR ID sub-TLV MUST be included instead. An IPv4 Remote ASBR ID sub-TLV and IPv6 Remote ASBR ID sub-TLV MAY both be present in a Link TLV in OSPFv2 or OSPFv3. π«Ά
4. Procedure for Inter-AS TE Links π₯
Okay so when TE is enabled on an inter-AS link and the link is up, the ASBR SHOULD advertise this link using the normal procedures for OSPF-TE [OSPF-TE]. When the link goes down, or TE gets disabled on it, the ASBR SHOULD withdraw the advertisement π. If the TE parameters for the link change (like when the available bandwidth changes), the ASBR SHOULD re-advertise the link. BUT it MUST take precautions against excessive re-advertisements, as described in [OSPF-TE]. Don't spam the flooding, bestie π.
Hellos MUST NOT be exchanged over the inter-AS link, so an OSPF adjacency MUST NOT be formed π«. No hellos, no adjacency, no drama π.
The information advertised comes from three places: the ASBR's knowledge of the TE capabilities of the link, the ASBR's knowledge of the current status and usage of the link, and configuration at the ASBR for the remote AS number and remote ASBR TE Router ID π.
Legacy routers that receive an advertisement for an inter-AS TE link are able to ignore it, because the Link Type carries an unknown value π« . They'll keep flooding the LSA, but they won't try to use the info as if the link were an intra-AS TE link. Iconic behaviour, honestly π.
In the current operation of TE OSPF, the LSRs at each end of a TE link emit LSAs describing the link. The databases in the LSRs then have two entries (one locally generated, the other from the peer) describing the different "directions" of the link π§ . This is what lets Constrained Shortest Path First (CSPF) do a two-way check on the link during path computation, and it eliminates the link from consideration unless both directions satisfy the required constraints β¨.
Now, in the case we're looking at here (a TE link to another AS), there's by definition no IGP peering and therefore no bidirectional TE link information π. For CSPF to include the link as a candidate path, we have to find a way to get LSAs describing its (bidirectional) TE properties into the TE database π .
That's achieved by the ASBR advertising, internally to its 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 "proxies" for the ASBR at the edge of the other AS and generates an additional LSA describing that device's view of the link π¦.
Only some essential TE information for the link needs to be advertised: the Link Type, 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 occurrences, and they SHOULD NOT be allowed except as the result of specific policy configurations at the router or PCE computing the path. Main character energy, but only with permission π.
4.1. Origin of Proxied TE Information πΈ
Section 4 describes how an ASBR advertises TE link information as a proxy for its neighbour ASBR, but it doesn't say where that information comes from π€.
The source of this information is outside the scope of this document. It's possible it'll be a configuration requirement at the ASBR, just like other local properties of the TE link. Also, 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 is likely to be available π§.
We also note that it's possible, and may be operationally advantageous, to get some of the required configuration information from BGP π. Whether and how to use these options is an implementation matter β¨.
5. Security Considerations π
The protocol extensions defined in this document are relatively minor, and they can be secured within the AS where they're used by the existing OSPF security mechanisms π«Ά.
There's no exchange of information between ASes, and no change to the OSPF security relationship between the ASes. In particular, since no OSPF adjacency is formed on the inter-AS links, there's no requirement for OSPF security between the ASes π.
Some of the information in these new advertisements (for example, 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 information should be carefully checked before it's entered as configuration information at the ASBR responsible for advertising the inter-AS TE links π¨.
Here's the spicy part πΆοΈ. 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 inconsistencies in configuration. For example, the administration that originally supplied the information may be lying, or operators may have made manual misconfigurations or mistakes π±. If a different remote AS number is received in a BGP OPEN [BGP] from the one locally configured into OSPF-TE, as described here, then local policy SHOULD be applied to decide whether to alert the operator to a potential misconfiguration or to suppress the OSPF advertisement of the inter-AS TE link π©. And note, if BGP is used to exchange TE information as described in Section 4.1, the inter-AS BGP session SHOULD be secured using mechanisms as described in [BGP] to provide authentication and integrity checks π. Protect that session, bestie π.
6. IANA Considerations π
IANA has made the following allocations from registries under its control π.
6.1. Inter-AS TE OSPF LSA π¦
6.1.1. Inter-AS-TE-v2 LSA
IANA has assigned a new Opaque LSA type (6) to Inter-AS-TE-v2 LSA π.
6.1.2. Inter-AS-TE-v3 LSA
IANA has assigned a new OSPFv3 LSA type function code (13) to Inter-AS-TE-v3 LSA β¨.
6.2. OSPF LSA Sub-TLVs Type π
IANA maintains the "Open Shortest Path First (OSPF) Traffic Engineering TLVs" registry, with the sub-registry "Types for sub-TLVs in a TE Link TLV". IANA has assigned three new sub-TLVs as follows (see Section 3.3 for details) π§:
Value Meaning
21 Remote AS Number sub-TLV
22 IPv4 Remote ASBR ID sub-TLV
24 IPv6 Remote ASBR ID sub-TLV
7. Acknowledgments π
The authors would like to thank Adrian Farrel, Acee Lindem, JP Vasseur, Dean Cheng, and Jean-Louis Le Roux for their review and comments on this document π«Ά.
8. References π
8.1. Normative References
[GMPLS-TE]Kompella, K., Ed., and Y. Rekhter, Ed., "OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 4203, October 2005.[OSPF]Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.[OSPF-TE]Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, September 2003.[OSPF-V3-TE]Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed., "Traffic Engineering Extensions to OSPF Version 3", RFC 5329, September 2008.[OSPFV3]Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, July 2008.[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.[RFC5250]Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The OSPF Opaque LSA Option", RFC 5250, July 2008.
8.2. Informative References πβ¨
Okay bestie, these are the informative ones, so they're here for background reading and aren't required to implement the spec π
- [BGP] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. π
- [BRPC] Vasseur, JP., Ed., Zhang, R., Bitar, N., and 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. π§
- [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. π¦
- [L1VPN-OSPF-AD] Bryskin, I. and L. Berger, "OSPF-Based Layer 1 VPN Auto-Discovery", RFC 5252, July 2008. πΈ
- [PCE] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006. π§
- [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. π
Authors' Addresses π
The people who wrote this are based in Beijing, so here's where to find them π₯°
Mach(Guoyi) Chen π
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 π
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 β
Xiaodong Duan
China Mobile
53A,Xibianmennei Ave,Xunwu District
Beijing, China
EMail: duanxiaodong@chinamobile.com
And that's the whole doc, bestie. Iconic work from everyone involved ππ«Ά
π¦ where this page comes from
- ietf: rfc5392 2009-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms