RFC 5787

OSPFv2 Routing Protocols Extensions for Automatically Switched Optical Network (ASON) Routing

๐Ÿ“… published March 2010, from ietf

OSPFv2 Routing Protocols Extensions for Automatically Switched Optical Network (ASON) Routing ๐Ÿ’–

okay bestie, first things first, the title block ๐ŸŽ€

  • Organization: Internet Engineering Task Force (IETF) ๐ŸŒธ
  • Request for Comments: 5787 โœจ
  • Author: D. Papadimitriou, Alcatel-Lucent ๐Ÿ’…
  • Category: Experimental ๐Ÿงช
  • Date: March 2010 ๐Ÿ“…
  • ISSN: 2070-1721 ๐Ÿ”ฅ
  • Obsoletes / Updates: the title block doesn't list anything this one obsoletes or updates ๐Ÿซถ

Abstract

okay so the ITU-T came up with an architecture and requirements for running an Automatically Switched Optical Network (ASON) ๐ŸŒˆ

the Generalized Multiprotocol Label Switching (GMPLS) protocol suite is built to give you a control plane for a bunch of network technologies, including optical ones like time division multiplexing (TDM) networks (SONET/SDH and Optical Transport Networks (OTNs)) and lambda switching optical networks. it's giving infrastructure, literally ๐Ÿฆ‹

the requirements for GMPLS routing to meet ASON routing needs, plus an evaluation of the existing GMPLS routing protocols, live in other documents. this one is the part that defines extensions to the OSPFv2 Link State Routing Protocol so it can handle routing in an ASON โœจ

note that this work is scoped to the requirements and evaluation in RFC 4258 and RFC 4652, plus the ITU-T Recommendations that were current when those documents were written. future extensions or revisions of this work might be needed if the ITU-T Recommendations get revised or if new requirements show up in a revision of RFC 4258. we'll see ๐Ÿ‘€

Status of This Memo

this one is not an Internet Standards Track specification ๐Ÿ™ˆ it's published for examination, experimental implementation, and evaluation. so it's an Experimental Protocol for the Internet community ๐Ÿงช

it's a product of the Internet Engineering Task Force (IETF), it represents the consensus of the IETF community, and it got public review and was approved for publication by the Internet Engineering Steering Group (IESG). not every IESG-approved document is a candidate for any level of Internet Standard, so check Section 2 of RFC 5741 if you want the details ๐Ÿ’œ

for the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc5787 ๐ŸŒธ

Copyright (c) 2010 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. please read these carefully, because they spell out your rights and restrictions for 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 they are provided without warranty as described in the Simplified BSD License. ๐Ÿ’€

Table of Contents

1. Introduction ....................................................4
   1.1. Conventions Used in This Document ..........................5
   2. Routing Areas, OSPF Areas, and Protocol Instances ...............5
   3. Reachability ....................................................6
      3.1. Node IPv4 Local Prefix Sub-TLV .............................6
      3.2. Node IPv6 Local Prefix Sub-TLV .............................7
   4. Link Attribute ..................................................8
      4.1. Local Adaptation ...........................................8
      4.2. Bandwidth Accounting .......................................9
   5. Routing Information Scope .......................................9
      5.1. Terminology and Identification .............................9
      5.2. Link Advertisement (Local and Remote TE Router ID
           Sub-TLV) ..................................................10
      5.3. Reachability Advertisement (Local TE Router ID sub-TLV) ...11
   6. Routing Information Dissemination ..............................12
      6.1. Import/Export Rules .......................................13
      6.2. Discovery and Selection ...................................13
           6.2.1. Upward Discovery and Selection .....................13
           6.2.2. Downward Discovery and Selection ...................14
           6.2.3. Router Information Experimental Capabilities TLV ...16
      6.3. Loop Prevention ...........................................16
           6.3.1. Associated RA ID ...................................17
           6.3.2. Processing .........................................18
      6.4. Resiliency ................................................19
      6.5. Neighbor Relationship and Routing Adjacency ...............20
      6.6. Reconfiguration ...........................................20
   7. OSPFv2 Scalability .............................................21
   8. Security Considerations ........................................21
   9. Experimental Code Points .......................................21
      9.1. Sub-TLVs of the Link TLV ..................................22
      9.2. Sub-TLVs of the Node Attribute TLV ........................22
      9.3. Sub-TLVs of the Router Address TLV ........................23
      9.4. TLVs of the Router Information LSA ........................23
   10. References ....................................................24
      10.1. Normative References .....................................24
      10.2. Informative References ...................................25
   11. Acknowledgements ..............................................26
   Appendix A. ASON Terminology ......................................27
   Appendix B. ASON Routing Terminology ..............................28

1. Introduction โœจ

the Generalized Multiprotocol Label Switching (GMPLS) [RFC3945] protocol suite is built to give you a control plane for a range of network technologies, including optical ones like time division multiplexing (TDM) networks (SONET/SDH and Optical Transport Networks (OTNs)) and lambda switching optical networks ๐ŸŒˆ

the ITU-T defines the architecture of the Automatically Switched Optical Network (ASON) in [G.8080] ๐Ÿงš

[RFC4258] details the routing requirements for the GMPLS suite of routing protocols, so they can support the capabilities and functionality of ASON control planes identified in [G.7715] and in [G.7715.1] ๐Ÿ’œ

[RFC4652] evaluates the IETF Link State routing protocols against the requirements identified in [RFC4258]. Section 7.1 of [RFC4652] summarizes the capabilities that OSPFv2 [RFC2328] should provide for ASON routing. this document is the one that details the OSPFv2 specifics for ASON routing ๐Ÿซถ

multi-layer transport networks are built from multiple networks of different technologies that work in a client-server relationship. the ASON routing model includes routing levels that give you scaling and confidentiality benefits ๐Ÿ”ฅ in multi-level routing, domains called routing areas (RAs) are arranged in a hierarchical relationship. as [RFC4652] points out, there's no implied relationship between multi-layer transport networks and multi-level routing, and the multi-level routing mechanisms in this document work for both single-layer and multi-layer networks ๐ŸŒธ

implementations may support a hierarchical routing topology (multi-level) for multiple transport network layers, and/or a hierarchical routing topology for a single transport network layer ๐Ÿ“

this document details how to process the generic (technology-independent) link attributes defined in [RFC3630], [RFC4202], and [RFC4203], which this document extends. as Section 4.2 details, technology-specific traffic engineering attributes (and how to process them) may be defined in other documents that complement this one ๐Ÿ’…

this work is scoped to the requirements and evaluation in [RFC4258] and [RFC4652], plus the ITU-T Recommendations that were current when those documents were written. future extensions or revisions of this work may be needed if the ITU-T Recommendations are revised or if new requirements are introduced into a revision of [RFC4258] ๐Ÿ‘€

this document is classified as Experimental, and that's a big deal, bestie. significant changes to routing protocols are a concern for the stability of the Internet, so the extensions here are meant for cautious use in self-contained environments ๐Ÿ™ˆ the objective is to find out whether these extensions are stable and functional, whether there's demand for implementation and deployment, and whether they have any impact on existing routing protocol deployments ๐Ÿงช

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] ๐Ÿ’–

the reader is assumed to already know the terminology and requirements from [RFC4258], plus the evaluation outcomes in [RFC4652] ๐Ÿง 

general ASON terminology is in Appendix A, and ASON routing terminology is in Appendix B ๐Ÿ“š

2. Routing Areas, OSPF Areas, and Protocol Instances ๐Ÿฆ‹

an ASON routing area (RA) represents a partition of the data plane, and its identifier is used within the control plane as the representation of that partition ๐ŸŒˆ

RAs are arranged in hierarchical levels, so any one RA may contain multiple other RAs, and it's wholly contained by a single RA. so an RA can hold smaller RAs that are interconnected by links. the limit of the subdivision is an RA that contains just two sub-networks interconnected by a single link ๐Ÿงš

an ASON RA can be mapped to an OSPF area, but the hierarchy of ASON RA levels does not map to the hierarchy of OSPF routing areas ๐Ÿ™ˆ instead, successive hierarchical levels of RAs MUST be represented by separate instances of the protocol ๐Ÿ’… so inter-level routing information exchange (described in Section 6) involves exporting and importing routing information between protocol instances ๐Ÿซถ

an ASON RA may therefore be identified by the combination of its OSPF instance identifier and its OSPF area identifier. with proper and careful network-wide configuration, you can get this done with just the OSPF area identifier, and this process is RECOMMENDED in this document โœจ how these concepts work and how network reconfiguration gets handled is discussed in Section 6 ๐ŸŒธ

3. Reachability ๐ŸŒŠ

in order to advertise blocks of reachable address prefixes, there's a summarization mechanism that complements the techniques in [RFC5786] ๐Ÿ’œ

this extension takes the form of a network mask (a 32-bit number indicating the range of IP addresses residing on a single IP network/subnet) ๐Ÿ“ the set of local addresses is carried in an OSPFv2 TE LSA Node Attribute TLV, and a specific sub-TLV is defined per address family (IPv4 and IPv6), used as network-unique identifiers ๐Ÿ”ฅ

the proposed solution is to advertise a router's local address prefixes as new sub-TLVs of the (OSPFv2 TE LSA) Node Attribute top-level TLV. this document defines these sub-TLVs:

  • Node IPv4 Local Prefix sub-TLV: Length: variable ๐Ÿ’–
  • Node IPv6 Local Prefix sub-TLV: Length: variable ๐ŸŒˆ

3.1. Node IPv4 Local Prefix Sub-TLV โœจ

okay so the Type field of the Node IPv4 Local Prefix sub-TLV gets a value somewhere in 32768-32777, and all the experiment participants have to agree on which one ๐Ÿงš. The Value field holds one or more local IPv4 prefixes. The Length is in bytes, and like [RFC3630] says, it covers the Value part of the sub-TLV only ๐Ÿ’…. It's always 8 x n, where n is how many local IPv4 prefixes are in there ๐ŸŽ€.

Here's the layout ๐Ÿ‘€:

     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 (8 x n)        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Network Mask 1                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         IPv4 Address 1                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    //                             ...                              //
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Network Mask n                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         IPv4 Address n                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Network mask i is a 32-bit number giving the IPv4 address mask for the ith advertised destination prefix ๐Ÿฆ‹.

Every <Network mask, IPv4 Address> pair in this sub-TLV is a reachable destination prefix hosted by the advertising Router ID ๐ŸŒธ.

The local addresses you can learn from Opaque TE LSAs (so the router address and the TE interface addresses) SHOULD NOT be advertised in the node IPv4 Local Prefix sub-TLV ๐Ÿ™ˆ.

3.2. Node IPv6 Local Prefix Sub-TLV ๐Ÿ’œ

same energy as 3.1, just for IPv6 ๐ŸŒˆ. The Type field gets a value in 32768-32777, agreed on by all the experiment participants ๐Ÿงš. The Value field holds one or more local IPv6 prefixes, and the prefix representation follows [RFC5340], Section A.4.1 ๐Ÿ“.

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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | PrefixLength  | PrefixOptions |             (0)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                     IPv6 Address Prefix 1                     |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                             ...                              //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | PrefixLength  | PrefixOptions |             (0)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                     IPv6 Address Prefix n                     |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length tells you how many bytes the Value part of the sub-TLV takes up ๐Ÿ“. It's the sum, over every local prefix in the sub-TLV, of (4 + (number of 32-bit words in the prefix) * 4) โœจ.

Prefixes that could fit in fewer than four 32-bit words get their own encoding, explained below ๐Ÿซถ.

PrefixLength is the length of the prefix in bits ๐Ÿ”ข.

PrefixOptions is an 8-bit field describing various capabilities linked to the prefix (see [RFC5340], Section A.4.2) ๐Ÿ’….

IPv6 Address Prefix i is the ith IPv6 address prefix in the list ๐ŸŒŸ. Each prefix gets encoded in an even multiple of 32-bit words, using the fewest pairs of 32-bit words needed to hold the whole prefix. So every prefix ends up as either 64 or 128 bits, padded with trailing zero bits where needed ๐Ÿง.

The local addresses you can learn from TE LSAs (router address and TE interface addresses) SHOULD NOT be advertised in the node IPv6 Local Prefix sub-TLV ๐Ÿ™…โ€โ™€๏ธ.


[RFC4652] maps link attributes and characteristics to their representation in sub-TLVs of the top-level Link TLV of the Opaque TE LSA [RFC3630] and [RFC4203], except for local adaptation (more on that below) ๐Ÿ—บ๏ธ. This info SHOULD be supported on a per-layer basis, meaning one Opaque TE LSA per switching capability, and per bandwidth granularity too (for example, low-order virtual container and high-order virtual container) ๐Ÿ’œ.

4.1. Local Adaptation ๐Ÿฆ‹

Local adaptation is a TE link attribute (so a sub-TLV) that describes the cross/inter-layer relationships ๐Ÿงฉ.

The Interface Switching Capability Descriptor (ISCD) TE Attribute [RFC4202] says whether the TE link can support cross-connection to another link in the same layer, and whether it can use a locally terminated connection from one layer as a data link for another layer (that's the adaptation capability) ๐ŸŒˆ. But the info about terminating connections within that layer (the termination capability) gets bundled in with the adaptation capability ๐Ÿ™ƒ.

For example, a link between two optical cross-connects will have at least one ISCD attribute describing the lambda switching capable (LSC) switching capability ๐Ÿ’ก. Meanwhile, a link between an optical cross-connect and an IP/MPLS LSR will have at least two ISCD attributes: one for the LSC termination capability, and one for the packet switching capable (PSC) adaptation capability ๐Ÿ“.

In OSPFv2, the Interface Switching Capability Descriptor (ISCD) is a sub-TLV (type 15) of the top-level Link TLV (type 2) [RFC4203] ๐ŸŽ€.

The adaptation and termination capabilities get advertised using two separate ISCD sub-TLVs, both inside the same top-level Link TLV ๐Ÿซถ.

Per [RFC4202] and [RFC4203], an interface MAY have more than one ISCD sub-TLV ๐ŸŒธ. So those advertisements should not cause any compatibility issues ๐Ÿฅน.

Refining the ISCD sub-TLV for multi-layer networks is outside the scope of this document ๐Ÿšซ.

4.2. Bandwidth Accounting ๐Ÿ’ฐ

GMPLS routing defines an Interface Switching Capability Descriptor (ISCD) that tells you, among other things, the (maximum/minimum) bandwidth per priority that a Label Switched Path (LSP) can use ๐Ÿ“Š. Per [RFC4202] and [RFC4203], an interface can have one or more ISCD sub-TLVs associated with it ๐Ÿงต. That info, combined with the Unreserved Bandwidth (sub-TLV defined in [RFC3630], Section 2.5.8), is the basis for bandwidth accounting ๐Ÿงฎ.

In the ASON context, extra info may be included when the representation and the other advertised fields aren't enough for a specific technology (SDH, for example) ๐Ÿ”. Defining technology-specific information elements is beyond the scope of this document ๐Ÿ™…. Some technologies won't need anything beyond what's already defined in [RFC3630], [RFC4202], and [RFC4203] โœจ.


5. Routing Information Scope ๐ŸŒ

5.1. Terminology and Identification ๐Ÿชช

This section repeats the short-hand terminology from [RFC4652] so everyone's on the same page ๐Ÿ“–.

  • Pi is a physical (bearer/data/transport plane) node ๐Ÿงฑ.
  • Li is a logical control plane entity associated with a single data plane (abstract) node ๐Ÿง . Each Li is identified by a unique TE Router ID. That ID is a control plane identifier, defined as the Router Address top-level TLV of the Type 1 TE LSA [RFC3630] ๐Ÿ†”.

Note: The Router Address top-level TLV definition, processing, and usage stay per [RFC3630] ๐Ÿ“œ. This TLV gives a stable IP address for the advertising router (Ri) that's always reachable if there's any IP connectivity to it (for example, via the Data Communication Network) ๐Ÿ›ฐ๏ธ. And each advertising router advertises a unique, reachable IP address for each Pi it advertises on behalf of ๐Ÿ’Œ.

  • Ri is a logical control plane entity associated with a control plane "router" ๐Ÿ–ฅ๏ธ. That router is the source of the topology info it generates and shares with other control plane "routers" ๐Ÿ—ฃ๏ธ. Ri is identified by the (advertising) Router ID (32-bit) [RFC2328] ๐Ÿท๏ธ.

The Router ID, which Ri represents and which corresponds to the RC-ID [RFC4258], doesn't get involved in identifying the logical entities that represent data plane resources like links ๐Ÿ”—. The Routing Database (RDB) is associated with Ri ๐Ÿ—„๏ธ.

Note: Apart from the Li/Pi mappings, these identifiers don't have any particular entity relationship, except that Ri may have multiple Lis in its scope ๐ŸŒท. The relationship between Ri and Li is simple at any moment: an Li may be advertised by only one Ri at a time ๐Ÿ’ซ. But an Ri may advertise a set of one or more Lis ๐Ÿฐ. So the OSPFv2 routing protocol must support a single Ri advertising on behalf of more than one Li ๐Ÿซง.

okay so when one Router ID (Ri) is advertising for a bunch of TE Router IDs (Lis), you get a 1:N vibe going on ๐Ÿ’… The link local and link remote (unnumbered) ID pairing isn't unique per node (per Li unicity), so the advertisement has to say which remote Lj it means and then lean on the initial discovery process to figure out the [Li;Lj] pairing ๐Ÿงฉ Basically, unnumbered links get their IDs on a per-Li basis, so the remote Lj has to be named to scope the link remote ID to the local Li. The routing protocol MUST be able to tell the advertised TE links apart so each one gets tied to the right TE Router ID ๐ŸŽ€

For this, there's a new sub-TLV under the (OSPFv2 TE LSA) top-level Link TLV, and it defines the Local and Remote TE Router ID ๐Ÿฆ‹

The Type field of the Local and Remote TE Router ID sub-TLV gets a value from the range 32768-32777, agreed on by everyone in the experiment โœจ The Length field is 8. The Value field holds 4 octets of the Local TE Router Identifier, then 4 octets of the Remote TE Router Identifier. The Local and Remote TE Router Identifier values SHOULD NOT be set to 0 ๐Ÿ™ˆ

Here's the layout of the Local and Remote TE Router ID sub-TLV:

    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 (8)           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Local TE Router Identifier                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Remote TE Router Identifier                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

This sub-TLV is only required to be included in the top-level Link TLV when the Router ID is advertising on behalf of more than one TE Router ID. In any other case, this sub-TLV SHOULD be omitted, except if the operator plans to start with 1 Li and gradually add more Lis (under the same Ri) so things stay consistent ๐ŸŒธ

Note: The Link ID sub-TLV that identifies the other end of the link (i.e., Router ID of the neighbor for point-to-point links) MUST appear exactly once per Link TLV. This sub-TLV MUST be processed as defined in [RFC3630]. Don't skip this one, bestie! ๐Ÿ˜ญ

5.3. Reachability Advertisement (Local TE Router ID sub-TLV) ๐Ÿ“ก

When the Router ID is advertising on behalf of multiple TE Router IDs (Lis), the routing protocol MUST be able to link the advertised reachability information to the correct TE Router ID ๐Ÿ’œ

For this, there's a new sub-TLV under the (OSPFv2 TE LSA) top-level Node Attribute TLV ๐Ÿง It ties the local prefixes (see above) to a specific TE Router ID.

The Type field of the Local TE Router ID sub-TLV gets a value from the range 32768-32777, agreed on by all the experiment participants โœจ The Length field is 4. The Value field holds the Local TE Router Identifier [RFC3630], encoded over 4 octets.

Here's the layout of the Local TE Router ID sub-TLV:

    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 (4)           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Local TE Router Identifier                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

This sub-TLV is only required to be included in the Node Attribute TLV when the Router ID is advertising on behalf of more than one TE Router ID. In any other case, this sub-TLV SHOULD be omitted. ๐Ÿซถ

6. Routing Information Dissemination ๐ŸŒˆ

An ASON routing area (RA) is a partition of the data plane, and its identifier is how the control plane represents that partition ๐Ÿ—บ๏ธ An RA can contain smaller RAs that are interconnected by links. The subdivision stops at an RA that has two sub-networks interconnected by a single link. ASON RA levels do not line up with routing protocol levels (like OSPF areas), so don't mix them up, periodt ๐Ÿ’…

Successive hierarchical levels of RAs can be represented by separate instances of the protocol ๐Ÿชœ

Routing controllers (RCs) that support RAs pass information downward and upward through this hierarchy ๐ŸŽ  The vertical routing information dissemination mechanisms in this section do not introduce or imply a new OSPF routing area hierarchy. RCs that support RAs at multiple levels are set up as separate OSPF instances, and the routing information exchanged between levels is governed by import and export rules that operate between OSPF instances ๐Ÿฆ‹

So, an RC that does the import/export of routing information described in this document does not implement Area Border Router (ABR) functionality. Not the vibe we're going for, ngl ๐Ÿ™ˆ

6.1. Import/Export Rules ๐Ÿ”

RCs that support RAs move information upward and downward through the hierarchy by importing and exporting routing information as Opaque TE LSAs (Opaque Type 1) of LS Type 10 โœจ The information that MAY be exchanged between adjacent levels includes the Router Address, Link, and Node Attribute top-level TLVs.

The Opaque TE LSA import/export rules go like this ๐Ÿ“œ

  • If the export target interface is associated with the same RA as the import interface, the Opaque LSA MUST NOT be imported.
  • If the advertising Router ID in the header of the received Opaque TE LSA matches one of the Router IDs belonging to the RA of the export target interface, the Opaque LSA MUST NOT be imported.
  • If neither of those conditions is met, the Opaque TE LSA MAY be imported according to local policy. If it's imported, the LSA MAY be disseminated according to local policy. If it's disseminated, the normal OSPF flooding rules MUST be followed, and the advertising Router ID MUST be set to the importing router's Router ID ๐Ÿงš

The imported/exported routing information content MAY be transformed, e.g., filtered or aggregated, as long as the resulting routing information stays consistent. Especially when more than one RC is bound to adjacent levels and both are allowed to import/export routing information, these transformations are expected to be done in a consistent way ๐Ÿค Defining these policy-based mechanisms is outside the scope of this document, so that's a different chapter bestie ๐Ÿ“–

In practice, and to avoid scalability and processing overhead, the routing information imported/exported downward/upward in the hierarchy is expected to include reachability information (see Section 3) and, under strict policy control, link topology information ๐ŸŒธ

6.2 Discovery and Selection ๐Ÿ”

6.2.1. Upward Discovery and Selection โฌ†๏ธ

To find RCs that can disseminate routing information up the routing hierarchy, the following capability descriptor bit is set in the OSPF Router Information Experimental Capabilities TLV (see Section 6.2.3) carried in the Router Information LSA ([RFC4970]) ๐ŸŽ€

  • U bit: When set, this flag indicates that the RC is capable of disseminating routing information upward to the adjacent level.

If multiple RCs are advertised from the same RA with their U bit set, the RC with the highest Router ID among those RCs with the U bit set SHOULD be selected as the RC for upward dissemination of routing information. The other RCs MUST NOT participate in the upward dissemination of routing information for as long as the Opaque LSA information from the highest Router ID RC hasn't reached MaxAge. This keeps more than one RC from advertising routing information upward from the same RA ๐Ÿ‘‘

Note that if the information needed to select the RC used to disseminate routing information up the hierarchy from a specific RA can't be discovered automatically, it MUST be manually configured โš™๏ธ

Once an RC has been selected, it stays put even if an RC with a higher Router ID shows up and advertises its capability to disseminate routing information upward to the adjacent level (i.e., U bit set). This hysteresis mechanism stops the upward routing information dissemination process from being disturbed by things like flapping ๐Ÿฆ‹

6.2.2. Downward Discovery and Selection โœจ

okay so the same discovery mechanism gets reused for picking the RC that's in charge of sending routing info downward ๐Ÿ“‰ but there's one extra rule bestie ๐Ÿ™…โ€โ™€๏ธ the RC selection MUST take into account that an upper level might be sitting next to one or more lower (RA) levels. so we need a special TLV that lists the (lower) RA IDs each RC can actually push routing info down to ๐Ÿง 

The Downstream Associated RA ID TLV lives inside the OSPF Router Information LSA [RFC4970] ๐Ÿ  its Type gets a value in the range 32768-32777, and every participant in the experiment has to agree on which one ๐Ÿค the Length is n x 4 octets, and the Value holds the list of Associated RA IDs. each Associated RA ID is encoded using the OSPF area ID (32 bits) rules from [RFC2328] ๐ŸŒธ

here's what the format looks like:

    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 (4 x n)        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Associated RA ID 1                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                             ...                              //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Associated RA ID n                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

to find the RCs that can push routing info downward through the hierarchy, you look for the following capability descriptor bit, which lives in the OSPF Router Information Experimental Capabilities TLV (see Section 6.2.3) inside the Router Information LSA ([RFC4970]) ๐Ÿ”

Note that the Downstream Associated RA ID TLV MUST be present when the D bit is set. no TLV, no D bit, no vibes ๐Ÿ’€
  • D bit: when set, this flag means the RC can push routing info downward to the adjacent levels ๐Ÿ™Œ

if multiple RCs get advertised for the same Associated RA ID, the one with the highest Router ID (out of the RCs that have the D bit set) MUST be selected for downward dissemination of routing info ๐Ÿ‘‘ the other RCs for that same Associated RA ID MUST NOT take part in downward dissemination for as long as the Opaque LSA info from that highest Router ID RC hasn't reached MaxAge โณ this is how we make sure only ONE RC is pushing routing info downward through the hierarchy at a time ๐Ÿšซ๐Ÿ‘ฏโ€โ™€๏ธ

Note that if the info needed to pick the RC used to disseminate routing info down to a specific RA can't be discovered automatically, it MUST be manually configured โš™๏ธ no magic, just config ๐ŸŽ€

The OSPF Router information Opaque LSA (Opaque type of 4, Opaque ID of 0) and its content, in particular the Router Informational Capabilities TLV [RFC4970] and TE Node Capability Descriptor TLV [RFC5073], MUST NOT be re-originated ๐Ÿ›‘ hands off, no copying allowed ๐Ÿ™…โ€โ™€๏ธ

6.2.3. Router Information Experimental Capabilities TLV ๐Ÿงš

so we need a brand new TLV to carry experimental capabilities inside the Router Information LSA ๐Ÿช„ why? bc the assignment policy for bits in the Router Informational Capabilities TLV is "Standards Action" [RFC5226], which straight up prohibits using it from Experimental documents ๐Ÿ˜ญ not fair, so we made our own ๐Ÿ’…

the format of the Router Information Experimental Capabilities TLV 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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Experimental Capabilities                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

here's what each field is giving:

  • Type: a value in the range 32768-32777, agreed on by all participants in the experiment ๐Ÿค
  • Length: a 16-bit field saying how long the value portion is, in octets ๐Ÿ“ it's always a multiple of 4 octets and depends on how many capabilities get advertised. to start, the length is 4, meaning 4 octets of informational capability bits ๐ŸŒˆ
  • Value: a variable-length sequence of capability bits, rounded up to a multiple of 4 octets and padded with undefined bits ๐Ÿงฉ

the following experimental capability bits are assigned, no cap:

Bit       Capabilities

0         The U bit (see Section 6.2.1)
1         The D bit (see Section 6.2.2)

6.3. Loop Prevention ๐Ÿ”

okay this one is IMPORTANT ๐Ÿšจ when more than one RC is bound to an adjacent level of the hierarchy, AND they're configured or selected to redistribute routing info both upward and downward, we need a specific mechanism to stop routing info from looping ๐ŸŒ€ looping means routing info that came down from the upper level gets re-introduced back into that same upper level ๐Ÿ˜ตโ€๐Ÿ’ซ this happens, for example, when the RC advertising routing info downward isn't the same one advertising it upward โ˜ ๏ธ

when those conditions are met, we need a way for an RC that gets an Opaque TE LSA imported/exported downward by an RC tied to the same RA to NOT import/export that LSA's content back upward into the (same) upper level ๐Ÿ™…โ€โ™€๏ธ we're blocking the boomerang ๐Ÿชƒ

Note that config and operational stuff gets way simpler when both functions are configured on a single RC (per pair of adjacent levels) doing both jobs. Figure 1 shows an example where that simplification applies ๐Ÿง 

here's Figure 1, the hierarchy example โœจ

        ....................................................
        .                                                  .
        .            RC_5 ------------ RC_6                .
        .             |                 |                  .
        .             |                 |            RA_Y  .
Upper   .           *********         *********            .
Layer   ............* RC_1a *.........* RC_2a *.............
  __________________* |     *_________* |     *__________________
        ............* RC_1b *...   ...* RC 2b *.............
Lower   .           *********  .   .  *********            .
Layer   .             |        .   .    |                  .
        .  RA_Z       |        .   .    |            RA_X  .
        .            RC_3      .   .   RC_4                .
        .                      .   .                       .
        ........................   .........................

         Figure 1.  Hierarchical Environment (Example)

in this case, the procedure in this section MAY be skipped, as long as these conditions are permanently guaranteed ๐Ÿคž in all other cases, no exceptions, the procedure described in this section MUST be applied ๐Ÿ’ฏ no skipping, bestie ๐Ÿซถ

6.3.1. Associated RA ID ๐Ÿท๏ธ

we need a way to filter the downward/upward re-originated Opaque TE LSA ๐Ÿงน per [RFC5250], the info in Opaque LSAs can be used directly by OSPF ๐Ÿ™Œ so by adding the RA ID associated with the incoming routing info, we can solve the loop prevention problem ๐ŸŽฏ

this extra info, called the Associated RA ID, MAY be carried in Opaque LSAs that include any of the following top-level TLVs:

  • Router Address top-level TLV
  • Link top-level TLV
  • Node Attribute top-level TLV

the Associated RA ID reflects the identifier of the area that the routing info was received from ๐Ÿ“ for example, in a multi-level hierarchy, it does NOT reflect the originating RA ID. it reflects the RA the routing info got imported from ๐ŸŒ

the Type field of the Associated RA ID sub-TLV gets a value in the range 32768-32777, agreed on by all participants in the experiment ๐Ÿค the same Type value MUST be used no matter which TLV the sub-TLV shows up in ๐Ÿ’–

the Length of the Associated RA ID TLV is 4 octets ๐Ÿ“ the Value field holds the Associated RA ID, encoded following the OSPF area ID (32 bits) rules defined in [RFC2328] ๐ŸŒท

the format of the Associated RA ID TLV is defined 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 (4)          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Associated RA ID                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.2. Processing ๐ŸŽ€

okay so when the rules in Section 6.1 are doing their thing, an Opaque LSA gets imported/exported downward or upward the routing hierarchy, and the Associated RA ID TLV gets tacked onto the Opaque LSA's list of TLVs ๐Ÿ—บ๏ธ so everyone can tell which area the info came from. โœจ

when the RC next to the lower or upper routing level receives this Opaque LSA, it checks one more rule on top of the import/export rule from Section 6.1 ๐Ÿ’…

  • If a match is found between the Associated RA ID of the received Opaque TE LSA and the RA ID belonging to the area of the export target interface, the Opaque TE LSA MUST NOT be imported. ๐Ÿ™…โ€โ™€๏ธ
  • Otherwise, this Opaque LSA MAY be imported and disseminated downward or upward the routing hierarchy following the OSPF flooding rules. ๐Ÿฆ‹

this is how we avoid a race condition in the situations shown in Figure 2 ๐Ÿ

                        RC_5 ------------- RC_6
                         |                 |
                         |                 |            RA_Y
  Upper                *********         *********
  Layer    ............* RC_1a *.........* RC_2a *.............
     __________________* |     *_________* |     *__________________
           ............* RC_1b *.........* RC_2b *.............
  Lower                *********         *********
  Layer                  |                 |
                         |                 |            RA_X
                        RC_3 --- . . . --- RC_4

            Figure 2.  Race Condition Prevention (Example)

okay picture this, bestie ๐Ÿ‘€ RC_1b is set up to export routing info upward toward RA_Y, and RC_2a is set up to export routing info toward RA_X (downward the routing hierarchy).

now say the routing info that RC_3 sends would reach RC_4 faster by going across RA_Y through the hierarchy ๐ŸŽ๏ธ

if RC_2b can't stop itself from importing that info, RC_4 could get it before the same advertisement comes around through RA_X from RC_3. ๐Ÿ˜ฑ so RC_1a slaps the Associated RA ID X onto the routing info it imports from RA_X. then RC_2b sees that the ID (X) on the received Opaque TE LSA matches the ID (X) of the export target interface's RA, and that means this LSA MUST NOT be imported. ๐Ÿ›‘ no race, no drama ๐Ÿ’–

6.4. Resiliency ๐ŸŒธ

OSPF makes adjacencies between neighboring routers so they can swap routing info. once a neighbor is found, bidirectional communication is ensured, and a routing adjacency forms between RCs. but if communication drops, the OSPF areas can get split up, and that means the RAs can get split up too ๐Ÿ’”

check it out with Figure 2. say RC_1a and RC_1b are set up to exchange routing info downward and upward RA_Y, respectively, and RC_2a and RC_2b aren't set up to exchange any routing info toward RA_X. if the link between RC_1a and RC_2a breaks (for example, because of an RC_5 - RC_6 communication failure), RA_Y could get partitioned. ๐Ÿ˜ญ

so in this situation, it is RECOMMENDED that RC_2a be re-configurable so it can exchange routing info downward to RA_X. this reconfiguration MAY be done manually or automatically ๐Ÿ”ง for the automatic route, the mechanism from Section 6.2 gets used (forcing MaxAge of the corresponding opaque LSA info in case the originating RC becomes unreachable). manual reconfiguration MUST be supported, no exceptions ๐Ÿซถ

6.5. Neighbor Relationship and Routing Adjacency ๐Ÿ’œ

it's assumed that (point-to-point) IP control channels are provisioned/configured between RCs in the same routing level. how you provision or configure them is outside the scope of this document, so that's a whole other vibe ๐Ÿ™ˆ

once they're up, the OSPF Hello protocol handles establishing and maintaining neighbor relationships, and it also makes sure communication between neighbors is bidirectional โœจ routing adjacency can then be formed between RCs using the mechanisms in [RFC2328]. ๐ŸŒˆ

6.6 Reconfiguration ๐Ÿ”

this section breaks down the RA ID reconfiguration steps, so let's go ๐Ÿ’…

RA ID reconfiguration happens when the RA ID gets modified, for example from value Z to value X or Y (see Figure 2). โœจ

the process of reconfiguring the RA ID involves:

  • Disable the import/export of routing information from the upper and lower levels (to prevent any LS information update). ๐Ÿšซ
  • Change the RA ID of the local level RA from, e.g., Z to X or Y. Perform a Link State Database (LSDB) checksum on all routers to verify that LSDBs are consistent. ๐Ÿ”
  • Enable import of upstream and downstream routing information such as to re-synchronize local-level LSDBs from any LS information that may have occurred in an upper or a lower routing level. ๐Ÿ”„
  • Enable export of routing information downstream such as to re-sync the downstream level with the newly reconfigured RA ID (as part of the re-advertised Opaque TE LSA). โฌ‡๏ธ
  • Enable export of routing information upstream such as to re-sync the upstream level with the newly reconfigured RA ID (as part of the re-advertised Opaque TE LSA). โฌ†๏ธ
okay but this part is key: the re-sync operation only needs to happen between the directly adjacent upper and lower routing levels. ๐Ÿ™Œ

7. OSPFv2 Scalability ๐Ÿ“ˆ

  • Routing information exchange upward/downward in the hierarchy between adjacent RAs SHOULD by default be limited to reachability information. on top of that, several transformations such as prefix aggregation are RECOMMENDED when you want to decrease the amount of information imported/exported by a given RC without messing up consistency. ๐Ÿงฎ
  • Routing information exchange upward/downward in the hierarchy involving TE attributes MUST be under strict policy control. pacing and min/max thresholds for triggered updates are strongly RECOMMENDED. โฑ๏ธ
  • The number of routing levels MUST be maintained under strict policy control. ๐ŸŽš๏ธ

8. Security Considerations ๐Ÿ”

this document specifies the contents and processing of Opaque LSAs in OSPFv2 [RFC2328]. the Opaque TE and RI LSAs defined here are not used for SPF computation, so they have no direct effect on IP routing. and ASON routing domains are delimited by the usual administrative domain boundaries. ๐Ÿงฑ

any mechanisms used to secure the exchange of normal OSPF LSAs can be applied equally to all Opaque TE and RI LSAs used in the ASON context. authentication of OSPFv2 LSA exchanges (such as OSPF cryptographic authentication [RFC2328] and [RFC5709]) can be used to secure against passive attacks and provide significant protection against active attacks. ๐Ÿ›ก๏ธ [RFC5709] defines a mechanism for authenticating OSPF packets by using the HMAC algorithm together with the SHA family of cryptographic hash functions. ๐Ÿ”‘

[RFC2154] adds 1) digital signatures to authenticate OSPF LSA data, 2) a certification mechanism for distributing routing information, and 3) a neighbor-to-neighbor authentication algorithm to protect local OSPFv2 protocol exchanges. ๐Ÿ’€ literally the security squad ๐Ÿ‘‘

9. Experimental Code Points ๐Ÿงช

this document is classified as Experimental. it defines new TLVs and sub-TLVs for inclusion in OSPF LSAs. according to the assignment policies for the registries of code points for these TLVs and sub-TLVs, values must be assigned from the experimental ranges and must not be recorded by IANA or mentioned in this document. ๐Ÿคซ

the following sections summarize the TLVs and sub-TLVs concerned. ๐Ÿ“‹

this document defines the following sub-TLVs of the Link TLV carried in the OSPF TE LSA:

  • Local and Remote TE Router ID sub-TLV
  • Associated RA ID sub-TLV

the defining text for code point assignment for sub-TLVs of the OSPF TE Link TLV says ([RFC3630]):

   o  Types in the range 10-32767 are to be assigned via Standards
      Action.

   o  Types in the range 32768-32777 are for experimental use; these
      will not be registered with IANA, and MUST NOT be mentioned by
      RFCs.

   o  Types in the range 32778-65535 are not to be assigned at this
      time.

so the new sub-TLVs must be assigned type values from the range 32768-32777 ๐ŸŽฏ it's up to experimental implementations to pick their own code points, and to agree with cooperating implementations in the same experiments on which values to use. ๐Ÿค

note that the same value for the Associated RA ID sub-TLV MUST be used when it appears in the Link TLV, the Node Attribute TLV, and the Router Address TLV. โš ๏ธ

9.2. Sub-TLVs of the Node Attribute TLV ๐Ÿงฉ

this document defines the following sub-TLVs of the Node Attribute TLV carried in the OSPF TE LSA.

  • Node IPv4 Local Prefix sub-TLV
  • Node IPv6 Local Prefix sub-TLV
  • Local TE Router ID sub-TLV
  • Associated RA ID sub-TLV

the defining text for code point assignment for sub-TLVs of the OSPF Node Attribute TLV says ([RFC5786]):

   o  Types in the range 3-32767 are to be assigned via Standards
      Action.

   o  Types in the range 32768-32777 are for experimental use; these
      will not be registered with IANA, and MUST NOT be mentioned by
      RFCs.

   o  Types in the range 32778-65535 are not to be assigned at this
      time.  Before any assignments can be made in this range, there
      MUST be a Standards Track RFC that specifies IANA
      Considerations that covers the range being assigned.

so, same deal: the new sub-TLVs must be assigned type values from the range 32768-32777 ๐ŸŽ€ experimental implementations pick their own code points and agree with cooperating implementations on what values to use. ๐ŸŒท

note that the same value for the Associated RA ID sub-TLV MUST be used when it appears in the Link TLV, the Node Attribute TLV, and the Router Address TLV. ๐Ÿซถ

9.3. Sub-TLVs of the Router Address TLV ๐Ÿ—‚๏ธ

the OSPF Router Address TLV is defined in [RFC3630]. no sub-TLVs are defined in that document, and there's no registry or allocation policy for sub-TLVs of the Router Address TLV. ๐Ÿ™ƒ

this document defines the following new sub-TLV for inclusion in the OSPF Router Address TLV:

  • Associated RA ID sub-TLV

note that the same value for the Associated RA ID sub-TLV MUST be used when it appears in the Link TLV, the Node Attribute TLV, and the Router Address TLV. this matches the possibility of a future registry defined with policies like the other existing registries, so it's giving planning ahead ๐Ÿง โœจ

9.4. TLVs of the Router Information LSA โœจ

okay so this section is short but it's giving main character energy ๐Ÿ’… It defines two new TLVs that ride along in the Router Information LSA:

  • Downstream Associated RA ID TLV
  • Router Information Experimental Capabilities TLV

The rules for picking code points for TLVs in that LSA come from [RFC4970], and they go like this ๐Ÿ‘‡

  • 1-32767 Standards Action.
  • Types in the range 32768-32777 are for experimental use; these will not be registered with IANA and MUST NOT be mentioned by RFCs.
  • Types in the range 32778-65535 are reserved and are not to be assigned at this time. Before any assignments can be made in this range, there MUST be a Standards Track RFC that specifies IANA Considerations that covers the range being assigned.

So the new TLVs have to use type values from the range 32768-32777 ๐Ÿฆ‹ Experimental implementations get to pick their own code points, and they just need to agree with the other implementations in the same experiment on which values to use ๐Ÿค Experiments, bestie, it's a whole vibe ๐Ÿงชโœจ


10. References ๐Ÿ“š

10.1. Normative References

[RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2154]    Murphy, S., Badger, M., and B. Wellington, "OSPF with
             Digital Signatures", RFC 2154, June 1997.

[RFC2328]    Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.

[RFC3630]    Katz, D., Kompella, K., and D. Yeung, "Traffic
             Engineering (TE) Extensions to OSPF Version 2", RFC
             3630, September 2003.

[RFC3945]    Mannie, E., Ed., "Generalized Multi-Protocol Label
             Switching (GMPLS) Architecture", RFC 3945, October 2004.

[RFC4202]    Kompella, K., Ed., and Y. Rekhter, Ed., "Routing
             Extensions in Support of Generalized Multi-Protocol
             Label Switching (GMPLS)", RFC 4202, October 2005.

[RFC4203]    Kompella, K., Ed., and Y. Rekhter, Ed., "OSPF Extensions
             in Support of Generalized Multi-Protocol Label Switching
             (GMPLS)", RFC 4203, October 2005.

[RFC4970]    Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R.,
             and S. Shaffer, "Extensions to OSPF for Advertising
             Optional Router Capabilities", RFC 4970, July 2007.

[RFC5226]    Narten, T. and H. Alvestrand, "Guidelines for Writing an
             IANA Considerations Section in RFCs", BCP 26, RFC 5226,
             May 2008.

[RFC5250]    Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
             OSPF Opaque LSA Option", RFC 5250, July 2008.

[RFC5340]    Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
             for IPv6", RFC 5340, July 2008.

[RFC5786]    Aggarwal, R. and K. Kompella, "Advertising a Router's
             Local Addresses in OSPF TE Extensions", RFC 5786, March
             2010.

10.2. Informative References

[RFC4258]    Brungard, D., Ed., "Requirements for Generalized Multi-
             Protocol Label Switching (GMPLS) Routing for the
             Automatically Switched Optical Network (ASON)", RFC
             4258, November 2005.

[RFC4652]    Papadimitriou, D., Ed., Ong, L., Sadler, J., Shew, S.,
             and D. Ward, "Evaluation of Existing Routing Protocols
             against Automatic Switched Optical Network (ASON)
             Routing Requirements", RFC 4652, October 2006.

[RFC5073]    Vasseur, J., Ed., and J. Le Roux, Ed., "IGP Routing
             Protocol Extensions for Discovery of Traffic Engineering
             Node Capabilities", RFC 5073, December 2007.

[RFC5709]    Bhatia, M., Manral, V., Fanto, M., White, R., Barnes,
             M., Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA
             Cryptographic Authentication", RFC 5709, October 2009.

For information on the availability of ITU Documents, please see
http://www.itu.int.

[G.7715]     ITU-T Rec. G.7715/Y.1306, "Architecture and Requirements
             for the Automatically Switched Optical Network (ASON)",
             June 2002.

[G.7715.1]   ITU-T Draft Rec. G.7715.1/Y.1706.1, "ASON Routing
             Architecture and Requirements for Link State Protocols",
             November 2003.

[G.805]      ITU-T Rec. G.805, "Generic functional architecture of
             transport networks)", March 2000.

[G.8080]     ITU-T Rec. G.8080/Y.1304, "Architecture for the
             Automatically Switched Optical Network (ASON)," November
             2001 (and Revision, January 2003).

11. Acknowledgements ๐Ÿซถ

The author wants to give a huge thank-you to Dean Cheng, Acee Lindem, Pandian Vijay, Alan Davey, Adrian Farrel, Deborah Brungard, and Ben Campbell for their useful comments and suggestions ๐Ÿ’–

Lisa Dusseault and Jari Arkko gave useful comments during IESG review ๐ŸŒธ

Question 14 of Study Group 15 of the ITU-T also provided useful and constructive input ๐ŸŽ€


Appendix A. ASON Terminology ๐Ÿงš

This document makes use of the following terms:

  • Administrative domain: (See Recommendation [G.805].) For the purposes of [G7715.1], an administrative domain is the extent of resources that belong to a single player, such as a network operator, a service provider, or an end-user. Administrative domains of different players do not overlap amongst themselves.
  • Control plane: performs the call control and connection control functions. Through signaling, the control plane sets up and releases connections, and may restore a connection in case of a failure.
  • (Control) Domain: represents a collection of (control) entities that are grouped for a particular purpose. The control plane is subdivided into domains matching administrative domains. Within an administrative domain, further subdivisions of the control plane are recursively applied. A routing control domain is an abstract entity that hides the details of the RC distribution.
  • External NNI (E-NNI): interfaces are located between protocol controllers between control domains.
  • Internal NNI (I-NNI): interfaces are located between protocol controllers within control domains.
  • Link: (See Recommendation G.805.) A "topological component" that describes a fixed relationship between a "subnetwork" or "access group" and another "subnetwork" or "access group". Links are not limited to being provided by a single server trail.
  • Management plane: performs management functions for the transport plane, the control plane, and the system as a whole. It also provides coordination between all the planes. The following management functional areas are performed in the management plane: performance, fault, configuration, accounting, and security management.
  • Management domain: (See Recommendation G.805.) A management domain defines a collection of managed objects that are grouped to meet organizational requirements according to geography, technology, policy, or other structure, and for a number of functional areas such as configuration, security, (FCAPS), for the purpose of providing control in a consistent manner. Management domains can be disjoint, contained, or overlapping. As such, the resources within an administrative domain can be distributed into several possible overlapping management domains. The same resource can therefore belong to several management domains simultaneously, but a management domain shall not cross the border of an administrative domain.
  • Subnetwork Point (SNP): The SNP is a control plane abstraction that represents an actual or potential transport plane resource. SNPs (in different subnetwork partitions) may represent the same transport resource. A one-to-one correspondence should not be assumed.
  • Subnetwork Point Pool (SNPP): A set of SNPs that are grouped together for the purposes of routing.
  • Termination Connection Point (TCP): A TCP represents the output of a Trail Termination function or the input to a Trail Termination Sink function.
  • Transport plane: provides bidirectional or unidirectional transfer of user information, from one location to another. It can also provide transfer of some control and network management information. The transport plane is layered; it is equivalent to the Transport Network defined in Recommendation G.805.
  • User Network Interface (UNI): interfaces are located between protocol controllers between a user and a control domain. Note: There is no routing function associated with a UNI reference point.

Appendix B. ASON Routing Terminology ๐Ÿฆ‹

This document makes use of the following terms:

  • Routing Area (RA): an RA represents a partition of the data plane, and its identifier is used within the control plane as the representation of this partition. Per [G.8080], an RA is defined by a set of sub-networks, the links that interconnect them, and the interfaces representing the ends of the links exiting that RA. An RA may contain smaller RAs inter-connected by links. The limit of subdivision results in an RA that contains two sub-networks interconnected by a single link.
  • Routing Database (RDB): a repository for the local topology, network topology, reachability, and other routing information that is updated as part of the routing information exchange and may additionally contain information that is configured. The RDB may contain routing information for more than one routing area (RA).
  • Routing Components: ASON routing architecture functions. These functions can be classified as protocol independent (Link Resource Manager or LRM, Routing Controller or RC) or protocol specific (Protocol Controller or PC).
  • Routing Controller (RC): handles (abstract) information needed for routing and the routing information exchange with peering RCs by operating on the RDB. The RC has access to a view of the RDB. The RC is protocol independent.
  • Note: Since the RDB may contain routing information pertaining to multiple RAs (and possibly to multiple layer networks), the RCs accessing the RDB may share the routing information.
  • Link Resource Manager (LRM): supplies all the relevant component and TE link information to the RC. It informs the RC about any state changes of the link resources it controls.
  • Protocol Controller (PC): handles protocol-specific message exchanges according to the reference point over which the information is exchanged (e.g., E-NNI, I-NNI), and internal exchanges with the RC. The PC function is protocol dependent.

Author's Address ๐Ÿ’Œ

Dimitri Papadimitriou
Alcatel-Lucent Bell
Copernicuslaan 50
B-2018 Antwerpen
Belgium
Phone: +32 3 2408491
EMail: dimitri.papadimitriou@alcatel-lucent.be

That's the whole RFC, bestie! ๐ŸŽ€โœจ Thanks for sticking with it ๐Ÿ’œ๐ŸŒˆ

๐Ÿ“ฆ where this page comes from