QoS Improvements of VoIP in WiFi Networks
Download
Report
Transcript QoS Improvements of VoIP in WiFi Networks
QoS Improvements of
VoIP in WiFi Networks
Undergraduate Students: Chris Higgins, Linda Tran
Ph.D. Student Advisor: Ala Khalifeh
Faculty Advisors: Prof. Kevin Tsai, Prof. Henry Lee
Summary
• Introduction: VoIP/VoWLAN, 802.11,
802.11e
• 1st Quarter: Linux, MADWiFi, testing
tools, design, building knowledge base
• 2nd Quarter: Soekris, Configurations,
Testbed setup
• Results: Knowledge, future goals,
direction
Motivation
To study and improve the QoS
(Quality of Service) performance
of Voice over IP (VoIP) traffic in
Wireless Local Area Networks
(WLAN).
VoIP* in the WLAN* (VoWLAN)
Applications
-Wireless Access Point (AP)
-Network Devices
•
Computers
•
Scanners
•
Printers
•
Blackberries
•
Etc.
*VoIP: Voice Over IP
*WLAN: Wireless Local Area Network
Background
• Integration of VoIP with WLAN (VoWLAN)
– Benefits
• Cost-effectiveness
• Mobility
• Use already available “common infrastructure” (Lin et al. 1)
– Problems
• Limited Distribution Coordination Function (DCF) and
Point Coordination Function (PCF) in 802.11 WLAN
systems impacting VoIP traffic
• High packet loss and delays (jitter and end-to-end)
• Tradeoff between security protocols and delays
802.11 Protocol Architecture
-Unbiased distribution
of resources between
Access Class (AC)
Parameters:
•Voice
•Video
•Background
•Best Effort
1. PCF: Point Coordination Function (Initial provision for priority
traffic, unimplemented in legacy 802.11 hardware)
2. DCF: Distributed Coordination Function (Global scheme for
traffic resource sharing in legacy routers)
802.11
• DCF and PCF operates on a “listen-before-talk
scheme” (Mangold 1) known as CSMA/CA
• Wait a fixed amount of time before sending,
according to the DCF/PCF interframe space
(DIFS/PIFS)
• Ready to Send (RTS) and Clear to Send (CTS)
phase, where the access point and endpoint
basically have a small exchange that reserves the
medium for use
802.11e
(802.11 Enhancements)
• Uses Hybrid Coordination Function (HCF), a
combination of DCF and PCF.
• Contention-based channel access known as
Enhanced Distributed Channel Access (EDCA)
is located in the CP
• Controlled channel access known as HCF
Controlled Channel Access (HCCA)
encompasses both the CP and CFP
• Direct Link Protocol (DLP) which allows two
computers in a Basic Service Set (BSS) to
directly communicate and avoid network loading
802.11e: QoS Support Standard
(Current IEEE Draft)
AC
1. Voice (VO)
2. Video (VI)
3. Best Effort (BE)
4. Background (BK)
*DIFS: DCF Interframe Space
*AIFS|AC: Arbitration Interframe Space
Parameters Being Measured
• Packet loss: arriving packets or
already-queued packets dropped
(Kuros, 19)
• Jitter: variability of packet delays
within the same packet stream
(570)
• End to end delay: delay from
source to destination (43)
st
1
Quarter:
Linux, MADWiFi, Testing Tools,
Design, Building Knowledge Base
Operating System
Linux
Fedora Red Hat – Core 5 (2.6.18-1.2200.fc5)
x84_64: 64 bit architecture
i386: 32 bit architecture
Linux kernel device driver for Atheros-based
Wireless LAN devices
Operational modes: station, ap, ad-hoc,
monitor, and wireless distribution station
Allows modification of EDCA parameters
(follows the WMM-WiFi Multimedia
standard)
Preliminary Testbed Setup
Two laptop dual-boot PCs
Equipped with Windows XP and
Fedora Core 5 (2.6.18-1.2200)
Currently Ethernet cable enabled
network to test program functionality
Wireless Connections
• Hardware:
– Linksys Router
• WRT54GS
– Linksys PCI card
• WMP54G (For Desktop AP).
• Software:
– MADWiFi (Atheros Chipset software/drivers)
Available Tools
• Interface Monitoring
– Ethereal*
• TCP/UDP Traffic Generators
– Thrulay*
– Iperf*
– Netperf
• VoIP Traffic Generators
– RTP Tools
– VoIP Generator
*Refers to programs chosen to be used
Iperf
• It measures UDP
and TCP bandwidth
performance
• Reports bandwidth,
delay jitter,
datagram loss.
• Can be run in bidirectional mode
Iperf Testing Commands
• Server Side:
– Iperf –s -u –i 60 (s = server, u =
UDP)
• Client Side:
– Iperf –u -c 192.168.1.X –t 1000 -i 60 –b
<1..2000> (c = client, u = UDP, t =
test time, b = bandwidth)
Thrulay
• Sends bulk TCP or
UDP streams over
network
• Measures RTT,
throughput, and
jitter
Thrulay Testing Commands
• Server Side:
– Thrulayd
• must locate and be in the “thruldayd” folder.
• find –iname thrulayd (in root ‘/’ folder)
• ‘cd’ into that directory
• Execute ‘./thrulayd’
• No confirmation screen will pop up, it will be
implied the server is running.
• Client Side:
– Thrulay –t60 –l40 <host I.P.> (t = test time, l =
packetsize)
ThruLay: Preliminary Test
ID
Begin, s
End, s
Throughput (Mb/s)
RTT delay, ms
Jitter
( 0)
0
1
93.313
19.173
4.001
( 0)
1
2
93.318
17.833
5.629
( 0)
2
3
94.366
17.197
5.624
( 0)
3
4
93.841
16.195
5.614
( 0)
4
5
94.362
21.049
5.596
( 0)
5
6
93.318
21.116
5.59
( 0)
6
7
94.368
16.561
5.52
( 0)
7
8.001
93.318
16.103
5.603
( 0)
8.001
9
94.395
16.125
5.524
( 0)
9
10.001
94.331
16.069
5.517
( 0)
10.001
11.001
93.849
16.085
3.999
( 0)
11.001
12.001
93.317
20.001
4
( 0)
12.001
13.001
94.366
16.358
4
( 0)
13.001
14.001
93.842
20.001
4
( 0)
14.001
15.001
94.366
16.982
4
( 0)
15.001
16.001
93.317
16.015
4
Parsing Program
(For ThruLay Output)
use strict;
use Spreadsheet::WriteExcel;
my ($inFile, $outFile) = @ARGV;
if ((!defined $inFile)||(!defined $outFile))
{
print "ERROR... USAGE -> grep.pl <infile> <outfile>\n";
exit;
}
open (INI, "<$inFile")|| die "ERROR... Unable to open '$inFile' for reading.\n";
$outFile =~ s/\..*//;
$outFile .= ".xls";
my $Book = Spreadsheet::WriteExcel->new("$outFile");
my @times = scalar gmtime();
my($day, $month, $year) = (gmtime())[3,4,5];
my $Sheet = $Book->add_worksheet(($month+1) . '-' . ($day+1) . '-' . ($year+1900));
my $line = 1;
my @heading = ("ID", "Begin, s", "End, s", "Mb/s", "RTT delay, ms", "Jitter");
$Sheet->write(0,0,\@heading);
while (<INI>)
{
my $in = $_;
$in =~ s/\s+//;
if ($in =~ /^[\[|\#].*/)
{
next;
}
my @words = split (/\s\s+/, $in);
$Sheet->write($line,0,\@words);
$line++;
}
$Book->close() or die "Error closing file: $!";
Bandwidth
94.6
94.4
94.2
Bandwidth (Mb/s)
94
93.8
93.6
93.4
93.2
93
92.8
92.6
1
2
3
4
5
6
7
8
9
10
Packet Sequence Number
11
12
13
14
15
16
Round Trip Time
25
Round Trip Time (ms)
20
15
10
5
0
1
2
3
4
5
6
7
8
9
10
11
Packet Sequence Number
12
13
14
15
16
Jitter
6
5
Jitter
4
3
2
1
0
1
2
3
4
5
6
7
8
9
10
11
Packet Sequence Number
12
13
14
15
16
Goals to Accomplish for 2nd Qtr.
1. Synchronization between computers (Using
NTP and correction script)
2. Create a more aggressive 802.11 based
software application to transport VoWLAN
packets, effectively meeting a certain QoS
standard
3. Create a standardized testbed for testing.
4. (UROP Proposal) Create a stable 802.11e
based testbed for VoWLAN trafficking
5. Solidify Tools and Metrics
1. Synchronization between computers
Use NTP (Network Time Protocol) for
initial time adjustments (multiple
millisecond accuracy)
Create Synchronization Software for
precise time measurements (microsecond
precision)
2. 802.11 Based Software
Upgrade for VoIP
• Create a more aggressive
transportation protocol for VoWLAN
applications
• Duplication algorithms could provide
necessary WLAN availability where
current TCP/UDP transportation
dominates
3. Testbed: Planned
• Desktop PC acting as an 802.11e based
“access point”
• Multiple PC-embedded boards with Linux
platforms based on the Soekris net4826
acting as client stations
• Atheros Chipsets/Wireless Cards
• MADWiFi Enabled Wireless Drivers
• Linux 2.6.8.1 Kernel
4. Proposal: Budget Justification
• The need to simulate real VoWLAN
networks
• Individual endpoints (Soekris boards)
are necessary for the test bed of this
project
• Real life simulation of packet collision
and router allocation is necessary to test
fabricated protocols and allocation
guidelines
Proposal: Itemized Budget
Item
Price
Qty Total
Soekris net4826-50 Board and Case + Tax
& Shipping
$224
7
$1568
Power Supply, 12V, 1.5A, US/Canada 110V, $14
Small Switch Mode, for all boards. + Tax
& Shipping
7
$98
ATHEROS WI-FI MINI-PCI WIRELESS
802.11G + Tax & Shipping
$44
7
$308
Null Modem Cable + Shipping
$5
1
$5
USB to RS232 DB9 9-Pin Cable Adapter +
Shipping
$10
1
$10
Power Strip
$5
2
$10
TOTAL:
$1999
nd
2
Quarter:
Soekris, Configurations, Testbed
Setup, Experimentation
Design Approach
Phase 1: Initial Network Setup
• Expected availability of MADWiFi
• Planned EDCA parameters (802.11e
setup)
Phase 2: Final Network Setup
• Unavailability in means of testing
and manipulating 802.11e parameters
• Based on EDCA parameters available
Network Setup for testing 802.11e
Synchronization
Synchronization Software
• Endpoint.pl accompies accessPoint.pl to
complete the end to end network
– It creates a file based on the IP address of
the host (endpoint) computer and one for the
AP
• AccessPoint.pl, in turn, will send pings to
various user-specified endpoints and receive
pings from those endpoints.
• Evaluate.pl must be used to compute the
delays/synchronization differences from both
the access point and end point log files.
Soekris 4826
• Compact, low power, low cost computer
• Specifications
– 266 Mhz AMD Geode SC1100
– 256 Mbyte SDRAM, soldered on board
– 4 Mbit BIOS/BOOT Flash
– Board size 4.0" x 5.2"
• Software
– comBIOS for operation over serial port
– PXE boot rom for diskless booting
Soekris 4826
Soekris 4826
• Power LED, Activity LED, Error LED
Soekris 4826
• 1 10/100 Mbit Ethernet ports, RJ-45
• 1 Serial port, DB9.
802.11a/g/b Wireless
Mini PCI Card
• SENAO EMP- 8602
Mini PCI on Soekris Board
Installing Fedora Linux on Soekris
•
•
•
•
•
•
•
•
•
Mininimal linux installation on a spare system.
Configure system to run with only a serial console
Make it as small as possible, removing unneeded
files.
Copy that system over to an NFS server
Configure a PXEboot configuration for the Soekris
system, using the new tree as NFS root.
Boot the soekris over PXE
Partition the CF disk, and make a filesystem on it,
then copy the FS from the NFS server to the CF disk.
Boot over PXE, but now using the CF disk as root.
Install the GRUB bootloader, and reboot from CF
disk.
EDCA Parameters (802.11e)
• CWmin: a random backoff time will be
chosen between 0 and CWmin and added
onto the interframe space
• CWmax: maximum CW
• AIFS (similar to DIFS/PIFS in 802.11):
duration that medium must be idle before
backoff countdown
• TXOPlimit: time that a station can spend
transmitting on the medium once it has won
transmission opportunity
*Ng and Mal, 19
How can the parameters be adjusted to
fully utilize 802.11e?
• Large TXOP can allow multiple packets at each
station can be transmitted at every transmission
opportunity (Malone et. al., 19)
– ↑ TXOP (μs), ↑ throughput
• ↑ AIFS, ↑ throughput
• ↓ CWmin (smaller delay between transmission),
↑ throughput
EDCA Parameters for 802.11e
Parameter
AC1:
Background
AC2:
Best Effort
AC3:
Video
AC4:
Voice
AIFS
7
3
2
2
CWmin
15
15
7
3
Cwmax
1023
1023
15
7
TXOPLimit (ms)
0
0
3008
1504
Network Setup: Current
Documentation
Installation/Configurations
• Soekris Installation
– Debian PXEboot
• Full installation of Fedora Linux
• MADWiFi Installation
• Server setups
– DHCP
– TFTP
– NFS
– PXEboot
• Synchronization tool
Experimental
Results and Analysis
Bandwidth
12
Bandwidth (Mb/s)
10
Network Loading
(bytes/sec)
8
1000
1000000
10000000
6
4
2
0
1
6 11 16 21 26 31 36 41 46 51 56
Iteration
Round Trip Time
Round Trip Time (ms)
10000
1000
Network Loading
(bytes/sec)
1000
1000000
10000000
100
10
1
1 6 11 16 21 26 31 36 41 46 51 56
Iteration
Jitter
1000
Network Loading
(bytes/sec)
Jitter (ms)
100
1000
1000000
10000000
10
1
1 6 11 16 21 26 31 36 41 46 51 56
Iteration
Analysis: 802.11
• Bandwidth: As the loading on the network
increases, the available bandwidth for VoIP
transportation decreases.
• RTT: The round trip time has an inverse
effect to the bandwidth. As the loading
increases so does the RTT.
• Jitter: Just like RTT, random jitter increases
as more background traffic is added.
Analysis: 802.11e
• Unlike 802.11, 802.11e should alleviate the adverse
effects on the following variables for VoIP traffic.
• Bandwidth: As the loading on the network
increases, the available bandwidth for VoIP
transportation should remain constant or only
slightly suffer.
• RTT: Even though the round trip time has an
inverse effect to the bandwidth, in 802.11e RTT
should minimally vary with the same test.
• Jitter: Just like RTT, random jitter should only
slightly increase with the progression of tests.
Future Work
• Continued wireless
testbed at UCI
• Expand testbed to
video testing
• Increase real time
protocols in wireless
testing
• Test various network
design schemes
Socioeconomic Issues
Socioeconomic (economic repercussions
resulting from social shifts)
As consumers turn toward VoIP-enabled
technology (conglomerate Internet,
telephone, TV, gaming), it is industry’s
responsibility to aggressively keep up with
those changes in order to maintain a
stable domestic economy and
employment rate.
Partnership between companies
Domestic technological research
Social Aspect
• VoIP will allow ease of
use, availability,
increase performance,
efficiency, and lower
costs.
• This will encourage
acceptance of these
new technologies.
• Disadvantages: This will, however, necessitate new
hardware in every aspect this affects.
Economical Issues
• Possible growth of major
conglomerates
• Convergence of technologies
under one medium
• Necessitates new companies with
a focus on VoIP
Upcoming Activities
• UROP
– Finalize Soekris
boxes
– Further 802.11e
testing
• Make installation/
configuration
documentation
globally available
Knowledge Gained
• Linux and its architecture
– Fedora
– MadWiFi
– Debian
•
•
•
•
•
Wireless systems: 802.11, 802.11e
Servers: NFS, DHCP, TFTP, HTTP
PXEboot
Computer architecture
Network transportation (UDP, TCP, ICMP)
Project Website
• http://www.donjohnii.com/wireless
– Programs
– Configuration guides
– How-To
References
•
•
•
•
•
•
•
•
•
•
•
Arte Marketing, Inc. “Linksys WIP300”, www.voipinfo.org/wiki/view/Linksys+WIP300. (February 21, 2007).
AT&T. “AT&T”, http://www.corp.att.com/presskit/voip/. (February
21, 2007).
California State Washington in St. Louis. “Wireless LANs”,
http://www.cse.seas.wustl.edu/. (February 21, 2007).
Invocom. “Medium Access Control Protocols”,
http://www.invocom.et.put.poznan.pl/~invocom/C/P1-4/p14_en/p1-4_8_1.htm. (February 21, 2007).
Leith, Douglas J., Malone, David, Ng, Anthony C.H. Ng.
“Experimental Evaluation of TCP Performance and Fairness in an
802.11e test-bed.” SIGCOMM ’05 Workshops August. 2005: 1722
Kurose, James F. and Ross, Keith W. Computer Networking: A
Top-Down Approach Featuring the Internet. Pearson Education.
Boston, MA. 2005
Mangold, Stefan. “Analysis of IEEE 802.11e for QoS Support in
Wireless LANs.” IEEE Wireless Communications December.
2003: 40-50.
Ohrtman, Frank. Voice Over 802.11. Boston: Artech House, 2004.
Pan, Jianping, Pang, Ai-Chung, Yi-Bing Lin, and Shen, Xuemin.
“Voice Over Wireless Local Area Network.” IEEE Wireless
Communications February. 2006: 4-5.
Smile Design. “Smile Group”, http://www.smilejogja.com/.
(February 21, 2007).
“VoIP Telephone”, http://www.logoandco.com/p/voip-telephone-iHox3AZVYOho.htm. (February 21, 2007).
Acknowledgements
• Ph.D. Student
Advisor: Ala
Khalifeh
• Prof. Kevin Tsai
• Prof. Henry P.
Lee