Top Banner
The Nimrod The Nimrod Architecture Architecture RFC 1992 RFC 1992 Presented By Presented By Sai H. Lek Sai H. Lek October 2, 2003 October 2, 2003
39
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

The Nimrod ArchitectureThe Nimrod ArchitectureRFC 1992RFC 1992

Presented ByPresented By

Sai H. LekSai H. LekOctober 2, 2003October 2, 2003

Page 2: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

IntroductionIntroduction

Nimrod is a scalable routing architecture designed to Nimrod is a scalable routing architecture designed to accommodate a continually expanding and diversifying internet-accommodate a continually expanding and diversifying internet-work.work.

First suggested by Noel ChiappaFirst suggested by Noel Chiappa

Has undergone revision and refinement through the efforts of the Has undergone revision and refinement through the efforts of the Nimrod working group of the IETF.Nimrod working group of the IETF.

Page 3: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Limits of the Current Limits of the Current Routing Routing ArchitectureArchitecture

Fast Fast routingrouting table growth. table growth.

Number of entries in the BGP Number of entries in the BGP routingrouting table has grown from table has grown from around 15,000 to around 105,000 from 1994 to 2002.around 15,000 to around 105,000 from 1994 to 2002.

Instability.Instability.

Rate of route advertisements and withdrawals is increasing.Rate of route advertisements and withdrawals is increasing.Makes the scalability problem even worse, puts global Makes the scalability problem even worse, puts global routingrouting system in frequent transient and inconsistent states.system in frequent transient and inconsistent states.

Page 4: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Limits of the Current Limits of the Current Routing Routing ArchitectureArchitecture

Slow convergence.Slow convergence.

TTakes certain amount of time for the akes certain amount of time for the routingrouting system to reach a system to reach a consistent state.consistent state.

RRoutingouting system is in a transient state, which may result in system is in a transient state, which may result in routingrouting failures. failures.

Page 5: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Overview of NimrodOverview of Nimrod

A project which aims, in part, to produce a next-generation A project which aims, in part, to produce a next-generation routing architecture for the Internet.routing architecture for the Internet.

Also, more generally, to try and produce a basic design for Also, more generally, to try and produce a basic design for routing in a single global-scale communication substrate.routing in a single global-scale communication substrate.

A design which will prove sufficiently flexible and powerful to A design which will prove sufficiently flexible and powerful to serve into a future as yet unforeseeable.serve into a future as yet unforeseeable.

Page 6: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Overview of NimrodOverview of Nimrod

Nimrod does this through the conjunction of two powerful.Nimrod does this through the conjunction of two powerful.

basic mechanisms:basic mechanisms:

distribution of maps, as opposed to distribution of routing tables.distribution of maps, as opposed to distribution of routing tables.

selection of routes by clients of the network, not by the switches selection of routes by clients of the network, not by the switches in the network. This approach is known as unitary routing or in the network. This approach is known as unitary routing or explicit routing.explicit routing.

Page 7: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Overview of NimrodOverview of Nimrod

In Nimrod the route not have to be chosen by the actual source, In Nimrod the route not have to be chosen by the actual source, but can be the responsibility of an agent working on the source's but can be the responsibility of an agent working on the source's behalf.behalf.

Path is not selected in a fully distributed, hop-by-hop manner, in Path is not selected in a fully distributed, hop-by-hop manner, in which each switch has an equal role to play in selecting the path.which each switch has an equal role to play in selecting the path.

Page 8: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Overview of NimrodOverview of Nimrod

Maps of the network's actual connectivity (maps which will Maps of the network's actual connectivity (maps which will usually include high-level abstractions for large parts of that usually include high-level abstractions for large parts of that connectivity, just the 'important' ones) are made available to all connectivity, just the 'important' ones) are made available to all the entities which need to select paths. the entities which need to select paths.

Those entities use these maps to compute paths, and those paths Those entities use these maps to compute paths, and those paths are passed to the actual switches, along with the data, as are passed to the actual switches, along with the data, as directions on how to forward the data. directions on how to forward the data.

Page 9: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Subsystems of the Internetwork Subsystems of the Internetwork LayerLayer

The Nimrod routing architecture springs, in part, from a design The Nimrod routing architecture springs, in part, from a design vision that sees the entire internetwork layer, although vision that sees the entire internetwork layer, although distributed across all the hosts and routers of the internetwork, as distributed across all the hosts and routers of the internetwork, as a single system.a single system.

Simply a number of the subsystems of this larger system, the Simply a number of the subsystems of this larger system, the internetwork layer.internetwork layer.

Not intended to be a purely standalone set of subsystems, but Not intended to be a purely standalone set of subsystems, but

rather, to work together in close concert with the other rather, to work together in close concert with the other subsystems of the internetwork layer to provide the internetwork subsystems of the internetwork layer to provide the internetwork layer service model. layer service model.

Page 10: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Subsystems of the Internetwork Subsystems of the Internetwork LayerLayer

Subsystem is much clearer and easier to manage if the routing is Subsystem is much clearer and easier to manage if the routing is broken up into several subsystems, with the interaction between broken up into several subsystems, with the interaction between them open. them open.

Note that Nimrod was initially broken up into separate Note that Nimrod was initially broken up into separate subsystems for purely internal reasons. subsystems for purely internal reasons.

. .

Page 11: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Subsystems of the Internetwork Subsystems of the Internetwork LayerLayer

The subsystems which comprise the functionality The subsystems which comprise the functionality covered by Nimrod are:covered by Nimrod are:

Routing information distribution (in the case of Routing information distribution (in the case of

Nimrod, topology map distribution, along with the Nimrod, topology map distribution, along with the attributes [policy, QOS, etc.] of the topology elements)attributes [policy, QOS, etc.] of the topology elements)

Route selectionRoute selection User traffic handlingUser traffic handling

Page 12: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Subsystems of the Internetwork Subsystems of the Internetwork LayerLayer

Routing information distribution can be defined fairly well Routing information distribution can be defined fairly well without reference to other subsystems.without reference to other subsystems.

Route selection might involve finding out which links have the Route selection might involve finding out which links have the resources available to handle some required level of service. resources available to handle some required level of service.

For user traffic handling, routing is tied in with other subsystemsFor user traffic handling, routing is tied in with other subsystems

Page 13: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

General PrinciplesGeneral Principles Design philosophy of Nimrod is 'maximize the lifetime (and Design philosophy of Nimrod is 'maximize the lifetime (and

flexibility) of the architecture.flexibility) of the architecture.

Design tradeoffs that will adversely affect the flexibility, Design tradeoffs that will adversely affect the flexibility, adaptability and lifetime of the design are not necessarily wise adaptability and lifetime of the design are not necessarily wise choices.choices.

It might be the correct choices in a stand-alone system, where It might be the correct choices in a stand-alone system, where the replacement costs are relatively small. In the global the replacement costs are relatively small. In the global communication network, the replacement costs are very much communication network, the replacement costs are very much higher. higher.

Page 14: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Design Principles for NimrodDesign Principles for Nimrod

Do the best possible design, and then work out how to deploy Do the best possible design, and then work out how to deploy it; Don't simply incrementally improve the existing system.it; Don't simply incrementally improve the existing system.

Maximize the lifetime by:Maximize the lifetime by:

– Making the design as flexible as possible.Making the design as flexible as possible.

– Minimizing the mandatory, system wide part of the Minimizing the mandatory, system wide part of the architecture.architecture.

Page 15: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Design Principles for NimrodDesign Principles for Nimrod

Maximize robustness by:Maximize robustness by:

– Reducing the dependencies among various components.Reducing the dependencies among various components.

– Use of redundant mechanisms where plausible.Use of redundant mechanisms where plausible.

Break the routing up into a number of subsystems, with the Break the routing up into a number of subsystems, with the interfaces between them visible, interfaces between them visible, and availableand available, to the users., to the users.

Page 16: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

AdvantagesAdvantages Allows maximal overall flexibility (i.E. System lifetime)Allows maximal overall flexibility (i.E. System lifetime) Is securable against explicit attack Is securable against explicit attack

Interacts well with resource allocation systems Interacts well with resource allocation systems

Allows maximal robustness Allows maximal robustness

Interacts well with flexible abstraction mechanismsInteracts well with flexible abstraction mechanisms

Allows policy routingAllows policy routing

Allows maximally flexible policy routing Allows maximally flexible policy routing

Page 17: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Additional Nimrod Architectural Additional Nimrod Architectural PointsPoints

Provision for efficient handling of Datagram service mode Provision for efficient handling of Datagram service mode packets packets

Using a mesh of Datagram mode flows (DMF's)Using a mesh of Datagram mode flows (DMF's)

Complete routing system, down to the lowest levelsComplete routing system, down to the lowest levels

Page 18: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Nimrod MechanismsNimrod Mechanisms

AddressesAddresses Use of new addresses, called Use of new addresses, called locatorslocators

Characteristics are: Characteristics are:

Variable length Variable length Variable number of levels Variable number of levels Can name topology aggregates as well as individual network Can name topology aggregates as well as individual network

elements elements Not intended to descend from a fixed root, but will instead by Not intended to descend from a fixed root, but will instead by

built in a natural "bottom-up" style built in a natural "bottom-up" style

Page 19: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

MapsMaps

Connectivity information in the form of maps is the key Connectivity information in the form of maps is the key data item in Nimrod.data item in Nimrod.

The data which routers pass around form the database The data which routers pass around form the database which is used to selects paths.which is used to selects paths.

Page 20: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

MapsMaps

Nimrod maps consist of:Nimrod maps consist of:

NodesNodes (an open-ended list of attributes). (an open-ended list of attributes).

ArcsArcs (uni-directional links which connect nodes, (uni-directional links which connect nodes, and cannot have attributes; They and cannot have attributes; They

simply simply indicate connectivity).indicate connectivity).

In general, it is not required that different routers have In general, it is not required that different routers have consistent maps.consistent maps.

Page 21: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

AttributesAttributes

Attributes might include:Attributes might include: Bandwidth Bandwidth Delay Delay Delay variance Delay variance Error rate Error rate Cost Cost Allowed users (e.g. government only) Allowed users (e.g. government only) Each node also has some Each node also has some inherentinherent attributes, i.e. ones which each attributes, i.e. ones which each

node must have: node must have: The locator of the node The locator of the node The connectivity of the nodeThe connectivity of the node

Page 22: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Path SelectionPath Selection

Conceptually done by the users of the network, i.e. Conceptually done by the users of the network, i.e. hosts.hosts.

However, many hosts will not want to deal with However, many hosts will not want to deal with keeping maps, running path-selection algorithms.keeping maps, running path-selection algorithms.

Page 23: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Path SelectionPath Selection

Expected that most hosts will get paths from Expected that most hosts will get paths from route serversroute servers..

Route servers form a central point at which an organization can Route servers form a central point at which an organization can express organizational policies with regard to path preferences express organizational policies with regard to path preferences through the network outside the organization.through the network outside the organization.

Path selection across a large graph, with multiple constraints, is a Path selection across a large graph, with multiple constraints, is a difficult problem, and will probably be the subject of future difficult problem, and will probably be the subject of future research.research.

Page 24: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

User Data ForwardingUser Data Forwarding

To support four basic modes for handling user data traffic:To support four basic modes for handling user data traffic:

FlowFlow mode. mode.The user does a prior flow setup (which is also part of Nimrod), The user does a prior flow setup (which is also part of Nimrod), which can include arbitrarily complex arrangements for resource which can include arbitrarily complex arrangements for resource allocation, security, etc; packets then carry only flow-identifiers allocation, security, etc; packets then carry only flow-identifiers for doing forwarding.for doing forwarding.

Node ChainNode Chain mode. mode.Packets carry a list of nodes, and the packet is required to go Packets carry a list of nodes, and the packet is required to go through the nodes listed, which should define a continuous path through the nodes listed, which should define a continuous path across the network. (This is basically strict source route.).across the network. (This is basically strict source route.).

Page 25: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

User Data ForwardingUser Data Forwarding

Node SequenceNode Sequence mode. mode.Packets carry a list of nodes, but the list does not define a Packets carry a list of nodes, but the list does not define a continuous path across the network, merely points the packet has continuous path across the network, merely points the packet has to travel through. (This is basically loose source route.).to travel through. (This is basically loose source route.).

DatagramDatagram mode. mode.where every packet header carries source and destination where every packet header carries source and destination locators. (This is basically normal IPv4-type forwarding.).locators. (This is basically normal IPv4-type forwarding.).

The first and last modes are intended to be the ones principally.The first and last modes are intended to be the ones principally.used; the others are for special situations, fault isolation, critical.used; the others are for special situations, fault isolation, critical.network operations, etc.network operations, etc.

Page 26: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Datagram ModeDatagram Mode

Flows are the fundamental entity in Nimrod.Flows are the fundamental entity in Nimrod.

No packet travels anywhere except in a flow. No packet travels anywhere except in a flow.

In Datagram mode service, Nimrod routers will assign a packet In Datagram mode service, Nimrod routers will assign a packet to a sequence of Datagram Mode Flows (DMF's).to a sequence of Datagram Mode Flows (DMF's).

DMF are relatively short-distance flows, set up specifically to DMF are relatively short-distance flows, set up specifically to handle Datagram mode packets. handle Datagram mode packets.

The network is completely spanned by a mesh of DMF's.The network is completely spanned by a mesh of DMF's.

Page 27: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Datagram ModeDatagram Mode

The packet traverses the network by being assigned to a The packet traverses the network by being assigned to a sequence of DMF's.sequence of DMF's.

A sequence which is specifically selected to move the packet A sequence which is specifically selected to move the packet towards its eventual destination.towards its eventual destination.

Datagram mode packet headers contain:Datagram mode packet headers contain:

A locally usable path-id field.A locally usable path-id field.Source and destination locators.Source and destination locators.A pointer into the locators.A pointer into the locators.

Page 28: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Datagram Mode OperationDatagram Mode Operation

While in a DMF, the forwarding routers do not examine the While in a DMF, the forwarding routers do not examine the locators, only the flow-id. locators, only the flow-id.

Only Only activeactive routers, one that actually makes a decision about routers, one that actually makes a decision about where to send the packet, look at the locators. where to send the packet, look at the locators.

At each active router, the router examines the locators in the At each active router, the router examines the locators in the header to see where to send the packet next.header to see where to send the packet next.

Assigns the packet to the appropriate flow, and sends the packet Assigns the packet to the appropriate flow, and sends the packet off. off.

Page 29: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Datagram Mode FlowsDatagram Mode Flows

AllAll routers routers havehave to contain a minimal set of to contain a minimal set of pre-setuppre-setup Datagram Datagram Mode flows to certain routers at critical places in the abstraction Mode flows to certain routers at critical places in the abstraction hierarchy.hierarchy.

These flows are used to carry Datagram mode packets through These flows are used to carry Datagram mode packets through the network. the network.

It is purely a local decision which of those flows to set up.It is purely a local decision which of those flows to set up.

There is a minimum set of flows which do have to be There is a minimum set of flows which do have to be ableable to be to be set up for the system to operate.set up for the system to operate.

Page 30: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Datagram Mode Efficiency and Datagram Mode Efficiency and RobustnessRobustness

The forwarding of Datagram mode packets can be quite efficient The forwarding of Datagram mode packets can be quite efficient (possibly more so than even standard hop-by-hop).(possibly more so than even standard hop-by-hop).

In the non-active routers, the packet is associated with a flow. In the non-active routers, the packet is associated with a flow.

In active routers, the process of looking up the next DMF would In active routers, the process of looking up the next DMF would

be about as expensive as the current routing table lookup.be about as expensive as the current routing table lookup.

Page 31: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Datagram Mode Efficiency and Datagram Mode Efficiency and RobustnessRobustness

It can easily be seen that the process It can easily be seen that the process guaranteesguarantees that the that the resulting path is loop-free: resulting path is loop-free:

Each flow selected must necessarily get the packet closer Each flow selected must necessarily get the packet closer to to its destination. its destination.

The flows themselves are guaranteed not to loop when The flows themselves are guaranteed not to loop when

their paths are selected, prior to being set uptheir paths are selected, prior to being set up. .

Page 32: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Multicast SupportMulticast Support

Nimrod approaches multicast with the same ideas used Nimrod approaches multicast with the same ideas used elsewhere:elsewhere:

Try and break the problem up into pieces.Try and break the problem up into pieces.

Put as much of the functionality as possible Put as much of the functionality as possible outsideoutside the the architecture.architecture.

Allow flexibility in algorithms, etc.Allow flexibility in algorithms, etc.

This last is especially important for multicast, where This last is especially important for multicast, where group sizes can vary by many orders of magnitude.group sizes can vary by many orders of magnitude.

Page 33: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Multicast SupportMulticast Support

Nimrod separates several distinct phases of creating a multicast Nimrod separates several distinct phases of creating a multicast group: group:

- Determining membership - Determining membership

- Deciding what kind of data distribution you want (per - Deciding what kind of data distribution you want (per source, or whatever) source, or whatever)

- Calculating one or more spanning trees which connect the - Calculating one or more spanning trees which connect the members members

- Installing the state about those spanning trees in the - Installing the state about those spanning trees in the routers routers

- Forwarding user data- Forwarding user data

Page 34: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Multicast SupportMulticast Support

Nimrod provides some very fundamental multicast building Nimrod provides some very fundamental multicast building block(s), such as multicast flow setup. block(s), such as multicast flow setup.

All the rest (like the mechanisms to maintain the state about All the rest (like the mechanisms to maintain the state about group membership, calculate the spanning tree, etc) are outside group membership, calculate the spanning tree, etc) are outside the core architecture. the core architecture.

Users can select locally whichever algorithm makes sense in Users can select locally whichever algorithm makes sense in their particular application. their particular application.

Page 35: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Multicast SupportMulticast Support

This has all the advantages of the Nimrod approach to unicast: This has all the advantages of the Nimrod approach to unicast:

- Makes it a simpler design - Makes it a simpler design

- Makes it less likely there will be something wrong - Makes it less likely there will be something wrong

- Allow experiments with new algorithms - Allow experiments with new algorithms

- Allows incremental deployment of new algorithms - Allows incremental deployment of new algorithms

Page 36: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Multicast SupportMulticast Support

Nimrod will also distinguish between a Nimrod will also distinguish between a multicast groupmulticast group (i.e. a (i.e. a name for the set of members) and a particular name for the set of members) and a particular multicast flowmulticast flow (i.e. (i.e. a particular data distribution channel to that group). a particular data distribution channel to that group).

There can be multiple flows which go to the same group, but There can be multiple flows which go to the same group, but controlled independently. controlled independently.

Page 37: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

Flow AggregationFlow Aggregation

Provides no extra capability to the users.Provides no extra capability to the users. Adds complexity.Adds complexity.

So, why add it?So, why add it? Because it is needed to allow a positive economy of scale in Because it is needed to allow a positive economy of scale in

high-speed switches, since the unit cost of per-flow memory is high-speed switches, since the unit cost of per-flow memory is higher there.higher there.

Flow aggregation also has the nice property that it works well Flow aggregation also has the nice property that it works well with virtual links.with virtual links.

Page 38: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

ReferencesReferences

RFC 1992 – “The Nimrod Routing Architecture” found atRFC 1992 – “The Nimrod Routing Architecture” found at

http://www.ietf.orghttp://www.ietf.org

Nimrod, A New Routing and Addressing Architecture for the Nimrod, A New Routing and Addressing Architecture for the Internet by J. Noel ChiappaInternet by J. Noel Chiappa

Page 39: The Nimrod Architecture RFC 1992 Presented By Sai H. Lek October 2, 2003.

THANK YOU!THANK YOU!