title | nav_order |
---|---|
Home |
1 |
This site contains documentations for all UCSMA projects. The content in this page intends to provide a short overview of each projects, while the details can be found in the subpages in the navigation sidebar.
The kernel network driver used throughout the project is ath9k
. We directly modify this driver to implement some features such as the rate control.
The rate control protocol is the key part of UCSMA, which attempts to maintain fairness among different nodes in an ad-hoc wireless network. There are two parts of the rate control protocol:
- buffer enqueue delay: a packet will need to wait a certain time interval (positively proportional to the current buffer size) before being enqueued into the transmission buffer;
- contention window adjustment: we set a lower CW for nodes with fuller buffer to allow their packets to be send out quicker.
Packetspammer is a throughput-measurement tool that injects unencrypted broadcast packets over Wi-Fi. This utility is adapted from Andy Green's Packetspammer.
It is important to keep track of the transmission timeline of the nodes while conducting experiments, which provides info of the finish times of packet transmissions. In the current setup, all nodes connect to a Raspberry Pi via GPIO and send a GPIO pulse once a packet has finished transmission (at TX_OK
interrupts); the RPi then generates transmission timeslines for the nodes.