diff options
Diffstat (limited to 'doc/rfc/rfc1992.txt')
-rw-r--r-- | doc/rfc/rfc1992.txt | 1515 |
1 files changed, 1515 insertions, 0 deletions
diff --git a/doc/rfc/rfc1992.txt b/doc/rfc/rfc1992.txt new file mode 100644 index 0000000..9b4e8c7 --- /dev/null +++ b/doc/rfc/rfc1992.txt @@ -0,0 +1,1515 @@ + + + + + + +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 + determines the portions of its routing information to distribute and + the set of entities to which to distribute this information. + Moreover, recipients of routing information are selective in which + information they retain. Some examples are as follows. Each cluster + might automatically advertise its routing information to its siblings + (i.e., those clusters with a common parent cluster). In response to + requests, a cluster might advertise information about specific + portions of the cluster or information that applies only to specific + users. A cluster might only retain routing information from clusters + that provide universal access to their services. + + + + +Castineyra, et. al. Informational [Page 7] + +RFC 1992 Nimrod Routing Architecture August 1996 + + +2.3.3 Local Selection of Feasible Routes + + Generating routes that satisfy multiple constraints is usually an + NP-complete problem and hence a computationally intensive procedure. + With Nimrod, only those entities that require routes with special + constraints need assume the computational load associated with + generation and selection of such routes. Moreover, the Nimrod + architecture allows individual entities to choose their own route + generation and selection algorithms and hence the amount of resources + to devote to these functions. + +2.3.4 Caching + + The Nimrod architecture encourages caching of acquired routing + information in order to reduce the amount of resources consumed and + delay incurred in obtaining the information in the future. The set + of routes generated as a by-product of generating a particular route + is an example of routing information that is amenable to caching; + future requests for any of these routes may be satisfied directly + from the route cache. However, as with any caching scheme, the + cached information may become stale and its use may result in poor + quality routes. Hence, the routing information's expected duration + of usefulness must be considered when determining whether to cache + the information and for how long. + +2.3.5 Limiting Forwarding Information + + The Nimrod architecture supports two separate approaches for + containing the amount of forwarding information that must be + maintained per router. The first approach is to multiplex, over a + single path (or tree, for multicast), multiple traffic flows with + similar service requirements. The second approach is to install and + retain forwarding information only for active traffic flows. + + With Nimrod, the service providers and users share responsibility for + the amount of forwarding information in an internetwork. Users have + control over the establishment of paths, and service providers have + control over the maintenance of paths. This approach is different + from that of the current Internet, where forwarding information is + established in routers independent of demand for this information. + +3. Architecture + + Nimrod is a hierarchical, map-based routing architecture that has + been designed to support a wide range of user requirements and to + scale to very large dynamic internets. Given a traffic stream's + description and requirements (both quality of service requirements + and usage-restriction requirements), Nimrod's main function is to + + + +Castineyra, et. al. Informational [Page 8] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + manage in a scalable fashion how much information about the + internetwork is required to choose a route for that stream, in other + words, to manage the trade-off between amount of information about + the internetwork and the quality of the computed route. Nimrod is + implemented as a set of protocols and distributed databases. The + following sections describe the basic architectural concepts used in + Nimrod. The protocols and databases are specified in other + documents. + +3.1 Endpoints + + The basic entity in Nimrod is the endpoint. An endpoint represents a + user of the internetwork layer: for example, a transport connection. + Each endpoint has at least one endpoint identifier (EID). Any given + EID corresponds to a single endpoint. EIDs are globally unique, + relatively short "computer-friendly" bit strings---for example, small + multiples of 64 bits. EIDs have no topological significance + whatsoever. For ease of management, EIDs might be organized + hierarchically, but this is not required. + + BEGIN COMMENT + + In practice, EIDs will probably have a second form, which we can + call the endpoint label (EL). ELs are ASCII strings of unlimited + length, structured to be used as keys in a distributed database + (much like DNS names). Information about an endpoint---for + example, how to reach it---can be obtained by querying this + distributed database using the endpoint's label as key. + + END COMMENT + +3.2 Nodes and Adjacencies + + A node represents a region of the physical network. The region of + the network represented by a node can be as large or as small as + desired: a node can represent a continent or a process running inside + a host. Moreover, as explained in section 4, a region of the network + can simultaneously be represented by more than one node. + + An adjacency consists of an ordered pair of nodes. An adjacency + indicates that traffic can flow from the first node to the second. + +3.3 Maps + + The basic data structure used for routing is the map. A map + expresses the available connectivity between different points of an + internetwork. Different maps can represent the same region of a + physical network at different levels of detail. + + + +Castineyra, et. al. Informational [Page 9] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + A map is a graph composed of nodes and adjacencies. Properties of + nodes are contained in attributes associated with them. Adjacencies + have no attributes. Nimrod defines languages to specify attributes + and to describe maps. + + Maps are used by routers to generate routes. In general, it is not + required that different routers have consistent maps. + + BEGIN COMMENT + + Nimrod has been designed so that there will be no routing loops + even when the routing databases of different routers are not + consistent. A consistency requirement would not permit + representing the same region of the internetwork at different + levels of detail. Also, a routing-database consistency + requirement would be hard to guarantee in the very large internets + Nimrod is designed to support. + + END COMMENT + + In this document we speak only of routers. By "router" we mean a + physical device that implements functions related to routing: for + example, forwarding, route calculation, path set-up. A given device + need not be capable of doing all of these to be called a router. The + protocol specification document, see [2], splits these + functionalities into specific agents. + +3.3.1 Connectivity Specifications + + By connectivity between two points we mean the available services and + the restrictions on their use. Connectivity specifications are among + the attributes associated with nodes. The following are informal + examples of connectivity specifications: + + o "Between these two points, there exists best-effort service with no + restrictions." + + o "Between these two points, guaranteed 10 ms delay can be arranged for + traffic streams whose data rate is below 1 Mbyte/sec and that have low + (specified) burstiness." + + o "Between these two points, best-effort service is offered, as long as + the traffic originates in and is destined for research organizations." + +3.4 Locators + + A locator is a string of binary digits that identifies a location in + an internetwork. Nodes and endpoint are assigned locators. + + + +Castineyra, et. al. Informational [Page 10] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + Different nodes have necessarily different locators. A node is + assigned only one locator. Locators identify nodes and specify + *where* a node is in the network. Locators do *not* specify a path + to the node. An endpoint can be assigned more than one locator. In + this sense, a locator might appear in more than one location of an + internetwork. + + In this document locators are written as ASCII strings that include + colons to underline node structure: for example, a:b:c. This does + not mean that the representation of locators in packets or in + databases will necessarily have something equivalent to the colons. + + A given physical element of the network might help implement more + than one node---for example, a router might be part of two different + nodes. Though this physical element might therefore be associated + with more than one locator, the nodes that this physical element + implements have each only one locator. + + The connectivity specifications of a node are identified by a tuple + consisting of the node's locator and an ID number. + + All map information is expressed in terms of locators, and routing + selections are based on locators. EIDs are *not* used in making + routing decisions---see section 5. + +3.5 Node Attributes + + The following are node attributes defined by Nimrod. + +3.5.1 Adjacencies + + Adjacencies appear in maps as attributes of both the nodes in the + adjacency. A node has two types of adjacencies associated with it: + those that identify a neighboring node to which the original node can + send data to; and those that identivy a neighboring node that can + send data to the original node. + +3.5.2 Internal Maps + + As part of its attributes, a node can have internal maps. A router + can obtain a node's internal maps---or any other of the node's + attributes, for that matter---by requesting that information from a + representative of that node. (A router associated with that node can + be such a representative.) A node's representative can in principle + reply with different internal maps to different requests---for + example, because of security concerns. This implies that different + routers in the network might have different internal maps for the + same node. + + + +Castineyra, et. al. Informational [Page 11] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + A node is said to own those locators that have as a prefix the + locator of the node. In a node that has an internal map, the + locators of all nodes in this internal map are prefixed by the + locator of the original node. + + Given a map, a more detailed map can be obtained by substituting one + of the map's nodes by one of that node's internal maps. This process + can be continued recursively. Nimrod defines standard internal maps + that are intended to be used for specific purposes. A node's + "detailed map" gives more information about the region of the network + represented by the original node. Typically, it is closer to the + physical realization of the network than the original node. The + nodes of this map can themselves have detailed maps. + +3.5.3 Transit Connectivity + + For a given node, this attribute specifies the services available + between nodes adjacent to the given node. This attribute is + requested and used when a router intends to route traffic *through* a + node. Conceptually, the traffic connectivity attribute is a matrix + that is indexed by a pair of locators: the locators of adjacent + nodes. The entry indexed by such a pair contains the connectivity + specifications of the services available across the given node for + traffic entering from the first node and exiting to the second node. + + The actual format of this attribute need not be a matrix. This + document does not specify the format for this attribute. + +3.5.4 Inbound Connectivity + + For a given node, this attribute represents connectivity from + adjacent nodes to points within the given node. This attribute is + requested and used when a router intends to route traffic to a point + within the node but does not have, and either cannot or does not want + to obtain, a detailed map of the node. The inbound connectivity + attribute identifies what connectivity specifications are available + between pairs of locators. The first element of the pair is the + locator of an adjacent node; the second is a locator owned by the + given node. + +3.5.5 Outbound Connectivity + + For a given node, this attribute represents connectivity from points + within the given node to adjacent nodes. This attribute identifies + what connectivity specifications are available between pairs of + locators. The first element of the pair is a locator owned by the + given node, the second is the locator of an adjacent node. + + + + +Castineyra, et. al. Informational [Page 12] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + The Transit, Inbound and Outbound connectivity attributes together + wiht a list of adjacencies form the "abstract map." + +4. Physical Realization + + A network is modeled as being composed of physical elements: routers, + hosts, and communication links. The links can be either point-to- + point---e.g., T1 links---or multi-point---e.g., ethernets, X.25 + networks, IP-only networks, etc. + + The physical representation of a network can have associated with it + one or more Nimrod maps. A Nimrod map is a function not only of the + physical network, but also of the configured clustering of elements + (locator assignment) and of the configured connectivity. + + Nimrod has no pre-defined "lowest level": for example, it is possible + to define and advertise a map that is physically realized inside a + CPU. In this map, a node could represent, for example, a process or a + group of processes. The user of this map need not necessarily know + or care. ("It is turtles all the way down!", in [3] page 63.) + +4.1 Contiguity + + Locators sharing a prefix must be assigned to a contiguous region of + a map. That is, two nodes in a map that have been assigned locators + sharing a prefix should be connected to each other via nodes that + themselves have been assigned locators with that prefix. The main + consequence of this requirement is that "you cannot take your locator + with you." + + As an example of this, see figure 1, consider two providers x.net and + y.net (these designations are *not* locators but DNS names) which + appear in a Nimrod map as two nodes with locators A and B. Assume + that corporation z.com (also a DNS name) was originally connected to + x.net. Locators corresponding to elements in z.com are, in this + example, A-prefixed. Corporation z.com decides to change providers- + --severing its physical connection to x.net. The connectivity + requirement described in this section implies that, after the + provider change has taken place, elements in z.com will have been, in + this example, assigned B-prefixed locators and that it is not + possible for them to receive data destined to A-prefixed locators + through y.net. + + + + + + + + + +Castineyra, et. al. Informational [Page 13] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + A B + +------+ +------+ + | x.net| | y.net| + +------+ /+------+ + / + +-----+ + |z.com| + +-----+ + + + + Figure 1: Connectivity after switching providers + + The contiguity requirement simplifies routing information exchange: + if it were permitted for z.com to receive A-prefixed locators through + y.net, it would be necessary that a map that contains node B include + information about the existence of a group of A-prefixed locators + inside node B. Similarly, a map including node A would have to + include information that the set of A-prefixed locators asigned to + z.com is not to be found within A. The more situations like this + happen, the more the hierarchical nature of Nimrod is subverted to + "flat routing." The contiguity requirement can also be expressed as + "EIDs are stable; locators are ephemeral." + +4.2 An Example + + Figure 2 shows a physical network. Hosts are drawn as squares, + routers as diamonds, and communication links as lines. The network + shown has the following components: five ethernets ---EA through EE; + five routers---RA through RE; and four hosts---HA through HD. Routers + RA, RB, and RC interconnect the backbone ethernets---EB, EC and ED. + Router RD connects backbone EC to a network consisting of ethernet EA + and hosts HA and HB. Router RE interconnects backbone ED to a + network consisting of ethernet EE and hosts HC and HD. The assigned + locators appear in lower case beside the corresponding physical + entity. + + Figure 3 shows a Nimrod map for that network. The nodes of the map + are represented as squares. Lines connecting nodes represent two + adjacencies in opposite directions. Different regions of the network + are represented at different detail. Backbone b1 is represented as a + single node. The region of the network with locators prefixed by "a" + is represented as a single node. The region of the network with + locators prefixed by "c" is represented in full detail. + + + + + + + +Castineyra, et. al. Informational [Page 14] + +RFC 1992 Nimrod Routing Architecture August 1996 + + +4.3 Multiple Locator Assignment + + Physical elements can form part of, or implement, more than one node. + In this sense it can be said that they can be assigned more than one + locator. Consider figure 4, which shows a physical network. This + network is composed of routers (RA, RB, RC, and RD), hosts (HA, HB, + and HC), and communication links. Routers RA, RB, and RC are + connected with point-to-point links. The two horizontal lines in the + bottom of the figure represent ethernets. The figure also shows the + locators assigned to hosts and routers. + + In figure 4, RA and RB have each been assigned one locator (a:t:r1 + and b:t:r1, respectively). RC has been assigned locators a:y:r1 and + b:d:r1; one of these two locators shares a prefix with RA's locator, + the other shares a prefix with RB's locator. Hosts HA and HB have + each been assigned three locators. Host HC has been assigned one + locator. Depending on what communication paths have been set up + between points, different Nimrod maps result. A possible Nimrod map + for this network is given in figure 5. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 15] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + a:h1 +--+ a:h2 +--+ + |HA| |HB| + | | | | + +--+ +--+ + a:e1 | | + --------------------- EA + | + /\ /\ + /RB\ b1:r1 /RD\ b2:r1 + /\ /\ \ / + / \/ \ \/ + EB b1:t:e1 / \ | EC + ------------------------ -------------------------- b2:e1 + / \ + / \ + /\ \ + /RA\ b1:r2 \/\ + \ / /RC\ b2:t:r2 + \/ \ / + \ \/ + \ / ED + ----------------------------------- b3:t:e1 + | + | + | + /\ + /RE\ b3:t:r1 + \ / + EE \/ + ----------------------------- c:e1 + | | + +--+ +--+ + |HC| c:h1 |HD| c:h2 + | | | | + +--+ +--+ + + + Figure 2: Example Physical Network + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 16] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + +-----+ +-----+ + +----------+ | | | | + | |--------------| b2 | --------------| a | + | | | | | | + | b1 | +-----+ +-----+ + | | | + | | | + | | | + +----------+ | + \ | + \ | + \ | + \ | + \ +--------+ + \ | | + ------- | b3:t:e1| + | | + +--------+ + | + | + | + | + +-------+ + | | + |b3:t:r1| + | | + +-------+ + | + +-----+ +-----+ +-----+ + | | | | | | + | c:h1|-------| c:e1|-----| c:h2| + | | | | | | + +-----+ +-----+ +-----+ + + + + Figure 3: Nimrod Map + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 17] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + a:t:r1 b:t:r1 + +--+ +--+ + |RA|------------|RB| + +--+ +--+ + \ / + \ / + \ / + \ / + \ / + \ / + \ / + \ + +--+ + |RC| a:y:r1 + +--+ b:d:r1 + | + --------------------------- + | | | + a:y:h1 +--+ +--+ +--+ a:y:h2 + b:d:h2 |HA| |RD| c:r1 |HB| b:d:h1 + c:h1 +--+ +--+ +--+ c:h2 + | + | + -------------------- + | + +--+ + |HC| c:h3 + +--+ + + + + + Figure 4: Multiple Locators + + + + + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 18] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + a b c + +-------------+ +-------------+ +---------------+ + | | | | | | + | a:t | | b:t | | | + | +--+ | | +--+ | | | + | | |--------------|--| | | | | + | +--+ | | +--+ | | | + | | | | | | | | + | +--+ | | +--+ | | | + | + + | | + + | | | + | +--+ a:y | | +--+ b:d | | | + | | | | | | + +-------------+ +-------------+ +---------------+ + + + + + Figure 5: Nimrod Map + + Nodes and adjacencies represent the *configured* clustering and + connectivity of the network. Notice that even though a:y and b:d are + defined on the same hardware, the map shows no connection between + them: this connection has not been configured. A packet given to + node `a' addressed to a locator prefixed with "b:d" would have to + travel from node a to node b via the arc joining them before being + directed towards its destination. Similarly, the map shows no + connection between the c node and the other two top level nodes. If + desired, these connections could be established, which would + necessitate setting up the exchange of routing information. Figure 6 + shows the map when these connections have been established. + + In the strict sense, Nimrod nodes do not overlap: they are distinct + entities. But, as we have seen in the previous example, a physical + element can be given more than one locator, and, in that sense, + participate in implementing more than one node. That is, two + different nodes might be defined on the same hardware. In this + sense, Nimrod nodes can be said to overlap. But to notice this + overlap one would have to know the physical-to-map correspondence. + It is not possible to know when two nodes share physical assets by + looking only at a Nimrod map. + + + + + + + + + + + +Castineyra, et. al. Informational [Page 19] + +RFC 1992 Nimrod Routing Architecture August 1996 + + +5. Forwarding + + Nimrod supports four forwarding modes: + + 1. Connectivity Specification Chain (CSC) mode: In this mode, packets + carry a list of connectivity specifications. The packet is + required to go through the nodes that own the connectivity + specifications using the services specified. The nodes associated + with the listed connectivity specifications should define a + continuous path in the map. A more detailed description of the + requirements of this mode is given in section 5.3. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 20] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + +--------+ +--------+ + | | | | + | a:t:r1 |-----------------------------------------------| b:t:r1 | + | | | | + +--------+ +--------+ + | | + | | + | /-----------------------------------------\ | + | | | | + | | | | + | +--------+ +--------+ +--------+ | + | | | | | | | | + | | a:y:h1 --------| c:h1 |--------------------| b:d:h1 | | + | | | | | | | | + | +--------+ +--------+ +--------+ | + | | | | | | | | + +--------+ | | +------+ +------+ | +--------+ + | | | | | | | | | | | + | a:y:r1 | | | | c:r1 |--| c:h3 | | | b:d:r1 | + | | | | | | | | | | | + +--------+ | | +------+ +------+ | +--------+ + | | | | | | | | + | +--------+ +--------+ +--------+ | + | | | | | | | | + | | a:y:h2 |-------- c:h2 |--------------------| b:d:h2 | | + | | | | | | | | + | +--------+ +--------+ +--------+ | + | | | | + | | | | + | | | | + | \-----------------------------------------/ | + \-------------------------------------------------------------/ + + + + Figure 6: Nimrod Map II + + + 2. Connectivity Specifications Sequence (CSS) mode: In this mode, + packets carry a list of connectivity specifications. The packet + is supposed to go sequentially through the nodes that own each one + of the listed connectivity specifications in the order they were + specified. The nodes need not be adjacent. This mode can be seen + as a generalization of the CSC mode. Notice that CSCs are said to + be a *chains* of locators, CSSs are *sequences* of locators. This + difference emphasizes the contiguity requirement in CSCs. A + detailed description of this mode is in section 5.6. + + + + +Castineyra, et. al. Informational [Page 21] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + 3. Flow mode: In this mode, the packet includes a path-id that + indexes state that has been previously set up in routers along the + path. Packet forwarding when flow state has been established is + relatively simple: follow the instructions in the routers' state. + Nimrod includes a mechanism for setting up this state. A more + detailed description of this mode can be found in section 5.4. + + 4. Datagram mode: in this mode, every packet carries source and + destination locators. This mode can be seen as a special case of + the CSS mode. Forwarding is done following procedures as + indicated in section 5.5. + + BEGIN COMMENT + + The obvious parallels are between CSC mode and IPV4's strict + source route and between CSS mode and IPV4's loose source route. + + END COMMENT + + In all of these modes, the packet may also carry locators and EIDs + for the source and destinations. In normal operation, forwarding + does not take the EIDs into account, only the receiver does. EIDs + may be carried for demultiplexing at the receiver, and to detect + certain error conditions. For example, if the EID is unknown at the + receiver, the locator and EID of the source included in the packet + could be used to generate an error message to return to the source + (as usual, this error message itself should probably not be allowed + to be the cause of other error messages). Forwarding can also use + the source locator and EID to respond to error conditions, for + example, to indicate to the source that the state for a path-id + cannot be found. + + Packets can be visualized as moving between nodes in a map. A packet + indicates, implicitly or explicitly, a destination locator. In a + packet that uses the datagram, CSC, or CSS forwarding mode, the + destination locator is explicitly indicated . In a packet that uses + the flow forwarding mode, the destination locator is implied by the + path-id and the distributed state in the network (it might also be + included explicitly). Given a map, a packet moves to the node in + this map to which the associated destination locator belongs. If the + destination node has a "detailed" internal map, the destination + locator must belong to one of the nodes in this internal map + (otherwise it is an error). The packet goes to this node (and so on, + recursively). + + + + + + + +Castineyra, et. al. Informational [Page 22] + +RFC 1992 Nimrod Routing Architecture August 1996 + + +5.1 Policy + + CSC and CSS mode implement policy by specifying the connectivity + specifications associated with those nodes that the packet should + traverse. Strictly speaking, there is no policy information included + in the packet. That is, in principle, it is not possible to + determine what criteria were used to select the route by looking at + the packet. The packet only contains the results of the route + generation process. Similarly, in a flow mode packet, policy is + implicit in the chosen route. + + A datagram-mode packet can indicate a limited form of policy routing + by the choice of destination and source locators. For this choice to + exist, the source or destination endpoints must have several locators + associated with them. This type of policy routing is capable of, for + example, choosing providers. + +5.2 Trust + + A node that chooses not to divulge its internal map can work + internally any way its administrators decide, as long as the node + satisfies its external characterization as given in its Nimrod map + advertisements. Therefore, the advertised Nimrod map should be + consistent with a node's actual capabilities. For example, consider + the network shown in figure 7 which shows a physical network and the + advertised Nimrod map. The physical network consists of hosts and a + router connected together by an ethernet. This node can be sub- + divided into component nodes by assigning locators as shown in the + figure and advertising the map shown. The map seems to imply that it + is possible to send packets to node a:x without these being + observable by node a:y; however, this is actually not enforceable. + + In general, it is reasonable to ask how much trust should be put in + the maps obtained by a router. Even when a node is "trustworthy," + and the information received from the node has been authenticated, + there is always the possibility of an honest mistake. + + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 23] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + +--+ + |RA| a:r1 + +--+ + | + | + | + | + ------------------------------- + | | + +--+ +--+ + |Ha| a:x:h1 |Ha| a:y:h2 + +--+ +--+ + + + Physical Network + + + a | + +----------------|-------------------- + | | | + | +----+ | + | |a:r1| | + | a:x +----+ a:y | + | +------+ / \ +-------+ | + | | | / \| | | + | | | | | | + | | | | | | + | +------+ +-------+ | + | | + + -----------------------------------+ + + + Advertised Nimrod Map + + + + + Figure 7: Example of Misleading Map + +5.3 Connectivity Specification (CSC) Mode + + Routing for a CSC packet is specified by a list of connectivity + specifications carried in the packet. These are the connectivity + specifications that make the specified path, in the order that they + appear along the path. These connectivity specifications are + attributes of nodes. The route indicated by a CSC packet is specifed + in terms of connectivity specifications rather than physical + entities: a connectivity specification in a CSC-mode packet would + + + +Castineyra, et. al. Informational [Page 24] + +RFC 1992 Nimrod Routing Architecture August 1996 + + + correspond to a type of service between two points of the network + without specifying the physical path. + + Given two connectivity specifications that appear consecutively in + the a CSC-mode packet, there should exist an adjacency going from the + node corresponding to the first connectivity specification to the + node corresponding to the second connectivity specification. The + first connectivity specification referenced in a CSC-mode packet + should be an outbound connectivity specification; similarly, the last + connectivity specification referenced in a CSC-mode packet should be + an inbound connectivity specification; the rest should be transit + connectivity specifications. + +5.4 Flow Mode + + A flow mode packet includes a path-id field. This field identifies + state that has been established in intermediate routers. The packet + might also contain locators and EIDs for the source and destination. + The setup packet also includes resource requirements. Nimrod + includes protocols to set up and modify flow-related state in + intermediate routers. These protocols not only identify the + requested route, but also describe the resources requested by the + flow---e.g., bandwidth, delay, etc. The result of a set-up attempt + might be either confirmation of the set-up or notification of its + failure. The source-specified routes in flow mode setup are + specified in terms of CSSs. + +5.5 Datagram Mode + + A realistic routing architecture must include an optimization for + datagram traffic, by which we mean user transactions which consist of + single packets, such as a lookup in a remote translation database. + Either of the two previous modes contains unacceptable overhead if + much of the network traffic consists of such datagram transactions. + A mechanism is needed which is approximately as efficient as the + existing IPv4 "hop-by-hop" mechanism. Nimrod has such a mechanism. + + The scheme can be characterized by the way it divides the state in a + datagram network between routers and the actual packets. In IPv4, + most packets currently contain only a small amount of state + associated with the forwarding process ("forwarding state")---the hop + count. Nimrod proposes that enlarging the amount of forwarding state + in packets can produce a system with useful properties. It was + partially inspired by the efficient source routing mechanism in SIP + [5], and the locator pointer mechanism in PIP [6]). + + Nimrod datagram mode uses pre-set flow-mode state to support a + strictly non-looping path, but without a source-route. + + + +Castineyra, et. al. Informational [Page 25] + +RFC 1992 Nimrod Routing Architecture August 1996 + + +5.6 Connectivity Specification Sequence Mode + + The connectivity specification sequence mode specifies a route by a + list of connectivity specifications. There are no contiguity + restrictions on consecutive connectivity specifications. + + BEGIN COMMENT + + The CSS and CSC modes can be seen as combination of the datagram + and flow modes. Therefore, in a sense, the basic forwarding modes + of Nimrod are just these last two. + + END COMMENT + +6. Security Considerations + + Security issues are not addressed in this document. + +7. References + + [1] Steenstrup, M., "Inter-Domain Policy Routing Protocol + Specification: Version 1," RFC 1479, June 1993. + + [2] Steenstrup M., and R. Ramanathan, "Nimrod Functionality and + Protocols Specification," Work in Progress, February 1996. + + [3] Wright, R., "Three Scientists and their Gods Looking for Meaning + in an Age of Information", New York: Times Book, first ed., 1988. + + [4] Deering, S., "SIP: Simple Internet Protocol," IEEE Network, vol. + 7, May 1993. + + [5] Francis, P., "A Near-Term Architecture for Deploying Pip," IEEE + Network, vol. 7, May 1993. + + + + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 26] + +RFC 1992 Nimrod Routing Architecture August 1996 + + +8. Authors' Addresses + + Isidro Castineyra + BBN Systems and Technologies + 10 Moulton Street + Cambridge, MA 02138 + + Phone: (617) 873-6233 + EMail: isidro@bbn.com + + + Noel Chiappa + EMail: gnc@ginger.lcs.mit.edu + + Martha Steenstrup + BBN Systems and Technologies + 10 Moulton Street + Cambridge, MA 02138 + + Phone: (617) 873-3192 + EMail: msteenst@bbn.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Castineyra, et. al. Informational [Page 27] + |