Serval Infrastructure is a collection of protocols and services that allow a Mesh network to make use of other, existing network infrastructure such as public Internet, mobile data, etc.
The Serval Mesh network was conceived and designed to not require any form of infrastructure to function, but a completely decentralised mesh suffers from problems of scalability and reach. If conventional, large-scale network infrastructure is available, it should be possible for cooperating groups of users to set up permanent services (servers) and to configure their Serval Mesh (app for Android) devices to take advantage of it. This could increase the reach and capacity of the mesh network by joining isolated meshes together, and by diverting load off individual mesh nodes.
Serval Infrastructure is composed from a network of hosts at known and reachable IP addresses providing any or all of the following services:
Serval Infrastructure was originally developed for demonstration at Linux.conf.au 2013. A special directory_service
daemon was built as part of the Serval DNA component, which implemented early forms of SDS, SIRS and SILS. This daemon was deployed on a server with a publicly reachable IP address. Devices running the Serval Mesh (app for Android) were configured to connect to the server to resolve every locally unresolvable Serval Identity (SID).
The demonstration was a qualified success. The directory server appeared in the peer list of most devices, and some devices succeeded in exchanging some Rhizome bundles via the server during the demonstration, but Wi-Fi coverage at the conference was saturated (possibly by high Rhizome traffic between all the devices), which severely limited the traffic that could be sent via the server.