VoIP over Wireless Network

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

QOS of VoIP over Wireless Network

Abstract

With the increasing deployment of wireless local area networks (WLANs), the ability of WLANs of these networks to support real time services (voice, video) with strain quality of service has become necessity. This work provides a comprehensive survey and analysis for the most commonly used WLAN schemes. Focus is given to the performance of VoIP over WLAN. The simulations was carried out using Network Simulator (NS2) where we considered the performance evaluation, in terms of delay, packet loss, and throughput of VoIP over Wireless under both modes, DCF (distributed coordination function) and EDCF (enhanced distributed coordination function), and Modified EDCF enhancements. Our NS2 implementation has allowed us to compare and classify different QoS enhancement techniques that have been proposed for 802.11 WLAN. Based on our analysis we can optimize the number of voice stations that can be supported over a given WLAN topology without compromising its performance.

Chapter 1: Introduction

1.1 Motivation:

In today' world increase in the popularity of mobile communication devices such as laptops, VoIP phones, PDA have started new era of improved wireless communication. Wireless LANs are acting as very good supporting agent for easy communication between these devices. The key points of this technology are its simplicity, cost effectiveness and flexibility. In other words IEEE 802.11 protocol has taken wireless communication at new level. Because of ever increasing popularity and commercial success of IEEE 802.11, considerations of multimedia traffic over WLANs have accelerated in past few years. The most vital among them is VoIP (voice over IP).

Nowadays IEEE 802.11b and 802.11g are the most commonly followed protocol in many different environments such as university campuses, network hotspots, Offices. IEEE 802.11b/g standard treats all heterogeneous traffics viz. data, voice, video in same way, which has eventually become obstacle for guaranteed service for voice over wireless LANs. IEEE 802.11e working group has tried to overcome this problem by suggesting new standard in form of IEEE 802.11e. IEEE 802.11e is an approved amendment to the IEEE 802.11, which focuses on quality of service enhancements for WLANs through modifications in Media access control layer.

1.1.1 Benefits of Integration of VoIP with WLAN:

Cost Effectiveness
Mobility
Existing infrastructure

1.2 Problem Statements

Distributed Coordination Function and Point Coordination Function (PCF) these two access methods are used in 802.11 wireless LANs. The 802.11 legacy DCF is based on idea of Carrier Sense Multiple Access with collision avoidance [1]. DCF does not support the scheme of prioritizing the frames according their importance. In other words DCF technique provides a channel access giving equal probabilities to all stations. In case of VOIP, we have to give highest priority to voice packets over other traffic types. Hence, in DCF giving equal priorities to frames with different data types will not serve a purpose of quality transmission of voice over internet.

EDCF is based on the concept of providing distributed and differentiated channel access on the basis of different priorities of frames. EDCF can surely provide strict QoS for real time traffic such as voice over internet. But there are few questions which raise the questions against the effectiveness and authenticity of EDCF?

1) Does EDCF provide fair quality of service?

2) Maximum number of individual traffic schemes which can be supported.

1.3 Project Objective

The objective of this project is to do the performance analysis and test a reliability of Distributed Coordination Function (DCF) against Enhanced Distributed Coordination Function (EDCF). The examination of these two mechanisms is done with the help of graphical results obtained from NS2.

1.4 Scope of Project

In this project, our task mainly focuses on testing reliability of all QoS enhancements of IEEE 802.11 WLAN. Performance evaluation of EDCF, DCF and Modified EDCF has been done on platform of IEEE 802.11 model. This evaluation includes testing EDCF, DCF and Modified EDCF under various combinations traffic types with different number of streams.

We have also evaluated maximum number of voice streams which can be supported by respective enhancements. Our project also speaks about NS2 (the network simulator which we have used for creating and analyzing our network scenario.) installation, the bugs associated with it and their corresponding resolutions.

CHAPTER 2: LITERATURE REVIEW

2.1 Introduction to IEEE 802.11 [28]

IEEE 802.11-1999 is a revised version of Wireless Local Area Network standard which was released in 1997. This standard specifies the protocols and data communication environment being used for transmission of data via air, infrared or radio in local area network. 802.11 WLAN standard is the member of IEEE 802.x standard family, which also includes IEEE 802.1 Ethernet [10] and IEEE 802.5 Token Ring standard [11].

IEEE 802.11 basically stipulates the rules of Media Access Control (MAC) and Physical (PHY) layers for wireless LANs. IEEE 802.11 specified three different physical layer spread spectrum technologies for data transmission- Infrared (IR), Frequency Hopping Spread Spectrum (FHSS) and Direct Sequence Spread Spectrum (DSSS) with the maximum data transmission rate of up to 2 Mbps. Frequency Hopping spread spectrum and Direct Sequence Spread spectrum used microwave transmission over 2.4 GHz ISM (Industrial scientific medical) frequency band.

In 1999, IEEE came up with two more enhancements in Physical layer specifications, namely, 802.11b and 802.11a with increased data transmission rates of up to 54 and 11 Mbps respectively. Later in year 2003, 2007 and 2009 IEEE introduced two more modulation standard - 802.11g, 802.11n. 802.11a, 802.11g are based on OFDM (Orthogonal Frequency Division Multiplexing) while 802.11b was supplemented by extended direct-sequence spread spectrum. 802.11n includes features like MIMO (multiple input multiple output).

(A) 802.11a

Released date: October 1999
Operating Frequency- 5 GHz
Typical Data Rate- 20 Mbit/s

Max bit rate - 54 Mbit/s
Range (indoor/outdoor) - 50 feet/ 100 feet

(B) 802.11b
Released date: October 1999
Operating Frequency- 2.4 GHz
Typical Data Rate- 5 Mbit/s

Max bit rate - 11 Mbit/s
Range (indoor/outdoor) - 150 feet/ 300 feet

(G) 802.11g
Released date: June 2003
Operating Frequency- 2.4 GHz
Typical Data Rate- 22 Mbit/s

Max bit rate - 54 Mbit/s
Range (indoor/outdoor) - 150 feet/ 300 feet

(N) 802.11n
Released date: September 2009
Operating Frequency- 5 GHz / 2.4 GHz
Typical Data Rate- 50-144 Mbit/s

Max bit rate - 600 Mbit/s
Range (indoor/outdoor) - 300 feet/ 600 feet

2.2 There are two different architectures being used in IEEE 802.11:

1) BSS (Basic Service Set)

2) IBSS (Independent Basic Service Set)

In a Basic Service Set, wireless stations (STAs) are linked to Access Point (AP). Communication between these wireless stations is supervised by access point. While In an Independent Basic Service Set, wirelesses stations are independent of Access Point. They can directly communicate with the stations which are within the transmission range of each other. This architecture is the basic notion behind the wireless ad-hoc architecture. When two or more Basic Service Sets connect together via a Distribution System (DS) to form single subnetwork, it is called Extended Service Set (ESS).

2.3 Quality of Service (QoS): [29]

1) What is QoS?

The data which is available on network is heterogeneous in its nature. Quality of service is resource reservation control mechanism which has ability to distinguish this data into different categories and also prioritize each category of data according to network requirement. We analyze QoS on the basis delay, throughput, jitter, packet loss, availability.

Ø Delay:

When a packet takes more than expected time to reach their destination, it causes disruption in quality of service for traffic. This difference between the expected time to reach the destination and actual time required to reach destination is called Delay.

v Various components of delay:

o Queuing Delay

o Packetization Delay

o Propagation Delay

Ø Throughput:

It is the rate at which a network can send or receive data successfully through a channel. In this project we have calculated throughput in terms of packet/seconds.

Ø Jitter:

It is not necessary that the packet delay will remain same throughout the packet transmission from source to destination. Jitter is basically a difference between two consecutive delays. It is the variation between packets arriving time caused by network congestion, changes in route direction etc.[27]

Ø Packet loss:

Due to network conditions, collisions in network causes number packets getting dropped before reaching their final destination. This is known as packet loss. It is a ratio of number of packets being dropped and total number of packets transmitted.

Ø Availability:

It is the time for which the network is available for communication or data transmission.

We have segregated QoS in two parts:

1) QoS within a wireless LAN [ Between voice, data, video stations and Access Point]

2) End to End QoS [RSVP, SIP/SDP, H323]

Fundamental Access mechanisms in IEEE 802.11

1) Distributed Coordination Function (DCF)

DCF is also known as Carrier Sense Multiple Access with collision avoidance. There are two operation mechanisms used for transmitting packet to the destination. One is two-way handshake, in which destination simply reply with the acknowledgement on successful reception of packet and other one is four-way handshake. In four-way handshake initially sender sends RTS (request to send) to reserve the channel for transmission. Receiver reply sender with CTS (clear to send), which is further followed by transmission of packet from sender and again ACK from receiver. In this mechanism all the stations share one channel. Before the data transmission channel should be idle for a contention period (contention period= DIFS + Backoff period).

To check whether the channel is idle or busy, the station continuously senses the medium which is also known as carrier sensing. If the channel is found idle for at least DIFS time period, the corresponding station starts transmitting frame while other stations wait till channel becomes idle. If the station detects a higher power signal than specific fixed power threshold, the channel is considered as busy. After successful reception of frame destination sends back ACK frame after certain time which is known as Short Inter-Frame space time period (SIFS).

If system operates in DCF mode, it is called Contention Period and if it operates in PCF mode it is called Contention free Period. In PCF, Access point (AP) monitors the access of the medium by polling individual stations. Here Access point acts as point coordinator. In PCF mode Access Point always has highest priority over other stations. It has to wait for PIFS (PCF inter frame period) which is comparatively shorter period than DIFS.

PIFS = SIFS + One slot Time while DIFS = SIFS + Two Slot times.

In PCF mode point coordinator polls each station sequentially in contention free period. If the station which has been poled first is ready with data, it is allowed to send data/ACK after SIFS period to point coordinator or other stations in the network. If that particular station is not ready, after the PIFS period Point Coordinator polls the next station. If none of the stations have any frames to send, the point coordinator sends CFP-end (Contention Free Period frame) frame.

· RTS/ CTS

One of the major problems in contention period is the Hidden Terminal problem. In such situations, station is unable to detect communication going on the channel between two other stations and thinks that the channel is idle. As a result it tries to send frame, which eventually give rise to collision.

To avoid such collisions, RTS/CTS phenomena is introduced in DCF. In this technique, at the beginning of the transmission of frame sender sends RTS with duration field (includes data, period for CTS and ACK). In response to this request from sender, receiver set their NAV (Network allocation vector) value to duration field which has been sent by sender with RTS. This NAV basically indicates a time for which the channel is going to remain busy. From this NAV value itself, other neighboring station in network will come to know about the period for which channel is being idle. This is a mechanism to avoid collision especially in case of transmission of larger frames. Only drawback with this mechanism is the overhead of RTS/CTS leads to larger delays and bandwidth wastage.

· Collision Avoidance and Backoff Procedure

According to Carrier sense multiple access if two or more stations sense the channel idle, they will try to transmit the frame at the same time. This will result in collision occurrence. To avoid this collision, each station has to wait additional amount of time when it finds channel busy before transmission of frame during DIFS period.

In such conditions, the station postpones its access until channel becomes idle or free for transmission. It chooses random backoff value, which is measured in time slots. Station has to wait for DIFS plus this random backoff value in order to access the idle medium. This random delay helps to avoid collisions. This is known as Collision Avoidance (CA). Hence DCF is called Carrier sense multiple access with collision avoidance.

Backoff timer is decremented by each time slot when channel is sensed idle for DIFS time period. When channel is busy, backoff timer is paused. It resumes only when channel is idle. The station is allowed to transmit a frame only when backoff time becomes zero.

The station who tried to access channel first, is always gets high priority because the station after it has to start with new backoff value. At the same time the one which started first just have to decrement its backoff value instead of choosing new one.

Why wireless network does not follow CSMA/CD (carrier detection) like wired network?

The reason behind it is incapability of wireless network to detect collisions in unlike wired networks. Often wireless network does not have capability of doing reception and transmission at the same time. In wired networks strength of the signal does not drop below one particular level, but on the other side in wireless network strength of the signal depends on various factors like distance, various interferences, noise etc., which eventually rarefy the strength of the signal. This makes detection of other signals difficult for a sender because strength of its own signal is obviously higher than the signals being detected.

In DCF, random back off value is chosen from 0 to Contention Window [CW]. During the first transmission of frame, CW is set to its minimum value (CWmin). After each successful transmission of frame contention window size is doubled. It is increased exponentially until it reaches its maximum limit. The formula used to increase it exponential is: [2(CW+1) -1]. This surely helps to reduce collisions, because doubling a CW helps to generate higher random backoff value

Though this mechanism helps to reduce number of collision occurrences, it happens at the expense of delay and inefficient use of bandwidth.

· Fragmentation in IEEE 802.11

In wireless network, due to high bit error rate smaller frames are always be given highest priority over larger frames. To allow fair transmission of frames, once larger frames reach particular fragmentation threshold, are divided into smaller frames according to following format. This allows each communicating station to send as many data frames and acknowledgements as possible in contention period.

When stations using DCF mechanism got a frame, these stations go through following steps:

a) Stations will generate a random value which is used by random back off counter

b) Every station waits for time interval DIFS (distributed inter-frame space) to see whether the channel is idle.

c) If the channel is idle it waits for a time generated by the random counter which we can call it as contention window.

d) Whoever (station) random counter value comes to zero that station has access to the medium and other has to defer during the frame transmission and they pause their random counter value.

e) After the frame transmission ends up ,again all the stations has to wait for DIFS to see whether the channel is idle .if the channel is idle for that time stations resume their random counter values and step d is repeated.

* Assume that station “A” got access to the medium and sent the frame successfully and at the same time remaining stations got the frames to transmit but they have to defer until station is done with his frame transmission.

* After station A successfully transmitted its frame , all the stations have to defer for distributed inter-frame space(DIFS).once the DIFS waiting period is done, stations who got the frames starts decrementing their contention window value which is decided by the random counter(0, CW).

* In this Station B contention window reached its maximum value sooner than other stations and it gained access to medium.

* Station C and D detects that the medium is busy because of some other station is transmitting frames and stops decrementing the random back off counter value until station B finishes its transmission and further DIFS time period.

* Again above steps are repeated to gain access to the medium. In the same way station D will now transmit the frame as its back off counter values reaches Zero before stations C back off counter value reached zero.

* Above mechanism repeats as the stations are getting frames to send.

Chapte3: Introduction to IEEE 802.11e

In order to provide reliable and strict quality of service to the wireless network, IEEE suggested few amendments in previous enhancements and came up with a new protocol which is especially dedicated to QOS for Wireless Networks. According to previous standard, all traffic types (viz. data, video and voice) had the same priority. As we have seen in earlier part, whichever frame (be it data, video, voice) gets first priority to access the medium, will keep that medium busy till its transmission gets over. In environments, where communication is centralized on particular traffic type (for e.g. Skype, where voice is a key factor or multimedia broadcasting where voice, video are preferred over data.), IEEE 8022.11 legacy fails to provide strict QOS.

v Drawbacks of DCF:

* Does not guarantee QoS, only supports best effort services.

* All the stations in one BSS (Basic Service Set) compete for same channel.

* Increase in a time period used for channel access can cause higher delays and Throughput degradation.

* Lack of differentiation mechanism.

The changes suggested in IEEE802.11e are integrated in IEEE 802.11 standard and were published in year 2005. IEEE 802.11e protocol helps to prioritizing the traffic according their quality of service requirements. 802.11e supports the traffic differentiation and categorize the data according different types of traffic services. It provides enhancements to the MAC layer protocol for supporting both prioritized and parameterized traffic between Quality Service station and Quality Access point.

Inability of DCF and PCF to distinguish the data into different data types had been overcome by introduction of HCF (Hybrid Coordination Function). HCF is divided into two methods of channel access, namely EDCF and HCCF. Where HCCA is traffic parameterized and EDCF is Traffic Prioritized. These changes have provided strong support to the critical requirements in QOS, at the same time it has kept compatibility with original 802.11 standards. (http://www.networkworld.com/details/6224.html)

3.1 Hybrid coordination Channel Access (HCCA)

HCCA is extension of point coordination function, the working of HCCA is similar to PCF. But unlike PCF, HCCA permits contention free period being started at any point of time during Contention Period. This CFP is called Controlled access phase (CAP). In contrast to PCF, Access point sends a frame to particular station or receives a frame from a station in contention free period and during contention period is ideally occupied by EDCA mechanism. But if there is necessary of sending or receiving a data frame during contention period also HCCA mechanism helps to achieve that. HCCA is not really a mandatory for QoS in 802.11e protocol. It is more advanced and complex in its nature than EDCF but it can surely help to provide precise QoS. (Wikipedia)

3.2 Enhances distributed coordination function (EDCF) or Enhanced distributed channel access (EDCA):

EDCF is enhanced version of DCF. As we discussed earlier DCF does not prioritize the data traffic according to required QoS but EDCA can provide differentiated data service while providing different priorities to different types of traffic. EDCA is designed in such way that higher priority traffic will always have preference over lower priority traffic.
We have explained working of EDCA by categorizing it in following sections:

3.3 Access Categories (AC):

There are four different access categories in EDCA. Each access category represents different type of traffic.

1) AC_BK: Access category for Background services

2) AC_BE: Access category for Best Effort services

3) AC_VI: Access category for Video

4) AC_VO: Access category for Voice

Each AC has its own set of parameters which helps it to contend for the channel.

Following chart refers to different priority value posed by frame arriving from higher layer to the MAC layer. This is also known as User Priority (UP). This priority values will be assigned either by application or by user itself. Or this value can even be assigned adaptively at the application layer depending upon the characteristic of the traffic type. Here if you see, voice is having highest priority over video, best effort and back ground services.

3.4 Enhanced Distributed Channel Access Function (EDCAF):

EDCA contends for channel access based on following parameters.

1) AIFS (Arbitration Inter-frame Space):

This is known as a time depended upon the access category, for which channel has been sensed idle before the transmission or backoff is started. The value of AIFS period will be smaller for the Access Category which having highest priority and it will be larger for the one which has lowest priority.

Equation to derive AIFS period is:

AIFSN: Arbitration Inter-Frame Space Number

Minimum possible value for AIFSN: 2

Minimum Possible value for AIFSN operating in HCCA: 1

2) CWmin and CWmax:

Unlike DCF, CWmin and CWmax value is not fixed in EDCF. Lower priority Access Categories has larger value of CWmin and CWmax as compared to higher priority Access Categories. Because of the smaller value of contention window EDCAF will generate smaller backoff which eventually provides smaller medium access delays. The only drawback with smaller Contention Window values is increase in collision rate of higher priority Access Categories. Value of CWmax for higher priority Access Categories is either equal to or less than CWmin of lower priority Access Categories.

In short, Contention Windows are non-overlapping. After unsuccessful transmission the Contention Window size will get double, but it will still be smaller than CWmin of lower priority Access categories. After doubling the window size lower priority Access Categories has highest probability of having higher backoff value after each retransmission, while on the other side after few retransmission backoff value for higher priority Access categories remains same. This way higher priority AC gets access to the channel and wins larger share of bandwidth compared to lower AC. So in case of congested network the performance of lower Access categories will degrade severely.

3) TXOP Limit (Transmission Opportunity):

TXOP is known as the time interval in which QoS supporting stations are allowed to transfer series of frames. TXOP is used in both modes of operation in 802.11e. This transmission interval also includes all intermediate SIFS, Acknowledgments, RTS and CTS frames. Once EDCF gets Transmission Opportunity, it starts transmitting frames such that transmission period does not exceed TXOP limit.

If the TXOP limit is zero, it means that station can transmit only 1 frame with RTS/CTS in TXOP interval. If the size of frame is larger, and there is risk of transmission opportunity duration being getting exceeded than TXOP limit, then the frame is fragmented into parts. If value of TXOP limit is nonzero, multiple frames which belong to the same Access Category are transmitted by EDCAF. In this condition also, care is taken that transmission duration should not get exceeded than TXOP limit. This is known as Contention Free Bursting (CFB). In case TXOP limit being zero, CFB is disabled. In the following table default values of TXOP are provided for each category.

We can conclude from the above table that, AC_BK, AC_BE are low priority access categories, and CFB allows highest priority access categories like video and voice to access the channel for certain amount of time. This results in reduced delays for them. But if the value of TXOP limit is larger than particular limit, it can result in degrading performance of AC_BK, AC_BE services with higher access medium delay. Hence, TXOP limit has introduced service differentiation by allowing higher priority ACs to access the channel for longer period of time so that they can get enough transmission opportunity for frame transfer and transmission duration will not exceed TXOP limit.

Internal and External collisions:

There are two types of contention collisions in EDCA

1) Internal contention collision:

Four access categories can also behave like four different virtual stations and contends for the medium in one station. So in some cases two access categories start their backoff timer to zero at the same time and try to transmit the frame at the same time. This results in internal collision among them inside the real station. In such cases grant is given to the highest priority AC, while the one which gets rejection simple doubles it contention window size.

2) External contention collision:

If two or more station start their backoff timers from zero at the same time or accidentally reach the same backoff values external collision occurs between two stations. In such cases same colliding station doubles its contention window size while others again start their paused backoff

Impact of Traffic Classification Example:

EDCF:

In the above example, when station X is accessing the medium ,other stations which are voice 1 , best effort 1 , voice 2 , best effort 2 got the frames to transmit and these stations generated their random backoff values depending on their priority. These stations have to defer until stations X finishes its transmission.

* Voice station 1, Voice station 2 have more priority as they are voice packets and these have minimum CWmin values which is 3 ,and Best Effort stations 1 &2 have longer contention window values which is 31.

* Voice 1 has shorter contention window and hence it first transmits the data and during this station transmission other station defer. Now voice station 3 got the frame to send and it starts its own backoff value, but defers because of voice station 1 transmission.

* After successful transmission of frame from voice station 1 all the stations have to defer for DIFS and then starts decrementing their contention window values.

* Voice station 2 random backoff values comes to zero and stand first in the competition to access the medium and starts transmitting its frame and all the other stations will defer until voice station 2 completes its transmission. And then Best effort 2 and vice station 3 will get their access to the medium according to their contention window values.

* In the same way depending on their random backoff values which are dependent on the type of stations will decrement their random backoff values and compete for the medium.

This process continues as other traffic enters the system.

QoS of VoIP over wireless LANs:

As we know VoIP over a wireless LAN provides easy internal calling in many environments. We have already seen the advantages of using VoIP over Wireless Network. It is not only a cost effective but also for such kind of communication we are going to use already existing infrastructure. VoIP is a real time application. It is more sensitive to packet loss which is caused by weak signals, limitations of range and also surrounding interferences (such as devices using same frequency)

Mixing Voice with other types of data types degrades the QoS of Voice transmission. We can observe this with help of analyzing parameters like delay, packet loss, throughput etc.

For example, if there is web browsing but at the same time online gaming and Skype chat (VoIP) and Bit Torrent download (Data download) going on. In such case not all types of traffic gets equal attention. Gaming, Skype chat these kind of activities obviously need more priority. In such cases delay, loss of data is completely unacceptable. In short, QoS is all about priority.

Hence, because of the sensitivity of VoIP applications to disruptions like competitions with data transmissions, web-browsing on the same wireless network has severe effects on QoS of voice. That is why it is important to establish quality of service features for ensuring satisfactory voice transmission over wireless networks.

M&M Scheme (Multiplex-Multicast scheme) [26]:

Multiplex-Multicast scheme can give better performance of VoIP compared to Distributed Co-ordination Function (DCF). This mechanism is implemented in infrastructure mode. According to M-M scheme if the fixed delay requirement is provided, the maximum number voice stations supported can be improved tremendously.

Background:

According to DCF, a conventional VoIP mechanism discussed above, it allows transfer of packets to/from each user individually over Wireless networks. In a case, where large numbers of voice packets are competing among themselves for accessing the channel over WLAN, the overhead becomes an important factor. M-M scheme is designed to improve the performance as well as the number of voice stations supporting in such kind cases. In M-M scheme at the VoIP gateway, multiple voice packets are combined into the one multiplexed packet. This packet is then multicast to the respective wireless stations through access point.

Multicasting-Multiplexing Scheme

In M-M scheme QoS is computed on the basis of two parameters:

1) Packet loss: Targeted packet loss is kept not more than 1%

2) Delay: Target delay is assumed to be not more than 50ms for good QoS.

The Results obtained using M-M scheme [26]:

Delay (< 50ms)

Packet loss (%) (< 1%)

Maximum Number of Voice Stations Supported

49.7 ms

<1%

22

M-M Performance Analysis

This mechanism did well in increasing number of voice stations and diminishing packet loss as well as delay on comparing DCF mechanism.

Network Simulator (NS-2): [24]

NS-2 is a popular network simulator which is used for developing and investigating protocols in both wired as well wireless scenarios. NS-2 helps to build virtual scenario of a network. NS-2 is an open source simulator and hence it is easily accessible for educational as well professional use.

If we compare simulation approach with analytical approach, it requires less generalization in the model. In other words we required less simplifying assumptions.

Suppose, the model or scenario to be analyzed is large, then it will be difficult to do its analysis by mathematical approach. Instead simulation approach is more feasible in such cases.

Time Dependent simulation:

1) Time driven simulation:

This type of simulation causes and accomplishes events for every fixed amount of time. It works in chronological order. This simulation advances from one time interval to another. Meanwhile in between this time interval it will execute all the events. This is time dependent simulation. So event with outdated timestamp will not be entertained in this kind of simulations.

2) Event Driven simulation

NS-2 simulator is event driven. It is initiated by events and it is least bothered about the time. All the events required in particular scenario are updated and maintained through out the simulation process.

In such type of simulations all the events are not necessarily induced at the start of the simulation. After the simulation start and further advances, it generates number events which are dependent on previous events. These events are added into the chain of simulating events. This event simulation continues till all the events get simulated.

In event driven simulation, time progresses as the events are processed.

NS-2 Directory Structure:

NS-2 Languages used:

* C++: Used for creating objects. In our project C++ library functions have been used for scheduling the traffic according to QoS requirements.

It is used for byte manipulation, algorithm implementation and packet processing. It is also used for finding bug in simulation and fixing it.

* TCL: It is used for exploring scenarios and it is run on the UNIX platform. TCL helps to schedule an event. It helps to establish virtual scenario of real time event. We can test and compare practical results obtained with the simulation results of NS-2. In out project we used TCL scripting to create wireless as well as wired nodes. Using TCL script, we were able to do prioritization among four different queues.

* TK (TCL toolkit) is a graphical user interface which gives different types of operating systems access to the library functions.

* OTCL: It is used as object oriented extension of TCL language and used primarily on a UNIX based platforms. It is used as front end to set up NS-2 simulator. It also cons objects, sets up events and schedules them according to requirements.

* NAM (Network animator): It is an animation tool which generates desired topology and network scenario after compiling TCL script. This tool helps to observe network simulation.

Bash Scripting (AWK and Perl):

In our project we have used AWK and Perl scripting to analyze our trace file. The trace file generated by TCL script is used to observe different QoS parameters viz. packet loss, throughput, jitter and delay. We can even plot the graphs just by observing the trace file but in case of scenarios where large number of packets are transmitted and received over long simulation time, it is not viable to follow such approach. AWK script helps to extract the data from the trace file and according to trace file format we have obtained packet IDs, Send and receive time, source and receiving node, type of agent (TCP or UDP) and also a type of application used to sent the data (CBR, VBR, FTP).

By using results obtained from AWK scripting, we plotted graphs for packet loss, delay, jitter and throughput. Following is the trace file format for extracting data from the trace file.

Implementation:

We the simulations taking three wireless stations and three wired stations into consideration. We used wired cum wireless topology simulation methodology described in NS-2 simulator [9]. If one wireless station sends traffic, one in the wired station is going to receive the traffic. We generated three different types of traffic which are Data, Voice and Video. We observed quality of service parameters such as delay, packet loss, and throughput under DCF and EDCF modes.

We created wireless node and cond them with network components such as Link Layer Type, Antenna type, number of mobile nodes, Antenna type, max packet in ifq Ad-hoc routing protocol mode and DSDV routing and make sure we switched on the required tracing agents so that we can get right trace files. For example under wireless stations we switched OFF wired routing but under the base station we need to switched wired routing ON and because the wired stations are attached to base station, we need to route the packets to the wired stations.

We attached UDP agents with constant bit rate (CBR), 20msec inter packet arrival time and packet size of 160 bytes (for voice data size will be very less because it samples for every 20msec) for voice source nodes and for corresponding stations we used UDP null agents. So that after receiving they will simply sink down the packets. We attached UDP agent with constant bit rate (CBR) but inter-packet arrival time of 2msec and size of 480 bytes for video source node and UDP null agent for corresponding station to sink those video packets. We attached TCP agents with ftp to send data packets of size 1500 bytes and corresponding TCP sink to sink down all the data packets at the receiver.

We start to send packets from the very starting of simulation until 20 sec's and stopped tracing and exiting the network simulator at 21 sec's. We wrote a procedure to get NAM files as well as TRACE files. Using AWK, PERL scripting we observed the trace file and produced results, by using these results we plotted graphs using MS-excel. And to produce scenario graphically we used Network Animator.

Simulation parameters:

IEEE 802.11 (specification)

A Slot time

20us

SIFS

10us

DIFS = SIFS+2*Slot Time

50us

EDCF Simulation Parameters:

Results:

Scenario 1: One Voice Station, One Data Station, and One video station.

In this scenario we have taken, 4 wireless and 4 wired nodes into consideration.

Out of which 3 wireless nodes will act as voice, video and data transmitting stations. They transfer the respective type of traffic at base station. The base station is also a wireless stations which forwards the traffic received to the gateway (wired node). And further respective wired stations receive corresponding traffic. In following scenario node 5 will transmit voice packet while node 1 will receive those at its downlink port.

Similarly, node 6 will send video packets to node 2 through base station. While data packet transfer takes place between node 7 and node 3.

In 1 we observed video delay under DCF mode and in 2 we observed video delay under EDCF mode which gives better delay compare to DCF in which video packets are not prioritized. In 3 we observed the data delay under DCF mode and in 4 we observed it under EDCF mode which is not better than DCF because in EDCF data packets have least priority. In 5 we observed the voice delay which is our main consideration under DCF mode and in 6 we observed the voice delay under EDCF mode which is better and below 50msec (<150msec tolerable delay according to ITU-.T specifications) because these packets are more prioritized under EDCF.

Average Delay

DCF (seconds)

EDCF (seconds)

Data

0.28007

1.83095

Video

1.0011

0.5736

Voice

0.033518

0.01337

v DCF vs. EDCF - Packet Loss

Packet Loss for Video, Voice, and data under both modes are shown in

From the above graphs we can conclude that, In EDCF, the Packet Loss for voice is having highest priority compared to video and data. In DCF, if we see the packet loss for data is much lower than other two real time applications. Because in DCF the packets are not prioritized and probably in this condition the data packets has got higher priority than voice and video.

Following are the results we have obtained for Average percentage packet loss for all kinds of traffics

Average Packet Loss

DCF (%)

EDCF (%)

Data

4.1615

11.888

Video

77

59.6915

Voice

25.0665

0.60006

v DCF vs. EDCF - Jitter

Average Jitter

DCF (seconds)

EDCF (seconds)

Data

8.8E-6

3.84E-5

Video

0.001416

0.000309

Voice

4.42E-5

1.47E-5

Scenario 2:

Here we increased the number of wireless stations to send voice packets and number of wired stations to receive the voice packets with the same simulation procedure as above and produced the NAM and TRACE files. We obtained the results such as packet loss, delay, throughput using AWK/Perl scripts and plotted graphs using excel.

In this scenario, node number 6 and 7 are voice stations. Node number 8 is video station while node number 9 is data station. Wireless node 6 and 7 are transmitting voice packets to wired node 1 and 2 respectively. While wireless node 8 is transmitting video packet to node number 3. For data packets node #9 is source node while node #4 is destination node.

DCF vs. EDCF - Delay

Scenario 2:

Average Delay

DCF (seconds)

EDCF (seconds)

Data

0.28631

1.09056

Video

5.73874

4.63665

Voice 1

2.5889

0.0131

Voice 2

1.5992

0.0147

DCF vs. EDCF - Throughput

Average Throughput

DCF (seconds)

EDCF (seconds)

Data

32786.7

7182.86

Video

37932.6

70181.7

Voice 1

5897.14

8134.29

Voice 2

7542.86

8117.14

DCF vs. EDCF- Jitter

Average Jitter

DCF (seconds)

EDCF (seconds)

Data

0.000439

3.75E-5

Video

0.013849

0.00518

Voice 1

0.009026

2.81E-5

Voice 2

0.002677

2.57E-5

DCF vs. EDCF- Packet loss

Average Packet loss

DCF (%)

EDCF (%)

Data

0.15015

11.3444

Video

70.0903

45.0143

Voice 1

27.6551

0.21031

Voice 2

7.9906

0.65972

Scenario 3:

We have also analyzed the mixed stations scenario above and now we are simulating with varying number of voice stations and without varying other types of traffics. We plotted graphs for delay and packet loss for 2 voice stations, 4 voice stations, 8 voice stations, 16 voice stations, and 25 voice stations.

In 1 we can clearly say that until 25 the packet loss is below 10% and above it we are going to observe that packet loss is going to increase above the tolerable level and we can say that it can support up to 25 streams. In 2 we can clearly say that until 25 voice stations, the probability of having delay 150msec is less. Very less number of packets is having delay above 150msec.But for 25 number of voice stations the delay has gone above 150msec and which is not tolerable.

Maximum number voice stations: Tolerable delay (packet delay <50ms)

v Maximum Number of Voice Stations Supported By Distributed Co-ordination function and Enhanced distributed Co-ordination function

Delay:

Number of Voice Streams

DCF

Average Delay (seconds)

EDCF

Average Delay (seconds)

6 voice Stations

0.014763

0.006353

10 voice Stations

2.983892

0.016252

14 voice Stations

5.64466

0.021892

20 voice Stations

5.9870

0.042756

24 voice Stations

6.4315

0.046025

25 voice stations

6.9836

0.050983 >50ms

Maximum number of voice stations: Tolerable packet loss for DCF (for each packet, packet loss< 10%)

Maximum Number of Voice stations: Tolerable Packet loss for EDCF

Packet loss:

Number of Voice Streams

DCF

Average Packet loss Percentage

EDCF Average

Packet loss Percentage

6 voice Stations

0.331936

0.31741

10 voice Stations

35.47466

0.33824

14 voice Stations

58.64989

0.34765

20 voice Stations

60.78326

0.37508

24 voice Stations

65.98491

0.48717

25 voice Stations

70.15282

4.18078 >1%

Conclusion and Future Enhancements:

In this project we have performed detailed analysis of QoS on the basis four parameters namely- delay, throughput, and jitter and packet loss. From the results obtained through NS-2 simulation results, we can conclude that, EDCF gives better performance in terms of QoS for real time applications like voice, video. We have observed how performance of voice over wireless network has been improved by introduction of EDCF mechanism in IEEE 802.11 standards.

We have also observed the maximum number of voice stations supported by EDCF and DCF based on ITU-T recommendation standards.

In EDCF, values of the contention window, DIFS period are static. If there are no voice stations available in wireless network, data packets will still suffer higher delay and packet loss because of fixed size of contention window. In adaptive EDCF (modified EDCF), depending upon the load conditions of a network we will vary the values of contention window and DIFS period dynamically. So, by using adaptive EDCF, the value of contention window is increased when the channel is busy for frame transmission. When channel is idle fast backoff mechanism is used. This mechanism helps to achieve higher throughputs, lower delays with high degree of fairness among the traffic of same priority.

REFERENCE

[1] JengFarn Lee, Wanjiun Liao, Jie-Ming Chen, Hsiu-Hui Lee “A Practical QoS Solution to Voice over IP in IEEE 802.11 WLA”, National Chung Cheng University, National Taiwan University. IEEE April'09.

[2] Dajiang He, Charles Q. Shen, “Simulation Study of IEEE 802.11e EDCF”, Institute for Infocomm Research National University of Singapore. IEEE November 2003

[3] Weihua Helen Xi. Toby Whitley, Alistair Munro, Michael Barton “Modelling and Simulation of MAC for QoS in IEEE 802.11e using OPNET modeler”, University of Bristol.

[4] A. Al-Naamany, H. Bourdoucen and W. Al-Menthari, “Modeling and Simulation of Quality of Service in VoIP Wireless LAN”, Department of Electrical and Computer Engineering, Sultan Qaboos University, Al-Khodh, Muscat, Oman

[5] Agustin Zaballos, Guiomar Corral, Josep Maria Selga, Carlos Sole, “Developing a QoS 802.11e model in a Wireless environment “, Universitat Ramon Liull, Spain, Europe. IEEE August 2005

[6] Soung Chang Liew, “ Performance Of VoIP over Multiple Co-Located IEEE802.11 Wireless LANs” , Student Member IEEE. IEEE August 2009

[7] Alessandro Andreadis, giuliano Benelli, Riccardo Zambon, “Evaluation of QoS Support for Multimedia Traffics in IEEE 802.11e “, University of Siena, Department of Information engineering. IEEE September 2006

[8] Fanglu Guo, Tzi-cker chiuech, “Comparison of QoS Gurantee Techniques for VoIP over IEEE802.11 Wireless LAN”, Computer Science Department, Stony brook University.IEEE 2008

[9] The Network Simulator ns-2. htttp://www.isi.edu/nsnam/ns/

[10] IEEE Std. 802.3, Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications. 1985

[11] IEEE Std. 802.5, Token Ring Access Method and Physical Layer Specifications. 1985

[12] Qiang Ni, Lamia romdhani, Thierry Turletti, “ A survey Of QoS Enhancements for IEEE 802.11 Wireless LAN”, Planete Group, INRIA, 2004 route des Lucioles, France. IEEE 2004

[13] William t. Kasch, Jon R. Ward and Julia Andrusenko, “ Wireless Network Modelling and Simulation Tools for Designers and Developers,” The John opkins University. IEEE 2009

[14] Dongyan Chen, Sachin Garg, Martin Kappes and Kishor Trivedi, “ Supporting VoIP Traffic in IEEE 802.11 WLAN with Enhanced Medium Access Control for QoS,” Duke University, durham,NC.IEEE 2002

[15] ISMAHANI BINTI ISMAIL, “STUDY OF ENHANCED DCF (EDCF) IN MULTIMEDIA APPLICATION,” University Technology Malaysia. March 2005.

[16] Will Spearman, Jim Martin, and “Adaptive QoS in 802.11e Wireless Networks for Lunar

Communications“, Clemson University, School of Computing, Clemson

[17] Marian Dacevski, Toni Janevski, “ Analysis of IEEE 802.11e QoS in Multimedia Environment” , September 2005.

[18] Sven Wiethoter, Christian Hoene, “Design and Verification of IEEE 802.11e EDCF”, Technical University Berlin. November 2003

[19] Patch for 802.11 model (ns-2.28). http://www.tkn.tu-berlin.de/research/802.11e_ns2/

[20] IEEE 802.11. http://en.wikipedia.org/wiki/IEEE_802.11

[21] Ping Chung Ng, Soung Chang Liew, and Wei Wang, “Voice Over Wireless LAN via Wireless Distribution System”, Department of Information Engineering The Chinese University of Hong Kong. IEEE 2004

[22] IEEE 802.11e-2005. http://en.wikipedia.org/wiki/IEEE_802.11e

[23] W. Wang, S. C. Liew, Q. Pang, V. O. K. Li “A Multiplex-Multicast Scheme that Improves System Capacity of Voice-over -IP on Wireless LAN by 100%”, IEEE ISCC'04, Alexandria, Egypt, Jun. 2004, http://personal.ie.cuhk.edu.hk/~pcng3/VoIP_ISCC.pdf

[24] Teerawat Issariyakul, Ekram Hossain, “Introduction to Network Simulator NS2.”

[25] NS-2 Functions library for IEEE 802.11e, “ http://www-sop.inria.fr/planete/qni/Research.html .“

[26] Ping Chung Ng, Soung Chang Liew, and Wei Wang, “Voice over Wireless LAN via Wireless Distribution System. “ The Chinese university of Hong Kong, IEEE 2004

[27] http://searchunifiedcommunications.techtarget.com/sDefinition/0, sid186_gci213534, 00.html

[28] Introduction to WI-FI 802.11, http://en.kioskea.net/contents/wifi/wifiintro.php3

[29] “Quality of Service”, http://en.wikipedia.org/wiki/Quality_of_service

Appendix

In following appendix, we have provided distributed co-ordination function and enhanced distributed co-ordination function scripts which we used for obtaining simulation results for corresponding mechanism for different types of traffic.

We have also provided AWK and PERL scripts which we used for analyzing trace files and obtaining output as well as input values for plotting graph of QoS parameters.

DCF TCL Script:

EDCF TCL script:

Delay AWK script:

BEGIN {

for (i in sendingframe) {

sendingframe[i] = 0

}

for (i in receivingframe) {

receivingframe[i] = 0

}

delay = avgerage_delay = 0

}

{

# New Trace line format

if ($7 != "-------") {

event = $1

packettime = $3

nodenumber = $5

flownumber = $39

pktnumber = $41

}

# Normal Trace line format

if ($7 == "-------") {

event = $1

packettime = $2

if (event == "+" || event == "-") nodenumber = $3

if (event == "r" || event == "d") nodenumber = $4

flownumber = $8

pktnumber = $12

}

# Store packets send time

if (flownumber == flow && nodenumber == src && sending[pktnumber] == 0 &&

(event == "+" || event == "s")) {

sendingframe[pktnumber] = packettime

printf("sendingframe[%g] = %g\n",pktnumber,packettime)

}

# Store packets arrival time

if (flownumber == flow && nodenumber == dst && event == "r") {

receivingframe[pktnumber] = packettime

printf("\t\tdelay[%g] = %g\n",pktnumber,receivingframe[pktnumber]-sendingframe[pktnumber])

}

}

END {

#calculate Average Delay

for (i in receivingframe) {

if (sendingframe[i] == 0) {

printf("\nError %g\n",i)

}

delay += receivingframe[i] - sendingframe[i]

total++

}

printf("%10g ",flow)

if (num != 0) {

averagedelay = delay / total

} else {

averagedelay = 0

}

printf("%10g\n",averagedelay*1000)

}

Jitter AWK Script:

BEGIN {

for (i in sendingframe) {

sendingframe[i] = 0

}

for (i in receivingframe) {

receivingframe[i] = 0

}

}

{

# New Trace line format

if ($7 != "-------") {

event = $1

packettime = $3

nodenumber = $5

flownumber = $39

pktnumber = $41

}

# Normal Trace line format

if ($7 == "-------") {

event = $1

packettime = $2

if (event == "+" || event == "-") nodenumber = $3

if (event == "r" || event == "d") nodenumber = $4

flownumber = $8

pktnumber = $12

}

Packetloss AWK script:

BEGIN {

for (i in sendingframe) {

sendingframe[i] = 0

}

for (i in receivingframe) {

receivingframe[i] = 0

}

trans = 0

dropped = 0

packetloss = 0

}

{

# New Trace line format

if ($7 != "-------") {

event = $1

packettime = $3

nodenumber = $5

flownumber = $39

pktnumber = $41

}

# Normal Trace line format

if ($7 == "-------") {

event = $1

packettime = $2

if (event == "+" || event == "-") nodenumber = $3

if (event == "r" || event == "d") nodenumber = $4

flownumber = $8

pktnumber = $12

}

# Store packets send time

if (flownumber == flow && nodenumber == src && sendingframe[pktnumber] == 0 &&

(event == "+" || event == "s")) {

sendingframe[pktnumber] = packettime

printf("sendingframe[%g] = %g\n",pktnumber,packettime)

}

# Store packets arrival time

if (flownumber == flow && nodenumber == dst && event == "r") {

recv[pktnumber] = packettime

# Send time for packets

if (flownumber == flow && nodenumber == source && sendingframe[pktnumber] == 0 &&

(event == "+" || event == "s")) {

send[pktnumber] = 1;

printf("sendingframe[%g] = 1\n",pktnumber);

}

# arrival time for packets

if (flownumber == flow && nodenumber == destination && event == "r") {

receivingframe[pktnumber] = 1;

}

}

END {

printf("%10g",flow)

for (i in sendingframe) {

if (sendingframe[i] == 1) {

trans ++;

if (receivingframe[i] == 0) {

dropped++;

printf("packet %g is not received at the destination\n",i)

}

}

}

if (trans != 0) {

packetloss = dropped / trans;

} else {

packetloss = 0;

}

printf("%10g %10g %10g\n",trans,dropped,packetloss*100);

}

# Sendtime for packets

if (flownumber == flow && nodenumber == src && sending[pktnumber] == 0 &&

(event == "+" || event == "s")) {

sendingframe[pktnumber] = packettime

printf("sendingframe[%g] = %g\n",pktnumber,packettime)

}

# Arrival Time for packets

if (flownumber == flow && nodenumber == dst && event == "r") {

receiving[pktnumber] = packettime

a= receivingframe[pktnumber]-sendingframe[pktnumber]

jitter= a-b

b=a

printf("%g\n",jitter)

}

}

Throughput Perl Script:

infile=$ARGV[0];

$tonode=$ARGV[1];

$granularity=$ARGV[2];

$sum=0;

$clock=0;

open (DATA,"<$infile")

|| die "Can't open $infile $!";

while (<DATA>) {

@x = split(' ');

#New Trace-Line format

if ($x[1] eq '-t') {

$event = $x[0];

$time = $x[2];

$node_id = $x[4];

$pkt_size = $x[36];

$flow_id = $x[38];

$pkt_id = $x[40];

}

#Normal traceline format

if ($x[6] eq '-------') {

$event = $x[0];

$time = $x[1];

if ($event eq '+' || $event eq '-') {$node_id =

$x[2];}

if ($event eq 'r' || $event eq 'd') {$node_id =

$x[3];}

$pkt_size = $x[5];

$flow_id = $x[7];

$pkt_id = $x[11];

}

#column 1 is time

if ($time-$clock <= $granularity)

{

#checking if the event corresponds to a reception

if ($event eq 'r')

{

#checking if the destination corresponds to 1st argument

if ($node_id eq $tonode)

{

#checking if the packet type is TCP/CBR

if ($flow_id eq '11')

{

$sum=$sum+$pkt_size;

}

}

}

}

else

{

$throughput=$sum/$granularity;

print STDOUT "$time $throughput\n";

print STDOUT "$time \n";

$clock=$clock+$granularity;

$sum=0;

}

}

$throughput=$sum/$granularity;

print STDOUT "$time $throughput\n";

print STDOUT "$time \n";

$clock=$clock+$granularity;

$sum=0;

close DATA;

exit(0);

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.