RFC 1074
NSFNET backbone SPF based Interior Gateway Protocol
okay bestie, so this one is RFC 1074 π, and the title is The NSFNET Backbone SPF based Interior Gateway Protocol β¨. J. Rekhter wrote it while at the T.J. Watson Research Center, IBM Corporation, and it's dated October 1988 π . Its status is an implementation description (more on that in the next part π ), and the header doesn't say it obsoletes or updates anything π.
Status of this Memo π
So this memo is an implementation description of the standard ANSI IS-IS and ISO ES-IS routing protocols inside the NSFNET backbone network πΈ. Distribution of this memo is unlimited π¦.
Acknowledgements π«Ά
Huge thanks to Hans-Werner Braun (MERIT) for his help with this document π.
1. Overview β¨
This doc gives you the tea on NSFNET Backbone routing, with extra focus on routing inside the backbone π.
By the end of 1987, the American National Standardization Institute (ANSI) sent a spec for an Intermediate System to Intermediate System routing protocol over to the International Standardization Organizations (ISO) so it could become an international standard π. This ANSI IS-IS protocol is the interior gateway protocol (IGP) of the NSFNET backbone π₯. This doc is an implementation description that also adds the extra definitions needed to fit it into an Internet Protocol (IP) environment π . So it's basically a continuation of the ANSI IS-IS protocol [1] and the ISO standard End System to Intermediate System (ES-IS) protocol [2] π§. ANSI IS-IS is enough to work as an IGP, but extra methods are used to coordinate routing between the backbone and the attached mid-level networks, most notably the Exterior Gateway Protocol (EGP) π«Ά. For more on overall NSFNET routing and what's coming up, check out [3], [4], [5] and [6] π.
2. A brief overview of the NSFNET backbone π¦
The NSFNET backbone is a wide area network that currently connects thirteen sites within the continental United States πΊπΈ. All connections are permanent point-to-point links at T1 speed (1.544Mbps) β‘. These T1 links can hold multiple logical links at sub-T1 speeds and up to the full T1 speed π. The end result is a hybrid circuit/packet switching network that can have a more connectivity-rich logical topology than the underlying physical topology would allow by itself π. Each site has a Nodal Switching Subsystem (NSS) that handles packet switching π. Each NSS is a RISC-based multiprocessor system using IBM RT/PC processors, running a modified version of a 4.3BSD kernel π». For routing, each NSS counts as a single entity with connections to other NSS (through the logical network infrastructure) and to regional networks (through local area network attachments, typically Ethernet) π.
The routing protocol used for inter-NSS routing inside the NSFNET backbone is an adaptation of the ANSI IS-IS routing protocol [1] π₯. The routing protocol used between the backbone and the attached mid-level networks is the Exterior Gateway Protocol (EGP) [3] π . The information exchange between the backbone and its connected EGP peers is subject to policy based routing restrictions, which are kept in the Policy Based Routing Database [4,5] π.
3. An overview of the ANSI IS-IS routing document π
The ANSI IS-IS routing protocol does two-level hierarchical routing. Level 1 routing handles routing within an area, and Level 2 routing handles routing between different areas π§©.
This protocol belongs to the class of so-called "Link State" protocols, where each node keeps a complete topology of the whole network πΊοΈ. The route computation is based on a modified version of Dijkstra's Shortest Path First (SPF) algorithm π.
Both Level 1 and Level 2 routing use two types of Protocol Data Units (PDU) β¨:
- The
Level 1 Router Link PDUlists IS neighbors. TheLevel 1 End System PDUlists ES neighbors. - The
Level 2 Router Link PDUlists neighbor Level 2 routes. TheLevel 2 End System PDUlists address prefixes for systems in other Routing Domains.
The ANSI IS-IS document separates subnetwork independent functions from subnetwork dependent functions π¦. Subnetwork independent functions include disseminating Router Link and End System Link PDU's, plus the Routing Algorithm π§ . Subnetwork dependent functions cover different kinds of subnets, like X.25, permanent point-to-point links, and LANs π.
The IS-IS Protocol is designed to interoperate with the End System to Intermediate System (ES-IS) routing exchange protocol [2] π«Ά. The ES-IS protocol is used to figure out connectivity and network layer addresses π. That info is then used to build the Router Link PDUs π§.
4. How the ANSI IS-IS protocol is adapted for the NSFNET backbone routing π₯
The NSFNET backbone implements a subset of the ANSI IS-IS protocol π . For subnetwork independent functions, it only supports Level 2 routing π. For subnetwork dependent functions, it only supports general topology subnetworks with permanent point-to-point links π. Since ANSI IS-IS is designed for ISO Network Service Access Point (NSAP) addresses, IP addresses need to be encapsulated into NSAP addresses π.
For this, the Initial Domain Part (IDP) is unused π. The Domain Specific Part (DSP) has nine bytes, split up like this π:
2 bytes - administrative domain
2 bytes - empty
4 bytes - IP address
1 byte - empty
In ANSI IS-IS, each router has its own identifier (ID) that's 6 bytes long π§©. For the NSFNET implementation, the first 2 bytes of the ID are empty, and the last four bytes hold the IP address of that particular router π.
The NSFNET backbone PDUs (both IS-IS and IS-ES) are sent as a protocol on top of IP, with "85" as the assigned protocol number for this purpose π. IS-IS PDUs are told apart from IS-ES PDUs by the Protocol Discriminator Field inside the PDUs π. The IP fragmentation/reassembly mechanism supports sending up to 64 kilobytes in a single IP packet π¦. Inside the backbone, it's highly unlikely that IS-IS PDUs will go over that limit, so no IS-IS fragmentation/reassembly is implemented for this environment β¨. This is different from the ISO framework, where ISIS sits directly on top of the Data Link Layer π§ .
For NSFNET Backbone routing, each Autonomous System (AS) is treated as its own separate Administrative Domain (AD) π. The list of administrative domains (obtained via EGP and filtered through the Policy Based Routing Database) that connect directly to a particular NSS gets distributed in the set of the partitionAreaAddresses part of the Level 2 Router Links PDU π
. Each area address is 5 bytes long and has 3 empty bytes (IDP), followed by 2 bytes of the Administrative Domain π¦.
Reachability info from regional networks, learned via EGP, gets spread around the backbone by End System PDUs πΈ. To support multi-domain topologies, ANSI IS-IS lets System Management enter a set of Address Prefixes at the boundary IS π§. In the NSFNET Backbone, these Address Prefixes come from the Exterior Gateway Protocol instead π₯. For each network listed in EGP NR packets received from an EGP peer, the network and the administrative domain number of that EGP peer are encapsulated into NSAP addresses (as described above) π. A complete NSAP address is used as an address prefix in the reachable address prefix neighbor part of the End System PDU π. The cost field in that reachable address prefix neighbor part comes from the Policy Based Routing Database kept in each NSS π°.
At each NSS, reachability info from other nodes (via their End System PDUs) gets passed on to the mid-level network EGP peers, after the right processing and filtering according to the Policy Based Routing Database π.
The Network Entity Title (NET), which is used in the IS-ES protocol, is eleven bytes long π. It's built by first encapsulating an IP address into an NSAP address, then taking the first 11 bytes of that address as the NET π§©.
5. Current timer parameters β
These timer parameters are currently implemented β±οΈ:
Hello Interval (IS-ES Hello): 10 seconds
Hold Time (ES-IS protocol): 40 seconds
Other timer parameters for the IS-IS protocol are taken from section 6.3.7 of [1] π«Ά.
6. References π
[1] "Intermediate System to Intermediate System Intra-Domain
Routing Exchange Protocol", ANSI X3S3.3/87-150R, 1987-10-29.
[2] "End System to Intermediate System Routing Exchange Protocol
for use in conjunction with the Protocol for providing the
Connectionless-Mode Network Service (ISO8473)", ISO
JTC1/SC6/N4802R, 1988-03-26.
[3] Mills, D., "Exterior Gateway Formal Specification", RFC 904,
University of Delaware, April 1984.
[4] Rekhter, J., "EGP and Policy Based Routing in the New NSFNET
Backbone", IBM, March 1988.
[5] Braun, H-W., "The NSFNET Routing Architecture", Merit Computer
Network, University of Michigan, April 1988.
[6] Braun, H-W., "NSFNET Inter Autonomous System Routing", Merit
Computer Network, University of Michigan, September 1988.
π¦ where this page comes from
- ietf: rfc1074 1988-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms