How is using OpenSync™ different from a traditional router?
Plume networks are based on the concept of Software Defined Networking (SDN), where the control plane of the network is separated from the data plane. OpenSync manages the data plane, as well as serving as the connection between the control and data planes. Services are decoupled from the hardware and reside on the cloud.
OpenSync™ is independent of hardware because it sits between the cloud and the hardware drivers. This means OpenSync can be used on hardware platforms other than Plume pods. Also, a device running OpenSync can replace a pod as a result. The OpenSync hardware target layer is specific to the Wi-Fi chipset of the device, allowing OpenSync to manage the Wi-Fi configuration of the hardware.
What is the role of OpenSync™ on Plume pods (and other) network hardware?
The role of OpenSync can be broken down into three functions: telemetry, control, and networking.
Many Plume features rely on data collected from the network and analyzed by the cloud. Telemetry oversees gathering and transmission of these statistics to the cloud. This includes statistics about the Wi-Fi environment, network performance statistics, and state data such as where pods and devices are currently connected.
Telemetry uses MQTT and Protobuf to send statistics to the cloud. MQTT, short for Message Queuing Telemetry Transport, is a light-weight communications protocol that was designed, in part, to minimize bandwidth usage. This makes it ideal for sending stats data to the cloud. Before being sent to the cloud the stats data is serialized using Protobuf. This allows the data to be structured in a way that the cloud can easily read.
Control processes act as an interface between pods and the cloud, providing rules based networking configurations and manage device maintenance. Information is received from the cloud as state data. OpenSync then uses the state data, updating the network to match what was provided by the cloud. For example, changing pod and device links, or enabling/disabling access. This functionality includes the following:
- Establishing and maintaining cloud connectivity
- Performing client and band steering actions
- Synchronization of Wi-Fi settings, such as SSID and Password, between the cloud and all extenders
- Setting up the data path to Wi-Fi extenders, including multiple VLAN support
Control uses an OVSDB and OpenFlow. The OVSDB. or Open vSwitch Database, is where configuration changes are recorded. Editing entries in the OVSDB is how the cloud and OpenSync pass information and instructions. OpenFlow is used to set rules for where data can be sent, which are stored in the OVSDB.
Networking manages network operations. This functionality includes:
- Managing networking functions, such as DHCP, NAT and packet routing
- Virtualization of network and wireless management
Networking uses Open vSwitch (OVS) for its functions. OVS is an open source switch software that can function both as a virtual switch and as the controls for a physical network switch. It is also responsible for routing packets based on the OpenFlow rules set in the OVSDB.