home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1992 < prev    next >
Text File  |  1996-08-29  |  60KB  |  1,516 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                      I. Castineyra
  8. Request for Comments: 1992                                           BBN
  9. Category: Informational                                       N. Chiappa
  10.                                                            M. Steenstrup
  11.                                                                      BBN
  12.                                                              August 1996
  13.  
  14.  
  15.                     The Nimrod Routing Architecture
  16.  
  17. Status of this Memo
  18.  
  19.    This memo provides information for the Internet community.  This memo
  20.    does not specify an Internet standard of any kind.  Distribution of
  21.    this memo is unlimited.
  22.  
  23. Abstract
  24.  
  25.    We present a scalable internetwork routing architecture, called
  26.    Nimrod.  The Nimrod architecture is designed to accommodate a dynamic
  27.    internetwork of arbitrary size with heterogeneous service
  28.    requirements and restrictions and to admit incremental deployment
  29.    throughout an internetwork.  The key to Nimrod's scalability is its
  30.    ability to represent and manipulate routing-related information at
  31.    multiple levels of abstraction.
  32.  
  33. Table of Contents
  34.  
  35.    1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  36.    2. Overview of Nimrod . . . . . . . . . . . . . . . . . . . . . . . 3
  37.      2.1 Constraints of the Internetworking Environment  . . . . . . . 3
  38.      2.2 The Basic Routing Functions . . . . . . . . . . . . . . . . . 5
  39.      2.3 Scalability Features  . . . . . . . . . . . . . . . . . . . . 6
  40.        2.3.1 Clustering and Abstraction  . . . . . . . . . . . . . . . 6
  41.        2.3.2 Restricting Information Distribution  . . . . . . . . . . 7
  42.        2.3.3 Local Selection of Feasible Routes  . . . . . . . . . . . 8
  43.        2.3.4 Caching . . . . . . . . . . . . . . . . . . . . . . . . . 8
  44.        2.3.5 Limiting Forwarding Information . . . . . . . . . . . . . 8
  45.    3. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  46.      3.1 Endpoints   . . . . . . . . . . . . . . . . . . . . . . . . . 9
  47.      3.2 Nodes and Adjacencies . . . . . . . . . . . . . . . . . . . . 9
  48.      3.3 Maps  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  49.        3.3.1 Connectivity Specifications  . . . . . . . . . . . . . . 10
  50.      3.4  Locators  . . . . . . . . . . . . . . . . . . . . . . . . . 10
  51.      3.5 Node Attributes  . . . . . . . . . . . . . . . . . . . . . . 11
  52.        3.5.1 Adjacencies  . . . . . . . . . . . . . . . . . . . . . . 11
  53.        3.5.2 Internal Maps  . . . . . . . . . . . . . . . . . . . . . 11
  54.        3.5.3 Transit Connectivity . . . . . . . . . . . . . . . . . . 12
  55.  
  56.  
  57.  
  58. Castineyra, et. al.          Informational                      [Page 1]
  59.  
  60. RFC 1992              Nimrod Routing Architecture            August 1996
  61.  
  62.  
  63.        3.5.4 Inbound Connectivity . . . . . . . . . . . . . . . . . . 12
  64.        3.5.5 Outbound Connectivity  . . . . . . . . . . . . . . . . . 12
  65.    4. Physical Realization  . . . . . . . . . . . . . . . . . . . . . 13
  66.      4.1 Contiguity   . . . . . . . . . . . . . . . . . . . . . . . . 13
  67.      4.2 An Example . . . . . . . . . . . . . . . . . . . . . . . . . 14
  68.      4.3 Multiple Locator Assignment  . . . . . . . . . . . . . . . . 15
  69.    5. Forwarding  . . . . . . . . . . . . . . . . . . . . . . . . . . 20
  70.      5.1 Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  71.      5.2 Trust  . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  72.      5.3 Connectivity Specification (CSC) Mode  . . . . . . . . . . . 24
  73.      5.4 Flow Mode  . . . . . . . . . . . . . . . . . . . . . . . . . 25
  74.      5.5 Datagram Mode  . . . . . . . . . . . . . . . . . . . . . . . 25
  75.      5.6 Connectivity Specification Sequence Mode . . . . . . . . . . 26
  76.    6. Security Considerations . . . . . . . . . . . . . . . . . . . . 26
  77.    7. References  . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  78.    7. Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . 27
  79.  
  80. 1. Introduction
  81.  
  82.    Nimrod is a scalable routing architecture designed to accommodate a
  83.    continually expanding and diversifying internetwork.  First suggested
  84.    by Noel Chiappa, the Nimrod architecture has undergone revision and
  85.    refinement through the efforts of the Nimrod working group of the
  86.    IETF. In this document, we present a detailed description of this
  87.    architecture.
  88.  
  89.    The goals of Nimrod are as follows:
  90.  
  91.    1. To support a dynamic internetwork of arbitrary size by
  92.       providing mechanisms to control the amount of routing information
  93.       that must be known throughout an internetwork.
  94.  
  95.    2. To provide service-specific routing in the presence of multiple
  96.       constraints imposed by service providers and users.
  97.  
  98.    3. To admit incremental deployment throughout an internetwork.
  99.  
  100.    We have designed the Nimrod architecture to meet these goals.  The
  101.    key features of this architecture include:
  102.  
  103.    1. Representation of internetwork connectivity and services in the
  104.       form of maps at multiple levels of abstraction.
  105.  
  106.    2. User-controlled route generation and selection based on maps and
  107.       traffic service requirements.
  108.  
  109.    3. User-directed packet forwarding along established paths.
  110.  
  111.  
  112.  
  113.  
  114. Castineyra, et. al.          Informational                      [Page 2]
  115.  
  116. RFC 1992              Nimrod Routing Architecture            August 1996
  117.  
  118.  
  119.    Nimrod is a general routing architecture that can be applied to
  120.    routing both within a single routing domain and among multiple
  121.    routing domains.  As a general internetwork routing architecture
  122.    designed to deal with increased internetwork size and diversity,
  123.    Nimrod is equally applicable to both the TCP/IP and OSI environments.
  124.  
  125. 2. Overview of Nimrod
  126.  
  127.    Before describing the Nimrod architecture in detail, we provide an
  128.    overview.  We begin with the internetworking requirements, followed
  129.    by the routing functions, and concluding with Nimrod's scaling
  130.    characteristics.
  131.  
  132. 2.1 Constraints of the Internetworking Environment
  133.  
  134.    Internetworks are growing and evolving systems, in terms of number,
  135.    diversity, and interconnectivity of service providers and users, and
  136.    therefore require a routing architecture that can accommodate
  137.    internetwork growth and evolution.  A complicated mix of factors such
  138.    as technological advances, political alliances, and service supply
  139.    and demand economics will determine how an internetwork will change
  140.    over time.  However, correctly predicting all of these factors and
  141.    all of their effects on an internetwork may not be possible.  Thus,
  142.    the flexibility of an internetwork routing architecture is its key to
  143.    handling unanticipated requirements.
  144.  
  145.    In developing the Nimrod architecture, we first assembled a list of
  146.    internetwork environmental constraints that have implications for
  147.    routing.  This list, enumerated below, includes observations about
  148.    the present Internet; it also includes predictions about
  149.    internetworks five to ten years in the future.
  150.  
  151.    1. The Internet will grow to include O(10^9) networks.
  152.  
  153.    2. The number of internetwork users may be unbounded.
  154.  
  155.    3. The capacity of internetwork resources is steadily increasing but
  156.       so is the demand for these resources.
  157.  
  158.    4. Routers and hosts have finite processing capacity and finite
  159.       memory, and networks have finite transmission capacity.
  160.  
  161.    5. Internetworks comprise different types of communications media --
  162.       including wireline, optical and wireless, terrestrial and
  163.       satellite, shared multiaccess and point-to-point -- with different
  164.       service characteristics in terms of throughput, delay, error and
  165.       loss distributions, and privacy.
  166.  
  167.  
  168.  
  169.  
  170. Castineyra, et. al.          Informational                      [Page 3]
  171.  
  172. RFC 1992              Nimrod Routing Architecture            August 1996
  173.  
  174.  
  175.    6. Internetwork elements -- networks, routers, hosts, and processes --
  176.       may be mobile.
  177.  
  178.    7. Service providers will specify offered services and restrictions on
  179.       access to those services.  Restrictions may be in terms of when a
  180.       service is available, how much the service costs, which users may
  181.       subscribe to the service and for what purposes, and how the user
  182.       must shape its traffic in order to receive a service guarantee.
  183.  
  184.    8. Users will specify traffic service requirements which may vary
  185.       widely among sessions.  These specifications may be in terms of
  186.       requested qualities of service, the amounts they are willing to pay
  187.       for these services, the times at which they want these services,
  188.       and the providers they wish to use.
  189.  
  190.    9. A user traffic session may include m sources and n destinations,
  191.       where m, n > or = 1.
  192.  
  193.    10. Service providers and users have a synergistic relationship.  That
  194.        is, as users develop more applications with special service
  195.        requirements, service providers will respond with the services to
  196.        meet these demands.  Moreover, as service providers deliver more
  197.        services, users will develop more applications that take advantage
  198.        of these services.
  199.  
  200.    11. Support for varied and special services will require more
  201.        processing, memory, and transmission bandwidth on the part of both
  202.        the service providers offering these services and the users
  203.        requesting these services.  Hence, many routing-related activities
  204.        will likely be performed not by routers and hosts but rather by
  205.        independent devices acting on their behalf to process, store, and
  206.        distribute routing information.
  207.  
  208.    12. Users requiring specialized services (e.g., high guaranteed
  209.        throughput) will usually be willing to pay more for these services
  210.        and to incur some delay in obtaining them.
  211.  
  212.    13. Service providers are reluctant to introduce complicated protocols
  213.        into their networks, because they are more difficult to manage.
  214.  
  215.    14. Vendors are reluctant to implement complicated protocols in their
  216.        products, because they take longer to develop.
  217.  
  218.    Collectively, these constraints imply that a successful internetwork
  219.    routing architecture must support special features, such as service-
  220.    specific routing and component mobility in a large and changing
  221.    internetwork, using simple procedures that consume a minimal amount
  222.    of internetwork resources.  We believe that the Nimrod architecture
  223.  
  224.  
  225.  
  226. Castineyra, et. al.          Informational                      [Page 4]
  227.  
  228. RFC 1992              Nimrod Routing Architecture            August 1996
  229.  
  230.  
  231.    meets these goals, and we justify this claim in the remainder of this
  232.    document.
  233.  
  234. 2.2 The Basic Routing Functions
  235.  
  236.    The basic routing functions provided by Nimrod are those provided by
  237.    any routing system, namely:
  238.  
  239.    1. Collecting, assembling, and distributing the information necessary
  240.       for route generation and selection.
  241.  
  242.    2. Generating and selecting routes based on this information.
  243.  
  244.    3. Establishing in routers information necessary for forwarding
  245.       packets along the selected routes.
  246.  
  247.    4. Forwarding packets along the selected routes.
  248.  
  249.    The Nimrod approach to providing this routing functionality includes
  250.    map distribution according to the "link-state" paradigm, localization
  251.    of route generation and selection at traffic sources and
  252.    destinations, and specification of packet forwarding through path
  253.    establishment by the sources and destinations.
  254.  
  255.    Link-state map distribution permits each service provider to have
  256.    control over the services it offers, through both distributing
  257.    restrictions in and restricting distribution of its routing
  258.    information.  Restricting distribution of routing information serves
  259.    to reduce the amount of routing information maintained throughout an
  260.    internetwork and to keep certain routing information private.
  261.    However, it also leads to inconsistent routing information databases
  262.    throughout an internetwork, as not all such databases will be
  263.    complete or identical.  We expect routing information database
  264.    inconsistencies to occur often in a large internetwork, regardless of
  265.    whether privacy is an issue.  The reason is that we expect some
  266.    devices to be incapable of maintaining the complete set of routing
  267.    information for the internetwork.  These devices will select only
  268.    some of the distributed routing information for storage in their
  269.    databases.
  270.  
  271.    Route generation and selection, based on maps and traffic service
  272.    requirements, may be completely controlled by the users or, more
  273.    likely, by devices acting on their behalf and does not require global
  274.    coordination among routers.  Thus these devices may generate routes
  275.    specific to the users' needs, and only those users pay the cost of
  276.    generating those routes.  Locally-controlled route generation allows
  277.    incremental deployment of and experimentation with new route
  278.    generation algorithms, as these algorithms need not be the same at
  279.  
  280.  
  281.  
  282. Castineyra, et. al.          Informational                      [Page 5]
  283.  
  284. RFC 1992              Nimrod Routing Architecture            August 1996
  285.  
  286.  
  287.    each location in an internetwork.
  288.  
  289.    Packet forwarding according to paths may be completely controlled by
  290.    the users or the devices acting on their behalf.  These paths may be
  291.    specified in as much detail as the maps permit.  Such packet
  292.    forwarding provides freedom from forwarding loops, even when routers
  293.    in a path have inconsistent routing information.  The reason is that
  294.    the forwarding path is a route computed by a single device and based
  295.    on routing information maintained at a single device.
  296.  
  297.    We note that the Nimrod architecture and Inter-Domain Policy Routing
  298.    (IDPR) [1] share in common link-state routing information
  299.    distribution, localized route generation and path-oriented message
  300.    forwarding.  In developing the Nimrod architecture, we have drawn
  301.    upon experience gained in developing and experimenting with IDPR.
  302.  
  303. 2.3 Scalability Features
  304.  
  305.    Nimrod must provide service-specific routing in arbitrarily large
  306.    internetworks and hence must employ mechanisms that help to contain
  307.    the amount of internetwork resources consumed by the routing
  308.    functions.  We provide a brief synopsis of such mechanisms below,
  309.    noting that arbitrary use of these mechanisms does not guarantee a
  310.    scalable routing architecture.  Instead, these mechanisms must be
  311.    used wisely, in order enable a routing architecture to scale with
  312.    internetwork growth.
  313.  
  314. 2.3.1 Clustering and Abstraction
  315.  
  316.    The Nimrod architecture is capable of representing an internetwork as
  317.    clusters of entities at multiple levels of abstraction.  Clustering
  318.    reduces the number of entities visible to routing.  Abstraction
  319.    reduces the amount of information required to characterize an entity
  320.    visible to routing.
  321.  
  322.    Clustering begins by aggregating internetwork elements such as hosts,
  323.    routers, and networks according to some predetermined criteria.
  324.    These elements may be clustered according to relationships among
  325.    them, such as "managed by the same authority", or so as to satisfy
  326.    some objective function, such as "minimize the expected amount of
  327.    forwarding information stored at each router".  Nimrod does not
  328.    mandate a particular cluster formation algorithm.
  329.  
  330.    New clusters may be formed by clustering together existing clusters.
  331.    Repeated clustering of entities produces a hierarchy of clusters with
  332.    a unique universal cluster that contains all others.  The same
  333.    clustering algorithm need not be applied at each level in the
  334.    hierarchy.
  335.  
  336.  
  337.  
  338. Castineyra, et. al.          Informational                      [Page 6]
  339.  
  340. RFC 1992              Nimrod Routing Architecture            August 1996
  341.  
  342.  
  343.    All elements within a cluster must satisfy at least one relation,
  344.    namely connectivity.  That is, if all elements within a cluster are
  345.    operational, then any two of them must be connected by at least one
  346.    route that lies entirely within that cluster.  This condition
  347.    prohibits the formation of certain types of separated clusters, such
  348.    as the following.  Suppose that a company has two branches located at
  349.    opposite ends of a country and that these two branches must
  350.    communicate over a public network not owned by the company.  Then the
  351.    two branches cannot be members of the same cluster, unless that
  352.    cluster also includes the public network connecting them.
  353.  
  354.    Once the clusters are formed, their connectivity and service
  355.    information is abstracted to reduce the representation of cluster
  356.    characteristics.  Example abstraction procedures include elimination
  357.    of services provided by a small fraction of the elements in the
  358.    cluster or expression of services in terms of average values.  Nimrod
  359.    does not mandate a particular abstraction algorithm.  The same
  360.    abstraction algorithm need not be applied to each cluster, and
  361.    multiple abstraction algorithms may be applied to a single cluster.
  362.  
  363.    A particular combination of clustering and abstraction algorithms
  364.    applied to an internetwork results in an organization related to but
  365.    distinct from the physical organization of the component hosts,
  366.    routers, and networks.  When a clustering is superimposed over the
  367.    physical internetwork elements, the cluster boundaries may not
  368.    necessarily coincide with host, router, or network boundaries.
  369.    Nimrod performs its routing functions with respect to the hierarchy
  370.    of entities resulting from clustering and abstraction, not with
  371.    respect to the physical realization of the internetwork.  In fact,
  372.    Nimrod need not even be aware of the physical elements of an
  373.    internetwork.
  374.  
  375. 2.3.2 Restricting Information Distribution
  376.  
  377.    The Nimrod architecture supports restricted distribution of routing
  378.    information, both to reduce resource consumption associated with such
  379.    distribution and to permit information hiding.  Each cluster
  380.    determines the portions of its routing information to distribute and
  381.    the set of entities to which to distribute this information.
  382.    Moreover, recipients of routing information are selective in which
  383.    information they retain.  Some examples are as follows.  Each cluster
  384.    might automatically advertise its routing information to its siblings
  385.    (i.e., those clusters with a common parent cluster).  In response to
  386.    requests, a cluster might advertise information about specific
  387.    portions of the cluster or information that applies only to specific
  388.    users.  A cluster might only retain routing information from clusters
  389.    that provide universal access to their services.
  390.  
  391.  
  392.  
  393.  
  394. Castineyra, et. al.          Informational                      [Page 7]
  395.  
  396. RFC 1992              Nimrod Routing Architecture            August 1996
  397.  
  398.  
  399. 2.3.3 Local Selection of Feasible Routes
  400.  
  401.    Generating routes that satisfy multiple constraints is usually an
  402.    NP-complete problem and hence a computationally intensive procedure.
  403.    With Nimrod, only those entities that require routes with special
  404.    constraints need assume the computational load associated with
  405.    generation and selection of such routes.  Moreover, the Nimrod
  406.    architecture allows individual entities to choose their own route
  407.    generation and selection algorithms and hence the amount of resources
  408.    to devote to these functions.
  409.  
  410. 2.3.4 Caching
  411.  
  412.    The Nimrod architecture encourages caching of acquired routing
  413.    information in order to reduce the amount of resources consumed and
  414.    delay incurred in obtaining the information in the future.  The set
  415.    of routes generated as a by-product of generating a particular route
  416.    is an example of routing information that is amenable to caching;
  417.    future requests for any of these routes may be satisfied directly
  418.    from the route cache.  However, as with any caching scheme, the
  419.    cached information may become stale and its use may result in poor
  420.    quality routes.  Hence, the routing information's expected duration
  421.    of usefulness must be considered when determining whether to cache
  422.    the information and for how long.
  423.  
  424. 2.3.5 Limiting Forwarding Information
  425.  
  426.    The Nimrod architecture supports two separate approaches for
  427.    containing the amount of forwarding information that must be
  428.    maintained per router.  The first approach is to multiplex, over a
  429.    single path (or tree, for multicast), multiple traffic flows with
  430.    similar service requirements.  The second approach is to install and
  431.    retain forwarding information only for active traffic flows.
  432.  
  433.    With Nimrod, the service providers and users share responsibility for
  434.    the amount of forwarding information in an internetwork.  Users have
  435.    control over the establishment of paths, and service providers have
  436.    control over the maintenance of paths.  This approach is different
  437.    from that of the current Internet, where forwarding information is
  438.    established in routers independent of demand for this information.
  439.  
  440. 3. Architecture
  441.  
  442.    Nimrod is a hierarchical, map-based routing architecture that has
  443.    been designed to support a wide range of user requirements and to
  444.    scale to very large dynamic internets.  Given a traffic stream's
  445.    description and requirements (both quality of service requirements
  446.    and usage-restriction requirements), Nimrod's main function is to
  447.  
  448.  
  449.  
  450. Castineyra, et. al.          Informational                      [Page 8]
  451.  
  452. RFC 1992              Nimrod Routing Architecture            August 1996
  453.  
  454.  
  455.    manage in a scalable fashion how much information about the
  456.    internetwork is required to choose a route for that stream, in other
  457.    words, to manage the trade-off between amount of information about
  458.    the internetwork and the quality of the computed route.  Nimrod is
  459.    implemented as a set of protocols and distributed databases.  The
  460.    following sections describe the basic architectural concepts used in
  461.    Nimrod.  The protocols and databases are specified in other
  462.    documents.
  463.  
  464. 3.1 Endpoints
  465.  
  466.    The basic entity in Nimrod is the endpoint.  An endpoint represents a
  467.    user of the internetwork layer: for example, a transport connection.
  468.    Each endpoint has at least one endpoint identifier (EID). Any given
  469.    EID corresponds to a single endpoint.  EIDs are globally unique,
  470.    relatively short "computer-friendly" bit strings---for example, small
  471.    multiples of 64 bits.  EIDs have no topological significance
  472.    whatsoever.  For ease of management, EIDs might be organized
  473.    hierarchically, but this is not required.
  474.  
  475.    BEGIN COMMENT
  476.  
  477.       In practice, EIDs will probably have a second form, which we can
  478.       call the endpoint label (EL). ELs are ASCII strings of unlimited
  479.       length, structured to be used as keys in a distributed database
  480.       (much like DNS names).  Information about an endpoint---for
  481.       example, how to reach it---can be obtained by querying this
  482.       distributed database using the endpoint's label as key.
  483.  
  484.    END COMMENT
  485.  
  486. 3.2 Nodes and Adjacencies
  487.  
  488.    A node represents a region of the physical network.  The region of
  489.    the network represented by a node can be as large or as small as
  490.    desired: a node can represent a continent or a process running inside
  491.    a host.  Moreover, as explained in section 4, a region of the network
  492.    can simultaneously be represented by more than one node.
  493.  
  494.    An adjacency consists of an ordered pair of nodes.  An adjacency
  495.    indicates that traffic can flow from the first node to the second.
  496.  
  497. 3.3 Maps
  498.  
  499.    The basic data structure used for routing is the map.  A map
  500.    expresses the available connectivity between different points of an
  501.    internetwork.  Different maps can represent the same region of a
  502.    physical network at different levels of detail.
  503.  
  504.  
  505.  
  506. Castineyra, et. al.          Informational                      [Page 9]
  507.  
  508. RFC 1992              Nimrod Routing Architecture            August 1996
  509.  
  510.  
  511.    A map is a graph composed of nodes and adjacencies.  Properties of
  512.    nodes are contained in attributes associated with them.  Adjacencies
  513.    have no attributes.  Nimrod defines languages to specify attributes
  514.    and to describe maps.
  515.  
  516.    Maps are used by routers to generate routes.  In general, it is not
  517.    required that different routers have consistent maps.
  518.  
  519.    BEGIN COMMENT
  520.  
  521.       Nimrod has been designed so that there will be no routing loops
  522.       even when the routing databases of different routers are not
  523.       consistent.  A consistency requirement would not permit
  524.       representing the same region of the internetwork at different
  525.       levels of detail.  Also, a routing-database consistency
  526.       requirement would be hard to guarantee in the very large internets
  527.       Nimrod is designed to support.
  528.  
  529.    END COMMENT
  530.  
  531.    In this document we speak only of routers.  By "router" we mean a
  532.    physical device that implements functions related to routing: for
  533.    example, forwarding, route calculation, path set-up.  A given device
  534.    need not be capable of doing all of these to be called a router.  The
  535.    protocol specification document, see [2], splits these
  536.    functionalities into specific agents.
  537.  
  538. 3.3.1 Connectivity Specifications
  539.  
  540.    By connectivity between two points we mean the available services and
  541.    the restrictions on their use.  Connectivity specifications are among
  542.    the attributes associated with nodes.  The following are informal
  543.    examples of connectivity specifications:
  544.  
  545.   o "Between these two points, there exists best-effort service with no
  546.     restrictions."
  547.  
  548.   o "Between these two points, guaranteed 10 ms delay can be arranged for
  549.     traffic streams whose data rate is below 1 Mbyte/sec and that have low
  550.     (specified) burstiness."
  551.  
  552.   o "Between these two points, best-effort service is offered, as long as
  553.     the traffic originates in and is destined for research organizations."
  554.  
  555. 3.4 Locators
  556.  
  557.    A locator is a string of binary digits that identifies a location in
  558.    an internetwork.  Nodes and endpoint are assigned locators.
  559.  
  560.  
  561.  
  562. Castineyra, et. al.          Informational                     [Page 10]
  563.  
  564. RFC 1992              Nimrod Routing Architecture            August 1996
  565.  
  566.  
  567.    Different nodes have necessarily different locators.  A node is
  568.    assigned only one locator.  Locators identify nodes and specify
  569.    *where* a node is in the network.  Locators do *not* specify a path
  570.    to the node.  An endpoint can be assigned more than one locator.  In
  571.    this sense, a locator might appear in more than one location of an
  572.    internetwork.
  573.  
  574.    In this document locators are written as ASCII strings that include
  575.    colons to underline node structure: for example, a:b:c.  This does
  576.    not mean that the representation of locators in packets or in
  577.    databases will necessarily have something equivalent to the colons.
  578.  
  579.    A given physical element of the network might help implement more
  580.    than one node---for example, a router might be part of two different
  581.    nodes.  Though this physical element might therefore be associated
  582.    with more than one locator, the nodes that this physical element
  583.    implements have each only one locator.
  584.  
  585.    The connectivity specifications of a node are identified by a tuple
  586.    consisting of the node's locator and an ID number.
  587.  
  588.    All map information is expressed in terms of locators, and routing
  589.    selections are based on locators.  EIDs are *not* used in making
  590.    routing decisions---see section 5.
  591.  
  592. 3.5 Node Attributes
  593.  
  594.    The following are node attributes defined by Nimrod.
  595.  
  596. 3.5.1 Adjacencies
  597.  
  598.    Adjacencies appear in maps as attributes of both the nodes in the
  599.    adjacency.  A node has two types of adjacencies associated with it:
  600.    those that identify a neighboring node to which the original node can
  601.    send data to; and those that identivy a neighboring node that can
  602.    send data to the original node.
  603.  
  604. 3.5.2 Internal Maps
  605.  
  606.    As part of its attributes, a node can have internal maps.  A router
  607.    can obtain a node's internal maps---or any other of the node's
  608.    attributes, for that matter---by requesting that information from a
  609.    representative of that node.  (A router associated with that node can
  610.    be such a representative.)  A node's representative can in principle
  611.    reply with different internal maps to different requests---for
  612.    example, because of security concerns.  This implies that different
  613.    routers in the network might have different internal maps for the
  614.    same node.
  615.  
  616.  
  617.  
  618. Castineyra, et. al.          Informational                     [Page 11]
  619.  
  620. RFC 1992              Nimrod Routing Architecture            August 1996
  621.  
  622.  
  623.    A node is said to own those locators that have as a prefix the
  624.    locator of the node.  In a node that has an internal map, the
  625.    locators of all nodes in this internal map are prefixed by the
  626.    locator of the original node.
  627.  
  628.    Given a map, a more detailed map can be obtained by substituting one
  629.    of the map's nodes by one of that node's internal maps.  This process
  630.    can be continued recursively.  Nimrod defines standard internal maps
  631.    that are intended to be used for specific purposes.  A node's
  632.    "detailed map" gives more information about the region of the network
  633.    represented by the original node.  Typically, it is closer to the
  634.    physical realization of the network than the original node.  The
  635.    nodes of this map can themselves have detailed maps.
  636.  
  637. 3.5.3 Transit Connectivity
  638.  
  639.    For a given node, this attribute specifies the services available
  640.    between nodes adjacent to the given node.  This attribute is
  641.    requested and used when a router intends to route traffic *through* a
  642.    node.  Conceptually, the traffic connectivity attribute is a matrix
  643.    that is indexed by a pair of locators: the locators of adjacent
  644.    nodes.  The entry indexed by such a pair contains the connectivity
  645.    specifications of the services available across the given node for
  646.    traffic entering from the first node and exiting to the second node.
  647.  
  648.    The actual format of this attribute need not be a matrix.  This
  649.    document does not specify the format for this attribute.
  650.  
  651. 3.5.4 Inbound Connectivity
  652.  
  653.    For a given node, this attribute represents connectivity from
  654.    adjacent nodes to points within the given node.  This attribute is
  655.    requested and used when a router intends to route traffic to a point
  656.    within the node but does not have, and either cannot or does not want
  657.    to obtain, a detailed map of the node.  The inbound connectivity
  658.    attribute identifies what connectivity specifications are available
  659.    between pairs of locators.  The first element of the pair is the
  660.    locator of an adjacent node; the second is a locator owned by the
  661.    given node.
  662.  
  663. 3.5.5 Outbound Connectivity
  664.  
  665.    For a given node, this attribute represents connectivity from points
  666.    within the given node to adjacent nodes.  This attribute identifies
  667.    what connectivity specifications are available between pairs of
  668.    locators.  The first element of the pair is a locator owned by the
  669.    given node, the second is the locator of an adjacent node.
  670.  
  671.  
  672.  
  673.  
  674. Castineyra, et. al.          Informational                     [Page 12]
  675.  
  676. RFC 1992              Nimrod Routing Architecture            August 1996
  677.  
  678.  
  679.    The Transit, Inbound and Outbound connectivity attributes together
  680.    wiht a list of adjacencies form the "abstract map."
  681.  
  682. 4. Physical Realization
  683.  
  684.    A network is modeled as being composed of physical elements: routers,
  685.    hosts, and communication links.  The links can be either point-to-
  686.    point---e.g., T1 links---or multi-point---e.g., ethernets, X.25
  687.    networks, IP-only networks, etc.
  688.  
  689.    The physical representation of a network can have associated with it
  690.    one or more Nimrod maps.  A Nimrod map is a function not only of the
  691.    physical network, but also of the configured clustering of elements
  692.    (locator assignment) and of the configured connectivity.
  693.  
  694.    Nimrod has no pre-defined "lowest level": for example, it is possible
  695.    to define and advertise a map that is physically realized inside a
  696.    CPU. In this map, a node could represent, for example, a process or a
  697.    group of processes.  The user of this map need not necessarily know
  698.    or care.  ("It is turtles all the way down!", in [3] page 63.)
  699.  
  700. 4.1 Contiguity
  701.  
  702.    Locators sharing a prefix must be assigned to a contiguous region of
  703.    a map.  That is, two nodes in a map that have been assigned locators
  704.    sharing a prefix should be connected to each other via nodes that
  705.    themselves have been assigned locators with that prefix.  The main
  706.    consequence of this requirement is that "you cannot take your locator
  707.    with you."
  708.  
  709.    As an example of this, see figure 1, consider two providers x.net and
  710.    y.net (these designations are *not* locators but DNS names) which
  711.    appear in a Nimrod map as two nodes with locators A and B. Assume
  712.    that corporation z.com (also a DNS name) was originally connected to
  713.    x.net.  Locators corresponding to elements in z.com are, in this
  714.    example, A-prefixed.  Corporation z.com decides to change providers-
  715.    --severing its physical connection to x.net.  The connectivity
  716.    requirement described in this section implies that, after the
  717.    provider change has taken place, elements in z.com will have been, in
  718.    this example, assigned B-prefixed locators and that it is not
  719.    possible for them to receive data destined to A-prefixed locators
  720.    through y.net.
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Castineyra, et. al.          Informational                     [Page 13]
  731.  
  732. RFC 1992              Nimrod Routing Architecture            August 1996
  733.  
  734.  
  735.                   A                 B
  736.                +------+          +------+
  737.                | x.net|          | y.net|
  738.                +------+         /+------+
  739.                                /
  740.                         +-----+
  741.                         |z.com|
  742.                         +-----+
  743.  
  744.  
  745.  
  746.              Figure 1:  Connectivity after switching providers
  747.  
  748.    The contiguity requirement simplifies routing information exchange:
  749.    if it were permitted for z.com to receive A-prefixed locators through
  750.    y.net, it would be necessary that a map that contains node B include
  751.    information about the existence of a group of A-prefixed locators
  752.    inside node B. Similarly, a map including node A would have to
  753.    include information that the set of A-prefixed locators asigned to
  754.    z.com is not to be found within A. The more situations like this
  755.    happen, the more the hierarchical nature of Nimrod is subverted to
  756.    "flat routing." The contiguity requirement can also be expressed as
  757.    "EIDs are stable; locators are ephemeral."
  758.  
  759. 4.2 An Example
  760.  
  761.    Figure 2 shows a physical network.  Hosts are drawn as squares,
  762.    routers as diamonds, and communication links as lines.  The network
  763.    shown has the following components: five ethernets ---EA through EE;
  764.    five routers---RA through RE; and four hosts---HA through HD. Routers
  765.    RA, RB, and RC interconnect the backbone ethernets---EB, EC and ED.
  766.    Router RD connects backbone EC to a network consisting of ethernet EA
  767.    and hosts HA and HB.  Router RE interconnects backbone ED to a
  768.    network consisting of ethernet EE and hosts HC and HD. The assigned
  769.    locators appear in lower case beside the corresponding physical
  770.    entity.
  771.  
  772.    Figure 3 shows a Nimrod map for that network.  The nodes of the map
  773.    are represented as squares.  Lines connecting nodes represent two
  774.    adjacencies in opposite directions.  Different regions of the network
  775.    are represented at different detail.  Backbone b1 is represented as a
  776.    single node.  The region of the network with locators prefixed by "a"
  777.    is represented as a single node.  The region of the network with
  778.    locators prefixed by "c" is represented in full detail.
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Castineyra, et. al.          Informational                     [Page 14]
  787.  
  788. RFC 1992              Nimrod Routing Architecture            August 1996
  789.  
  790.  
  791. 4.3 Multiple Locator Assignment
  792.  
  793.    Physical elements can form part of, or implement, more than one node.
  794.    In this sense it can be said that they can be assigned more than one
  795.    locator.  Consider figure 4, which shows a physical network.  This
  796.    network is composed of routers (RA, RB, RC, and RD), hosts (HA, HB,
  797.    and HC), and communication links.  Routers RA, RB, and RC are
  798.    connected with point-to-point links.  The two horizontal lines in the
  799.    bottom of the figure represent ethernets.  The figure also shows the
  800.    locators assigned to hosts and routers.
  801.  
  802.    In figure 4, RA and RB have each been assigned one locator (a:t:r1
  803.    and b:t:r1, respectively).  RC has been assigned locators a:y:r1 and
  804.    b:d:r1; one of these two locators shares a prefix with RA's locator,
  805.    the other shares a prefix with RB's locator.  Hosts HA and HB have
  806.    each been assigned three locators.  Host HC has been assigned one
  807.    locator.  Depending on what communication paths have been set up
  808.    between points, different Nimrod maps result.  A possible Nimrod map
  809.    for this network is given in figure 5.
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Castineyra, et. al.          Informational                     [Page 15]
  843.  
  844. RFC 1992              Nimrod Routing Architecture            August 1996
  845.  
  846.  
  847.                                              a:h1 +--+      a:h2 +--+
  848.                                                   |HA|           |HB|
  849.                                                   |  |           |  |
  850.                                                   +--+           +--+
  851.                                            a:e1    |              |
  852.                                                --------------------- EA
  853.                                                        |
  854.                                  /\                    /\
  855.                                 /RB\ b1:r1            /RD\ b2:r1
  856.                                /\  /\                 \  /
  857.                               /  \/  \                 \/
  858.     EB         b1:t:e1       /        \                 |   EC
  859.     ------------------------          -------------------------- b2:e1
  860.                /                             \
  861.               /                               \
  862.              /\                                \
  863.             /RA\ b1:r2                          \/\
  864.             \  /                                /RC\  b2:t:r2
  865.              \/                                 \  /
  866.                \                                 \/
  867.                 \                               /   ED
  868.                   ----------------------------------- b3:t:e1
  869.                                     |
  870.                                     |
  871.                                     |
  872.                                    /\
  873.                                   /RE\ b3:t:r1
  874.                                   \  /
  875.                       EE           \/
  876.                       -----------------------------   c:e1
  877.                          |                   |
  878.                         +--+                +--+
  879.                         |HC|   c:h1         |HD|    c:h2
  880.                         |  |                |  |
  881.                         +--+                +--+
  882.  
  883.  
  884.                     Figure 2:  Example Physical Network
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Castineyra, et. al.          Informational                     [Page 16]
  899.  
  900. RFC 1992              Nimrod Routing Architecture            August 1996
  901.  
  902.  
  903.                              +-----+               +-----+
  904.    +----------+              |     |               |     |
  905.    |          |--------------| b2  | --------------| a   |
  906.    |          |              |     |               |     |
  907.    |    b1    |              +-----+               +-----+
  908.    |          |                 |
  909.    |          |                 |
  910.    |          |                 |
  911.    +----------+                 |
  912.                \                |
  913.                 \               |
  914.                  \              |
  915.                   \             |
  916.                    \         +--------+
  917.                     \        |        |
  918.                      ------- | b3:t:e1|
  919.                              |        |
  920.                              +--------+
  921.                                 |
  922.                                 |
  923.                                 |
  924.                                 |
  925.                              +-------+
  926.                              |       |
  927.                              |b3:t:r1|
  928.                              |       |
  929.                              +-------+
  930.                                   |
  931.                  +-----+       +-----+     +-----+
  932.                  |     |       |     |     |     |
  933.                  | c:h1|-------| c:e1|-----| c:h2|
  934.                  |     |       |     |     |     |
  935.                  +-----+       +-----+     +-----+
  936.  
  937.  
  938.  
  939.                            Figure 3:  Nimrod Map
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Castineyra, et. al.          Informational                     [Page 17]
  955.  
  956. RFC 1992              Nimrod Routing Architecture            August 1996
  957.  
  958.  
  959.                       a:t:r1              b:t:r1
  960.                          +--+            +--+
  961.                          |RA|------------|RB|
  962.                          +--+            +--+
  963.                            \             /
  964.                             \           /
  965.                              \         /
  966.                               \       /
  967.                                \     /
  968.                                 \   /
  969.                                  \ /
  970.                                   \
  971.                                  +--+
  972.                                  |RC|  a:y:r1
  973.                                  +--+  b:d:r1
  974.                                   |
  975.                      ---------------------------
  976.                       |        |             |
  977.              a:y:h1  +--+     +--+          +--+    a:y:h2
  978.              b:d:h2  |HA|     |RD| c:r1     |HB|    b:d:h1
  979.              c:h1    +--+     +--+          +--+    c:h2
  980.                                 |
  981.                                 |
  982.                          --------------------
  983.                                   |
  984.                                  +--+
  985.                                  |HC| c:h3
  986.                                  +--+
  987.  
  988.  
  989.  
  990.  
  991.                         Figure 4:  Multiple Locators
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Castineyra, et. al.          Informational                     [Page 18]
  1011.  
  1012. RFC 1992              Nimrod Routing Architecture            August 1996
  1013.  
  1014.  
  1015.            a                       b                   c
  1016.      +-------------+       +-------------+         +---------------+
  1017.      |             |       |             |         |               |
  1018.      |        a:t  |       |      b:t    |         |               |
  1019.      |   +--+      |       |  +--+       |         |               |
  1020.      |   |  |--------------|--|  |       |         |               |
  1021.      |   +--+      |       |  +--+       |         |               |
  1022.      |     |       |       |    |        |         |               |
  1023.      |   +--+      |       |  +--+       |         |               |
  1024.      |   +  +      |       |  +  +       |         |               |
  1025.      |   +--+ a:y  |       |  +--+ b:d   |         |               |
  1026.      |             |       |             |         |               |
  1027.      +-------------+       +-------------+         +---------------+
  1028.  
  1029.  
  1030.  
  1031.  
  1032.                            Figure 5:  Nimrod Map
  1033.  
  1034.    Nodes and adjacencies represent the *configured* clustering and
  1035.    connectivity of the network.  Notice that even though a:y and b:d are
  1036.    defined on the same hardware, the map shows no connection between
  1037.    them: this connection has not been configured.  A packet given to
  1038.    node `a' addressed to a locator prefixed with "b:d" would have to
  1039.    travel from node a to node b via the arc joining them before being
  1040.    directed towards its destination.  Similarly, the map shows no
  1041.    connection between the c node and the other two top level nodes.  If
  1042.    desired, these connections could be established, which would
  1043.    necessitate setting up the exchange of routing information.  Figure 6
  1044.    shows the map when these connections have been established.
  1045.  
  1046.    In the strict sense, Nimrod nodes do not overlap: they are distinct
  1047.    entities.  But, as we have seen in the previous example, a physical
  1048.    element can be given more than one locator, and, in that sense,
  1049.    participate in implementing more than one node.  That is, two
  1050.    different nodes might be defined on the same hardware.  In this
  1051.    sense, Nimrod nodes can be said to overlap.  But to notice this
  1052.    overlap one would have to know the physical-to-map correspondence.
  1053.    It is not possible to know when two nodes share physical assets by
  1054.    looking only at a Nimrod map.
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Castineyra, et. al.          Informational                     [Page 19]
  1067.  
  1068. RFC 1992              Nimrod Routing Architecture            August 1996
  1069.  
  1070.  
  1071. 5. Forwarding
  1072.  
  1073.    Nimrod supports four forwarding modes:
  1074.  
  1075.  1. Connectivity Specification Chain (CSC) mode: In this mode, packets
  1076.     carry a list of connectivity specifications.  The packet is
  1077.     required to go through the nodes that own the connectivity
  1078.     specifications using the services specified.  The nodes associated
  1079.     with the listed connectivity specifications should define a
  1080.     continuous path in the map.  A more detailed description of the
  1081.     requirements of this mode is given in section 5.3.
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Castineyra, et. al.          Informational                     [Page 20]
  1123.  
  1124. RFC 1992              Nimrod Routing Architecture            August 1996
  1125.  
  1126.  
  1127.    +--------+                                               +--------+
  1128.    |        |                                               |        |
  1129.    | a:t:r1 |-----------------------------------------------| b:t:r1 |
  1130.    |        |                                               |        |
  1131.    +--------+                                               +--------+
  1132.      |                                                             |
  1133.      |                                                             |
  1134.      |         /-----------------------------------------\         |
  1135.      |         |                                         |         |
  1136.      |         |                                         |         |
  1137.      |  +--------+       +--------+                    +--------+  |
  1138.      |  |        |       |        |                    |        |  |
  1139.      |  | a:y:h1 --------|  c:h1  |--------------------| b:d:h1 |  |
  1140.      |  |        |       |        |                    |        |  |
  1141.      |  +--------+       +--------+                    +--------+  |
  1142.      |    |    |           |    |                        |    |    |
  1143.    +--------+  |           |  +------+  +------+         |  +--------+
  1144.    |        |  |           |  |      |  |      |         |  |        |
  1145.    | a:y:r1 |  |           |  | c:r1 |--| c:h3 |         |  | b:d:r1 |
  1146.    |        |  |           |  |      |  |      |         |  |        |
  1147.    +--------+  |           |  +------+  +------+         |  +--------+
  1148.      |    |    |           |    |                        |    |    |
  1149.      |  +--------+       +--------+                    +--------+  |
  1150.      |  |        |       |        |                    |        |  |
  1151.      |  | a:y:h2 |--------  c:h2  |--------------------| b:d:h2 |  |
  1152.      |  |        |       |        |                    |        |  |
  1153.      |  +--------+       +--------+                    +--------+  |
  1154.      |         |                                         |         |
  1155.      |         |                                         |         |
  1156.      |         |                                         |         |
  1157.      |         \-----------------------------------------/         |
  1158.      \-------------------------------------------------------------/
  1159.  
  1160.  
  1161.  
  1162.                           Figure 6:  Nimrod Map II
  1163.  
  1164.  
  1165.  2. Connectivity Specifications Sequence (CSS) mode: In this mode,
  1166.     packets carry a list of connectivity specifications.  The packet
  1167.     is supposed to go sequentially through the nodes that own each one
  1168.     of the listed connectivity specifications in the order they were
  1169.     specified.  The nodes need not be adjacent.  This mode can be seen
  1170.     as a generalization of the CSC mode.  Notice that CSCs are said to
  1171.     be a *chains* of locators, CSSs are *sequences* of locators.  This
  1172.     difference emphasizes the contiguity requirement in CSCs.  A
  1173.     detailed description of this mode is in section 5.6.
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Castineyra, et. al.          Informational                     [Page 21]
  1179.  
  1180. RFC 1992              Nimrod Routing Architecture            August 1996
  1181.  
  1182.  
  1183.  3. Flow mode: In this mode, the packet includes a path-id that
  1184.     indexes state that has been previously set up in routers along the
  1185.     path.  Packet forwarding when flow state has been established is
  1186.     relatively simple: follow the instructions in the routers' state.
  1187.     Nimrod includes a mechanism for setting up this state.  A more
  1188.     detailed description of this mode can be found in section 5.4.
  1189.  
  1190.  4. Datagram mode: in this mode, every packet carries source and
  1191.     destination locators.  This mode can be seen as a special case of
  1192.     the CSS mode.  Forwarding is done following procedures as
  1193.     indicated in section 5.5.
  1194.  
  1195.     BEGIN COMMENT
  1196.  
  1197.     The obvious parallels are between CSC mode and IPV4's strict
  1198.     source route and between CSS mode and IPV4's loose source route.
  1199.  
  1200.     END COMMENT
  1201.  
  1202.    In all of these modes, the packet may also carry locators and EIDs
  1203.    for the source and destinations.  In normal operation, forwarding
  1204.    does not take the EIDs into account, only the receiver does.  EIDs
  1205.    may be carried for demultiplexing at the receiver, and to detect
  1206.    certain error conditions.  For example, if the EID is unknown at the
  1207.    receiver, the locator and EID of the source included in the packet
  1208.    could be used to generate an error message to return to the source
  1209.    (as usual, this error message itself should probably not be allowed
  1210.    to be the cause of other error messages).  Forwarding can also use
  1211.    the source locator and EID to respond to error conditions, for
  1212.    example, to indicate to the source that the state for a path-id
  1213.    cannot be found.
  1214.  
  1215.    Packets can be visualized as moving between nodes in a map.  A packet
  1216.    indicates, implicitly or explicitly, a destination locator.  In a
  1217.    packet that uses the datagram, CSC, or CSS forwarding mode, the
  1218.    destination locator is explicitly indicated .  In a packet that uses
  1219.    the flow forwarding mode, the destination locator is implied by the
  1220.    path-id and the distributed state in the network (it might also be
  1221.    included explicitly).  Given a map, a packet moves to the node in
  1222.    this map to which the associated destination locator belongs.  If the
  1223.    destination node has a "detailed" internal map, the destination
  1224.    locator must belong to one of the nodes in this internal map
  1225.    (otherwise it is an error).  The packet goes to this node (and so on,
  1226.    recursively).
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Castineyra, et. al.          Informational                     [Page 22]
  1235.  
  1236. RFC 1992              Nimrod Routing Architecture            August 1996
  1237.  
  1238.  
  1239. 5.1 Policy
  1240.  
  1241.    CSC and CSS mode implement policy by specifying the connectivity
  1242.    specifications associated with those nodes that the packet should
  1243.    traverse.  Strictly speaking, there is no policy information included
  1244.    in the packet.  That is, in principle, it is not possible to
  1245.    determine what criteria were used to select the route by looking at
  1246.    the packet.  The packet only contains the results of the route
  1247.    generation process.  Similarly, in a flow mode packet, policy is
  1248.    implicit in the chosen route.
  1249.  
  1250.    A datagram-mode packet can indicate a limited form of policy routing
  1251.    by the choice of destination and source locators.  For this choice to
  1252.    exist, the source or destination endpoints must have several locators
  1253.    associated with them.  This type of policy routing is capable of, for
  1254.    example, choosing providers.
  1255.  
  1256. 5.2 Trust
  1257.  
  1258.    A node that chooses not to divulge its internal map can work
  1259.    internally any way its administrators decide, as long as the node
  1260.    satisfies its external characterization as given in its Nimrod map
  1261.    advertisements.  Therefore, the advertised Nimrod map should be
  1262.    consistent with a node's actual capabilities.  For example, consider
  1263.    the network shown in figure 7 which shows a physical network and the
  1264.    advertised Nimrod map.  The physical network consists of hosts and a
  1265.    router connected together by an ethernet.  This node can be sub-
  1266.    divided into component nodes by assigning locators as shown in the
  1267.    figure and advertising the map shown.  The map seems to imply that it
  1268.    is possible to send packets to node a:x without these being
  1269.    observable by node a:y; however, this is actually not enforceable.
  1270.  
  1271.    In general, it is reasonable to ask how much trust should be put in
  1272.    the maps obtained by a router.  Even when a node is "trustworthy,"
  1273.    and the information received from the node has been authenticated,
  1274.    there is always the possibility of an honest mistake.
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Castineyra, et. al.          Informational                     [Page 23]
  1291.  
  1292. RFC 1992              Nimrod Routing Architecture            August 1996
  1293.  
  1294.  
  1295.                                  +--+
  1296.                                  |RA| a:r1
  1297.                                  +--+
  1298.                                   |
  1299.                                   |
  1300.                                   |
  1301.                                   |
  1302.                      -------------------------------
  1303.                          |                       |
  1304.                         +--+                    +--+
  1305.                         |Ha| a:x:h1             |Ha| a:y:h2
  1306.                         +--+                    +--+
  1307.  
  1308.  
  1309.                                Physical Network
  1310.  
  1311.  
  1312.                       a             |
  1313.                    +----------------|--------------------
  1314.                    |                |                   |
  1315.                    |              +----+                |
  1316.                    |              |a:r1|                |
  1317.                    |   a:x        +----+  a:y           |
  1318.                    |   +------+  /      \ +-------+     |
  1319.                    |   |      | /        \|       |     |
  1320.                    |   |      |           |       |     |
  1321.                    |   |      |           |       |     |
  1322.                    |   +------+           +-------+     |
  1323.                    |                                    |
  1324.                    + -----------------------------------+
  1325.  
  1326.  
  1327.                                Advertised Nimrod Map
  1328.  
  1329.  
  1330.  
  1331.  
  1332.                     Figure 7:  Example of Misleading Map
  1333.  
  1334. 5.3 Connectivity Specification (CSC) Mode
  1335.  
  1336.    Routing for a CSC packet is specified by a list of connectivity
  1337.    specifications carried in the packet.  These are the connectivity
  1338.    specifications that make the specified path, in the order that they
  1339.    appear along the path.  These connectivity specifications are
  1340.    attributes of nodes.  The route indicated by a CSC packet is specifed
  1341.    in terms of connectivity specifications rather than physical
  1342.    entities:  a connectivity specification in a CSC-mode packet would
  1343.  
  1344.  
  1345.  
  1346. Castineyra, et. al.          Informational                     [Page 24]
  1347.  
  1348. RFC 1992              Nimrod Routing Architecture            August 1996
  1349.  
  1350.  
  1351.    correspond to a type of service between two points of the network
  1352.    without specifying the physical path.
  1353.  
  1354.    Given two connectivity specifications that appear consecutively in
  1355.    the a CSC-mode packet, there should exist an adjacency going from the
  1356.    node corresponding to the first connectivity specification to the
  1357.    node corresponding to the second connectivity specification.  The
  1358.    first connectivity specification referenced in a CSC-mode packet
  1359.    should be an outbound connectivity specification; similarly, the last
  1360.    connectivity specification referenced in a CSC-mode packet should be
  1361.    an inbound connectivity specification; the rest should be transit
  1362.    connectivity specifications.
  1363.  
  1364. 5.4 Flow Mode
  1365.  
  1366.    A flow mode packet includes a path-id field.  This field identifies
  1367.    state that has been established in intermediate routers.  The packet
  1368.    might also contain locators and EIDs for the source and destination.
  1369.    The setup packet also includes resource requirements.  Nimrod
  1370.    includes protocols to set up and modify flow-related state in
  1371.    intermediate routers.  These protocols not only identify the
  1372.    requested route, but also describe the resources requested by the
  1373.    flow---e.g., bandwidth, delay, etc.  The result of a set-up attempt
  1374.    might be either confirmation of the set-up or notification of its
  1375.    failure.  The source-specified routes in flow mode setup are
  1376.    specified in terms of CSSs.
  1377.  
  1378. 5.5 Datagram Mode
  1379.  
  1380.    A realistic routing architecture must include an optimization for
  1381.    datagram traffic, by which we mean user transactions which consist of
  1382.    single packets, such as a lookup in a remote translation database.
  1383.    Either of the two previous modes contains unacceptable overhead if
  1384.    much of the network traffic consists of such datagram transactions.
  1385.    A mechanism is needed which is approximately as efficient as the
  1386.    existing IPv4 "hop-by-hop" mechanism.  Nimrod has such a mechanism.
  1387.  
  1388.    The scheme can be characterized by the way it divides the state in a
  1389.    datagram network between routers and the actual packets.  In IPv4,
  1390.    most packets currently contain only a small amount of state
  1391.    associated with the forwarding process ("forwarding state")---the hop
  1392.    count.  Nimrod proposes that enlarging the amount of forwarding state
  1393.    in packets can produce a system with useful properties.  It was
  1394.    partially inspired by the efficient source routing mechanism in SIP
  1395.    [5], and the locator pointer mechanism in PIP [6]).
  1396.  
  1397.    Nimrod datagram mode uses pre-set flow-mode state to support a
  1398.    strictly non-looping path, but without a source-route.
  1399.  
  1400.  
  1401.  
  1402. Castineyra, et. al.          Informational                     [Page 25]
  1403.  
  1404. RFC 1992              Nimrod Routing Architecture            August 1996
  1405.  
  1406.  
  1407. 5.6 Connectivity Specification Sequence Mode
  1408.  
  1409.    The connectivity specification sequence mode specifies a route by a
  1410.    list of connectivity specifications.  There are no contiguity
  1411.    restrictions on consecutive connectivity specifications.
  1412.  
  1413.     BEGIN COMMENT
  1414.  
  1415.     The CSS and CSC modes can be seen as combination of the datagram
  1416.     and flow modes.  Therefore, in a sense, the basic forwarding modes
  1417.     of Nimrod are just these last two.
  1418.  
  1419.     END COMMENT
  1420.  
  1421. 6. Security Considerations
  1422.  
  1423.    Security issues are not addressed in this document.
  1424.  
  1425. 7. References
  1426.  
  1427.    [1] Steenstrup, M., "Inter-Domain Policy Routing Protocol
  1428.        Specification: Version 1," RFC 1479, June 1993.
  1429.  
  1430.    [2] Steenstrup M., and R. Ramanathan, "Nimrod Functionality and
  1431.        Protocols Specification," Work in Progress, February 1996.
  1432.  
  1433.    [3] Wright, R., "Three Scientists and their Gods Looking for Meaning
  1434.        in an Age of Information", New York: Times Book, first ed., 1988.
  1435.  
  1436.    [4] Deering, S., "SIP: Simple Internet Protocol," IEEE Network, vol.
  1437.        7, May 1993.
  1438.  
  1439.    [5] Francis, P., "A Near-Term Architecture for Deploying Pip," IEEE
  1440.        Network, vol. 7, May 1993.
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Castineyra, et. al.          Informational                     [Page 26]
  1459.  
  1460. RFC 1992              Nimrod Routing Architecture            August 1996
  1461.  
  1462.  
  1463. 8. Authors' Addresses
  1464.  
  1465.    Isidro Castineyra
  1466.    BBN Systems and Technologies
  1467.    10 Moulton Street
  1468.    Cambridge, MA 02138
  1469.  
  1470.    Phone:  (617) 873-6233
  1471.    EMail:  isidro@bbn.com
  1472.  
  1473.  
  1474.    Noel Chiappa
  1475.    EMail:  gnc@ginger.lcs.mit.edu
  1476.  
  1477.    Martha Steenstrup
  1478.    BBN Systems and Technologies
  1479.    10 Moulton Street
  1480.    Cambridge, MA 02138
  1481.  
  1482.    Phone:  (617) 873-3192
  1483.    EMail:  msteenst@bbn.com
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Castineyra, et. al.          Informational                     [Page 27]
  1515.  
  1516.