Bundle Router and Bundle Forwarder
The router component implements all the route selectionand scheduling policy decision making. It takes as inputa large variety of events that could potentially affect routing decisions and issues encoded instructions that arepassed to the bundle forwarder, which is in turn charged with the responsibility to execute them. The forwarder executes the router’s decisions by interacting with the Convergence Layers, Registrations, and the Persistent Store. The separation of router from forwarder represents an instance of separating policy from mechanism.Also, since we expect several different varieties of routing policies (algorithms) to be implemented, separating the calculation of instructions from their execution helps to isolate the routing code from changes in the other internal APIs.
Convergence Layers are the adapters between the DTN (Delay Tolerant Networking) bundling protocols and various underlying transports,similar to drivers within an operating system. At the most basic level, they perform basic data plane functions: aparticular layer must be able to transmit and receive bundles over a single hop (in the overlay topology). In somecases they also process signaling information required by the bundle router (e.g. such as failed connections and restarts).
Persistent storage is used to hold the contents of bundles during the store-and-forward process. We wish to enable the use of a wide variety of storage methods for holding in-transit bundles, so we opt for a common abstraction for persistent storage. This allows a particular system instance to select (at runtime) to use either a relational database model or a simple file model.
The fragmentation module is responsible for fragmenting and reassembling bundle fragments. In DTN, fragmentation is used in routing both proactively when a large message is to be moved over a contact of smaller known finite volume as well as reactively when a data transfer fails unexpectedly. This module is able to signal the bundle router when all the fragments of a subject bundle have been received.