micahlerner.com

SDN in the Stratosphere: Loon’s Aerospace Mesh Network

Published October 08, 2022

Found something wrong? Submit a pull request!

SDN in the Stratosphere: Loon’s Aerospace Mesh Network

What is the research?

This paper is about the networking technology behind Loon, a project that aimed to provide internet connectivity via a network of balloons in low-earth orbitNASA has an interesting article on commercializing the low-earth orbit (LEO). . The project took the unique approach of relying on balloons to provide internet access in remote areas or as part of disaster response (when internet services otherwise might not be available). Founded in 2011, the project successfully created mesh networksMesh networks rely on connections between nodes in order to achieve connectivity. covering thousands of kilometers, using devices deployed into harsh conditions for up to three hundred days at a time.

Along the way, Loon tackled unique technical challenges not faced by existing mesh networksFor example, NYC Mesh, new coverage here. . For example, the system needed to provide networking capabilities in the face of changing conditions (including challenges like weather, balloon drift, and interference from geological features).

To solve these problems, the project implemented a Software Defined Network (SDN) that was capable of anticipating issues and modifying network structure accordingly. While Software Defined Networks are widely used in industryComputerphile has a helpful video on what exactly Software Defined Networking is. OpenFlow was a historic paper on the subject, and the B4 project at Google is a well known deployment of the approach. , a primary difference in Loon’s approach is integrating time and geospatial factors in decision-making. Integrating these factors was critical to providing connectivity while balloons were moving in the sky - as a result, the authors call their implementation a Temporal-Spatial Software Defined Network (TS-SDN).

Loon ended in 2021See article here. , and the authors open-sourced other artifacts in addition to publishing this paperSee the Loon Library . While the cost of deploying satellites dropped dramaticallyAccording to published data, “Companies that once had to pay hundreds of thousands of dollars to put a satellite into orbit can now do the same for a fraction of that price.” since Loon’s initial development (potentially obviating the need for balloons in the sky), the design, implementation, and learnings from the project can hopefully influence other systems deployed in similarly harsh and changing environmentsRecently, projects like Spacex’s Starlink and Astranis are deploying constellations of moving satellites. .

What are the paper’s contributions?

The paper makes three main contributions:

How does the system work?

The paper is primarily about Loon’s unique approach to shaping network structure. The authors call their approach a Temporal Spatial Software Defined Network (TS-SDN), as it adapted a widely-used industry pattern, the Software Defined Network (SDN)The intro section includes a link to a few resources with more information about this pattern. , to the project’s unique constraints (which are primarily defined by using ballooons). In particular, Loon’s SDN considered the impact of time (temporal) and balloon positioning (spatial) on how to structure the network.

Challenges

While there are successful industry deployments of SDNs at scale, Loon faced unique constraints due to the project’s reliance on balloons:

Loon Architecture

Loon implemented solutions to the challenges above by dividing the system into five main componentsNot included in this count is a mobile network operator that provides access to their network. :

Loon’s TS-SDN divided the system into separate control and data planesMany systems are divided into a control plane (which controls or programs system components) and a data plane (which contains components that do a thing, like forwarding packets). Separation of these two concerns can simplify responsibilities of system components, increase reliability, and allow independent scaling. For example, this separation could allow an implementer to specify that data plane components continue operating even if the control plane fails (this behavior is often called “fail open”. .

Control planes are often responsible for computing and propagating configuration. Every day, the control plane of the TS-SDN effectively reset, as balloons powered down due to battery constraints. That meant that on a recurring basis, the control plane re-established contact with balloons, likely via satellite communication. After bootstrapping, the SDN programmed a balloon’s networking device to connect to nearby ground stations or other already-bootstrapped balloons. After this initial setup, control-plane configuration flowed through the network via Ad hoc On-Demand Distance Vector Routing (AODV)The original paper on AODV won a SIGCOMM Test of Time award in 2018. , an approach to routing in mesh networks that requires no centralized coordinatorThere are multiple approaches to routing in mobile networks - in the appendix, the paper cites Destination-Sequenced Distance-Vector Routing and Optimized Link State Routing Protocol. .

Data planes handle connectivity and packet routing - in Loon’s implementation, the control plane configured the data plane by sending messages that change networking equipment behavior. The data plane also needed to quickly reconfigure when it received instructions (otherwise, geographical features and weather would impact network performance and reliability).

Modeling the Network

The TS-SDN reconfigured the data plane by consuming data on changing conditions, then issuing commands to balloons via the control plane. Three main types of inputs influenced the system’s decision making: physical model, logical model, network management information.

The physical model contains factors like:

The network model primarily stored information on the state of the network, like current connectivity. This metadata reduced churn in the network, as the TS-SDN could calculate which configuration messages it didn’t need to send (as their state was already represented in the network). Additionally, knowledge of network structure allowed the TS-SDN to make alterations that increased reliability - for example, adding multiple paths to the same balloon.

Lastly, network management information represented input from admins (explicit instructions for the TS-SDN to modify the network structure), as well as connectivity requests containing “source and destination platforms and desired bitrate”.

Reconfiguring the Network

The TS-SDN ingested the above datasources, then calculated the desired future state of the network in a multi-step process.

First, the TS-SDN used elements of the physical model to identify candidate links - in other words, potential connectivity between different components of the network that could theoretically exist. Next, it compared these candidates with both the current state of the network (represented as the network model), and with network administrative actions. This comparison produced a set of intents representing the state that the network should converge to in the futureThe concept of intents shows up in SDNs, like Orion: Google’s Software-Defined Networking Control Plane and the Open Network Operating System (ONOS) SDN Controller. . The SDN then actuated intents on the control-data-plane interface (CDPI), sending out configuration messages to ground stations and balloons.

The paper notes the complexity in this last step of control plane messaging, specifically around balloon reachability and time to enactment of configuration changes.

Balloon reachability mattered for the TS-SDN, as unreachable balloons would not reconfigure themselves to resolve networking issues (leading to poorly routed traffic, dropped packets, and a bad user experience). To limit this problem, the system transmitted control plane messages via satellite or ground station paths based on continuously gathered metadata on a balloon’s reachability.

The TS-SDN also measured time to enactment, which represented the delay for a balloon to implement a desired re-configuration. The paper notes it was:

critical for maintaining mesh connectivity and an in-band control plane. As the position of nodes and the viability of links changes, nodes need to converge quickly on a new topology and new routing paths. However, control plane messages may reach nodes at different times, causing some nodes to switch to the new topology while others remain in the old.

How is the research evaluated?

Throughout the paper, the authors share information on how the Loon system worked in production. Specifically, the evaluation considers the TS-SDN’s ability to achieve node reachability, to recover in the face of failure, and to enact intents.

The research measures node reachability by keeping track of whether different components of the system were usable. The different layers of the network relied on each other, impacting their availability - for example, a balloon wouldn’t transmit packets (via the data plane) if it wasn’t configured to do so (via the control plane). The link layer had the highest reachability (given its low level in the system), although the paper mentions that improvements to the TS-SDN, like increasing the number of redundant links in the network, allowed for a highly reliable control plane layer to exist on top of a sometimes unreliable link layer.

To evaluate recovery in the face of failure, the paper compares the number of intended links to established links while varying the redundancy of the mesh network. In a mesh network with low numbers of redundant links, there is a disconnect between the TS-SDN’s intention and what it is able to actuate, as control plane messages do not successfully propagate. Failure recovery to re-establish links (and forward messages) also takes longer because the network performed recovery via a satellite link (costly with respect to latency). In a highly redundant network structure, there is little gap between intention and actuation, as the control plane messages route around failed links.

The paper also visualizes the time to enactment for intents using different routes. In particular, it is clear that relying on satellite (SatCom) to enact intents is significant slower than relying on communication between the different nodes in the network.

Conclusion

The paper on Loon’s TS-SDN approaches the idea of Software Defined Networks from a unique angle. Along the way, the research also has several general takeaways.

First, the Loon SDN ran into debugging challenges that align with problems faced by other distributed systems. The paper’s authors discuss their approach to debugging why and how the system reached a specific state, focusing on discerning “correct system behavior versus bugs”.

The research also covers concrete examples of the trade-offs between explainability and computational power. One case discussed by the paper is choosing a less-complex solver to make decisions about network structure, rather than a more complex (and less understandable) approach.

Last but not least, the authors explain the impact of datasource choice on the SDN’s predictions. For example, the solver’s initial design made predictions based on sometimes out-of-date weather data, leading to network structures that performed poorly. While this more advanced approach should have worked, in practice its performance was lacking. Based on these findings, the solver evolved to rely on direct measurements of network performance, optimizing for improving the user experience (rather than relying on a more distant metric).

Follow me on Twitter or subscribe below to get future paper reviews. Published weekly.

Found something wrong? Submit a pull request!
Subscribe