Nimrod Functionality
Martha Steenstrup
msteenst@bbn.com
IETF Nimrod BOF
26 July 1994
Routing Functions
- Producers and consumers of databases of routing information.
- Assembling, distributing, and collecting information necessary
for route generation and selection.
- Generating and selecting routes.
- Establishing forwarding information in routers.
- Forwarding messages along routes.
Goals Emphasized for Nimrod
- Reduce the quantity of routing information that must be
distributed, stored, and processed throughout an internetwork.
- Maintain routing information sufficient to generate routes
that meet traffic service requirements.
- Detect and accommodate changes in routing information resulting
from physiscal changes in an internetwork.
- Protect integrity of routing information.
Clustering of Physical Assets
- Objective: To reduce the number of entities visible to routing.
- Cluster physical assets with similar attributes, e.g., services
management authority.
- Clustering may be applied repeatedly, resulting in a hierarchical
organization of an internetwork, in terms of nodes and arcs.
- Clustering criteria need not be the same at each level.
Abstraction of Service Information
- Objective: To reduce the amount of routing information required
to characterize an entity visible to routing.
- Examples: eliminate services provided by a small number of
assets, express services via range values.
- Multiple abstraction procedures may be applied to the same entity.
Nimrod Database
- Distributed database containing routing information that is
constructed, accessed, and acted upon by the routing functions.
- Entity attributes: connectivity requirements, services.
- Endpoint/locator associations.
- Maps.
- Routes.
- Forwarding information.
Nimrod Database Organization
- Optimized for updating and retrieval of contents, along
dimensions of delay, resource consumption, fault tolerance, and
load balancing.
- Database maintained by a combination of routers, hosts, and
special-purpose devices.
- Database contents distributed over multiple devices with partial
redundancy:
- Authoritative sources.
- Caching.
Database Consistency
- Inconsistencies between actual internetwork state and database
may disrupt communication.
- Causes: delayed updates; hardware, software, or configuration
errors; malicious interference.
- Nimrod control protocols should allow error detection,
authentication, information recency determination, and
retransmission in response to perceived failures.
- Consistency of database contents across devices is not required.
Nimrod Agents
- Entity representatives:
- Node: Form arcs, create maps, assign locators.
- Endpoint: Form node associations, determine destination
locators, communicate service requests to forwarding agents.
- Association agents.
- Route agents.
- Forwarding agents: Initiate neighbor relationships, request
routes, install forwarding information, forward messages.
Initialization/Discovery
- Agent discovery: Mutual discovery by agents of all types within a
given scope.
- Neighbor discovery: Endpoint representatives discover neighboring
forwarding agents. Boundary forwarding agents in neighboring
nodes discover each other.
- Locator acquisition: Endpoint representatives and node
representatives obtain locators for their respective entities.
- Arc formation: Node representatives in neighboring nodes establish
arcs, composed of one or more physical connections between the node
pair.
Maps
- Node representatives collect maps from component nodes and build
maps from this information:
- Detailed map.
- Abstract map built by abstraction of service information in
detailed map or by configuration of measurement of service
information.
- Map updates distributed to all node representatives and all route
agents for the enclosing node.
- Route agents use maps to generate routes and may request lower-level
maps based upon those received.
Map Example
Diagram (PostScript - 18164 bytes)
Endpoint/Locator Associations
- An endpoint's associations should be stored close to the endpoint
so that other entities in the vicinity can quickly locate the
endpoint.
- An endpoint's associations should also be stored at authoritative
sources so that distant entities can find the endpoint independent
of its current location.
- Example:
- Organize associations according to the hierarchy of management
authorities that assign labels to endpoints.
- Updates and queries travel up the node hierarchy and down the
management hierarchy.
Routes
- Route agents generate routes at the request of forwarding agents,
using available maps and traffic service requirements.
- Routes:
- Expressed as sequences of node locators together with the labels
for those node service attributes used in route selection.
- Must include at least the source and destination node locators.
- Different segments of the same route may be expressed at different
node granularities.
Nimrod Forwarding
- Datagram mode:
- No session-specific state.
- For traffic sessions consisting of few messages or traversing
unreliable or highly mobile sections of an internetwork.
- Flow mode:
- Establishes session-specific state.
- For traffic sessions consisting of several messages or
requiring guaranteed services.
- Nimrod forwarding relies on the existence of underlying paths
established in forwarding agents.
- Paths are inherently multi-level.
Path Example
Diagram (PostScript - 26009 bytes)