MACAW: A Media Access Protocol for Wireless LANs
September 30, 2008
Due to the growth in mobile computing devices utilizing the network, need new network technologies to provide connectivity. Since wireless LANs are most heavily utilized for these devices, also need to think about how to control access to this shared media. The authors aim to develop a media access protocol for this space and explore performance and design issues in wireless media access protocols; they test in a simulation. They propose the MACAW algorithm, which includes changes to Multiple Access, Collision Avoidance (MACA). They observe several things about contention and congestion: (1) relevant contention lies at the receiver, (2) congestion is location dependent, (3) learning about congestion levels is necessary to allocate fair media access, and (4) the media access propagate information about contention.
The authors describe their radio network at PARC and its characteristics. A “collision” occurs when a receiver cannot differentiate between two signals from two transmitting stations. “Capture” occurs when the receiver can only receive the signal from the closer of two transmitters in range. “Interference” occurs when the receiver cannot receive a signal from a transmitter due to the interference from an out-of-range transmitter. They note that they use the simple model of ignoring capture and interference in their algorithms, but not their simulations. For single channel control, it’s better to use multiple access over the token approach because the former is more robust and mobility would cause too much handing-off in the latter. CSMA is not appropriate for their multiple access algorithm because it detects collisions in the vicinity of the transmitter and not the receiver. MACA is better because it uses signaling packets between stations: request-to-send (RTS) and clear-to-send (CLS); stations overhearing an RTS will defer transmission. The authors enhance MACA in MACAW with a smarter backoff algorithm to ensure fairness using additional information stored in the packet header. They also consider multiple stream models, choosing to allocate bandwidth to streams rather than stations. Other changes include: adding an ACK to the RTS-CTS-DATA exchange since recovery at link-layer is faster, adding a Data-sending (DS) packet to clarify the lost CTS problem, and a Request-for-request-to-send (RRTS) packet to protect against a station being unable to respond to an RTS because of its own deferral.
This paper was good at demonstrating (with examples!) some of the difficulties in synchronizing wireless communication between nodes and promoting fairness. The paper was well motivated and articulated. I appreciated the authors noting their difficulty in making the RTS-CTS scheme work in multicast, although I admit I was disappointed that it was left as an open question. The autohrs also mentioned that their analysis assumes symmetry between stations, e.g. to assume that RTS-CTS will successfully avoid collisions at the receiver. Is this an okay assumption? How much noise is typically present in the real world?
Multicast might be a real problem for protocols like this — consider the ACK implosion problem: all receivers have to indicate to the sender in some way that they received the packet. If they all respond at around the same time, they will collide, and the acks will be lost. It is a difficult problem to figure a distributed algorithm for randomly replying that achieves the desired effect without increasing latency by too much and also avoiding retransmissions. Multicast is just plan hard!