RFC 3630

Traffic Engineering (TE) Extensions to OSPF Version 2

๐Ÿ“… published October 2003, from ietf

Traffic Engineering (TE) Extensions to OSPF Version 2 ๐ŸŽ€

okay bestie, this is RFC 3630 and it's part 1 of 3 โœจ it's a Standards Track doc from the Network Working Group, dated September 2003. the authors are D. Katz and K. Kompella (Juniper Networks) and D. Yeung (Procket Networks) ๐Ÿ’… and it updates RFC 2370. (it doesn't say anything about obsoleting anything, so we're just going with updates ๐Ÿซถ)


Status of This Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

this doc describes extensions to OSPF version 2 so it can do intra-area Traffic Engineering (TE) ๐Ÿฆ‹ using Opaque Link State Advertisements.

1. Introduction โœจ

okay so this doc is all about adding traffic engineering powers to OSPF Version 2 [1] ๐Ÿ’– the architecture of TE is described in [5] and the semantic content of these extensions is basically identical to the matching extensions for IS-IS [6]. the OSPF TE extensions are expected to keep mirroring the IS-IS ones, so they're like twins ๐Ÿ‘ฏโ€โ™€๏ธ

the extensions give you a way to describe the TE topology (including bandwidth and administrative constraints) and to distribute that info inside a given OSPF area ๐ŸŒธ this topology doesn't necessarily match the regular routed topology, though this proposal depends on Network LSAs to describe multi-access links. the doc purposely doesn't say how any of this works across multiple OSPF areas, bc that's a job for future documents ๐Ÿงš and no changes were made to OSPFv2 flooding. in particular, if non-TE capable nodes exist in the topology, they MUST flood TE LSAs as any other type 10 (area-local scope) Opaque LSAs (see [3]). main character energy for the existing flooding rules ๐Ÿ‘‘

1.1. Applicability

so a lot of the extensions here answer the requirements in [5], which is why people call them "traffic engineering extensions" and why they're so tied to MPLS Traffic Engineering ๐Ÿ“ a more accurate (but kinda bland ๐Ÿ’€) name would be "extended link attributes", because the whole move is just adding more attributes to links in OSPF advertisements.

the info these extensions make available can be used to build an extended link state database, the same way router LSAs build a "regular" link state database ๐Ÿ’œ the difference is that this extended one (called the traffic engineering database below) has extra link attributes. the uses of the traffic engineering database are:

  • monitoring the extended link attributes;
  • local constraint-based source routing; and
  • global traffic engineering.

for example, an OSPF-speaking device can join an OSPF area, build a traffic engineering database, and then report on the reservation state of links in that area ๐Ÿซถ

for "local constraint-based source routing", a router R can compute a path from a source node A to a destination node B. usually A is R itself, and B is specified by a "router address" (more on that below). this path can be subject to various constraints on the attributes of the links and nodes it goes through, e.g., use green links that have unreserved bandwidth of at least 10Mbps ๐Ÿ the path can then carry some subset of the traffic from A to B, which makes it a simple but effective way to do traffic engineering โœจ how the subset of traffic gets picked, and how the path actually gets set up, is out of scope here. suffice it to say that one way to pick the subset is "those packets whose IP destinations were learned from B", and one way to set up paths is with MPLS tunnels ๐ŸŽ€ as an aside (and this is lowkey important), constraint-based routing can be NP-hard, or even unsolvable, depending on what the attributes and constraints look like. so lots of implementations use heuristics, and that's why we don't try to sketch an algorithm here ๐Ÿ™ˆ

finally, for "global traffic engineering", a device can build a traffic engineering database, take in a traffic matrix and an optimization function, crunch the numbers, and compute optimal or near-optimal routing for the entire network ๐Ÿ”ฅ the device can then keep an eye on the traffic engineering topology and react to changes by recomputing the optimal routes. iconic ๐Ÿ’…

1.2. Limitations

so as mentioned up top, this doc only specifies extensions and procedures for intra-area distribution of TE information ๐Ÿฆ‹ methods for inter-area and inter-AS (Autonomous System) distribution aren't discussed here.

the extensions here capture the reservation state of point-to-point links. the reservation state of multi-access links may not be accurately reflected, except in the special case where there are only two devices in the multi-access subnetwork ๐Ÿ˜ญ operation over multi-access networks with more than two devices isn't specifically prohibited. a more accurate description of the reservation state of multi-access networks is for further study ๐ŸŒˆ

also, this doc does not support unnumbered links. that gap will be addressed in future documents, so see also [7] and [8] ๐Ÿงš

1.3. Conventions

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 BCP 14, RFC 2119 [2] ๐Ÿ’–

2. LSA Format ๐ŸŒธ

2.1. LSA type

this extension uses the Opaque LSA [3] ๐Ÿ’œ

there are three types of Opaque LSAs, and each one has a different flooding scope. this proposal only uses Type 10 LSAs, which have an area flooding scope ๐Ÿซถ

one new LSA is defined, the Traffic Engineering LSA. it describes routers, point-to-point links, and connections to multi-access networks (kinda like a Router LSA) ๐Ÿฆ‹ for TE purposes, the existing Network LSA is good enough for describing multi-access links, so no extra LSA is defined for that ๐Ÿ“

2.2. LSA ID

the LSA ID of an Opaque LSA is defined as having eight bits of type data and 24 bits of type-specific data ๐ŸŽ€ the Traffic Engineering LSA uses type 1. the remaining 24 bits are the Instance field, 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       1       |                   Instance                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

the Instance field is an arbitrary value used to keep track of multiple Traffic Engineering LSAs ๐Ÿงš a single system can source a maximum of 16777216 Traffic Engineering LSAs. the LSA ID has no topological significance โœจ

2.3. LSA Format Overview

2.3.1. LSA Header

the Traffic Engineering LSA starts with the standard LSA header ๐Ÿ’…

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            LS age             |    Options    |      10       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       1       |                   Instance                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Advertising Router                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     LS sequence number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         LS checksum           |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

2.3.2. TLV Header

the LSA payload is made of one or more nested Type/Length/Value (TLV) triplets, which is what makes it extensible ๐ŸŒˆ the format of each TLV is:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Type             |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Value...                           |
      .                                                               .
      .                                                               .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

the Length field defines the length of the value portion in octets (so a TLV with no value portion would have a length of zero) ๐Ÿ“ the TLV is padded to four-octet alignment, but padding is not included in the length field. so a three octet value would have a length of three, but the total size of the TLV would be eight octets ๐Ÿซง nested TLVs are also 32-bit aligned. unrecognized types are ignored ๐Ÿ™ˆ

this memo defines Types 1 and 2. see the IANA Considerations section for allocation of new Types ๐Ÿ’–

2.4. LSA payload details

an LSA contains one top-level TLV ๐ŸŽ€

there are two top-level TLVs defined:

1 - Router Address
2 - Link

2.4.1. Router Address TLV

the Router Address TLV specifies a stable IP address of the advertising router that is always reachable if there is any connectivity to it. this is typically implemented as a "loopback address" ๐Ÿฆ‹ the key attribute is that the address does not become unusable if an interface is down. in other protocols this is known as the "router ID," but for obvious reasons this nomenclature is avoided here ๐Ÿ™ˆ if a router advertises BGP routes with the BGP next hop attribute set to the BGP router ID, then the Router Address SHOULD be the same as the BGP router ID ๐Ÿซถ

if IS-IS is also active in the domain, this address can also be used to compute the mapping between the OSPF and IS-IS topologies ๐Ÿงš for example, suppose a router R is advertising both IS-IS and OSPF Traffic Engineering LSAs, and suppose further that some router S is building a single Traffic Engineering Database (TED) based on both IS-IS and OSPF TE information. R may then appear as two separate nodes in S's TED ๐Ÿ˜ญ but if both the IS-IS and OSPF LSAs generated by R contain the same Router Address, then S can determine that the IS-IS TE LSA and the OSPF TE LSA from R are indeed from a single router ๐Ÿ‘‘

the router address TLV is type 1, has a length of 4, and a value that is the four octet IP address. it must appear in exactly one Traffic Engineering LSA originated by a router โœจ

Okay bestie, the Link TLV is the one that describes a single link ๐Ÿฆ‹. It's built out of a set of sub-TLVs, and there are no ordering requirements for those, so they can show up in any order ๐Ÿ’…

Only one Link TLV shall be carried in each LSA, which is giving fine-grained topology changes ๐ŸŽ€

The Link TLV is type 2, and its length is variable ๐Ÿ’–

These sub-TLVs of the Link TLV are defined:

   1 - Link type (1 octet)
   2 - Link ID (4 octets)
   3 - Local interface IP address (4 octets)
   4 - Remote interface IP address (4 octets)
   5 - Traffic engineering metric (4 octets)
   6 - Maximum bandwidth (4 octets)
   7 - Maximum reservable bandwidth (4 octets)
   8 - Unreserved bandwidth (32 octets)
   9 - Administrative group (4 octets)

This memo defines sub-Types 1 through 9. For new sub-Types, check the IANA Considerations section ๐ŸŒˆ

Here's the tea ๐Ÿซ–: the Link Type and Link ID sub-TLVs are mandatory, i.e., they must appear exactly once. All the other sub-TLVs defined here may occur at most once. Those restrictions need not apply to future sub-TLVs. And unrecognized sub-TLVs get ignored, no drama ๐Ÿ™ˆ

Various values below use the (32 bit) IEEE Floating Point format ๐Ÿงฎ. For quick reference, 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|    Exponent   |                  Fraction                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

S is the sign, Exponent is the exponent base 2 in "excess 127" notation, and Fraction is the mantissa - 1, with an implied binary point in front of it. So the above represents the value:

   (-1)**(S) * 2**(Exponent-127) * (1 + Fraction)

For more details, refer to [4] ๐Ÿ“š

2.5. Sub-TLV Details ๐ŸŽ€

The Link Type sub-TLV defines the type of the link:

   1 - Point-to-point
   2 - Multi-access

The Link Type sub-TLV is TLV type 1, and is one octet in length ๐Ÿ’•

The Link ID sub-TLV identifies the other end of the link ๐Ÿ‘€. For point-to-point links, this is the Router ID of the neighbor. For multi-access links, this is the interface address of the designated router. The Link ID is identical to the contents of the Link ID field in the Router LSA for these link types, so it's giving consistency ๐Ÿ’…

The Link ID sub-TLV is TLV type 2, and is four octets in length โœจ

2.5.3. Local Interface IP Address ๐Ÿ 

The Local Interface IP Address sub-TLV specifies the IP address(es) of the interface corresponding to this link. If there are multiple local addresses on the link, they are all listed in this sub-TLV ๐ŸŒธ

The Local Interface IP Address sub-TLV is TLV type 3, and is 4N octets in length, where N is the number of local addresses ๐Ÿง

2.5.4. Remote Interface IP Address ๐ŸŒ

The Remote Interface IP Address sub-TLV specifies the IP address(es) of the neighbor's interface corresponding to this link. This and the local address are used to discern multiple parallel links between systems ๐Ÿ‘ฏโ€โ™€๏ธ. If the Link Type of the link is Multi-access, the Remote Interface IP Address is set to 0.0.0.0. Alternatively, an implementation MAY choose not to send this sub-TLV ๐Ÿซถ

The Remote Interface IP Address sub-TLV is TLV type 4, and is 4N octets in length, where N is the number of neighbor addresses ๐Ÿ’œ

2.5.5. Traffic Engineering Metric ๐Ÿšฆ

The Traffic Engineering Metric sub-TLV specifies the link metric for traffic engineering purposes. This metric may be different than the standard OSPF link metric. Typically, a network administrator assigns this metric ๐Ÿง‘โ€๐Ÿ’ผ

The Traffic Engineering Metric sub-TLV is TLV type 5, and is four octets in length ๐Ÿฆ‹

2.5.6. Maximum Bandwidth ๐Ÿš€

The Maximum Bandwidth sub-TLV specifies the maximum bandwidth that can be used on this link, in this direction (from the system originating the LSA to its neighbor), in IEEE floating point format. This is the true link capacity. The units are bytes per second ๐ŸŒŠ

The Maximum Bandwidth sub-TLV is TLV type 6, and is four octets in length ๐Ÿ’–

2.5.7. Maximum Reservable Bandwidth ๐Ÿ“ฆ

The Maximum Reservable Bandwidth sub-TLV specifies the maximum bandwidth that may be reserved on this link, in this direction, in IEEE floating point format. Note that this may be greater than the maximum bandwidth, in which case the link may be oversubscribed ๐Ÿ˜ฌ. This SHOULD be user-configurable. The default value should be the Maximum Bandwidth. The units are bytes per second ๐ŸŒˆ

The Maximum Reservable Bandwidth sub-TLV is TLV type 7, and is four octets in length ๐ŸŽ€

2.5.8. Unreserved Bandwidth ๐Ÿซง

The Unreserved Bandwidth sub-TLV specifies the amount of bandwidth not yet reserved at each of the eight priority levels, in IEEE floating point format. The values correspond to the bandwidth that can be reserved with a setup priority of 0 through 7, arranged in increasing order. Priority 0 sits at the start of the sub-TLV, and priority 7 sits at the end ๐Ÿ“ถ. The initial values (before any bandwidth is reserved) are all set to the Maximum Reservable Bandwidth. Each value will be less than or equal to the Maximum Reservable Bandwidth. The units are bytes per second ๐Ÿ’ซ

The Unreserved Bandwidth sub-TLV is TLV type 8, and is 32 octets in length ๐Ÿงš

2.5.9. Administrative Group ๐Ÿท๏ธ

The Administrative Group sub-TLV contains a 4-octet bit mask assigned by the network administrator. Each set bit corresponds to one administrative group assigned to the interface. A link may belong to multiple groups, which is so relatable ๐Ÿ‘‘

By convention, the least significant bit is referred to as 'group 0', and the most significant bit is referred to as 'group 31' ๐Ÿ”ข

The Administrative Group is also called Resource Class/Color [5] ๐ŸŽจ

The Administrative Group sub-TLV is TLV type 9, and is four octets in length ๐Ÿ“


3. Elements of Procedure ๐Ÿงฉ

Routers shall originate Traffic Engineering LSAs whenever the LSA contents change, and whenever otherwise required by OSPF (an LSA refresh, for example). Note that this does not mean every change must be flooded immediately. An implementation MAY set thresholds (for example, a bandwidth change threshold) that trigger immediate flooding, and initiate flooding of other changes after a short time interval โฑ๏ธ. In any case, the origination of Traffic Engineering LSAs SHOULD be rate-limited to at most one every MinLSInterval [1] ๐Ÿšง

Upon receipt of a changed Traffic Engineering LSA or Network LSA (since these are used in traffic engineering calculations), the router should update its traffic engineering database ๐Ÿ“ฅ. No Shortest Path First (SPF) or other route calculations are necessary, so that's a whole vibe ๐Ÿ˜Œ


4. Compatibility Issues ๐Ÿค

There should be no interoperability issues with routers that do not implement these extensions, as the Opaque LSAs will be silently ignored ๐Ÿซฅ

The result of having routers that do not implement these extensions is that the traffic engineering topology will be missing pieces. However, if the topology is connected, TE paths can still be calculated and ought to work ๐Ÿงฉโœจ


5. Security Considerations ๐Ÿ”

This document specifies the contents of Opaque LSAs in OSPFv2. As Opaque LSAs are not used for SPF computation or normal routing, the extensions specified here have no affect on IP routing. However, tampering with TE LSAs may have an effect on traffic engineering computations ๐Ÿ˜ฑ. It is suggested that any mechanisms used for securing the transmission of normal OSPF LSAs be applied equally to all Opaque LSAs, including the TE LSAs specified here ๐Ÿ›ก๏ธ

Note that the mechanisms in [1] and [9] apply to Opaque LSAs. It is suggested that any future mechanisms proposed to secure or authenticate OSPFv2 LSA exchanges be made general enough to be used with Opaque LSAs. Bestie, this part is serious ๐Ÿ’€๐Ÿ”’


6. IANA Considerations ๐Ÿ“‹

The top level Types in a TE LSA, as well as Types for sub-TLVs for each top level Type, have been registered with IANA, except as noted ๐Ÿ—‚๏ธ

Here are the guidelines (using terms defined in [10]) for the assignment of top level Types in TE LSAs:

  • Types in the range 3-32767 are to be assigned via 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 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.

The guidelines for the assignment of types for sub-TLVs in a TE LSA are as follows:

  • Types in the range 10-32767 are to be assigned via 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 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.

7. Intellectual Property Rights Statement โš–๏ธ

The IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document. It also doesn't say whether any license under such rights might or might not be available, and it doesn't claim to have tried to find any such rights ๐Ÿคทโ€โ™€๏ธ. Information on the IETF's procedures for rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication, and any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users of this specification to use such proprietary rights, can be obtained from the IETF Secretariat ๐Ÿ“„

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please send that information to the IETF Executive Director ๐Ÿ’Œ


8. References ๐Ÿ“š

8.1. Normative References ๐ŸŒŸ

  • [1] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
  • [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [3] Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July 1998.
  • [4] IEEE, "IEEE Standard for Binary Floating-Point Arithmetic", Standard 754-1985, 1985 (ISBN 1-5593-7653-8).

8.2. Informative References ๐ŸŒธ

  • [5] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M. and J. McManus, "Requirements for Traffic Engineering Over MPLS", RFC 2702, September 1999.
  • [6] Smit, H. and T. Li, "ISIS Extensions for Traffic Engineering", work in progress.
  • [7] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links in Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE)", RFC 3477, January 2003.
  • [8] Kompella, K., Rekhter, Y. and A. Kullberg, "Signalling Unnumbered Links in CR-LDP (Constraint-Routing Label Distribution Protocol)", RFC 3480, February 2003.
  • [9] Murphy, S., Badger, M. and B. Wellington, "OSPF with Digital Signatures", RFC 2154, June 1997.
  • [10] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

9. Authors' Addresses โœจ

Meet the squad! ๐Ÿซถ

Dave Katz
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089 USA

Phone: +1 408 745 2000
EMail: dkatz@juniper.net
Derek M. Yeung
Procket Networks, Inc.
1100 Cadillac Court
Milpitas, CA 95035 USA

Phone: +1 408 635-7900
EMail: myeung@procket.com
Kireeti Kompella
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089 USA

Phone: +1 408 745 2000
EMail: kireeti@juniper.net

Okay, this part is legal stuff, so I'm keeping it word for word. No cap. ๐Ÿ’…

Copyright (C) The Internet Society (2003). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement ๐ŸŒธ

Funding for the RFC Editor function is currently provided by the Internet Society. ๐Ÿงš

๐Ÿ“ฆ where this page comes from