110 likes | 207 Views
Real-Time Performance Monitoring and Evaluation of an 802.11 Wireless LAN – Wireless Research API (WRAPI). Anand Balachandran Charles Hudak Geoffrey M. Voelker. Access Points. Internet. Motivation.
E N D
Real-Time Performance Monitoring and Evaluation of an 802.11 Wireless LAN– Wireless Research API (WRAPI) Anand Balachandran Charles Hudak Geoffrey M. Voelker
Access Points Internet Motivation 1. Users in a wireless LAN benefit from an understanding of the RF network weather – recd. signal strengths, operating power, RF channel, SSID etc. 2. Network administrators and applications need to monitor the wireless LAN for site survey, nature of RF environment, load balancing decisions, etc.
Outline • Motivation • Existing Mechanisms • WRAPI – purpose • Features • Methodology • Demo of WRAPI • Future Work
Existing Mechanisms • WLAN monitors (e.g. OriNoCo Client Manager) • Vendor Specific • Expose different interfaces • Not all vendors support the same OIDs (object identifiers) • Firmware Implementations • Proprietary – written by the hardware vendors • Code is not made available
So, What is WRAPI? • Wireless Research API (WRAPI) • A software library that allows applications running in user-space on mobiles hosts (and APs) to query/set information in the network they are attached to. • WRAPI: • Is hardware-agnostic WLAN monitoring tool (supports all 802.11b compliant hardware) • Is Programmable!! • Exposes all IEEE 802.11 WLAN objects • Currently runs on Windows XP • Can be ported to WinCE (Pocket PC 2002)
WRAPI – Features • WRAPI provides an interface to applications to monitor the WLAN in real time • Supports 25 WLAN OIDs (see table for a sample) • OIDs are either read-only, read-write, or write-only
IEEE 802.11 Network Objects typedef struct OID_802_11_BSSID { ULONG Length; NDIS_802_11_MAC_ADDRESS MacAddress; UCHAR Reserved[2]; NDIS_802_11_SSID Ssid; ULONG Privacy; NDIS_802_11_RSSI Rssi; NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; NDIS_802_11_CONFIGURATION Configuration; NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; NDIS_802_11_RATES SupportedRates; } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
Methodology • The NDIS Stack DeviceIoControl()
Methodology (2) Flow of Logic in the WRAPI DLL: • Gets a handle to the NDISUIO Protocol Driver • Enumerate Devices • Bind NDISUIO to the device • Query/Set the parameter using WIN32 DeviceIoControl() API
Future Work We are using WRAPI • To build the signal map of a location-determination system • To implement inter-AP load balancing algorithms that take into account individual user workloads Traces and scripts available at: http://ramp.ucsd.edu/pawn/wrapi/