650 likes | 815 Vues
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
E N D
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 • PCF: Point Coordination Function (Initial provision for priority traffic, unimplemented in legacy 802.11 hardware) • 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 • Voice (VO) • Video (VI) • Best Effort (BE) • 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)
1st 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 bi-directional 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)
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: $!";
Goals to Accomplish for 2nd Qtr. • Synchronization between computers (Using NTP and correction script) • Create a more aggressive 802.11 based software application to transport VoWLAN packets, effectively meeting a certain QoS standard • Create a standardized testbed for testing. • (UROP Proposal) Create a stable 802.11e based testbed for VoWLAN trafficking • 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
2nd 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
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 • 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
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
Installation/Configurations • Soekris Installation • Debian PXEboot • Full installation of Fedora Linux • MADWiFi Installation • Server setups • DHCP • TFTP • NFS • PXEboot • Synchronization tool