LAN Stats (Ethernet Data Consumption)
Design
LAN statistics represent the characteristics of network traffic flows that occur between:
Various end-clients in LAN and WLAN networks
Clients in (W)LAN network and devices in WAN network.
Generally speaking, LAN statistics tell us which nodes talk to each other, when, how much data, and what types of data are shared among the nodes.
The collected data serves as an accurate count of the WAN data consumption, helps monitor the WAN-side data saturation, and provides load indication for each network within a SSID.
The OpenSync LAN statistics are collected at regular time intervals. After they are collected, the flow statistics are stored in a cache, and reported to the Cloud in the protobuf-encoded format using MQTT. The OpenSync component responsible for LAN statistics is Flow Control Manager (FCM). FCM uses filters applied to the network flows to include or exclude the captured data.
LAN statistics and WiFi telemetry give complementary network performance metrics. Read more about WiFi telemetry in ERE-020-021-101 OpenSync Requirements: Telemetry.
Collecting the LAN Statistics
To start collecting the LAN statistics, cloud controller updates the node configuration with additional parameters. When the updated node configuration becomes active, the nodes start collecting the IP flows stats for all the connected clients.
Node Configuration Changes
Cloud controller pushes the necessary configuration changes to the nodes. To enable collecting and reporting, the cloud configures these three OVSDB tables:
CM_Collector_Config. The essential table. Here, the cloud specifies the OpenFlow switch data sampling interval, selects the reported statistics, and defines which filter should be applied.
FCM_Filter. This table applies the filter when collecting the OpenFlow data statistics, and also while reporting.
FCM_Report_Config. This table specifies the reporting interval, and the MQTT topic that is used for sending the stats. The table also defines if the stats are cumulative or differential.
These are the configuration changes:
"sample_interval". Stats capturing the frequency (in seconds) by the cloud collector. Value 0 means the collection/report processes are disabled.
"report_interval". Stats sending the frequency (in seconds) to the cloud controller. Value 0 means the collection/report processes are disabled.
"mqtt_topic". MQTT path for publishing the reports. This field belongs to the FCM_Report_Config/State OVSDB table.
Tip: Details about the above listed OVSDB fields are available in EUB-020-033-101_OpenSync_Northbound_API.
Once these updates become active, collecting and reporting of LAN stats from the node begins.
Supported LAN Traffic Types
OpenSync enables collecting the statistics for:
Ethernet clients
WiFi clients
FCM Components and Plugins
The main purpose of the OpenSync FCM is to collect the IP flow statistics, and to send the reports to the SDN controller.
IP Flow Stats Collector
The FCM component that collects the LAN stats, is the IP Flow Stats Collector. The IP flow stats collector listens to the changes in the FCM_Collector_Config OVSDB table.
IP Flow Stats Cache
The IP Flow stats cache provides a stats aggregation mechanism based on Entity Names (fields of the protobuf which carries the data) and formatting. It serves as a buffering mechanism for Flow Stats Collector and Flow Stats Reporter. This enables the Collector and Reporter to work using independent intervals.
IP Flow Stats Reporter
The IP flow stats reporter fetches the stats from cache at regular intervals (as defined by the report_interval field), encodes these stats to the protobuf format, and pushes them via MQTT.
FCM Plugins
FCM supports multiple plugins, so that different types of LAN statistics collection/reporting methods can be separately managed by the SDN controller. Currently, FCM supports these plugins:
Lan-to-Lan Stats Plugin. Collects and reports the layer 2 network statistics occurring between devices within a LAN network.
IP Flow Stats Plugin. Collects and reports the IP flow statistics occurring between devices in a LAN network to devices in a WAN network, and vice-versa.
Per-interface Bandwidth Stats Plugin. Tracks the total bandwidth consumed on all wired and wireless interfaces.
Available LAN Statistics
The FCM_Collector_Config and FCM_Report_Config OVSDB tables include the required configuration for LAN statistics collecting.
The content of tables (available LAN statistics) is described in the document: EUB-020-033-101_OpenSync_Northbound_API.