Design
OCALA consists of an Overlay Convergence (OC) layer positioned below the transport layer in the IP stack. The OC layer bridges legacy applications and overlays by presenting an IP-like interface to legacy applications and tunneling the traffic of legacy applications over overlays. The OC layer is decomposed into the overlay dependent sublayer (OC-D), which interacts with the overlays, and the overlay independent (OC-I) sublayer, which interacts with the legacy applications:
The splitting of the OC layer into the OC-I and OC-D sub-layers enables OCALA to support simultaneous access to different overlays. The following figure shows an example in which three applications on host A open connections via IP and two overlays: a web browser (Firefox) uses IP to connect to www.cnn.com , a chat client (IRC) uses i3 to preserve the client's anonymity, and ssh uses RON for improved resilience.
The OC-I OC-D split also enables OCALA to easily support gateways that enable hosts connected to different overlays to communicate with each other. The following figure shows an i3 host communicating with a RON host via a gateway B.
The above figure also illustrates OCALA's notion of paths and tunnels. The OC-I layer creates and maintains an end to end channel, called a path, between two nodes that communicate with each other. A path can span multiple hops (as seen in the above figure), with forwarding information maintained at the OC-I layers of intermediate hops. The communication channel between two hosts at the OC-D layer is called a tunnel. A tunnel can be formed only between two hosts on the same overlay.
A tunnel can be constructed over regular IPv4/IPv6, and not only over new network architectures and overlays. Tunnels over IP enable hosts that do not run the OCALA software to communicate with OCALA-enabled hosts. Special OC-D modules, called legacy-server-IP (LSIP) and legacy-client-IP (LCIP) enable bridging between regular IP and new network architectures. Figure (a) below illustrates an OCALA-enabled host communicating with a legacy server (www.nasa.gov), while Figure (b) shows a legacy client communicating with an OCALA-enabled server.