next up previous
Next: SLRP Slave Up: A Service Layer Routing Previous: Introduction

SLRP Overview

  As mentioned above, the original PLAN implementation used a static form of routing in which active nodes read their routing tables from a file upon startup. Therefore, adding or deleting a node in the network or would involve editing a routing table file and restarting the router process for each existing node. In the interests of allowing people to easily enter an experimental PLAN network, as well as allowing them to take a node down without disrupting the rest of the network, a more dynamic solution was necessary.

SLRP uses a simple centralized scheme to maintain the routing tables of the network in the presence of node additions and subtractions. One node is designated to be the master node, and all other nodes serve as client slaves of the master node. Slaves report network changes to the master, which recomputes the routing graph and updates each slave's routing table appropriately.

Robustness was not a high priority in the design of SLRP but we found that a certain degree was required. Therefore, while in the original design a failure at the master node would require restarting the entire network, the new version of SLRP only requires that the master be restarted. This feature, coupled with the low expected traffic on an experimental PLAN network as well as the relative infrequency of network topology changes, makes SLRP a reasonable dynamic routing solution for the present time.

In the following discussion, we frequently make use of the term neighbor; in this context, a neighbor n of node m is one that m uses as a next hop towards some node in the network (which could be n itself). This is determined by the routing tables generated by SLRP and is therefore separate from the idea that nodes are neighbors if they share an interface or are on the same physical network. It is possible in SLRP routing that this latter condition is true while the former is not. In this discussion, neighbors used as next hops by m according to SLRP routing will be called simply neighbors of m, while all nodes sharing an interface with m will be called the interfaces of m.



next up previous
Next: SLRP Slave Up: A Service Layer Routing Previous: Introduction



Michael Hicks
Mon Nov 24 10:42:34 EST 1997