Wireless Medium Access Control Protocols CS 851 Seminar University of Virginia www.cs.virginia.edu/~cs851-2/course.html
Why Need MAC ? Wireless medium is an open, shared, and broadcast medium Multiple nodes may access the medium at the same time Medium Access Control Protocol: Define rules to allow distributed nodes to communicate with each other in an orderly and efficiently manner B C A D
Ideal MAC Protocol Limited Delay High Throughput Fairness Stability Scalability Robustness against channel fading Low power consumption Support for multimedia
Wireless MAC Issues Half-Duplex Operation Time Varying Channel Burst Channel Errors Location Dependent Carrier Sensing Hidden Terminal Exposed Terminal Capture
Hidden Terminal Problem Node B can communicate with A and C both A and C cannot hear each other When A transmits to B, C cannot detect the transmission using the carrier sense mechanism If C transmits to D, collision will occur at B A B C D
Exposed Terminal Problem Node C can communicate with B and D both Node B can communicate with A and C Node A cannot hear C Node D can not hear B When C transmits to D, B detect the transmission using the carrier sense mechanism and postpone to transmit to A, even though such transmission will not cause collision A X B C D
Capture Effect A D B C Power Difference Of A and D signals A and D transmit simultaneously to B, the signal strength received by B from D is much higher than that from A, and D’s transmission can be decoded without errors. This will result unfair sharing of bandwidth.
Classification of Wireless MAC Protocols Guaranteed access Wireless MAC Protocols Distributed Mac Protocols Centralized MAC Random
Distributed MAC Protocols Collision avoidance mechanisms Collision avoidance with out-of-band signaling Collision avoidance with in-band control messages Two distributed random access protocols DFWMAC: Distributed Foundation Wireless MAC (used in IEEE 802.11) EY-NPMA: Elimination Yield-Nonpreemptive Priority Multiple Access (used in HyperLan)
Centralized MAC Protocols Work for centralized wireless networks Base station has explicit control for who and when to access the medium All nodes can hear from and talk to base station All communications go through the base station The arbitration and complexity are in base station
MACA: A New Channel Access Method for Packet Radio Phil Karn 1990
Goals , New Ideas, and Main Contributions Try to overcome hidden & exposed terminal problems New idea: Reserve the channel before sending data packet Minimize the cost of collision (control packet is much smaller than data packet) Main Contribution: A three-way handshake MAC protocol : MACA CSMA/CA MA/CA MACA
Fundamental Assumptions Symmetry A can hear from B B can hear from A No capture No channel fading Packet error only due to collision Data packets and control packets are transmitted in the same channel
Three-Way Handshake A sends Ready-to-Send (RTS) B responds with Clear-to-Send (CTS) A sends DATA PACKET RTS and CTS announce the duration of the data transfer Nodes overhearing RTS keep quiet for some time to allow A to receive CTS Nodes overhearing CTS keep quiet for some time to allow B to receive data packet CTS (10) CTS: Clear To Send RTS (10) RTS: Request To Send DATA D A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. B A C E
More Details for MACA Note: no carrier sense A sends out RTS and set a timer and waits for CTS If A receives CTS before timer go to zero, OK Otherwise, A assumes there is a collision at B Double the backoff counter interval Randomly pick up a timer from [1,backoff counter] Send next RTS after timer go to zero B sends out CTS, then set a timer and waits for data packet If data packet arrives before timer go to zero, OK Otherwise, B can do other things C overhears A’s RTS, set a timer which is long enough to allow A to receive CTS. After the timer goes to zero, C can do other things D overhears B’s CTS, set a timer which is long enough to allow B to receive data packet. E overhears A’s RTS and B’s CTS, set a timer which is long enough to allow B to receive data packet. RTS and CTS can also contain info to allow sender A to adjust power to reduce interference Note: no carrier sense
Hidden Terminal Problem Still Exists (1) Data packet still might suffer collision RTS CTS RTS DATA RTS B C A A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on.
Hidden Terminal Problem Still Exists (2) Data packet still might suffer collision DATA RTS CTS CTS RTS DATA RTS B C A E A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on.
Exposed Terminal Problem Still Exists Node C can not receive CTS RTS DATA CTS RTS CTS B A C A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on.
Summary MACA did not solve hidden & exposed terminal problems MACA did not provide specifications about parameters What are RTS, CTS packet sizes ? How to decide timers? What is initial backoff window size? A lot things need to do if using MACA
MACAW: A Media Access Protocol for Wireless Lan’s V. Bharghavan, A MACAW: A Media Access Protocol for Wireless Lan’s V. Bharghavan, A. Demers, S. Shenker, and L. Zhang (Sigcomm 1994)
Goals, New Ideas, and Main Contributions This paper refined and extended MACA New idea: Information sharing Modified control messages Four-way handshake (reliable, recover at MAC layer) Five-way handshake (relieve exposed terminal problem) RRTS (unfairness) Modified back-off algorithms Multiplicative increase and linear decrease (MILD) Synchronize back-off counter using piggyback message Multiple stream model (V-MAC)
Revisit Hidden Terminal Problem Data packet still may suffer collision To recover packet loss at transport layer too slow Recover at MAC layer is more fast Need ACK
Four-Way Handshake CTS: Clear To Send RTS: Request To Send ACK DATA Sender sends Ready-to-Send (RTS) Receiver responds with Clear-to-Send (CTS) Sender sends DATA PACKET Receiver acknowledge with ACK RTS and CTS announce the duration of the transfer Nodes overhearing RTS/CTS keep quiet for that duration Sender will retransmit RTS if no ACK is received If ACK is sent out, but not received by sender, after receiving new RTS, receiver returns ACK instead of CTS for new RTS CTS(T) CTS: Clear To Send ACK RTS(T) RTS: Request To Send DATA A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. destination source
Comparison with ACK and without ACK
Revisit Exposed Terminal Problem RTS/CTS/DATA/ACK can not solve exposed terminal problem When overhearing RTS, the node needs to wait longer enough to allow the data packet being completely transmitted even it does not overhear CTS To relieve exposed terminal problem, Let exposed terminal know the DATA packet does be transmitted Extra message DS (data send) Five Handshaking to let exposed terminal know how long it should wait
Five-Way Handshake CTS: Clear To Send RTS: Request To Send Sender sends Ready-to-Send (RTS) Receiver responds with Clear-to-Send (CTS) Sender sends DATA SENDING (DS) Sender sends DATA PACKET Receiver acknowledge with ACK RTS and CTS announce the duration of the transfer Nodes overhearing RTS/CTS keep quiet for that duration CTS CTS: Clear To Send ACK RTS RTS: Request To Send DS DS: Data Sending DATA A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. B A C
Comparison with DS and without DS
Comparison with DS and without DS RTS CTS RTS DATA CTS ACK RTS P1 P2 B2 B1 A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on.
Unfairness CTS RTS DATA ACK RTS Using RTS/CTS/DATA/ACK or RTS/CTS/DS/DATA/ACK might cause unfairness A sends data to B; D sends data to C A and D have enough data to send C can hears from B and D, but not A B can hear from A and C, but not D A is in luck and gets the channel D sends RTS and times out Backoff window for D repeatedly doubles For the next transmission: A picks a random number from a smaller window Unequal probability of channel access Throughput for flow A B > 90 % Throughput for flow D C ~ 0% RTS CTS RTS DATA ACK RTS A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. B A C D
Request for RTS (RRTS) Try to solve unfairness by having C do the contending for D RRTS RRTS: Request for RTS ACK CTS RTS RTS DATA RTS B A A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. C D
Comparison with RRTS and without RRTS (1)
Comparison with RRTS and without RRTS (2)
Multiple Stream Model (V-MAC) Node Single Stream MAC MAC Node Multiple Stream MAC Single stream model merge traffic from different flows into a mixed stream and uses a single MAC Multiple stream model uses multiple MAC (one flow one MAC) to achieve fairness This idea was used by Intersil Company to proposed a new MAC for IEEE 802.11e in 2001
Comparison V-MAC and MAC
Backoff Algorithms When collision occurs, node A pick up a random number T from [1,Bo], then retransmits RTS after T time unit How to determine Bo After each collision Bo_new = Fun_inc(Bo_old) After each successful transmission Bo_new = Fun_dec(Bo_old) Binary exponential backoff (BEB) algorithm Fun_inc(Bo_old)=min{2*Bo_old, Bo_max} Fun_dec(B_old)=Bo_min Multiplicative increase linear decease (MILD) Fun_inc(Bo_old)=min{1.5*Bo_old, Bo_max} Fun_dec(B_old)=max{Bo_old -1, Bo_min}
Information Sharing in Backoff Algorithms When a node sends a packet, it embeds its current backoff counter in the packet header. Other nodes which overhears the packet copy the value as itself backoff counter Key idea: all nodes have the same backoff counter to achieve fairness
Comparison BEB and BEB-Copy
Comparison BEP-COPY and MILD-Copy
Evaluation of MACAW
Evaluation of MACAW
Open Problems How to design a good backoff algorithm? Adaptive MAC to achieve fairness in ad-hoc networks Do upper layer operations need to tightly relate to MAC? Reliable multicast MAC in ad-hoc networks
Evaluation of MACAW
Evaluation of MACAW
Per-Destination Backoff
What Are We Going to Learn? Understand and appreciate fundamental principles in Wireless Medium Access Control Protocols Basic theory A real MAC protocol: IEEE 802.11b (next week) Open problems
Hidden Terminal Problem Still Exists Data packet still might suffer collision RTS CTS RTS DATA RTS B C A A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. Four-way handshake (add ACK message) Sender will redo RTS/CTS/DATA/ACK if no ACK is received If ACK is sent out, but not received by sender, after receiving new RTS, receiver returns ACK instead of CTS for new RTS
Request for RTS (RRTS) CSMA/CA with binary exponential backoff IEEE 802.11 data transmission is accomplished via a four-way handshake CTS CTS: Clear To Send RTS RTS: Request To Send DATA A BR is a region in which all nodes are in radio range of one another. And try to access the channel through a carrier sense medium access protocol. In IEEE802.11 the nodes communicate through a 4 way handshake. The source sends a request to send, which is responded by a clear to Send message from the destination. Then the source transmits the data And finally the destination sends the acknowledgment. All other nodes Defer while this transmissions are going on. destination source
Some Background CSMA/CD (carrier sense multiple access/ collision detection) Every node senses the carrier before transmitting If the carrier is not clear, the node defers transmission for a specified period. Otherwise, transmits While transmitting, the sender is listening to carrier and sender stops transmitting if collision has been detected Due to hidden & exposed terminal problem Contention/collision will occur at receiver side Carrier sense (send side) approach is inappropriate for wireless networks