Network Working Group                        J. Rekhter
Request for Comments 1074                    T.J. Watson Research Center
                                            IBM Corporation
                                            October 1988

       The NSFNET Backbone SPF based Interior Gateway Protocol

Status of this Memo

  This memo is an implementation description of the standard ANSI IS-IS
  and ISO ES-IS routing protocols within the NSFNET backbone network.
  Distribution of this memo is unlimited.

Acknowledgements

  I would like to express my thanks to Hans-Werner Braun (MERIT) for
  his contribution to this document.

1.  Overview

  This document provides an overview of the NSFNET Backbone routing
  with specific emphasis on the intra-backbone routing.

  By the end of 1987, the American National Standardization Institute
  (ANSI) forwarded a specification for an Intermediate System to
  Intermediate System routing protocol to the International
  Standardization Organizations (ISO) for the adaptation as an
  international standard.  This ANSI IS-IS protocol is used as the
  interior gateway protocol (IGP) of the NSFNET backbone.  Documented
  here is an implementation description which also includes further
  definitions that were necessary for the integration into an Internet
  Protocol (IP) environment.  Therefore, it should be viewed as a
  continuation of the specifications of the ANSI IS-IS protocol [1] and
  the ISO standard End System to Intermediate System (ES-IS) protocol
  [2].  While the ANSI IS-IS protocol suffices as an IGP, additional
  methods are used to orchestrate routing between the backbone and the
  attached mid-level networks; most notably the Exterior Gateway
  Protocol (EGP).  Further information about the overall NSFNET routing
  as well as some future aspects can be found in [3], [4], [5] and [6].

2.  A brief overview of the NSFNET backbone

  The NSFNET backbone is a wide area network which 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 may contain multiple logical links at sub-T1 and up to the full
  T1 speed.  The result is a hybrid circuit/packet switching network
  able to contain a connectivity-richer logical topology than the



Rekhter                                                         [Page 1]

RFC 1074             NSFNET Backbone SPF based IGP          October 1988


  underlying physical topology would allow by itself.  Each site has a
  Nodal Switching Subsystem (NSS) which is responsible for packet
  switching.  Each NSS is a RISC technology based multiprocessor system
  using IBM RT/PC processors which operate a modified version of a
  4.3BSD kernel.  For the purpose of routing, each NSS is considered as
  a single entity which has connections to both other NSS (via the
  logical network infrastructure) and to regional networks (via local
  area network attachments; typically an Ethernet).

  The routing protocol which is used for the inter-NSS routing within
  the NSFNET backbone is an adaptation of the ANSI IS-IS routing
  protocol [1].  The routing protocol which is 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 maintained in the Policy Based Routing
  Database [4,5].

3.  An overview of the ANSI IS-IS routing document

  The ANSI IS-IS routing protocol specifies a two level hierarchical
  routing where Level 1 routing deals with routing within an area,
  while Level 2 routing deals with routing between different areas.

  This routing protocol belongs to a class of so called "Link State"
  protocols where each node maintains 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 PDU lists IS neighbors.  The Level 1 End
       System PDU lists ES neighbors.

       The Level 2 Router Link PDU lists neighbor Level 2 routes.  The
       Level 2 End System PDU lists address prefixes for systems in
       other Routing Domains.

  The ANSI IS-IS document separates subnetwork independent functions
  from the subnetwork dependent functions.  Subnetwork independent
  functions include dissemination of Router Link and End System Link
  PDU's and the Routing Algorithm.  The subnetwork dependent functions
  cover different types of subnets such as 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



Rekhter                                                         [Page 2]

RFC 1074             NSFNET Backbone SPF based IGP          October 1988


  protocol is used to determine connectivity and network layer
  addresses.  This information is used to construct 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.
  With respect to subnetwork independent functions, it only supports
  Level 2 routing.  With respect to subnetwork dependent functions, it
  only supports general topology subnetworks with permanent point-to-
  point links.  Since the ANSI IS-IS protocol is designed for ISO
  Network Service Access Point (NSAP) addresses, there is a need to
  encapsulate IP addresses into NSAP addresses.

  For this, the Initial Domain Part (IDP) is unused.  The Domain
  Specific Part (DSP) includes nine bytes which are partitioned as
  follows:

       2 bytes - administrative domain

       2 bytes - empty

       4 bytes - IP address

       1 byte  - empty

  In the ANSI IS-IS protocol, each router has its own identifier (ID)
  which is 6 bytes long.  For the NSFNET implementation, the first 2
  bytes of the ID are empty and the last four bytes include the IP
  address of a particular router.

  The NSFNET backbone PDUs (both IS-IS and IS-ES) are transmitted as a
  protocol on top of IP, with "85" being the assigned protocol number
  for this purpose.  The IS-IS PDUs are distinguished from the IS-ES
  PDUs by the Protocol Discriminator Field within the PDUs.  The IP
  fragmentation/reassembly mechanism provides support for transmission
  of up to 64 kilobytes in a single IP packet.  Within the backbone, it
  is highly unlikely that the size of IS-IS PDUs will exceed this
  limit.  Therefore, no IS-IS fragmentation/reassembly is implemented
  for this environment.  This is different from the ISO framework where
  the ISIS is located directly on top of the Data Link Layer.

  For the purpose of the NSFNET Backbone routing, each Autonomous
  System (AS) is treated as a separate Administrative Domain (AD).  The
  list of administrative domains (as obtained via EGP and filtered
  through the Policy Based Routing Database) which are connected
  directly to a particular NSS is distributed in the set of the



Rekhter                                                         [Page 3]

RFC 1074             NSFNET Backbone SPF based IGP          October 1988


  partitionAreaAddresses part of the Level 2 Router Links PDU.  Each
  area address is 5 bytes long and consists of 3 empty bytes (IDP)
  followed by 2 bytes of the Administrative Domain.

  The reachability information obtained from regional networks via EGP
  is distributed within the backbone by End System PDUs.  In order to
  support multi-domain topologies, the ANSI IS-IS protocol allows for a
  set of Address Prefixes to be entered by the System Management at the
  boundary IS.  In the NSFNET Backbone, these Address Prefixes are
  obtained via the Exterior Gateway Protocol.  For each network listed
  in EGP NR packets which is received from an EGP peer, the network and
  administrative domain number of the 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 the reachable address prefix
  neighbor part of the End System PDU is derived from the Policy Based
  Routing Database maintained in each NSS.

  At each NSS, the reachability information obtained from other nodes
  (via their End System PDU's) is passed on to the mid-level network
  EGP peers, following the appropriate 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 and is constructed by first encapsulating an IP
  address into a NSAP address, then taking the first 11 bytes of this
  address as a NET.

5.  Current timer parameters

  The following 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  the
       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.



Rekhter                                                         [Page 4]

RFC 1074             NSFNET Backbone SPF based IGP          October 1988


    [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.








































Rekhter                                                         [Page 5]