rfc1992.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,516 行 · 第 1/4 页

TXT
1,516
字号






Network Working Group                                      I. Castineyra
Request for Comments: 1992                                           BBN
Category: Informational                                       N. Chiappa
                                                           M. Steenstrup
                                                                     BBN
                                                             August 1996


                    The Nimrod Routing Architecture

Status of this Memo

   This memo provides information for the Internet community.  This memo
   does not specify an Internet standard of any kind.  Distribution of
   this memo is unlimited.

Abstract

   We present a scalable internetwork routing architecture, called
   Nimrod.  The Nimrod architecture is designed to accommodate a dynamic
   internetwork of arbitrary size with heterogeneous service
   requirements and restrictions and to admit incremental deployment
   throughout an internetwork.  The key to Nimrod's scalability is its
   ability to represent and manipulate routing-related information at
   multiple levels of abstraction.

Table of Contents

   1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2. Overview of Nimrod . . . . . . . . . . . . . . . . . . . . . . . 3
     2.1 Constraints of the Internetworking Environment  . . . . . . . 3
     2.2 The Basic Routing Functions . . . . . . . . . . . . . . . . . 5
     2.3 Scalability Features  . . . . . . . . . . . . . . . . . . . . 6
       2.3.1 Clustering and Abstraction  . . . . . . . . . . . . . . . 6
       2.3.2 Restricting Information Distribution  . . . . . . . . . . 7
       2.3.3 Local Selection of Feasible Routes  . . . . . . . . . . . 8
       2.3.4 Caching . . . . . . . . . . . . . . . . . . . . . . . . . 8
       2.3.5 Limiting Forwarding Information . . . . . . . . . . . . . 8
   3. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 8
     3.1 Endpoints   . . . . . . . . . . . . . . . . . . . . . . . . . 9
     3.2 Nodes and Adjacencies . . . . . . . . . . . . . . . . . . . . 9
     3.3 Maps  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
       3.3.1 Connectivity Specifications  . . . . . . . . . . . . . . 10
     3.4  Locators  . . . . . . . . . . . . . . . . . . . . . . . . . 10
     3.5 Node Attributes  . . . . . . . . . . . . . . . . . . . . . . 11
       3.5.1 Adjacencies  . . . . . . . . . . . . . . . . . . . . . . 11
       3.5.2 Internal Maps  . . . . . . . . . . . . . . . . . . . . . 11
       3.5.3 Transit Connectivity . . . . . . . . . . . . . . . . . . 12



Castineyra, et. al.          Informational                      [Page 1]

RFC 1992              Nimrod Routing Architecture            August 1996


       3.5.4 Inbound Connectivity . . . . . . . . . . . . . . . . . . 12
       3.5.5 Outbound Connectivity  . . . . . . . . . . . . . . . . . 12
   4. Physical Realization  . . . . . . . . . . . . . . . . . . . . . 13
     4.1 Contiguity   . . . . . . . . . . . . . . . . . . . . . . . . 13
     4.2 An Example . . . . . . . . . . . . . . . . . . . . . . . . . 14
     4.3 Multiple Locator Assignment  . . . . . . . . . . . . . . . . 15
   5. Forwarding  . . . . . . . . . . . . . . . . . . . . . . . . . . 20
     5.1 Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     5.2 Trust  . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     5.3 Connectivity Specification (CSC) Mode  . . . . . . . . . . . 24
     5.4 Flow Mode  . . . . . . . . . . . . . . . . . . . . . . . . . 25
     5.5 Datagram Mode  . . . . . . . . . . . . . . . . . . . . . . . 25
     5.6 Connectivity Specification Sequence Mode . . . . . . . . . . 26
   6. Security Considerations . . . . . . . . . . . . . . . . . . . . 26
   7. References  . . . . . . . . . . . . . . . . . . . . . . . . . . 26
   7. Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . 27

1. Introduction

   Nimrod is a scalable routing architecture designed to accommodate a
   continually expanding and diversifying internetwork.  First suggested
   by Noel Chiappa, the Nimrod architecture has undergone revision and
   refinement through the efforts of the Nimrod working group of the
   IETF. In this document, we present a detailed description of this
   architecture.

   The goals of Nimrod are as follows:

   1. To support a dynamic internetwork of arbitrary size by
      providing mechanisms to control the amount of routing information
      that must be known throughout an internetwork.

   2. To provide service-specific routing in the presence of multiple
      constraints imposed by service providers and users.

   3. To admit incremental deployment throughout an internetwork.

   We have designed the Nimrod architecture to meet these goals.  The
   key features of this architecture include:

   1. Representation of internetwork connectivity and services in the
      form of maps at multiple levels of abstraction.

   2. User-controlled route generation and selection based on maps and
      traffic service requirements.

   3. User-directed packet forwarding along established paths.




Castineyra, et. al.          Informational                      [Page 2]

RFC 1992              Nimrod Routing Architecture            August 1996


   Nimrod is a general routing architecture that can be applied to
   routing both within a single routing domain and among multiple
   routing domains.  As a general internetwork routing architecture
   designed to deal with increased internetwork size and diversity,
   Nimrod is equally applicable to both the TCP/IP and OSI environments.

2. Overview of Nimrod

   Before describing the Nimrod architecture in detail, we provide an
   overview.  We begin with the internetworking requirements, followed
   by the routing functions, and concluding with Nimrod's scaling
   characteristics.

2.1 Constraints of the Internetworking Environment

   Internetworks are growing and evolving systems, in terms of number,
   diversity, and interconnectivity of service providers and users, and
   therefore require a routing architecture that can accommodate
   internetwork growth and evolution.  A complicated mix of factors such
   as technological advances, political alliances, and service supply
   and demand economics will determine how an internetwork will change
   over time.  However, correctly predicting all of these factors and
   all of their effects on an internetwork may not be possible.  Thus,
   the flexibility of an internetwork routing architecture is its key to
   handling unanticipated requirements.

   In developing the Nimrod architecture, we first assembled a list of
   internetwork environmental constraints that have implications for
   routing.  This list, enumerated below, includes observations about
   the present Internet; it also includes predictions about
   internetworks five to ten years in the future.

   1. The Internet will grow to include O(10^9) networks.

   2. The number of internetwork users may be unbounded.

   3. The capacity of internetwork resources is steadily increasing but
      so is the demand for these resources.

   4. Routers and hosts have finite processing capacity and finite
      memory, and networks have finite transmission capacity.

   5. Internetworks comprise different types of communications media --
      including wireline, optical and wireless, terrestrial and
      satellite, shared multiaccess and point-to-point -- with different
      service characteristics in terms of throughput, delay, error and
      loss distributions, and privacy.




Castineyra, et. al.          Informational                      [Page 3]

RFC 1992              Nimrod Routing Architecture            August 1996


   6. Internetwork elements -- networks, routers, hosts, and processes --
      may be mobile.

   7. Service providers will specify offered services and restrictions on
      access to those services.  Restrictions may be in terms of when a
      service is available, how much the service costs, which users may
      subscribe to the service and for what purposes, and how the user
      must shape its traffic in order to receive a service guarantee.

   8. Users will specify traffic service requirements which may vary
      widely among sessions.  These specifications may be in terms of
      requested qualities of service, the amounts they are willing to pay
      for these services, the times at which they want these services,
      and the providers they wish to use.

   9. A user traffic session may include m sources and n destinations,
      where m, n > or = 1.

   10. Service providers and users have a synergistic relationship.  That
       is, as users develop more applications with special service
       requirements, service providers will respond with the services to
       meet these demands.  Moreover, as service providers deliver more
       services, users will develop more applications that take advantage
       of these services.

   11. Support for varied and special services will require more
       processing, memory, and transmission bandwidth on the part of both
       the service providers offering these services and the users
       requesting these services.  Hence, many routing-related activities
       will likely be performed not by routers and hosts but rather by
       independent devices acting on their behalf to process, store, and
       distribute routing information.

   12. Users requiring specialized services (e.g., high guaranteed
       throughput) will usually be willing to pay more for these services
       and to incur some delay in obtaining them.

   13. Service providers are reluctant to introduce complicated protocols
       into their networks, because they are more difficult to manage.

   14. Vendors are reluctant to implement complicated protocols in their
       products, because they take longer to develop.

   Collectively, these constraints imply that a successful internetwork
   routing architecture must support special features, such as service-
   specific routing and component mobility in a large and changing
   internetwork, using simple procedures that consume a minimal amount
   of internetwork resources.  We believe that the Nimrod architecture



Castineyra, et. al.          Informational                      [Page 4]

RFC 1992              Nimrod Routing Architecture            August 1996


   meets these goals, and we justify this claim in the remainder of this
   document.

2.2 The Basic Routing Functions

   The basic routing functions provided by Nimrod are those provided by
   any routing system, namely:

   1. Collecting, assembling, and distributing the information necessary
      for route generation and selection.

   2. Generating and selecting routes based on this information.

   3. Establishing in routers information necessary for forwarding
      packets along the selected routes.

   4. Forwarding packets along the selected routes.

   The Nimrod approach to providing this routing functionality includes
   map distribution according to the "link-state" paradigm, localization
   of route generation and selection at traffic sources and
   destinations, and specification of packet forwarding through path
   establishment by the sources and destinations.

   Link-state map distribution permits each service provider to have
   control over the services it offers, through both distributing
   restrictions in and restricting distribution of its routing
   information.  Restricting distribution of routing information serves
   to reduce the amount of routing information maintained throughout an
   internetwork and to keep certain routing information private.
   However, it also leads to inconsistent routing information databases
   throughout an internetwork, as not all such databases will be
   complete or identical.  We expect routing information database
   inconsistencies to occur often in a large internetwork, regardless of
   whether privacy is an issue.  The reason is that we expect some
   devices to be incapable of maintaining the complete set of routing
   information for the internetwork.  These devices will select only
   some of the distributed routing information for storage in their
   databases.

   Route generation and selection, based on maps and traffic service
   requirements, may be completely controlled by the users or, more
   likely, by devices acting on their behalf and does not require global
   coordination among routers.  Thus these devices may generate routes
   specific to the users' needs, and only those users pay the cost of
   generating those routes.  Locally-controlled route generation allows
   incremental deployment of and experimentation with new route
   generation algorithms, as these algorithms need not be the same at



Castineyra, et. al.          Informational                      [Page 5]

RFC 1992              Nimrod Routing Architecture            August 1996


   each location in an internetwork.

   Packet forwarding according to paths may be completely controlled by
   the users or the devices acting on their behalf.  These paths may be
   specified in as much detail as the maps permit.  Such packet
   forwarding provides freedom from forwarding loops, even when routers
   in a path have inconsistent routing information.  The reason is that
   the forwarding path is a route computed by a single device and based
   on routing information maintained at a single device.

   We note that the Nimrod architecture and Inter-Domain Policy Routing
   (IDPR) [1] share in common link-state routing information
   distribution, localized route generation and path-oriented message
   forwarding.  In developing the Nimrod architecture, we have drawn
   upon experience gained in developing and experimenting with IDPR.

2.3 Scalability Features

   Nimrod must provide service-specific routing in arbitrarily large
   internetworks and hence must employ mechanisms that help to contain
   the amount of internetwork resources consumed by the routing
   functions.  We provide a brief synopsis of such mechanisms below,
   noting that arbitrary use of these mechanisms does not guarantee a
   scalable routing architecture.  Instead, these mechanisms must be
   used wisely, in order enable a routing architecture to scale with
   internetwork growth.

2.3.1 Clustering and Abstraction

   The Nimrod architecture is capable of representing an internetwork as
   clusters of entities at multiple levels of abstraction.  Clustering
   reduces the number of entities visible to routing.  Abstraction
   reduces the amount of information required to characterize an entity
   visible to routing.

   Clustering begins by aggregating internetwork elements such as hosts,
   routers, and networks according to some predetermined criteria.
   These elements may be clustered according to relationships among
   them, such as "managed by the same authority", or so as to satisfy
   some objective function, such as "minimize the expected amount of
   forwarding information stored at each router".  Nimrod does not
   mandate a particular cluster formation algorithm.

   New clusters may be formed by clustering together existing clusters.
   Repeated clustering of entities produces a hierarchy of clusters with
   a unique universal cluster that contains all others.  The same
   clustering algorithm need not be applied at each level in the
   hierarchy.



Castineyra, et. al.          Informational                      [Page 6]

RFC 1992              Nimrod Routing Architecture            August 1996


   All elements within a cluster must satisfy at least one relation,
   namely connectivity.  That is, if all elements within a cluster are
   operational, then any two of them must be connected by at least one
   route that lies entirely within that cluster.  This condition
   prohibits the formation of certain types of separated clusters, such
   as the following.  Suppose that a company has two branches located at
   opposite ends of a country and that these two branches must
   communicate over a public network not owned by the company.  Then the
   two branches cannot be members of the same cluster, unless that
   cluster also includes the public network connecting them.

   Once the clusters are formed, their connectivity and service
   information is abstracted to reduce the representation of cluster
   characteristics.  Example abstraction procedures include elimination
   of services provided by a small fraction of the elements in the
   cluster or expression of services in terms of average values.  Nimrod
   does not mandate a particular abstraction algorithm.  The same
   abstraction algorithm need not be applied to each cluster, and
   multiple abstraction algorithms may be applied to a single cluster.

   A particular combination of clustering and abstraction algorithms
   applied to an internetwork results in an organization related to but
   distinct from the physical organization of the component hosts,
   routers, and networks.  When a clustering is superimposed over the
   physical internetwork elements, the cluster boundaries may not
   necessarily coincide with host, router, or network boundaries.
   Nimrod performs its routing functions with respect to the hierarchy
   of entities resulting from clustering and abstraction, not with
   respect to the physical realization of the internetwork.  In fact,
   Nimrod need not even be aware of the physical elements of an
   internetwork.

2.3.2 Restricting Information Distribution

   The Nimrod architecture supports restricted distribution of routing
   information, both to reduce resource consumption associated with such
   distribution and to permit information hiding.  Each cluster

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?