Distributing configuration and control of WiFiMon hardware probes

By on 7 Aug 2023

Category: Tech matters

Tags: , ,

Blog home

Various dashboards enable WiFiMon Administrators to effectively monitor the performance of their Wi-Fi networks.

Wi-Fi is one of the most popular Internet access methods. Monitoring Wi-Fi networks to ensure their normal operation is essential. WiFiMon (website, paper) is a GÉANT service offering open-source tools for efficient Wi-Fi network performance monitoring. The purpose of WiFiMon is to assist administrators in identifying underperforming segments within their networks and optionally enhance performance, for example, by installing more Access Points (APs).

WiFiMon data sources

WiFiMon combines various data sources, including WiFiMon Software Probes (WSPs) and WiFiMon Hardware Probes (WHPs). WSPs deliver crowdsourced measurements by reporting performance as experienced by end users roaming the Wi-Fi network, whereas WHPs trigger equivalent measurements from fixed network positions (Figure 1). WHPs complement WSPs by facilitating baseline performance comparisons, hence WHPs are integral to WiFiMon’s operation. WHP measurements mainly rely on Raspberry Pi devices, although any Unix-based device may be used.

Image of WSPs and WHPs.
Figure 1 — The main data sources in WiFiMon are WSPs (reporting performance as experienced by Wi-Fi network users) and WHPs (reporting performance from fixed network locations).

Shortcomings of the old approach for configuring and controlling WHPs

WHPs are installed and operated by various universities and National Research and Education Networks  (NRENs). By supporting these organizations, the WiFiMon team gathered important feedback on the shortcomings of WHP configuration and control. Specifically, reconfiguring WHPs after their initial installation proved time-consuming and costly. Administrators were previously required to connect to WHPs either physically by plugging the appropriate equipment or remotely via SSH.

However, in experimental setups with various WHPs distributed across many sites, physically connecting to them proved demanding. Moreover, enabling remote access required allocating static public address space, thus reducing flexibility, despite WHPs’ ability to operate without such addresses, even behind NAT networks. Additionally, upon connecting to WHPs, WiFiMon administrators were required to follow difficult and error-prone steps, including directly editing various configuration files (Figure 2).

Image of WHP code.
Figure 2 — WiFiMon administrators were required to edit WHP code files themselves, an approach that proved time-consuming and error-prone.

A new approach for distributed WHP configuration and control

To address these shortcomings and simplify WHP operation, the WiFiMon team has developed user-friendly methods that enable the configuration and control of WHPs distributed across monitored networks from a centralized location. All operations are now performed from the central processing component of WiFiMon (Figure 3) — the WiFiMon Analysis Server (WAS).

Diagram of comparison between old and novel approaches to configuring WHPs.
Figure 3 — Comparison between old and novel approaches to configuring WHPs.

Furthermore, a new graphical method integrated within the WiFiMon User Interface allows administrators to insert all the information required by WHPs in a single prompt (Figure 4). Based on Jinja2 templating, the necessary configuration files are generated and they are subsequently propagated to the specified WHPs distributed across the monitored network.

The newly designed interface for easily configuring WHPs
Figure 4 — The newly designed interface for easily configuring WHPs.

Communication between the WAS and the underlying WHPs is possible via the Salt infrastructure management tool. Salt establishes application layer communication among devices, therefore enabling WiFiMon administrators to control and reconfigure WHPs, such as modifying measurement intervals, without physically connecting to them. Moreover, WiFiMon takes advantage of important features provided by Salt. Specifically, by relying on the ZeroMQ message broker, Salt is scalable and allows for reconfiguring the available WHPs in parallel regardless of their total number.

Finally, as Salt establishes communication in the application layer, reconfiguring the WHPs is possible even if static IP addresses are not assigned to them, therefore supporting the monitoring of NAT networks and enabling more flexible control.

Nikos Kostopoulos is a PhD Candidate at the National Technical University of Athens (NTUA), Greece focusing on network security. He participates in WiFiMon as a software developer.

Co-authored by Elisantila Gaci, RASH.

Rate this article

The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.

Leave a Reply

Your email address will not be published. Required fields are marked *