Handling Non-Conductor Nodes (Last updated: $Date: 2001/10/17 16:46:03 $)

Node discovery works by sending a packet "toward" the destination node and allowing Conductor nodes along the path to intercept this packet and include themselves in the planning path. Non-conductor nodes along the path will provide normal routing of packets transparently.

The above node discovery algorithm assumes that the destination node is Conductor enabled. Unfortunately, the Conductor network is not that pervasive. To overcome this problem, we introduce the notion of "edge nodes."

An edge node is one that has no other Conductor nodes between it an some potential non-Conductor enabled destination node. Such nodes need a list of destinations for which this is the last Conductor node that will be encountered.

(Hopefully) Many nodes will not be edge nodes because they are part of a fully Conductor-enabled network that has a Conductor-enabled router. Nodes that are edge-nodes should specify Conductor's "-E" option and provide a file that speficies the Conductor-enabled destinations.

The name of the Conductor network file is specified by the ConductorNetFile property which has a default value of ./config/ConductorNet. More information on properties can be found here.

Each line of the Conductor network file specifies a node or network. Each line takes the form

The initial "!" indicates whether this line specifies ndoes/networks that are part of the conductor network or (if ! is present) not part of the conductor network.

The address portion specifies 4 octets in decimal of a node or network address.

The optional mask specifier follows the address and a slash. It specifies the number of bits that are significant in the address. If the mask specifier is omitted, all bits are significant.

When testing a particular address, entries are checked in order. The first match (whether a positive entry or negative) determines the result. If no matches are found, the result is negative. To make the "no match" result be positive, append the entry "0.0.0.0/0" to the end of the configuration file.


Conductor is a product of Mark Yarvis (yarvis@fmg.cs.ucla.edu) and the FMG Research Group at UCLA's Department of Computer Science.
Copyright © 2001 The Regents of the University of California. All Rights Reserved.