What’s included in the kit
For Disks 2-5, please see the documentation included on those disks. For Disk 1, the following are included in two folders:
Software
- Source code and binaries for Mesh Connectivity Layer (MCL).
- Source code and binaries for mesh performance measurement tools and utilities (ttcp, sink, LQSR Parser for NetMon).
- Source code and binaries for virtualizing wireless cards (Virtual WiFi).
- Venice software.
Publications
- Papers, technical presentations and hours of video talks.
More detail of the Mesh Software and Virtual WiFi follows:
Microsoft® Mesh Software
Mesh Connectivity Layer (MCL) Software Package
- Loadable Microsoft Windows® XP driver that implements a virtual network adapter – the ad-hoc network appears as an additional (virtual) network link.
- Routes using Microsoft’s Link Quality Source Routing (LQSR) Protocol – this is a modified version of Internet Engineering Task Force (IETF)’s Dynamic Source Routing (DSR) protocol. We have modified DSR extensively to improve its behavior, most significantly to support several link quality metrics (WCETT, ETX, RTT, ULT, Packet-Pair, hop-count) and multiple radios.
- Implements an interposition layer between layer 2 (the link layer) and layer 3 (the network layer). To higher layer software, MCL appears to be just another Ethernet link, albeit a virtual link. To lower layer software, MCL appears to be just another protocol running over the physical link.
- You can modify and build the XP version using Microsoft® Driver Development Kit (DDK) and the CE version using Platform Builder.
Venice Software Package
- Setup – This package installs MCL, performance tools and components listed below.
- MeshConfig – This application presents a list of the SSID’s of the ad hoc networks in range and allows selection of the mesh SSID to connect to.
- Mesh setup for Windows Mobile – Cab files containing mesh installation for Windows Mobile 2003 and Windows Mobile 2005 devices.
- Mesh for Windows CE – Source code and binaries for developing Windows CE 5.0 based devices using MCL.
Note: The MCL Software Package includes source code to build MCL for Windows XP. The Venice Software Package includes MCL binaries for Windows XP. For some inter-group software development related reasons, the MCL binaries in the Venice Package are not built from the Windows XP MCL source code that we have provided. However, the two are functionally equivalent. The Windows CE MCL source code in the Venice Software Package is slightly different from the Windows XP MCL source code.
Performance Measurement Tools
- Ttcp: sends and receives TCP or UDP flow. Knows how to talk to MCL and retrieve routes taken by the flow. Full source code is included.
- Sink: sinks multiple simultaneous TCP and UDP flows. Knows how to talk to MCL and retrieve routes. Full source code is included.
Additional Debugging Tools
- Full source code for an LQSR parser for NetMon.
Microsoft® Virtual WiFi Software
Connect to multiple IEEE 802.11 networks with one WiFi card
Description
Virtual WiFi exposes multiple virtual adapters, one for each wireless network to which connectivity is desired. It uses a network hopping scheme to switch the wireless card across the desired wireless networks. Switching between networks is transparent to the applications, such that the user feels she is connected to multiple wireless networks simultaneously.
Implementation
Virtual WiFi is implemented as an NDIS intermediate driver, and a user-level service in Windows XP. Virtual WiFi interacts with the card device driver at the lower end, and network protocols at the upper end. The buffering protocol is implemented in the kernel and the switching logic is implemented as a user-level service.
Contents
- Virtual WiFi Binaries: Contains the files required for installing Virtual WiFi. If you will not modify the Virtual WiFi software, this is sufficient.
- Virtual WiFi Source Code: Contains all the Virtual WiFi source files. The source tree comprises the following directories:
- driver: implements the kernel functionality of Virtual WiFi.
- notifyob: implements the notify object for maintaining the bindings of the Virtual WiFi driver.
- virtualwifihelper: implements a utility required for checking the correct operation of Virtual WiFi.
- service: implements the user-level Virtual WiFi service.
- install: implements command-line options for installing and using Virtual WiFi.
- inc: the include directory.