Collision of wireless signals The MAC layer in wireless networks The wireless MAC layer roles Collision has destructive effect on the receiver Access control to shared channel(s) Natural broadcast of wireless transmission Collision of signal: a time/space problem Who transmits when? (and where)? Avoid collisions (no Collision Detection) Capture effect is possible Collision domain: set of nodes sharing the same channel Scarce resources utilization Channel capacity and battery power performance and QoS Frame organization, and intra-, inter-layer information management ...causes both channel and power waste Collision detection is not practical in wireless systems Collision avoidance/resolution + contention control on the sender Exploited to enhance channel reuse, if possible Space splitting, transitive relation System level and (or vs?) user level Cross layering principles for adaptive behavior? Risk for “spaghetti design” [Kumar2003] [Kumar2003] V. Kawadia, P.R. Kumar, "A Cautionary Perspective on Cross Layer Design", Submitted for publication, 2003 (http://black1.csl.uiuc.edu/~prkumar/) © Luciano Bononi 2007 Sistemi e Reti Wireless 1 Wireless MAC protocols’ classification © Luciano Bononi 2007 Distributed, contention-based wireless MAC Problem: Contention free deterministic access ID mapping probabilistic Contention control Contention resolution random access Distributed dynamic centralized static Implicit Reservation Reservation based Token based Fixed TDMA, FDMA, CDMA the frame vulnerability (collision risk) Needs resolution in distributed way (no centralized coordinator) let’s analyze the time domain first deterministic Aloha [Abramson1970]: no coordination Slotted Aloha CSMA [Kleinrock1975]: listen before to transmit Slotted CSMA CSMA/CD: listen before and while transmitting No Centralized Coordinator, No Centralized Coordinator, No Centralized Coordinator, Centralized Coordinator, static allocation of resources Dynamic allocation of resources Dynamic allocation of resources Static allocation of resources Sistemi e Reti Wireless (unpractical in wireless scenarios) CSMA/CA + contention resolution (reactive resolution of collisions) CSMA/CA + contention control (preventive/reactive reduction of risk of collisions) [Abramson1970] N. Abramson, ``The ALOHA system - another alternative for computer communications'', Proc. Fall Joint Comput. Conf. AFIPS, 1970 [Kleinrock1975] L. Kleinrock, F.A. Tobagi ``Packet Switching in Radio Channels: Part I - Carrier Sense Multiple-Access modes and their throughput-delay characteristics'', IEEE Transactions on Communications, Vol Com-23, No. 12, pp.1400-1416, 1975 Hybrid Cluster-based definitions MAC? © Luciano Bononi 2007 2 Evolutionary perspective of distributed MAC Multiple access protocols Distributed Contention based Sistemi e Reti Wireless 3 © Luciano Bononi 2007 Sistemi e Reti Wireless 4 1 The ALOHA protocol The ALOHA protocol An integral part of the ALOHA protocol is feedback from the receiver Feedback occurs after a packet is sent No coordination among sources no Packet ready? Frame size STA i ok1 frame1 yes early1 late2 ok2 transmit wait for a round-trip time yes positive ack? Collision domain delay packet transmission k times late2 ok2 ok1 time New1+frame1 coll. Frame1+New2 coll. © Luciano Bononi 2007 time collision Frame1 early1 compute random backoff integer k no time STA j Sistemi e Reti Wireless 5 Slotted ALOHA Frame vulnerability time: twice the frame size © Luciano Bononi 2007 Sistemi e Reti Wireless 6 Slotted ALOHA STA i Framesize Packet ready? no frame1 STA j yes yes © Luciano Bononi 2007 positive ack? no Sistemi e Reti Wireless frame2 time Collision domain delay packet transmission k times wait for a round-trip time quantized in slots time time slot frame2 Wait for start of next slot transmit Propagation frame1 delay NEW collision frame1 frame1 frame2 time Frame1+frame2 collision compute random backoff integer k 7 Frame vulnerability time: the frame size (slot + propagation) © Luciano Bononi 2007 Sistemi e Reti Wireless 8 2 CSMA Protocol CSMA Protocol STA i Packet ready Frame size Channel Busy? no frame1 frame1 yes early2 transmit delay packet transmission k times Frame1 detected late2 Collision domain wait for a round-trip time time Propagation delay STA j late2 time ... collision frame1 NEW late2 early2 late2 time Frame1+late2 vulnerability positive ack? yes no compute random backoff integer k Frame1+early2 vulnerability © Luciano Bononi 2007 Sistemi e Reti Wireless 9 Slotted CSMA Protocol STA i Frame vulnerability time: twice the propagation delay © Luciano Bononi 2007 Sistemi e Reti Wireless 10 Throughput comparison Frame size Analytical Results 1 frame1 Pure CSMA Propagation delay frame2 0.8 Frame1 detected 0.7 frame2 ... Collision domain time collision NEW frame2 Slotted CSMA 0.9 time frame1 frame2 time 0.6 S (Throughput) STA j frame1 0.5 0.4 Slotted Aloha 0.3 0.2 Frame1+frame2 vulnerability 0 -3 10 Frame vulnerability time: the propagation delay © Luciano Bononi 2007 Pure Aloha 0.1 Sistemi e Reti Wireless 11 © Luciano Bononi 2007 10 -2 10 -1 10 0 1 10 Offered Load: G 10 2 Sistemi e Reti Wireless 10 3 10 4 10 5 12 3 CSMA/CA: the IEEE 802.11 Wireless LAN Evolutionary perspective of distributed MAC 1 Medium Access Control (MAC) protocol: [Bharghavan et al. 1994] V. Bharghavan, A. Demers, S. Shenker, and L. Zhang, "MACAW: A Media Access Protocol for Wireless LAN's," proc. ACM SIGCOMM'94, pp.212-225, London, 1994 [Fullmer et al. 1995] C.L. Fullmer, J.J. Garcia-Luna-Aceves, "Floor Acquisition Multiple Access (FAMA) for Packet Radio Networks", Proc. ACM Sigcomm'95 Cambridge, MA, 1995 Sistemi e Reti Wireless 13 Hidden and Exposed terminals: RTS/CTS Hidden terminals: B does not sense traffic, but the receiver C cannot receive its packet due to a transmission from A to C (A hidden to B) to seize the channel, according to CSMA/CA, a station transmits a short RTS (request to send) packet and waits for the CTS (Clear to Send) response. © Luciano Bononi 2007 RTS C CTS C CTS B C A CTS C CTS B D B B to D RTS CTS Adopt RTS/CTS Time © Luciano Bononi 2007 A RTS Collision on C A to C 14 RTS/CTS is not a “guaranteed” solution and it is additional overhead Power asymmetry, detection and interference range >> transmission range A transmit RTS to C and seizes the coverage area C respond with CTS to A (B receive the CTS and does not transmit even if it cannot sense A’s transmission) A Sistemi e Reti Wireless RTS/CTS drawbacks The space domain: Hidden and exposed terminals: space vulnerability RTS/CTS mechanism to contrast Hidden terminals Today under some criticisms [Karn1990] P. Karn, ""MACA - A new Channel Access Method for Packet Radio", proc. 9-th Computer Networking Conference, September 1990 Will be analyzed later... © Luciano Bononi 2007 MACA [Karn1990]: RTS/CTS, no carrier sense (MACA-BI, RIMA...) MACAW [Bharghavan et al.1994]: RTS/CTS, no carrier sense and immediate ACK (more reliable and efficient Link Layer Control) FAMA [Fullmer et al.1995]: RTS/CTS, carrier sense + other stuff Main solution: RTS/CTS mechanism Centralized control (Base station) Polling based access (soft QoS, minimum delay) minimum bandwidth guarantee the frame vulnerability (collision risk) Needs resolution in distributed way (no centralized coordinator) let’s analyze the Space domain Ad-Hoc networks (peer to peer) Distributed control (no base station) contention based access (no QoS, no minimum delay) CSMA/CA access protocol with Binary Exponential Backoff Point Coordination Function (PCF) Distributed, contention-based wireless MAC Problem: 2 coordination functions co-exist in a superframe structure (time division) Distributed Coordination Function (DCF) Sistemi e Reti Wireless Data Space 15 © Luciano Bononi 2007 Sistemi e Reti Wireless 16 4 MACA: slotted RTS/CTS, no CS Ad hoc Multi-hop: Time/Space problems A bi-directional chain of MAC frames Self-contention (MAC layer problem) TCP streams (Data + Ack) Inter-stream self-contention (Data vs. Ack TCP streams) Intra-stream self-contention (same TCP stream) How to obtain coordination? New proposed solutions Fast forward Quick exchange Flow numbering (pre-routing at the MAC layer???) Frame transmission by forward invitation MACA: eliminates the carrier sensing ...because the contention is on the receiver! Introduces slotted RTS/CTS (30 bytes each) and slot time equals the RTS (and CTS) duration Allow exploitation of concurrent spatial transmission if the receiver is not exposed to two hidden transmitter terminals Variations: MACA-BI, RIMA (receiver initiated) RTS Collision on B and C? C A CTS C CTS B A C to A C D B B to D RTS CTS Adopt RTS/CTS Time © Luciano Bononi 2007 Sistemi e Reti Wireless 17 MACAW: no cs + slotted RTS/CTS + ACK A to C C D B B to D A to C A Sistemi e Reti Wireless Data 18 RTS Collision on C RTS CTS Time Space FAMA: re-introduces carrier sensing before both slotted RTS/CTS Introduces lower bound for size of RTS/CTS and CTS-dominance Floor acquisition: principle for time and space contention C A CTS C CTS B Adopt RTS/CTS © Luciano Bononi 2007 RTS Collision on C Sistemi e Reti Wireless FAMA: cs + slotted RTS/CTS + ACK MACAW: fairness of the backoff procedure MILD + Binary Exponential Backoff Cooperation-based backoff values (space-issues of contention) no carrier sensing before both slotted RTS/CTS Introduces ACK (RTS – CTS – DATA – ACK) Efficient retransmission policy at Data Link layer Problem: both sender and receiver act as receiver during frame transmissions (no concurrent space exploitation of the channel) A © Luciano Bononi 2007 Data C C A CTS C CTS B D B B to D RTS CTS Adopt RTS/CTS Time Space 19 © Luciano Bononi 2007 Sistemi e Reti Wireless Data Space 20 5 Ad hoc Multi-hop: Time/Space problems Ad hoc Multi-hop: Time/Space problems Source to destination stream: TCP DATA Quick Exchange interinter-stream Fast Forward intraintra-stream Destination to Source stream: TCP ACK RTS RTS Sender Receiver Receiver’s Neighbors DATA Time ACK ACK Sender’s Neighbors CTS TCP ACK TCP DATA Time RTS CTS CTS ACK + RTS RTS ACK + RTS CTS CTS ew Contention NAV (RTS) DATA1 DATA RTS NAV (CTS) CTS ACK + RTS ACK + RTS DATA CTS ACK DATA NAV (DATA1) ACK1 DATA2 NAV (ACK1) ACK2 ACK ew Contention RTS © Luciano Bononi 2007 Sistemi e Reti Wireless 21 © Luciano Bononi 2007 1 Medium Access Control (MAC) protocol: Difs Difs Sifs Sifs 2 coordination functions co-exist in a superframe structure (time division) Distributed Coordination Function (DCF) DATA RTS DATA RTS Source Sifs Sifs Sifs Sifs ACK CTS ACK CTS Destination Destination NAV (CTS) Others © Luciano Bononi 2007 Centralized control (Base station) Polling based access (soft QoS, minimum delay) minimum bandwidth guarantee NAV (DATA) NAV (DATA) [ Time ] NAV (CTS) Ad-Hoc networks (peer to peer) Distributed control (no base station) contention based access (no QoS, no minimum delay) CSMA/CA access protocol with Binary Exponential Backoff Point Coordination Function (PCF) NAV (RTS) NAV (RTS) Others 22 CSMA/CA: the IEEE 802.11 Wireless LAN Modified NAV policy Source Sistemi e Reti Wireless Defer Access Defer Access Sistemi e Reti Wireless 23 © Luciano Bononi 2007 Sistemi e Reti Wireless 24 6 IEEE 802.11 MAC protocol architecture Point coordinated mode (PCF) • point coordinated mode is a contention free, optional service contention free services Contention based services Point Coordination Function (PCF) MAC sublayer • can co-exist with the DCF in a superframe structure. •central coordinator, i.e. the access point •manages stations belonging to its access list. •guaranteed to access the channel in a contention-free environment. Fundamental Access Method Distributed Coordination Function (DCF) Physical Layer (PHY) © Luciano Bononi 2007 Sistemi e Reti Wireless 25 DCF and PCF control: IFS PIFS Poll PCF DCF Trans. 1 ack Backoff period (contention) DIFS Base station takes control Poll trans. 1 SIFS PCF (polling based) time (scenario 2) ack DCF stations wait for a DIFS... DCF Trans. 2 ack Poll trans. 2 Base Station waits for a PIFS after a transmission and takes control (DCF stations must wait for DIFS>PIFS) base station polls stations that reserved the channel at the end of the PCF period the Base Station releases the channel and DCF restarts (after a DIFS) PIFS Poll ack PCF DIFS: restart DCF DCF DCF Trans. 1 DCF time (scenario 1: no PCF takes control) © Luciano Bononi 2007 Sistemi e Reti Wireless 26 during the PCF time the base station has priority in accessing the channel Short IFS (SIFS) < Point IFS (PIFS) < Distributed IFS (DIFS) after a SIFS only the polled station can transmit (or ack) after a PIFS only the Base Station can transmit (and PCF takes control) after a DIFS every station can transmit according to basic access CSMA/CA (DCF restarts) SIFS Sistemi e Reti Wireless Point Coordination Function (PCF) Each station performs a carrier sensing activity when accessing the channel priority is determined by Interframe spaces (IFS): © Luciano Bononi 2007 ack Backoff period (contention) DIFS Base station takes control Poll trans. 1 PCF (polling based) time (scenario 2) ack DCF stations wait for a DIFS... DCF Trans. 2 ack Poll trans. 2 ack DCF DCF time (scenario 1: no PCF takes control) 27 © Luciano Bononi 2007 Sistemi e Reti Wireless 28 7 Distributed Coordination Function (DCF) CSMA/CA Access Mechanism Basic Access mode: Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) access scheme (listen before transmit) carrier sensing performed to detect ongoing transmissions Binary Exponential Backoff over slotted idle time each station randomly selects the transmission slot in a variable sized Contention Window no Collision Detection (CD) SIFS PIFS Packet Transmitted Medium Busy SIFS Packet Transmitted DIFS Backoff period (contention) ack Back-off Window DIFS Backoff period DCF Trans. 1 Slot Time DCF Trans. 2 Ack DCF DCF time (scenario 1: no PCF takes control) CSMA/CA is an efficient protocol for data traffic, like Ethernet Listen before transmit Always back-off before a transmission or retransmission © Luciano Bononi 2007 Sistemi e Reti Wireless 29 DCF Backoff procedure Designed to provide fair access to the medium © Luciano Bononi 2007 Sistemi e Reti Wireless 30 DCF basic access: overview •Selection of a random Backoff Time 1 15 2 31 3 63 4 127 5 255 7 1023 Destination ACK • Collision: no CD After an idle DIFS period from the last transmission, a station decrements its Backoff Time by a Slot_time for each slot where no activity is sensed on the medium. DIFS DIFS Station B As soon as the medium is determined to be busy, the backoff procedure is suspended . Station C • Transmission When the Backoff Time reaches zero, the station starts the transmission. © Luciano Bononi 2007 A, LB , LC}= lengths of colliding packets IEEE 802.11 does not implement collision detection LB LC COLLISION LENGTH 31 {L LA Station A • Frozen Sistemi e Reti Wireless DIFS • Successful transmission 6 511 • Reduction of the Backoff Time © Luciano Bononi 2007 SIFS Source BackoffTime(i)=(Cwi*random())*SlotTime i CWi DATA DIFS CWi=contention window size at the i-th transmission attempt. CWi is doubled after each collision experienced (to reduce the contention) collision length = maximum{LA , LB , LC} Sistemi e Reti Wireless 32 8 IEEE 802.11 Contention Control IEEE 802.11 Contention Control Effect of high contention = many collisions Information known due to carrier sense ...allow to determine the Slot Utilization index: Slot Utilization = Num Busy Slots / Initial Backoff Slot Utilization in [0..1] © Luciano Bononi 2007 Sistemi e Reti Wireless 33 IEEE 802.11 Contention Control © Luciano Bononi 2007 Adoption of Slot Utilization in Distributed contention control (DCC) Probability of Transmission = P_T Num_Att P_T = (1- S_U) Probabilistic Distributed Contention Control Extends 802.11 MAC Sistemi e Reti Wireless 34 IEEE 802.11 Contention Control © Luciano Bononi 2007 Sistemi e Reti Wireless 35 © Luciano Bononi 2007 Stable (avoids collapse) Sistemi e Reti Wireless 36 9 IEEE 802.11 Contention Control IEEE 802.11 Contention Control DCC => better performance (no overheads) © Luciano Bononi 2007 Sistemi e Reti Wireless 37 IEEE 802.11 Contention Control DCC => better performance (no overheads) © Luciano Bononi 2007 Sistemi e Reti Wireless 38 IEEE 802.11 Contention Control DCC distributed priority mechanism AOB = optimum performance Num_Att*Prior_Lev Num_Att* Prior_Lev No need to estimate number of stations P_T=(1--S_U) P_T=(1 © Luciano Bononi 2007 Sistemi e Reti Wireless 39 © Luciano Bononi 2007 Sistemi e Reti Wireless 40 10