1
Towards the Quality of Service for VoIP Traffic in IEEE 802.11 Wireless Networks
Sangho Shin
PhD candidateComputer Science
Columbia University
2
VoIP over WLANs
InternetInternet
IPGW
WIFI
3
Problems on VoIP in WLANs
WIFI
• User mobility: Handoff
4
Problems on VoIP in WLANs
Theater Stadium
WIFI
• User mobility: Handoff
• Capacity
5
Problems on VoIP in WLANs
WIFI
• User mobility: Handoff
• Capacity
• Call admissionTheater Stadium
6
QoS problems on VoIP in WLANs
Handoff Capacity
Call Admission Control
QoS
7
Outline
QoS
•Layer 2 handoff•Layer 3 handoff•pDAD
•Measurement•APC•DPCF
•QP-CAT
Handoff Capacity
Call Admission Control
8
Handoff
WIFI
• Layer 2 handoff– Handoff between two APs
• Layer 3 handoff– Handoff between two subnets
Handoff
9
Selective Scanning & Caching
A layer 2 handoff algorithm to minimize the scanning time
Sangho Shin, Andrea G. Forte, Anshuman Singh Rawat, and Henning Schulzrinne. Reducing MAC layer handoff latency in IEEE 802.11 wireless LANs. ACM MobiWac 2004
Handoff
10
Layer 2 Handoff
New APAuthentication request
Authentication response
Association request
Association response
Mobile client All APs
Probe request (broadcast)
Probe response
Probe delay
Authentication delay
Association delay
500ms
2ms
2ms
• Standard Layer 2 handoff procedure
Handoff
11
Fast L2 Handoff
• Selective Scanning– Scan the channels that APs are most likely installed
on• Previously scanned APs’ channels• Non-overlapping channels• Do not scan the current channel
Channel mask
11
6
1
11
WIFI
1,11
Channel mask
1 2 3 4 65 7 8 9 10 11
1 2 3 4 65 7 8 9 10 11
AP1
AP2
AP3
AP4
1 2 3 4 65 7 8 9 10 11
Handoff
12
Fast L2 Handoff
• Selective Scanning– Scan the channels that APs are most likely installed
on• Previously scanned channels• Non-overlapping channels• Do not scan the current channel
• Caching– Locality– Store the scanned AP data to a cache– Perform handoff without scanning
Channel mask
1 2 3 4 65 7 8 9 10 11
Handoff
13
• Caching– Locality– Store the scanned AP data to a cache– Perform handoff without scanning
Fast L2 Handoff
11
6
1
11Key 1 2
WIFI
AP1
AP2
AP3
AP4
CacheKey 1 2
AP1 AP2 AP3
Key 1 2
AP1 AP2 AP3
AP2 AP3 AP4
Key 1 2
AP1 AP2 AP3
AP2 AP3 AP4
Key 1 2
AP1 AP2 AP3
AP2 AP3 AP4
Handoff
14
Fast L2 Handoff
• Implementation– HostAP driver + Prism2 chipset– Requires changes only in the client wireless driver
• Experimental results
0
100
200
300
400
500
Original SelectiveScanning
Caching
Total handoff timems
Experiments in 802.11b WLANs
US PatentApplication No. 60/549,782
Handoff
15
• L3 handoff– Occurs when the subnet changes due to L2 handoff– Requires a new IP address
• Problem of L3 handoff– Detection of subnet change– Long acquisition of a new IP address
Layer 3 Handoff
WIFI
DHCP Discover
DHCP Offer
DHCP Request
DHCP ACK
DAD
DHCP procedure
DAD: Duplicate Address Detection
Handoff
16
Seamless L3 handoff
• Goal – Do not modify any standard or infrastructure
• Fast subnet change detection– Subnet has each DHCP server or relay agent
• Send a bogus DHCP request in the new subnet
• Temp_IP– Scan unused IP address actively
• Send APR requests to a range of IP addresses
• Reduced the total L3 handoff to 180ms
Andrea Forte, Sangho Shin, and Henning Schulzrinne. Improving Layer 3 Handoff Delay in IEEE 802.11 Wireless Networks. IEEE WICON, Aug 2006.
Handoff
17
pDAD
Passive Duplicate Address Detection
A real time DAD mechanism in the DHCP server
Sangho Shin, Andrea Forte, and Henning Schulzrinne. Passive Duplicate Address Detection for Dynamic Host Configuration Protocol (DHCP). IEEE GLOBECOM, 2006.
Handoff
18
Passive DAD
• Server side solution for seamless L3 handoff– Eliminate the DAD procedure in the DHCP
server when assigning new IP addresses
160.123.234.31160.123.231.32160.123.235.35160.123.232.36160.123.238.38
160.123.234.32 160.123.234.32 160.123.234.35 160.123.234.36 160.123.234.31 160.123.234.38
VVVV
Request
Response
Monitor the network
Collect IP addresses
Update IP list
Respond quickly to the request
Handoff
19
Passive DAD
DHCP server
Router
Lease table
IP MAC ExpireIP MAC
AA-BB-CC1.1.1.1
• ArchitectureAddress Usage Collector (AUC)
Handoff
20
Passive DAD
AUCDHCP server
Router
IP:1.1.1.1
IP:1.1.1.1
IP:1.1.1.1MAC:AA-BB-CC
Lease table
ARP query
Web server
MAC:AA-BB-CC
IP MAC Expire1.1.1.1 AA-BB-CC 100
IP MACAA-BB-CC1.1.1.1
• Example 1: IP address collection
Handoff
21
Passive DAD
AUCDHCP server
Router
IP:1.1.1.1
IP:1.1.1.2MAC:DD-EE-FF
Lease table
Web server
MAC:AA-BB-CC
IP MAC Expire1.1.1.1 AA-BB-CC 100
IP MACAA-BB-CC1.1.1.1
IP:1.1.1.2 MAC:DD-EE-FF
ARP query
1.1.1.2 DD-EE-FF 100
Bad IP tableIP MAC
DD-EE-FF1.1.1.2
• Example 2: Malicious user detection
Handoff
22
Passive DAD
AUCDHCP server
Router
IP:1.1.1.1
IP:1.1.1.1MAC:00-00-00
Lease table
ARP query
Web server
Block 00-00-00
Forward HTTP traffic
MAC:AA-BB-CC
IP MAC Expire1.1.1.1 AA-BB-CC 100
IP MACAA-BB-CC1.1.1.1
IP:1.1.1.2 MAC:DD-EE-FF
IP:1.1.1.1 MAC:00-00-00
1.1.1.2 DD-EE-FF 1001.1.1.1 AA-BB-CC 100
Bad IP tableIP MAC
DD-EE-FF1.1.1.2
AA-BB-CC1.1.1.1
FORCE RENEWIP:1.1.1.3
• Example 3: IP collision detection
Handoff
23
Outline
Handoff Capacity
Call Admission Control
QoS
•Layer 2 handoff•Layer 3 handoff•pDAD
•Measurement•APC•DPCF
•QP-CAT
24
VoIP Capacity
• Definition– The number of VoIP calls whose uplink and
downlink delay are less than 60ms
Capacity
Threshold Experimental result64kb/s 20ms PI802.11b 11Mb/sWIFI
InternetInternet
End-to-end < 150ms [ITU-G]
< 60ms30ms 30ms30ms
Capacity
25
VoIP Capacity
• Experimental measurement in the ORBIT test-bed– ORBIT test-bed
(Rutgers Univ. NJ)• Open-Access
Research Test-bed for Next-Generation Wireless Networks
Sangho Shin and Henning Schulzrinne. Experimental measurement of the capacity for VoIP traffic in IEEE 802.11 Wireless Networks. IEEE INFOCOM, 2007.
Capacity
26
VoIP Capacity
64kb/s VoIP traffic20ms packetization interval11Mb/s data rate
CBR VBR with 0.39 activity ratio
Experimental results in the ORBIT test-bed
Downlink delay
Uplink delay
Downlink delay
Uplink delay
Capacity
27
VoIP Capacity
• Factors that affects the VoIP capacity– Preamble size
– ACK data rate• 11Mb/s (QualNet) 16 calls
• 2 Mb/s (MadWifi driver, NS-2) 15 calls
– Offset among VoIP packets of other clients• Simulator Synchronized high collision rate
• Experiments Randomized lower collision rate
– ARF (Auto Rate Fallback)• Simulator Fixed rate15 calls
• Experiments ARF enabled by default14 calls
Preamble PLCP header
TX time
VoIP
Capacitysize rate size rate
Long 144b 1Mb/s 48b 2Mb/s 192μs 12 calls
Short 72b 1Mb/s 48b 1Mb/s 96 μs 15 calls
1 2 3 4 5
Packetization interval
1 2 3 4 5
offset
PLCPMAC IP payload
802.11 frame
Capacity
28
VoIP Capacity
• Factors that affects the experimental results– Scanning
• Scanning related frames delays VoIP packets• Simulator No scanning• Experiments Scan APs due to retransmissions
– Retry limit• Long retry limit (4) short transmission time, high packet
loss• Short retry limit (7) long transmission time, low packet loss
– Network buffer size• Buffer size ↑ packet loss ↓ delay ↑• Buffer size ↓ packet loss ↑ delay ↓
Capacity
29
DPCF
Dynamic Point Coordination Function
An improved polling based PCF MAC protocol
Takehiro Kawata, Sangho Shin, Andrea G. Forte, and Henning Schuzrinne. Improving The Capacity for VoIP Traffic in IEEE 802.11 Networks with Dynamic PCF. IEEE WCNC 2005.
Capacity
30
Dynamic PCF
• PCF (Point Coordination Function)– Polling based media access
• No contention, no collision
– Polling overhead• No data to transmit Unnecessary polls waste bandwidth• Big overhead, considering the small VoIP packet size
Contention Free Period (CFP) Contention Period (CP)
Contention Free Repetition Interval
DCF
poll poll Poll+data poll pollBeacon CF-End
data data data Null Null
Polling overhead
Capacity
31
• Dynamic Polling List– Keeps the talking nodes only
• More Data bit– Set the More Data bit, then the AP polls the node again
• Synchronization– Synchronize the polls with data
Dynamic PCF
Silence periodpoll
Null
Talking period
voice
Talking period
send in CP
1
1
2
2
1
1 2
1 2
1
Set more data bit
32
Simulation results
• VoIP capacity
– Increased from 30 calls to 37 calls– Polls decreased by 50%, Null Functions by 90%
• 760 frames / second = 7.29 VBR Calls
0
100
200
300
400
500
600
700
Num
ber
of f
ram
es /
sec
ond
Polls Null Functions
PCF
DPCF28 30
37
0
5
10
15
20
25
30
35
40
Nu
mb
er o
f ca
lls
DCF PCF DPCF
MAC protocols
Capacity
33
APC
Adaptive Priority Control
A new packet scheduling algorithm at the AP in DCF
Sangho Shin and Henning Schulzrinne. Balancing uplink and downlink delay of VoIP traffic in IEEE 802.11 Wireless Networks using Adaptive Priority Control (APC). ACM QShine 2005.
Capacity
34
APC
• Big gap between uplink and downlink delayUnfair resource
distribution between uplink and downlink in DCF
0
100
200
300
400
500
600
26 27 28 29 30 31 32 33 34
Number of VoIP sourcesD
ela
y (
ms)
Uplink (90th%tile)
Downlink (90th%tile)
Uplink (AVG)
Downlink (AVG)
Solution High priority to AP
How? How much?
Capacity
35
APC
• How?– Contention Free Transmission (CFT)
• Transmit P packets contention free (w/o backoff)
• How much? (Optimal P)– P QAP/QC
• QAP is the number of packets in the queue of the AP• QC is the average number of packets in the queue of all
clients
– Adapts to instant change of uplink and downlink traffic volume
D D D D D D DUP=3 P=4
Ubackoff
Capacity
36
APC
QAP =12, QC=2, P=6Downlink volume > Uplink volumeQAP =6, QC=1, P=6
• Example
Capacity
37
APC
0
100
200
300
400
500
600
30 31 32 33 34 35 36 37
Number of VoIP sources
De
lay
(ms)
Uplink (90th%tile)
Downlink (90th%tile)
Uplink (AVG)
Downlink (AVG)
Threshold
Capacity
28 Calls 35 calls (25%)
802.11b11Mb/s64kb/s VBR traffic20ms pkt intvl0.39 activity ratio
Simulation results
Capacity
38
Outline
Handoff Capacity
Call Admission Control
QoS
•Layer 2 handoff•Layer 3 handoff•pDAD
•Measurement•APC•DPCF
•QP-CAT
39
QP-CAT
Queue size Prediction using Computation of Additional Transmissions
A novel call admission control algorithm
Sangho Shin and Henning Schulzrinne. Call Admission Control in IEEE 802.11 Wireless Networks using QP-CAT. IEEE INFOCOM 2008.
CAC
40
Admission Control using QP-CAT
• QP-CAT– Metric: Queue size of
the AP • Strong correlation
between the queue size of the AP and delay
Correlation between queue size of the AP and delay(Experimental results with 64kb/s VoIP calls)
– Key idea: predict the queue size increase of the AP due to new VoIP flows, by monitoring the current packet transmissions
CAC
41
Emulate newVoIP traffic
Packets from a virtual new flow
QP-CAT
• Basic flow of QP-CAT
Compute Additional Transmission
channel
Actual packets
Additional transmission
Decrease the queue size
Predict the future queue size
+
current packets
additional packets
CAC
42
QP-CAT
• Computation of Additional Transmission
– Virtual Collision– Deferrals of virtual packets
1
Actual frames from existing VoIP flows
channel
Clock starts Clock stopsTc
Tt
Additionaly transmittable frames
DIFSbackoff
Tv
SIFSACK frame
VoIP packet
TbTACK
Tt
2
CAC
43
QP-CAT
16 calls (actual)
17 calls + 1 virtual call(predicted by QP-CAT)
16 calls + 1 virtual call(predicted by QP-CAT)
17 calls (actual)
17th call is admitted
17 calls + 1 virtual call(predicted by QP-CAT)
16 calls + 1 virtual call(predicted by QP-CAT)
18th call starts17 calls (actual)
18 calls (actual)
Simulation results
CAC
44
QP-CAT
• Experimental results (64kb/s 20ms PI)
11Mb/s 1 node - 2Mb/s
2 nodes - 2Mb/s 3 nodes - 2Mb/s
CAC
45
QP-CAT
• QP-CATe– QP-CAT with 802.11e– Emulate the transmission during TXOP
D D D TCP
TXOP
Tc
D D D TCP
Tc
D D D
TXOP
CAC
46
Conclusion
• Reduced the layer 2 handoff time using Selective Scanning and Caching
• Achieved the seamless layer 3 handoff using Temp IP and pDAD
• Measured the VoIP capacity in wireless networks via experiments and identified the factors that affect the VoIP capacity
• Improved the VoIP capacity using DPCF and APC
• Can perform call admission control with fully utilizing the channel bandwidth, using QP-CAT
47
Other research
• Implementation of SIP Servlet
• Development of a SIP client in a PDA (SHARP Zaurus)
• Soft Handoff using dual wireless cards
• Measurement of usage of IEEE 802.11 wireless networks in an IETF meeting
48
Thank you!
49
VoIP Capacity in IEEE 802.11e
Experimental results using AC_VO and AC_VI Experimental results with TCP traffic using AC_VO
50
Comparison b/w poll and VoIP frame
• Poll size– 28B (MAC header + CRC)– Total TX time = PHY (128 us) + MAC (26 us) = 154
us
• Data– 28B + 160B– Total TX time = PHY (128 us) + MAC (26 us) + VoIP
data (116 us) = 270 us
• A Poll = 154/270 = 60% of a VoIP frame
51
Development of SIP VoIP Client
SIP
52
Development of SIP VoIP ClientSHARP ZaurusPrototype
53
Development of SIP VoIP Client
54
Layer 2 Handoff• Handoff process
Associate
6
Ass
oci
ati
on
Request
Asso
ciatio
n
Resp
onse
WIFI
Authenticate
6
New AP
Auth
enti
cati
on
Request
Auth
entica
tion
Resp
onse
WIFI
Scan APs
321
4 5 6 7 891011Channels
16
11
APs
Pro
be
Request
Pro
be
Resp
onse
s
……
WIFI
500ms 2ms 2ms
55
APC
QAP =8, QC=2, P=4
QAP =4, QC=2, P=2
QAP =12, QC=2, P=6Downlink == Uplink
Downlink < Uplink
Downlink > Uplink
QAP =4, QC=1, P=4 QAP =6, QC=1, P=6
QAP =2, QC=1, P=2
56
Seamless L3 handoff• Goal
– Do not modify any standard or infrastructure• Fast subnet change detection
– Idea: Subnet has each DHCP server or relay agent
– Broadcast a bogus DHCP request• The DHCP server responds with DHCP NACK• Check the IP address of the DHCP server
– Extension of L2Cache• Stores the subnet ID
– IP address of DHCP or relay agent
• Temp IP– Idea: Unused IPs every 5 IPs used– Scan potentially unused IP addresses in the
new subnet• Transmit multiple ARP packets
– Pick a non-responded IP address as a temporary IP address
• Use it until a new IP address is assigned by the DHCP server
ARP
DHCP Discover
timeout
Update sessions
DHCP Offer
DHCP RequestUpdate sessions
DHCP Ack
DHCP Request
DHCP NACKDetect subnet change
L2handoff
Determine Temp IP128.59.17.1128.59.17.2128.59.17.3128.59.17.4128.59.17.5128.59.17.6128.59.17.7128.59.17.8128.59.17.9
128.59.17.10128.59.17.11128.59.17.12
57
0
200
400
600
800
1000
Original TempIP Best
Total handoff timems
Seamless L3 handoff
• Implementation– Linux, HostAP driver, SIP client
• Experiments
18030
CU WLAN CS LAN
WIFI
Experiments in 802.11b
58
• Problems of PCF in VBR VoIP traffic– Polling during silence periods
– Synchronization problem
– Multiple packetization intervals
Silence period
Dynamic PCF
poll
Null
Talking period
voice
Example : 64kb/s 20ms PI with 0.39 ARTotal waste = 9 VBR calls
sent in CP
APP
MAC
1 2 1
1 1 1 12 2
1 2 1 1 2
1 1 1 12 2
1 2
APP
MAC
CFP Interval = 10ms CFP Interval = 20ms
Node 1: 10ms, Node 2: 20ms
59
• Dynamic Polling List– Keeps the talking nodes only
• More Data bit– Set the More Data bit, then APs polls the node again
• Synchronization
Dynamic PCF
Silence periodpoll
Null
Talking period
voice
Talking period
send in CP
1 2
1 1 1 12 2
1 21
APP
MAC
CFP Interval = 20ms Set more data bit
APP
MAC
cannot be in CP Set more data bit