MAC Protocols Prof. Anirudha Sahoo IIT Bombay IT 601: Mobile Computing
ISSUES in Wireless MAC • Bandwidth Efficiency • BW available is very limited • MAC should be designed such that the scarce bandwidth is utilized in an efficient manner • Hidden and Exposed Node Problem • Collision-prone shared channel • Multiple nodes may contend for the medium leading to collision • MAC should make sure that collision is minimized
ISSUES in Wireless MAC • Mobility of Nodes • Control information exchanged may become useless due to mobility • MAC performance should be satisfactory when nodes are mobile • Power consumption • QoS support • Criticial for real time applications
A B C Hidden Terminal Problem • A and C cannot hear each other. • A sends to B, C cannot receive A. • C wants to send to B, C senses a “free” medium (CS fails) • Collision occurs at B. • A cannot receive the collision (CD fails). • A is “hidden” for C.
B A D C Exposed Terminal Problem • A starts sending to B. • C senses carrier, finds medium in use and has to wait for A->B to end. • D is outside the range of A, therefore waiting is not necessary.
Design Goals • Available bandwidth should be utilized efficiently • Fair allocation of bandwidth • Control overhead should be kept low • Should minimize the effect of hidden and exposed node • Should be scalable to large network • Should have power control mechanisms to manage energy consumption of the nodes
Classification of MAC protocols • Contention-free • TDMA • FDMA • Polling • Contention-based • MACA (Multiple Access Collision Avoidance) • MACAW
MACA • Proposed as an alternative to the traditional CSMA • CSMA senses the state of the channel only at the transmitter • Leads to hidden node problem • Does not use carrier sensing • Nodes start transmitting after a random backoff • MACA uses RTS and CTS to overcome hidden node problem and exposed node problem • Node which only hears CTS (but no RTS), stops from transmitting (hidden node) • Node which only hears RTS (but no CTS), is free to transmit (exposed node) • RTS and CTS carry the expected duration of data transmission • When there is a collision, it uses binary exponential backoff (BEB) before retrying
Packet Transmission in MACA neighbor neighbor sender receiver RTS RTS CTS CTS DATA DATA
MACAW • The binary exponential back off can starve the flows • S1 and S2 have data to send • Let us say S1 captures the channel • S2 keeps sending RTS, but it gets collided. S2 increases backoff window. Gets blocked from transmitting longer period of time after every collision. S1 S2 R1 R2
Back off change in MACAW • Send Back off counter value in the packet. Nodes receiving the packet use the backoff counter carried in the packet instead of that used in MACA • This mechanism make the BW allocation fair • BEB (Binary Exponential Backoff) adjusts the back off counter very rapidly • After a successful Tx, the BO is reset to minimum • MACAW introduced multiplicative increase and Linear Decrease (MILD) • Upon collision BO multiplied by 1.5 • Upon successful transmission it is decreased by 1
Back off change in MACAW • Per flow fairness is implemented • Each flow runs the back off algorithm. • Flow with minimum backoff value is chosen to send RTS
ACK packet in MACAW • In MACA, there was no reliability at DLL, it was left to the higher layer to provide reliability • MACAW introduced ACK packet for every Data packet • If ACK is not received, the sender reschedules the Data packet for transmission. • Sender would send RTS • Rcvr would send CTS (if Data pkt was lost) • Would send ACK if ACK was lost
DS packet in MACAW • In MACA, an exposed node is free to transmit simultaneously when the source node is transmitting packets. • But RTS transmission by exposed node is useless, since the CTS reception will end in collision • So the source node sends a DS (Data Sending) msg which contains the duration of data transmission • tells the exposed node that an RTS-CTS was successful, hence need to wait until DATA-ACK is done
DS packet in MACAW • S1 is already sending data packets to R1 • S2 sends RTS to R2, but when R2 sends CTS, it collides with data packet from S1 R1 S1 S2 R2
RRTS RRTS S2 R2 R1 S1 RRTS Packet in MACAW • S1 is already sending Data • S2 sends RTS, but R2 does not respond with CTS, since it is a hidden node to S1 • S2 does not know the duration of the Data transmission • Keeps on increasing BO counter and transmits RTS
RRTS Packet in MACAW • R2 contends for the medium on behalf of S2 • If it had received RTS from S2, then it waits for the next contention period and transmits RRTS • Node S2 on receiving RRTS, sends RTS to R2 and normal RTS-CTS-Data-Ack takes place
Busy Tone Multiple Access Protocols (BTMA) • There are two transmission channels • A data channel and a control channel • When a node is ready for transmission, it checks if the busy tone is active • If not, it turns on the busy tone and starts data transmission • Otherwise, it reschedules the packet after some random delay • Any other node which senses the carrier on the channel also transmits the busy signal • When a node is transmitting data, no node in the 2-hop neighborhood is permitted to transmit
BTMA Region in which Simultaneous transmissions are not possible when N1 is transmitting data N1 N2 Busy tone
BTMA • Probability of Collision is very low • But bandwidth utilization is very poor
MACA-By Invitation • A receiver oriented protocol • Reduces the number of control packets in MACA • Receiver initiates data transmission by sending RTR (Ready to Receive) control packet to the sender • Rcvr needs to estimate the avg. arrival rate of pkts at the sender • Data packets carry control information regarding backlogged flows sender, queue length • In case, sender does not get the RTR msg before a timeout period (e.g., wrong estimation of rate), then it can send the information in an RTS msg
Contention-Based Protocol with Reservation • Nodes can reserve bandwidth • Contention only occur during reservation phase • Once reservation is successful, the node gets exclusive access to the reserved bandwidth
Distributed Packet Reservation Multiple Access Protocol (D-PRMA) • TDMA based scheme • The channel is divided into fixed equal sized frame • Each frame consists of s slots and each slot consists of m mini-slots • Each mini-slot has two control fields : RTS/BI (RTS with Busy Indication), CTS/BI • A certain period of beginning of each mini slot is reserved for carrier sensing • If a sender detects channel to be idle at the beginning of a slot (mini slot 1), it sends RTS in the RTS/BI part of the mini slot.
D-PRMA (Cont’d) • The rcvr node sends CTS in the CTS/BI of the same mini-slot. • If the sender node receives the CTS successfully, then it gets reservation for the current slot and can use the remaining mini slots (2 to m). • Otherwise it continues contention process through subsequent mini slots
RTS/BI CTS/BI D-PRMA (Cont’d) Slot 1 Slot 2 Slot s Mini slot 1 Mini slot 2 Mini slot m (Frame Structure of D-PRMA)
Collision Avoidance Time Allocation Protocol (CATA) • Based on two basic principles: • Receiver of a flow inform the potential source nodes about the reserved slot on which it is currently receiving packets • Similarly, the source node should inform the potential destination node about interference in the slot • Use of negative ACK for reservation requests and control packet transmissions at the beginning of each slot, for distributing slot reservation information to senders of broadcast or multicast sessions
CATA (Cont’d) • Time is divided into equal sized frames and each frame consists of S slots. • Each slot is divided into 5 minislots • First 4 minislots used for transmitting control packets and are called control minislots (CMS) • The 5th slot is called the Data Minislot (DMS) • Much longer than CMS
CATA (Cont’d) Slot 1 Slot 2 Slot S CMS1 CMS2 CMS3 CMS4 DMS (Frame Structure of CATA)
CATA (Cont’d) • Each rcvr node which receives data in DMS of current slot, sends slot reservation (SR) packet during CMS1 • Informs other neighboring senders about currently active reservation • Every sender that transmits data in DMS, sends RTS in CMS2 • When received (or collides with other RTS) by neighboring nodes, the neighbors understand that someone is scheduled to transmit in DMS
CATA (Cont’d) • If a sender wants to reserve DMS slot, it first checks that CMS1 slot is idle • Sends RTS in CMS2 • Rcvr should send CTS in CMS3 • the reservation is then successful • Sender sends data in DMS • Once reservation is successful in a slot, from next slot sender and rcvr do not send anything in CMS3, but sender sends not-to-send (NTS) during CMS4
CATA (Cont’d) • NTS is a negative ACK • any potential broadcast or multicast source which detects NTS (or noise) during CMS4, understand that the reservation is made by someone else and hence no broadcast or multicast is done in the slot • If CMS4 was idle, then broadcast/multicast source starts transmitting
References • P. Karn, “MACA – A New Channel Access Method for Packet Radio”, Proc. Of ARRL/CRRL Amateur Radio Networking Conference, 1990, pp. 134-140, September 1990. • V. Bharghavan, A. Demers, S. Shenker, L. Zhang, “MACAW: A Media Access Protocol for Wireless LANs”, Proc. Of ACM SIGCOMM 1994, pp. 212-225, August 1994. • F. A. Tobagi and L. Kleinrock, “Packet Switching in Radio Channels: Part II – The Hidden Terminal Problem in Carrier Sense Multiple Access and Busy Tone Solution”, IEEE Transactions on Communications, vol. 23, no. 12, pp. 1417-1433, December 1975.
References • F. Talucci and M. Gerla, “MACA-BI (MACA by Invitation) : A Wireless MAC Protocol for High Speed Ad Hoc Networking”, Proc. Of IEEE ICUPC 1997, vol. 2, pp. 913-917, October 1997. • S. Jiang, J. Rao, D. He, and C. C. Ko, “A Simple Distributed PRMA for MANETs”, IEEE Transactions on Vehicular Technology, vol. 51, no. 2, pp. 293-305, March 2002. • Z. Tang and J. J. Garcia-Luna-Aceves, “A Protocol for Topology-Dependent Transmission Scheduling in Wireless Networks”, Proc. Of IEEE WCNC 1999, vol. 3, no. 1, pp. 1333-1337, September 1999.