Monday, September 29, 2008

Media Access Protocol for Wireless

Vaduvur Bharghavan, Alan Demers, Scott Shenker, Lixia Zhang, "MACAW: A Media Access Protocol for Wireless LAN's"

Assumptions
  • single channel
  • no multiple-path effects
  • two stations are either in range or have no mutual interference
  • symmetry: if A receives B, B receives A
  • very small delay time (short range)
Possible approaches
  • carrier sense (at sender but congestion happens at receiver, the whole paper is kind of "receiver" driven where the receiver has two signals CTS and RRTS to drive senders)
  • token-based
  • multiple access collision avoidance (taken here)
Basic Idea
  • Request-To-Send Clear-To-Send Handshake
Refinements
  • backoff algorithm, share congestion state, later decoupling shared congestion state
  • separate queues for separate streams
  • ACKnowledgements (link layer faster than TCP), Data-Sending (defer other from sending RTS), Request-for-Request-To-Send
Collision happens when two stations send simultaneously. A collision can also happen with the RTS pakets. So how dows this RTS-CTS handshake bring improvement? A RTS packet is short (30 bytes) compared to a data packet (512 bytes) so a collision between RTSs destroys less time.

As far as I understand, the mechanism when to send an RTS is to wait until the current data transmission is finished + a random time whose distribution depends on the congestion state. Does this really deserve the term "Collision Avoidance"? Could there be a better mechanism which collaboratively develops a schedule when which station is sending to which other station?
There is also no explicit communication among the stations which station is the range of what other station, so a graph of ranges and crosstalk could be constructed which could potentially give a better scheduling scheme for data transmissions. Instead the algorithm is pretty ad hoc. Is this a weakness or a strength of algorithm because it is easier, more flexible and robust?

2 comments:

Akhil Dhar said...

That's an interesting idea, although I suppose the RRTS feature mentioned in this paper is one step towards achieving a more controlled scheduling scheme. Perhaps the receiving station could include a flag in the CTS granting one of the sending stations first access during the next period of contention (when the current transmission is complete). I doubt this would lead to any significant overhead or loss of robustness.

ozan said...

Collaborative scheduling might be kind of difficult, seeing as building the schedule would require some form of communication. Still, it's an interesting idea.