Fairness in the IEEE 802.11 network Shun Y. Cheung
Simple FIFO queueing High data rate flow Output queue (infinite size) Low data rate flow Packets from low data rate flow experience excessive queueing delay Not fair
Fairer way of queueing High data rate flow Output queue Low data rate flow Problem: define fair
Flow isolation Flow with data rate r 1 Queueing method Capacity C Flow with data rate r 2 r 2 < C r 1 +r 2 > C
Flow isolation Capacity r 2 Flow with data rate r 2 Behaves as if the link capacity is r 2
Fairness among flows Flow f 1 and f 2 request a data rate of r 1 and r 2, respectively If f 1 is inactive, the f 2 can use all remaining bandwidth, and vice versa!! 1 2 If f 1 and f 2 are both active, then: " r r 1 2 ρ 1 and ρ 2 are actual data rates of flows f 1 and f 2, respectively
Ideal fairness: unweighted flows One bit each Output queue Not practical
Practical fairness: unweighted flows 5 4 3 1 2 Output queue Schedule packet according to finish time
Practical fairness: weighted Flow f receives a data rate of r f Packet length l f Finish time for packet: Schedule packets according to weighted finish times Method called Weighted Fair Queueing (very computationally intensive) l r f f
SCFQ: Efficient approx. of WFQ Self-clocked Fair Queueing (SCFQ) System variable: virtual time τ(t) t = real time, τ(0) = 0 Packet timestamp: t ( p ) j j = max( " ( A ( p ), t ( p )) j j! 1 + r j t(p 0 ) = 0 τ(t) = t(p current ) current transmitting packet l
QoS guarantees in SCFS Throughput guarantee: Flow is guarantee to receive at least r f bps Hard delay guarantee: Delay can be guaranteed if SCFS does not over-allocate bandwidth Fairness guarantee Normalized difference in actual throughput is bounded by a constant
Fairness in wireless network Fairness problem in routers are wellresearched Fairness problem in a wireless network is an active research area Same problem, but different pre-conditions: A wireless node does not have complete information on all flows Distributed fairness problem
Overview IEEE 802.11 network 802.11 network can operate in 2 modes: Infra-structure: mobile nodes with base station Ad-hoc: mobile nodes among themselves Ad-hoc network is more interesting: Self-organizing Distributed control Military applications (field units)
The IEEE 802.11 DCF Collision
The IEEE 802.11 DCF New packet (collision avoidance) r = random number No Channel idle for DIFS sec Yes Decrement r while channel is idle Pause decrement r Yes r = 0 Transmit packet Channel busy (can result in collision if multiple nodes transmit) No
The IEEE 802.11 DCF Collision detection is very hard in wireless network due to widely different signal strengths Uses explicit ACK: Sender DIFS SIFS < DIFS Receiver SIFS ACK ACK packet has higher priority
The IEEE 802.11 Back-off No ACK received for packet r = larger random number (exponential backoff) No Channel idle for DIFS sec Yes Decrement r while channel is idle Pause decrement r Yes r = 0 Transmit packet Channel busy (can result in collision if multiple nodes transmit) No
The IEEE 802.11 DCF
The IEEE 802.11 DCF 1. Packet arrival 2. Pick random number 3. Assume: r=1 1. Packet arrival 2. Pick random number 3. Assume: r=2
The IEEE 802.11 DCF 1. Finish transmission r=1 r=2 time t=0
The IEEE 802.11 DCF (Finish transmission) r=1 1. Sense idle channel 2. Wait DIFS time r=2 1. Sense idle channel 2. Wait DIFS time DIFS time now (DIFS = DCF InterFrame Space)
The IEEE 802.11 DCF (Finish transmission) r=1 r=0 1. Wait 1 slot time 2. Transmit!! r=2 r=1 1. Wait 1 slot time DIFS τ time now (τ = slot time)
The IEEE 802.11 DCF r=0 Transmiting DIFS τ τ r=1 1. < 1 slot time 2. Detects channel busy 3. Freezes countdown time now
The IEEE 802.11 DCF Finish r=1 DIFS τ τ time now
The IEEE 802.11 DCF Finish r=1 1. Sense idle channel 2. Wait DIFS time DIFS τ τ DIFS time now
The IEEE 802.11 DCF Finish r=0 r=1 1. Wait 1 slot time 2. Transmit!! DIFS τ τ DIFS τ time now
The IEEE 802.11 DCF-Collision
The IEEE 802.11 DCF-Collision 1. Packet arrival 2. Pick random number 3. Assume: r=1 1. Packet arrival 2. Pick random number 3. Assume: r=1
The IEEE 802.11 DCF-Collision 1. Finish transmission r=1 r=1 t=0 time
The IEEE 802.11 DCF-Collision (Finish transmission) r=1 1. Sense idle channel 2. Wait DIFS time r=1 1. Sense idle channel 2. Wait DIFS time DIFS time now (DIFS = DCF InterFrame Space)
The IEEE 802.11 DCF-Collision (Finish transmission) r=1 r=0 1. Wait 1 slot time 2. Transmit!! r=1 r=0 1. Wait 1 slot time 2. Transmit!! DIFS τ time now (τ = slot time)
The IEEE 802.11 DCF-Collision r=0 Transmiting Transmiting r=1 DIFS τ time now
The IEEE 802.11 DCF-Collision r=2 Pick new random numbers r=3 DIFS τ time now
The IEEE 802.11 DCF-Collision r=2 1. Sense idle channel 2. Wait DIFS time r=3 1. Sense idle channel 2. Wait DIFS time DIFS τ DIFS time now
The IEEE 802.11 DCF-Collision r=2 r=0 1. Wait 2 slot time 2. Transmit!! r=3 1. Wait 2 slot time r=1 DIFS τ DIFS τ τ time now
The IEEE 802.11 DCF Summary Uses exponential back-off (just like Ethernet) Uses different interframe spacing to implement priority: ACK frames preceded by SIFS (Short InterFrame Spacing) Data frames preceded by DIFS Shorter SIFS allows MAC level ACK packets to be transmitted before data packets
Survey paper on QoS enhancements A survey of QoS enhancements for IEEE 802.11 wireless LAN Qiang Ni, Lamia Ramdhani and Thierry Turletti Wireless Comm. And Mobile Comp., 2004 Categorizes and overviews existing techniques to provide QoS in IEEE 802.11
Aad and Castelluccia Studied various mechanisms to affect Priority Changing backoff increase function: Each priority level uses a different backoff increment function Cahinging DIFS: Each priority level is assigned a different DIFS Maximum frame length Each priority level can send a different number of byte at one time
Aad and Castelluccia Change backoff increase function: Priority level j uses back-off function: CW new = P j 2+i * Cw old Pick back-off interval from uniform[0.. CW new ] P j = window increase factor for level j P j < P j-1 (higher priority uses a smaller value) Result: Performs well with UDP TCP performance is poor due to TCP (transport level) ACK packets not receiving higher priority
Aad and Castelluccia Changing DIFS length: Recall that nodes detects an idle DIFS interval before starting/resuming count down Priority level j uses DIFS j and count down CW j Result: DIFS j > DIFS j+1 CW j < (DIFS j-1 DIFS j ) Very poor performance for low priority traffic TCP ACKs from lower priorities need higher priority to achieve better performance
Aad and Castelluccia Changing max. packet length: Priority level j uses max j max j > max j-1 Higher priority stations can transmit more data (per successful turn) than lower priority stations Result: Does not perform well in noisy environments
Distributed Fair Scheduling Distributed Fair Scheduling in a wireless LAN Vaidya, Bahl and Gupa Propose a protocol that provide Priority Fairness Uses ideas from SCFQ
Distributed Fair Scheduling Packets of flow j tagged with a timestamp: l t ( p ) j j = max( " ( A ( p ), t ( p )) j j! 1 + f r j Scaling factor f used to choose a suitable scale for virtual time When a node hears or transmits a packet with timestamp Z, it sets its virtual time to: τ(t) = max(τ(t), Z) Initial Backoff interval B 0 = "! ρ is uniform[0.9..1.1] f l r j j
Distributed Fair Scheduling Subsequent Backoff intervals (after collision): B k = uniform[1.. 2 k-1 x CW] slots CW = small constant Problems: Short term unfairness Large initial back off interval when reserved rate is small Uses a log-scaled mapping function to reduce large initial back off intervals
Distributed Fair Scheduling 802.11 DFS with different timestamp functions Weighted throughput for 32 nodes Wireless network
Virtual MAC Supporting Service Differentiation in Wireless Packet Networks Using Distributed Control Andras Veres, Andrew T. Campbell, Michael Barry, 2001 Overview: Constructs an analytical model of the MAC protocol A Virtual MAC algorithm monitors channel activities and obtain estimates of parameters in model Estimate current achievable performance level Allows applications to adapt current network load Service differentiation through using different backoff window sizes
Performance estimation Actual delay measured VMAC s estimate
The Blackburst Scheme Real-Time Traffic over the IEEE 802.11 MAC J. L. Sobrinho, A. S. Krishnakumar. Design goal: Minimize the delay of real-time traffic High priority real-time traffic (Not about fairness) High priority stations use: Access medium in equal and constant intervals (t sch ) Can jam the medium for a period of time
The Blackburst Scheme Real time data Jam channel for τ sec Channel idle for PIFS? Yes No Channel idle? No Wait till Channel is idle Wait duration τ Transmit data (Note: PIFS < DIFS) Schedule next transmission in t sch
The Blackburst Scheme Real-time flows will eventually synchronize When flows are all real-time, wireless network becomes TDMA (no collisions) Blackburst can support more real-time traffic volume than CSMA/CA (802.11) Has low delay and low jitter even at high traffic load (only real-time traffic present)
A 4-level priority scheme A Priority Scheme for IEEE 802.11 DCF Access Method Deng and Chang Defines 4 different priority levels Each priority level uses Different Inter-frame space (IFS) Different back-off interval
A 4-level priority scheme Priority IFS used Back-off interval used 0 DIFS r x 2 i+1 + 2 i+1 1 2 3 DIFS PIFS PIFS r x 2 i+1 r x 2 i+1 + 2 i+1 r x 2 i+1 Note: PIFS < DIFS i = number of collisions, r = random(0,1) variable
Summary Schemes can provide service differentiation Which is a pre-requisite for QoS Wireless schemes can provide Priority Only statistical QoS guarantees (fair over a long period of time) Wireless schemes do not provide hard QoS guarantees (research opportunity)