Concepts
This section compares routing daemon software to a hardware router, using an extended analogy to introduce the operational concepts of Rendezvous routing daemons.
Goal
The goal of routing daemon software is to take Rendezvous messages from one network, and make them available on other networks. The effect is to connect a set of networks into a larger network.
Compare this goal to the goal of routing hardware—to take packets from one network, and make them available on other networks. Once again, the effect is to connect a set of networks into a larger network.
Connections
Routing daemon software uses a routing table to define connections to local networks, and to other routing daemons.
Compare this tool to a hardware router, which uses a routing table to define the connections between the router and its interfaces.
Each entry in the routing table describes one routing daemon and its connections. Although each routing daemon specifies only its own routing table entry, all the routing daemons in a WAN cooperate to share this information, so that every routing daemon builds a copy of the complete global routing table.
Local Network
A routing daemon serves a set of local networks by forwarding messages between those networks and other networks (usually, by way of other routing daemons).
While routing hardware specifies its local networks primarily in terms of network interfaces, routing daemon software specifies each local network as a pair combining network and UDP service. UDP services effectively divide the physical network into separate logical networks—even though they use the same hardware.
A routing daemon filters messages by subject name, restricting the subjects that its local networks can import and export. Filtering messages by subject in routing daemon software yields a finer granularity of control than filtering packets in a hardware router. Routing daemons control the set of subjects that each network can export to other networks, and import from other networks. For more information, see Subject Gating.
Neighbor
To achieve the goal of forwarding message between networks, routing daemons connect to other routing daemons. A routing daemon declares its potential neighbors—the other routing daemons to which it can directly connect.
Two potential neighbors become actual neighbors when they establish a TCP connection.
Figure 54: Routing Daemons
Route
The set of connections through which a message travels between its originating network and its destination network is called a route. Several potential routes can exist between the originating and destination networks; routing daemons select the actual route for each message.