feasibility study ofmesh technologies for audio …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 project...

47
Multimedia Information and Signal Processing Dept. of Electronic Systems Niels Jernes Vej 12, A6-305 DK 9220 - Aalborg Ø Phone: +45 9940 8693 Fax: +45 9815 1583 Email: [email protected] www.es.aau.dk/misp Date: August 21, 2012 F EASIBILITY S TUDY OF MESH T ECHNOLOGIES FOR AUDIO S TREAMING Technical Report No.: MISP-01-2012 Thomas F. Pedersen ([email protected]), Jan Østergaard ([email protected]), Thomas M. Sondrup ([email protected]), Thomas Fiil ([email protected]), and Søren H. Jensen ([email protected]) Aalborg University (http:www.es.aau.dk/misp) AUDUX (http://audux.dk) Bang and Olufsen (http://www.bang-olufsen.com) Abstract The recent IEEE 802.11s standard describes wireless mesh networks (WMNs) by interconnection of wireless devices. In a wireless network, the data rate decreases as the distance from the wireless devices to the access point increases. By deploying several wireless devices and thereby constructing a WMN, it is possible to reliably communicate over greater distances. This report documents how to setup a WMN using laptops running Ubuntu 10.04 and equipped with D-Link g122 wireless USB network cards. The complete installation procedure is documented. Moreover, based on a WMN containing five mesh points, the latency, jitter, packet loss rate, and data rate is measured. The measurements are performed in two different scenarios, referred to as optimal and realistic. In the former case, the mesh points are in close proximity, whereas in the latter case, the mesh points are in different office rooms. The results reveal that the packet size does not appear to have significant influence on the measured parameters. When defining a route through several mesh points, the latency naturally increases and the data rate decreases as more hops are added. In the optimal scenario, the latency per hop is less than 1 ms. This project was supported by the Danish Sound Technology Network (http://www.lydteknologi.dk).

Upload: others

Post on 27-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

Multimedia Information and Signal Processing

Dept. of Electronic SystemsNiels Jernes Vej 12, A6-305DK 9220 - Aalborg ØPhone: +45 9940 8693Fax: +45 9815 1583Email: [email protected]/misp

Date: August 21, 2012

FEASIBILITY STUDY OF MESH TECHNOLOGIESFOR AUDIO STREAMING

Technical Report No.: MISP-01-2012

Thomas F. Pedersen∗ ([email protected]), Jan Østergaard∗ ([email protected]),Thomas M. Sondrup† ([email protected]), Thomas Fiil‡ ([email protected]),

and Søren H. Jensen∗ ([email protected])

∗ Aalborg University (http:www.es.aau.dk/misp)† AUDUX (http://audux.dk)‡ Bang and Olufsen (http://www.bang-olufsen.com)

Abstract

The recent IEEE 802.11s standard describes wireless mesh networks (WMNs) by interconnection ofwireless devices. In a wireless network, the data rate decreases as the distance from the wireless devicesto the access point increases. By deploying several wireless devices and thereby constructing a WMN, itis possible to reliably communicate over greater distances.

This report documents how to setup a WMN using laptops running Ubuntu 10.04 and equipped withD-Link g122 wireless USB network cards. The complete installation procedure is documented. Moreover,based on a WMN containing five mesh points, the latency, jitter, packet loss rate, and data rate is measured.The measurements are performed in two different scenarios, referred to as optimal and realistic. In theformer case, the mesh points are in close proximity, whereas in the latter case, the mesh points are indifferent office rooms. The results reveal that the packet size does not appear to have significant influenceon the measured parameters. When defining a route through several mesh points, the latency naturallyincreases and the data rate decreases as more hops are added. In the optimal scenario, the latency per hopis less than 1 ms.

This project was supported by the Danish Sound Technology Network (http://www.lydteknologi.dk).

Page 2: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 3: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

Contents1 PROJECT DESCRIPTION 3

1.1 IEEE 802.11S: THE WLAN MESH STANDARD . . . . . . . . . . 31.2 USE-CASE: AUDIO STREAMING IN A WMN . . . . . . . . . . . 4

2 SETUP OF A 802.11S MESH-NETWORK 52.1 CONFIGURATION OF A MESH-NETWORK . . . . . . . . . . . 7

3 MEASUREMENT SETUP 9

4 RESULTS 134.1 OPTIMAL SETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2 REALISTIC SETUP . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5 DISCUSSION 19

6 CONCLUSIONS 23

7 APPENDIX A 257.1 store_tcpdump_results.m . . . . . . . . . . . . . . . . . . . . . . . 257.2 analyze_tcpdump_results.m . . . . . . . . . . . . . . . . . . . . . . 277.3 timestamp.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297.4 sort_data.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307.5 bw.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.6 tcpdump_read.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 APPENDIX B 358.1 iperf_test.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358.2 hop_test.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378.3 hop_0_setup.tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398.4 hop_1_setup.tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408.5 hop_2_setup.tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418.6 hop_3_setup.tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Bibliography 43

i

Page 4: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 5: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

Acronyms

AP Access Point

BSS Basic Service Set

DS Distribution System

DSM Distribution System Medium

ESS Extended Service Set

ESA Extended Service Area

HWMP Hybrid Wireless Mesh Protocol

MP Mesh Point

MTU Maximum Transmission Unit

MAC Medium Access Control

NIC Network Interface Card

PTP Precision Time Protocol

PHY Physical layer

QoS Quality of Service

RTS/CTS Request to Send/Clear to Send

SSH Secure Shell

WMN Wireless Mesh Network

WLAN Wireless Local Area Network

1

Page 6: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 7: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

1 PROJECT DESCRIPTIONThis project serves as a feasiblity study on the use of Wireless Mesh Network (WMN)for audio streaming, using the IEEE 802.11s standard. The purpose of the project is tostudy, how well a WMN is suited for high fidelity audio streaming, which requires a highQuality of Service (QoS) and low latency. The goal is to see how the latency, packageloss, jitter and bandwidth is affected, as the number of hops the packages need to travelis increased. A test-bed with 5 laptops have been setup to carry out these tests.

Section 1.1 contains a short description of the 802.11s amendment. The followingsection 1.2 contains a description of a audio streaming use-case, which takes advantage ofthe benefits of a WMN. In chapter 2 the steps to setup and configure the WMN test-bedis covered. Chapter 3 documents the measument setup. The measurement results arepresented in chapter 4. The chapters 3 and 6 contains a discussion and conclusion on thereport.

1.1 IEEE 802.11S: THE WLAN MESH STAN-DARD

The coverage that can be achieved by current Wireless Local Area Network (WLAN)s,is limited by the transmission power, which has to obey the regulatory specifications. Inorder to meet the increased need for coverage and speed of WLAN, a dense deployment ofAccess Point (AP) are needed. While APs are cheap, the deployment of a wired backbonenetwork to supply the bridging function between different APs are costly.

This dependency on a wired infrastructure is obviously unwanted, as it is inflexibleand expensive, and this fixed topology inhibits the stations from chosing a bettercommunication path.

The most elementary entity in the 802.11 standard is a station. Such a devicemust complie with the Medium Access Control (MAC) and Physical layer (PHY)implementation[1] specifications.

If the station has extended capabilities, so that it is a central device for the otherstations on the WLAN, it is called an AP. Stations on the WLAN connect, andcommunicate through the AP, which acts as a relay. This forms a single-hop star topology,and is defined as Basic Service Set (BSS) in the 802.11 standard. If several APs join aBSS, they form an Extended Service Set (ESS). This allow stations to communicate withstations outside its own BSS. The total area covered by all the interconnected BSS is calledthe Extended Service Area (ESA). The Distribution System (DS) relies on a DistributionSystem Medium (DSM), which commonly is an ethernet connection. To provide access toa non-802.11 network, one of the APs must be connected to a portal.

An IEEE task group has been in charge of developing an amendment to current802.11 standard, called 802.11s, which defines a standard for WMNs. The most basic

3

Page 8: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 1. PROJECT DESCRIPTION

entity in a mesh is a Mesh Point (MP). The MPs can communicate with other MPs overmultiple hops, which means they are able to communicate with a MP outside their mutualcommunication range. MP may act as a station, meaning its either a sink or source oftraffic, but may also act as an AP by relaying traffic to other MPs in its communicationarea.

A WMN can be used to overcome the limitations of single-hop communication, whendata packages need to cross multiple wireless hops. The routing in a WMN is dynamic,and can change as nodes are added or removed from the mesh. 802.11s allows differentrouting protocols, denoted as path selection, but only one may be active in a BSS at anytime. All MPs must at least implement the Hybrid Wireless Mesh Protocol (HWMP)[1].

1.2 USE-CASE: AUDIO STREAMING IN AWMN

This section will give a short description of a specific use-case for a WMN, which is theprimary focus of this report.

In a wireless audio system data is transmitted from a base station to recievingstations, which then process and play the audio. The wireless coverage of such a systemis obviously limited by the range of the base station. The coverage of this system could,however, be extended by using a WMN, where the stations acts as MPs that relay thedata to other MPs, which are outside the wireless range of the base station.

However, as the data is relayed through additional MPs the latency, jitter, packetloss ratio and bandwidth is affected. In an audio system these parameters could be crucialfor the QoS. This project studies how these parameters are affected for packets of differentsizes, and as the number of hops is increased.

Figure 1.1. A wireless signal from a base station is relayed through a speaker to another speakerin its range.

4

Page 9: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

2 SETUP OF A 802.11S MESH-NETWORKThis chapter explains how to implement and setup a mesh network. The chapter is di-vided into two sections. Section 2.0.1 covers the initial setup and configurations, whichare needed to install a custom kernel, which is configured for a mesh-network. Section 2.1explains how the mesh-network is configured once the initial setup is completed.

For the purpose of this study five Toshiba Satellite Pro L300 laptops have been used asMPs. It is chosen to use Ubuntu 10.04 as the operating system since it supports the thirddraft of the standard[2].

The 802.11s standard is still new and therefore only supported by a limited amountof hardware. We havent been able to find drivers for the integrated wireless network cardsin the laptops that supported the standard, thus we have chosen to use USB networkcards.

To enable the wireless mesh capability each computer have been equipped with aD-Link g122 wireless USB network card, sinvce these have been reported to work with thep54usb driver avaliable for Linux[3]. The driver is also listed on www.linuxwireless.org tosupport that specific netcard. However, it turned out that the network cards used for thisstudy is of revision E1, which is newer than those used in[3]. The newer network cards areequipped with a chipset from another vendor (Ralink) meaning it is incompabtible withthe p54usb driver.

To find a suitable driver for this chipset a number of different drivers have been tested.The driver rt2800 has shown to be compatible with the chipset, while also supportingmesh-network. The easiest way to obtain the driver is to install a custom kernel, which isconfigured to contain that specific driver. The next section will explain how this is done.

2.0.1 INSTALLING THE CUSTOM KERNELThe first step is to obtain and install Ubuntu 10.04 LTS. After Ubuntu is installed installgit: sudo apt-get install git-core

To obtain the kernel, download it from the following git: repository git clonehttps://github.com/cozybit/open80211s

Before the kernel can be configured and compiled the following packages are needed:

1 sudo apt -get install fakeroot2 sudo apt -get install build -essential3 sudo apt -get install kernel -package4 sudo apt -get install ncourses5 sudo apt -get install libncurses56 sudo apt -get install ncurses -dev

Now configure the kernel by typing make menuconfig and enable the following:

1 Networking support ->Wireless ->Generic IEEE 802.11 Networking Stack(mac80211)

2 Networking support ->Wireless ->Enable mac80211 mesh networking

5

Page 10: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 2. SETUP OF A 802.11S MESH-NETWORK

3 (pre -802.11s) support4 Wireless Lan ->Enable mesh support5 Device drivers ->Network Device Support ->Wireless Lan ->Ralink Driver

Support ->rt2800usb (all of them)

And disable:

1 Networking support ->Wireless ->enable powersave by default

To fix a bug[4] when compiling the kernel we need to do the following[5]. Editscripts/setlocalversion in the kernel repository and comment out the line "echo "+"". Ifthis is not done, make-kpkg will fail to build the packages with an error "package linux-image-[kernel version]-custom+ not in control info".

1 sed -rie ’s/echo "\+"/# echo "\+"/’ scripts/setlocalversion

In addition, comment out these lines near line 168:

1 #if test "${LOCALVERSION+set}" != "set"; then2 # scm=$(scm_version --short)3 # res="$res${scm :++}"4 #fi

Now build the kernel:

1 make -kpkg clean2 sudo fakeroot make -kpkg -initrd kernel image kernel headers

Install the kernel:

1 sudo dpkg -i linux -image -3.2.0 -rc4 -10.00. Custom_amd64.deb2 sudo dpkg -i linux -headers -3.2.0 -rc4 -10.00. Custom_amd64 ..deb

The new kernel needs to be made bootable.

1 sudo update -initramfs -ck 3.2.0 -rc42 sudo update -grub

Now reboot and select the new kernel.

ADDITIONAL PACKAGESBesides the custom kernel additional packages are required to configure the mesh-networkand to perform the measurements. How these are installed is shown in this section.

To configure the settings for the mesh-network the program iw is used. iw is includedin Ubuntu, however, due to a bug in the version avaliable in the Ubuntu package manager,which dont allow a manually configuration of the routing table, a newer version is needed.Download it from the following git repository http://git.sipsolutions.net/iw.git

The following packages are also needed to perform the measurements on the meshnetwork:

1 sudo apt -get install libnl -dev2 sudo apt -get install iperf3 sudo apt -get install openssh -server

6

Page 11: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

2.1. CONFIGURATION OF A MESH-NETWORK

In order to syncronize the time between stations, the precision time procotol is used.It is avaliable for Linux through the program ptpd. To install ptpd on Ubuntu an externalrepository has to be added to the package-manager, since it is not native to the Ubuntupackage manager. This can be done by these commands:

1 sudo add -apt -repository ppa:astraw/ppa2 sudo apt -get update3 sudo apt -get install ptpd

2.1 CONFIGURATION OF A MESH-NETWORKOnce the intial setup has been completed the mesh-network can be configured. First theUbuntu network-manager has to be disabled, since it currently does not support mesh-network.

1 sudo service network -manager stop

Now the logical name of the usb wireless netcard is needed. This can be found bytyping lshw -C Network. It is in most cases called wlan1. Once the name is known, it istime to add a mesh interface. This is done using the following command:

1 iw dev <devname > interface add <name > type mp mesh_id <meshid >

Where <devname> is the logical name of the network card and the field <name>defines the name of the interface. For the rest of this report the name of the interface willbe refered to as mesh. The field <meshid> is the name of the mesh-network must be thesame on all the stations, since only stations with the same mesh id can connect to eachother. The mesh id can have a maximum length of 32 bytes.

Once the interface is added, iw is used to specify the channel:

1 iw mesh set channel 6

Finally an IP adress is assigned to the interface.

1 ifconfig mesh 10.0.0.1

Once the mesh is configured on several machines it is possible to see, which nodesare connected. It should be possible to ping connected nodes if the mesh plink output isESTAB.

1 #iw dev mesh station dump2 Station 28:10:7b:48:a7:da (on mesh)3 inactive time: 320 ms4 rx bytes: 3525 rx packets: 46 tx bytes: 1747 tx packets: 28 signal: -31 dBm9 tx bitrate: 1.0 MBit/s

10 mesh llid: 3257711 mesh plid: 1596912 mesh plink: ESTAB

7

Page 12: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 2. SETUP OF A 802.11S MESH-NETWORK

13 Station 28:10:7b:48:a7:da (on mesh)14 inactive time: 370 ms15 rx bytes: 106416 rx packets: 1217 tx bytes: 55518 tx packets: 719 signal: -33 dBm20 tx bitrate: 1.0 MBit/s21 mesh llid: 4103622 mesh plid: 2443523 mesh plink: ESTAB

Using iw, it is also possible to see the current routing topology.

1 #iw dev mesh mpath dump2 DEST ADDR NEXT HOP IFACE SN METRIC QLEN EXPTIME

DTIM DRET FLAGS3 28:10:7b:48:a7:da 28:10:7b:48:a7:da mesh 24 8364 0 646

0 0 0x144 28:10:7b:48:a7:c6 28:10:7b:48:a7:c6 mesh 112 755 0 2320

0 0 0x15

The MAC adress in the column NEXT HOP show, which address packages arerelayed to in order to reach the adress in column DEST ADDR.

To enforce a specific routing topology the the following commands can be used:

1 sudo iw dev <devname > mpath del <destination mac >2 sudo iw dev <devname > mpath new <destination mac > next_hop <nexthop mac >

A forced routing topology might look like this:

1 #iw dev mesh mpath dump2 DEST ADDR NEXT HOP IFACE SN METRIC QLEN EXPTIME

DTIM DRET FLAGS3 28:10:7b:48:a7:da 28:10:7b:48:a7:c6 mesh 24 152 0 4870

0 0 0x144 28:10:7b:48:a7:c6 28:10:7b:48:a7:c6 mesh 112 171 0 4870

0 0 0x15

Here the traffic to station 28:10:7b:48:a7:da is relayed to 28:10:7b:48:a7:c6.

8

Page 13: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

3 MEASUREMENT SETUPThe measurements are performed in two different scenarios. The first is refered to as’optimal’, since the computers are in the same room and in close proximity of each other tomaximize connectivity. The other scenario is refered to as ’realistic’, since the computersare placed in different rooms, providing results that better reflect real-life deployment.Five laptops are used to carry out the measurements which give the option of having 0,1, 2 or 3 hops/relays from the source computer to the destination. The test-setup can beseen on figure 3.1.

Before the measurements are started, the channel activity is monitored to ensurethat there is not any unusual activity on the channel. This is done using the programwifianalyzer for Android. Channel 6 on the 2.4GHz band has been used for all themeasurements.

Figure 3.1. An illustration of the test-bed with two relays.

In this chapter the following subjects will be covered:

• Routing setup

• Transmission and logging of data

• Time syncronization

• Processing of measurement data

3.0.1 ROUTING SETUPAs explained in section 2.1, iw can be used to force a specific routing topology on theMAC level. It is desired to let the source computer dictate the routing topology of theother computers. This is done by a script, which through Secure Shell (SSH) executes thenecesarry iw commands to enforce the desired topology on the other computers. Duringtests it has been discovered that the MPs are very agressive at dynamically changing therouting topology through their HWMP. To prevent this it is necessary to enforce a verystrict and controlled topology, which limits the MPs from establishing an unwanted andunforseen topology. It is therefore essential to delete and block all the connections to allunecessary peers. The scripts used to control the routing setup can be seen in Appendix8. Table 3.1 shows the list of scipts used for routing.

9

Page 14: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 3. MEASUREMENT SETUP

Name Descriptionhop_test.sh Executes the appropriate routing script

and iperf_test.sh to begin measurement.hop_0_setup.sh Setup 0 hop topology.hop_1_setup.sh Setup 1 hop topology.hop_2_setup.sh Setup 2 hop topology.hop_3_setup.sh Setup 3 hop topology.

mesh_setup Setup mesh interface on the PC.Table 3.1. List of scripts used to control the routing.

3.0.2 TRANSMISSION AND LOGGING OF DATATo transmit data from the source to destination, the program iperf is used. iperf is capableof both unicasting and multicasting traffic using either the TCP or UDP protocol. As thisstudy deals with the feasibility of streaming audio, it is chosen to use UDP, since theadded time penalty and overhead introduced by the TCP protocol is considered too highfor audio streaming. Another benefit of using UDP, is that when iperf transmits via UDP,it creates a bitstream, which is very similar to sound[6].

iperf is also able to measure bandwidth, jitter, and packet loss ratio. The iperfserver (destination) detects UDP datagram loss by ID numbers in the datagrams. If a UDPdatagram is split into several IP packages, then losing a single IP packet will lose the entiredatagram. To measure packet loss ratio instead of datagram loss ratio, the datagrams haveto be small enough to fit into a single packet. The Maximum Transmission Unit (MTU)size is 1470 bytes. iperf also detects out-of-order packages. (Out-of-order packets causesome ambiguity in the lost packet count; iperf assumes they are not duplicate packets, sothey are excluded from the lost packet count.)

The size of the packages used in the tests range from 500 to 2000 bytes, with 100bytes increments.

During the measurements it became apparent that packets were sometimes beingrecieved out of order and duplicated, especially when the number of hops were increased.Since UDP packets have no sequence number, and since iperf does not consider thesepackets as duplicates, iperf is not able to correctly calculate the bandwidth, jitter, andpacket loss ratio.

To get an accurate representation of these parameters, all traffic from the source MPand to the destination MP is logged by tcpdump. To avoid catching unwanted traffic, filtersspecifying the address and ports for the input/output traffic are applied to tcpdump. Thismakes it possible to calculate the number of recieved packets pr. second (bandwidth), thedeviation from true periodicity between arrival time for packages (jitter), and how manyof the transmitted packets are recieved (packet loss).

The latency is very important for the perception of audio, and is therefore animportant parameter to measure. Because asymmetric links frequently occur in wirelessnetworks, round trip latency does not provide a consistent nor accurate measurement ofthe one-way delay To make precise measurements of the latency between the packets being

10

Page 15: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

transmitted from the source MP,and recieved at the destination MP, the data collectedby tcpdump is used. The packets that are transmitted by iperf all have an ID, in therange 0 to 65536. Using this ID tag together with the timestamp for when the packets aresent/revieved, it is possible to calculate the latency, if the local time the source stationand end station is syncronized. A Bash script called iperf_test.sh is used to start tcpdumpand iperf with the correct parameters on the source and destination MP. The script canbe found in Appendix 8.

3.0.3 TIME SYNCRONIZATIONTo syncronize the time, the Precision Time Protocol (PTP) is used. An open sourceimplementation of the protocol is avaliable for Linux in the program ptpd. The host anddestination MP are connected directly through an 802.3 ethernet connection and therebyproviding a low-latency connection for the protocol.

3.0.4 PROCESSING OF MEASUREMENT DATAThis section will briefly describe some of the considerations that has been taken intoaccount in order to process the measurement data. MATLAB is used to perform thecalculations. All MATLAB scripts can be found in the Appendix 7. Table 3.2 shows athe list of scripts and their purpose.

Name Descriptionstore_tcpdump_result.m Executes read_tcpdump.sh and analyze_tcpdump_results.m

analyze_tcpdump_resuls.m Executes timestamp.m, sort_data.m and bw.m.tcpdump_read.sh Read, strip and save content tcpdump files.

timestamp.m Calculate and return timestamp.bw.m Calculate and return bandwidth, jitter and package loss.

Table 3.2. List of scripts used to process the results.

The raw data that is dumped from tcpdump is first stripped so only the timestampsand packet IDs are left. A part of such a sequence can be seen in Table 3.3, wherethe first four columns are the timestamps in hours, minutes, seconds, and microsecondsrespectively. The fifth column contains the package ID.

20 58 46 868515 5275220 58 46 868640 5275320 58 46 868764 5275420 58 46 869025 5275520 58 46 869140 5275620 58 46 869265 5275720 58 46 869512 5275820 58 46 869637 52759

Table 3.3. Example of stripped tcpdump sequence.

11

Page 16: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 3. MEASUREMENT SETUP

To remove duplicates the MATLAB function unique is used. This returns a sortedarray, where repetitions are removed. When the packet ID in a sequence reaches themaximum value (65536), the ID numbers are reset. This means that ID values can berepeated many times during a transmission. In order to only remove duplicated packets,and not packets that share the same ID within a sequence, the unique function must beapplied to a small window of the sequence at a time. This window must be wide enoughto cover potential duplicates, but at the same time narrow enough to not cover packetsthat correctly share the same ID. It is decided to use a window which is 2500 packetswide. The unique function is called with the ’stable’ argument, which returns the arrayunsorted. Notice that this function is only avaliable in MATLAB R2012a or newer.

12

Page 17: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

4 RESULTSThe results will be presented in this chapter. These are divided into two categories, whichare ’optimal’ and ’realistic’.

For each hop size (0,1,2,3), packets ranging from 500 to 2000 bytes, with 100 bytesincrements, are transmitted for a period of 60 seconds. This process is repeated five timesfor each of the two scenarios and the mean of the results is calculated.

The output bandwidth from the source MP is capped at 5 Mbit for 0, 1, and 2 hops,and capped at 2.5 Mbit for 3 hops. The bandwidth is capped to ensure connection doesnot become congested, since this can occur when the packet size is low (<800 byte) and/orif the number of is hops is high. This is properly because as the package size decreases,the number of packages required to maintain the bandwidth increases. This increases theload on the processor, which needs to generate and transmit the packages to the NetworkInterface Card (NIC) itself, which is connected to a rather slow USB2.0 port.

4.1 OPTIMAL SETUPThe results in this section are for the ’optimal’ setup, where all MPs are in very closeproximity of each other.

Figure 4.1 shows the latency for different packet sizes for different number of hops.

Figure 4.1. Latency measured in ms. for different packet sizes for 0,1,2 and 3 hops.

Figure 4.2 shows the bandwidth for different packet sizes for different number ofhops.

Figure 4.3 shows the jitter for different packet sizes for different number of hops.Figure 4.4 shows the package loss ratio for different packet sizes for different number

13

Page 18: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 4. RESULTS

Figure 4.2. Bandwidth measured in Kbit/s for different packet sizes for 0,1,2 and 3 hops.

Figure 4.3. Jitter measured in ms. for different packet sizes for 0,1,2 and 3 hops.

14

Page 19: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

4.2. REALISTIC SETUP

of hops.

Figure 4.4. Packet loss measured in % for different packet sizes for 0,1,2 and 3 hops.

4.2 REALISTIC SETUPThe results in this section are for the ’realistic’ setup, where the MPs are located indifferent rooms.

Figure 4.5 shows the latency for different packet sizes for different number of hops.

Figure 4.5. Latency measured in ms. for different packet sizes for 0,1,2 and 3 hops.

Figure 4.6 shows the bandwidth for different packet sizes for different number of

15

Page 20: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 4. RESULTS

hops.

Figure 4.6. Bandwidth measured in Kbit/s for different packet sizes for 0,1,2 and 3 hops.

Figure 4.7 shows the jitter for different packet sizes for different number of hops.

Figure 4.7. Jitter measured in ms. for different packet sizes for 0,1,2 and 3 hops.

Figure 4.8 shows the package loss ratio for different packet sizes for different numberof hops.

16

Page 21: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

4.2. REALISTIC SETUP

Figure 4.8. Packet loss measured in % for different packet sizes for 0,1,2 and 3 hops.

17

Page 22: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 23: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

5 DISCUSSIONThis section briefly discusses the obtained result and proposes a number of topics forfuture studies. In Table 5.1 and Table 5.2 the mean values for all package sizes are shown.

Hop 0 Hop 1 Hop 2 Hop 3Latency 0.802 1.566 3.399 3.068

Bandwidth 4.999 4.997 4.935 2.492Jitter 0.359 0.487 0.841 1.299

Package loss 0.147 0.188 1.512 0.587Table 5.1. Mean values for all package sizes for optimal scenario.

Hop 0 Hop 1 Hop 2 Hop 3Latency 1.415 2.581 14.091 3.003

Bandwidth 4.994 4.993 4.819 2.499Jitter 0.644 0.948 1.836 1.233

Package loss 0.268 0.409 4.30 0.310Table 5.2. Mean values for all package sizes for realistic scenario.

It should first be noted that the stability of the optimal setup is much better thanthat of the realistic setup. During the realistic setup the MPs had a tendency of losingthe link to other MP, especially during the measurements. The signal strength was mea-sured to be in the -20 to -30 dBm range during the optimal setup, while it was downto the -55 to -65 dBm range during the realistic setup. If the seperation between theMPs was increased (2 offices apart) the connection was too poor to be usable. As the ta-bles show, the loss in signal strenght have a large impact on the performance of the WMN.

From the tables it becomes clear that the network has a better performance with 3hops than with 2 hops. This is because the bandwidth is capped at 2.5Mbps during 3 hopsto avoid congestion and unstable connection. Nonetheless, the mean latency is seems toincrease less than a millisecond for a an additional hop is added to the path.

RTS/CTSFrom the results it is obvious that the performance deteriorates when the packets needto travel more hops to reach their destination. This is expected since each additionalMP on the route will increase the latency and cause potential packet loss. As Figure4.4 and 4.8 show, the deterioration of the quality becomes worse as additional hops areadded. This is properly because when the number of hops increases, the overall activityon the channel will rise. As the MPs share the same channel this will cause an increasein packet collisions. Collisions can be avoided by enabling Request to Send/Clear toSend (RTS/CTS), which have been disabled for the measurements. Some work has been

19

Page 24: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 5. DISCUSSION

done on the effect of enabling RTS/CTS in WMN. In [7] the authors argue that RTS/CTSshould not be enabled since it increases packet overhead and limits the channel capacity.However, another study[8] recommends RTS/CTS to be enabled for WMN with a highdensity deployment to avoid excessive collisions. RTS/CTS is also recommended in IEEE802.11[7].

UTILIZING SEVERAL CHANNELSSince all MPs are communicating on the same channel, the channel noise will obviouslyincrease as additional MPs are added to the WMN. As a result, the last MP on the pathwill get a lower quality signal than the other MPs, as this signal has been subject to moreinterference. A proposed solution to this problem is to utilize several channels, by havingtwo or more wireless netcards on each MP. A MP can then choose to recieve traffic onone channel, and relay it on another channel.

Figure 5.1. A wireless signal from a base station is relayed through 2 MPs before reaching itsdestination. The MPs are using different channels for recieving/relaying the signal, toutilize the entire band.

This solution allows the WMN to utilize the entire 2.4GHz band. An illustration ofthis can be seen on figure 5.1.

BEACON INTERVALAnother factor that may have an effect when additional MPs are connected to the WMNis the beacon interval. A MP broadcasts a beacon to let other MPs know its in range ofthe WMN. The strength of the beacon can also be used a parameter, when setting up arouting topology. As a general rule, the shorter the interval between beacons, the morestable the connection becomes. However, as the beacons themself consumes a part ofthe bandwidth, the beacon interval becomes a tradeoff between throughput and stability.Adding more MPs to the WMN will therefore have a negative effect on the throughput. Itis recommended to increase the beacon interval for high density WMN[8]. All MPs have

20

Page 25: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

had a 1000ms beacon interval for the measurements.

802.11nFor the test-bed it was necessary to put a cap on the bandwidth to avoid networkcongestion. The cap was 5Mbps for 0,1, and 2 hops and 2.5Mbps for 3 hops. It is verylikely that this cap can be increased by using 802.11n compatible netcards, as they allowup to 300Mbps connections, which is significantly higher than the 54Mbps the test-bedis capable of. Using a high-speed bus connection between the PC and the NIC, fx. aPCI-Express, might also minimize the risk of congestion[8], and thereby allowing a higherthroughput.

21

Page 26: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 27: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

6 CONCLUSIONSThis study has examined how the number of hops packages have to travel in a WMN affectsthe latency, bandwidth, jitter and package loss. The results show, as expected, that asmore hops are added the latency increases and the quality of the signal deteriorates. Thepackage size does not seem to have any major influence on the measured parameters.

One of the major concerns when transmitting audio is the latency, as this is importfor the perception of the sound. The latency increases as more hops are added, however,under the optimal scenario the latency increases with less than a millisecond pr. addedhop

The quality of the signal can very likely be improved by enabling RTS/CTS andadjusting the beacon interval. Currently the bandwidth is capped, but by using higherquality hardware, which is able to sustain a higher throughput, this cap can most likelybe raised.

Relevant subjects for future research in the area should therefore focus on the effectof RTS/CTS, the period of beacon interval, and how highspeed hardware such as 802.11nnetcards and a faster bus connection performs.

23

Page 28: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 29: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

7 APPENDIX A

7.1 store_tcpdump_results.m1 % Store graphs and results over package size , number of hops , latency ,2 % bandwidth , jitter and package loss.34 function store_tcpdump_results56 line = 1;78 for hop = 0:1:29

10 for package = 500:100:20001112 sumLatency = 0;13 sumLoss = 0;14 sumJitter = 0;15 sumBandwidth = 0;1617 for iteration = 21819 syscmd = sprintf (’./ tcpdump_read.sh %d %d %d’, package ,

iteration , hop);20 system(syscmd);2122 [latency ,bandwidth ,jitter ,loss] =

analyze_tcpdump_results(hop ,package ,iteration);23 sumLatency = sumLatency + mean(latency);24 sumBandwidth = sumBandwidth + mean(bandwidth);25 sumLoss = sumLoss + mean(loss);26 sumJitter = sumJitter + mean(jitter);27 end2829 meanLatency = sumLatency /1;30 meanJitter = sumJitter /1;31 meanLoss = sumLoss /1;32 meanBandwidth = sumBandwidth /1;3334 result(line ,1) = hop;35 result(line ,2) = package;36 result(line ,3) = meanLatency;37 result(line ,4) = meanJitter;38 result(line ,5) = meanLoss;39 result(line ,6) = meanBandwidth;4041 line = line + 1;4243 end4445 end4647 result48 save(’result ’);4950 % Create graph. Package size vs latency for different number of hops.51 n=find(result (:,1) ==0);

25

Page 30: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 7. APPENDIX A

52 hop0package = result(n,2);53 hop0latency = result(n,3);54 hop0jitter = result(n,4);55 hop0loss = result(n,5);56 hop0bandwidth = result(n,6);5758 n=find(result (:,1) ==1);59 hop1package = result(n,2);60 hop1latency = result(n,3);61 hop1jitter = result(n,4);62 hop1loss = result(n,5);63 hop1bandwidth = result(n,6);6465 n=find(result (:,1) ==2);66 hop2package = result(n,2);67 hop2latency = result(n,3);68 hop2jitter = result(n,4);69 hop2loss = result(n,5);70 hop2bandwidth = result(n,6);7172 n=find(result (:,1) ==3);73 hop3package = result(n,2);74 hop3latency = result(n,3);75 hop3jitter = result(n,4);76 hop3loss = result(n,5);77 hop3bandwidth = result(n,6);7879 fig = figure(’Visible ’, ’off ’);clf;80 set(gca ,’FontSize ’,14);81 ylabel(’Latency [ms]’);82 xlabel(’Package size [byte]’);83 plot(hop0package ,hop0latency ,hop1package ,hop1latency ,hop2package ,hop2latency ,hop3package ,hop3latency);84 legend(’0 hop ’,’1 hop ’,’2 hop ’,’3 hop ’,’Location ’,’NorthEast ’)85 saveas (fig ,’latency ’, ’png ’ )8687 fig = figure(’Visible ’, ’off ’);clf;88 set(gca ,’FontSize ’,14);89 ylabel(’Bandwidth [Mbit]’);90 xlabel(’Package size [byte]’);91 plot(hop0package ,hop0bandwidth ,hop1package ,hop1bandwidth ,hop2package ,hop2bandwidth ,hop3package ,hop3bandwidth);92 legend(’0 hop ’,’1 hop ’,’2 hop ’,’3 hop ’,’Location ’,’NorthEast ’)93 saveas (fig ,’bandwidth ’, ’png ’ )9495 fig = figure(’Visible ’, ’off ’);clf;96 set(gca ,’FontSize ’,14);97 ylabel(’Jitter [ms]’);98 xlabel(’Package size [byte]’);99 plot(hop0package ,hop0jitter ,hop1package ,hop1jitter ,hop2package ,hop2jitter ,hop3package ,hop3jitter);

100 legend(’0 hop ’,’1 hop ’,’2 hop ’,’3 hop ’,’Location ’,’NorthEast ’)101 saveas (fig ,’jitter ’, ’png ’ )102103 fig = figure(’Visible ’, ’off ’);clf;104 set(gca ,’FontSize ’,14);105 ylabel(’Lost packages ’);106 xlabel(’Package size [byte]’);107 plot(hop0package ,hop0loss ,hop1package ,hop1loss ,hop2package ,hop2loss ,hop3package ,hop3loss);108 legend(’0 hop ’,’1 hop ’,’2 hop ’,’3 hop ’,’Location ’,’NorthEast ’)109 saveas (fig ,’loss ’, ’png ’ )

26

Page 31: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

7.2. ANALYZE_TCPDUMP_RESULTS.M

7.2 analyze_tcpdump_results.m1 % Analyze Mesh streaming data.2 function [latency ,bandwidth ,jitter ,loss] =

analyze_tcpdump_results(hop ,package ,iteration)34 tmpS=importdata(sprintf(’tcpdump_results/tcpdumpS_%d_%d_%d’, package ,

iteration , hop));5 tmpD=importdata(sprintf(’tcpdump_results/tcpdumpD_%d_%d_%d’, package ,

iteration , hop));67 timeS=timestamp(tmpS);8 timeD=timestamp(tmpD);9

10 idD=tmpD (:,5);11 idS=tmpS (:,5);1213 [sortedS ,timeS]= sort_data(idS ,timeS);14 [sortedD ,timeD]= sort_data(idD ,timeD);1516 % C is vector with common ID ’s between idS and idD.17 % IS is a vector showing which indexes in idS are common with idD.18 % ID is a vector showing which indexes in idD are common with idS.19 [C,IS,ID] = intersect(sortedS ,sortedD);2021 timecS = timeS(IS);22 timecD = timeD(ID);2324 % Call bw.m to calculate bandwidth , jitter and loss.25 [bandwidth ,jitter ,loss] = bw(timecD ,timecS ,timeS ,package);26 latency = (timecD -timecS);2728 % Construct the timeaxis from delta values between consecutive timestamps29 for j=1: length(timecD)30 if j==131 timeaxis(j)=0;3233 else34 delta(j)=timecD(j)-timecD(j-1);35 timeaxis(j) = timeaxis(j-1)+delta(j);36 end37 end38 timeaxis = timeaxis /1000;39404142 % Save plots43 % fig = figure(’Visible ’, ’off ’);clf;hold on;44 set(gca ,’FontSize ’,14);4546 fig = figure(’Visible ’, ’off ’);clf;47 figName = sprintf(’latency_%d_%d_%d’, package , iteration , hop);48 ylabel(’Latency [ms]’);49 xlabel(’Time [sec]’);50 plot(timeaxis ,latency);51 saveas (fig ,figName ,’png ’)52 syscmd = sprintf(’mv latency_%d_%d_%d.png graphs/’,

package ,iteration ,hop);

27

Page 32: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 7. APPENDIX A

53 system(syscmd);5455 fig = figure(’Visible ’, ’off ’);clf;56 figName = sprintf(’loss_%d_%d_%d’, package , iteration , hop);57 ylabel(’Package loss ’);58 xlabel(’Time [sec]’);59 plot(loss);60 saveas (fig ,figName ,’png ’)61 syscmd = sprintf(’mv loss_%d_%d_%d.png graphs/’, package ,iteration ,hop);62 system(syscmd);6364 fig = figure(’Visible ’, ’off ’);clf;65 figName = sprintf(’bw_%d_%d_%d’, package , iteration , hop);66 ylabel(’Bandwidth [Mbit]’);67 xlabel(’Time [sec]’);68 plot(bandwidth);69 saveas (fig ,figName ,’png ’)70 syscmd = sprintf(’mv bw_%d_%d_%d.png graphs/’, package ,iteration ,hop);71 system(syscmd);7273 fig = figure(’Visible ’, ’off ’);clf;74 figName = sprintf(’jitter_%d_%d_%d’, package , iteration , hop);75 ylabel(’Jitter [ms]’);76 xlabel(’Time [sec]’);77 plot(timeaxis ,jitter)78 saveas (fig ,figName ,’png ’)79 syscmd = sprintf(’mv jitter_%d_%d_%d.png graphs/’, package ,iteration ,hop);80 system(syscmd);8182 return

28

Page 33: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

7.3. TIMESTAMP.M

7.3 timestamp.m1 % Calculate timestamp in microseconds23 function time = timestamp(tmp)45 locMinute=find(diff(tmp(:,2)) >=1);6 time= tmp(:,3) *10^6 + tmp(:,4);7 for j=1: length(locMinute)8 if (j== length(locMinute))9 time(locMinute(j)+1:end) = time(locMinute(j)+1:end) + j*60*10^6;

10 else11 time(locMinute(j)+1: locMinute(j+1)) =

time(locMinute(j)+1: locMinute(j+1)) + j*60*10^6;12 end13 end1415 locHour=find(diff(tmp(:,1)) >=1);16 for j=1: length(locHour)17 if (j== length(locHour))18 time(locHour(j)+1:end) = time(locHour(j)+1:end) + j*60*10^6;19 else20 time(locHour(j)+1: locHour(j+1)) = time(locHour(j)+1: locHour(j+1))

+ j*60*10^6;21 end22 end2324 % Convert to milliseconds25 time=time /1000;2627 return

29

Page 34: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 7. APPENDIX A

7.4 sort_data.m1 % Sort out of order packages , by removing duplicated ID ’s in close2 % proximity of eachother.3 % The ID’s are sorted for duplicates within a window of length 2500.4 % Afterwards the ID’s are extended by 2^16, if a large drop in ID value is5 % detected (meaning the UDP ID counter have reset).67 function [id,time]= sort_data(id,time)89 idSorted = [];

10 timeIndex = [];11 index = [];12 t = 0;13 window = 2500;14 no = ceil(length(id)/window);1516 for k=1: window:length(id)1718 t = t + 1;19 if t == no20 [sorted ,index ,IC] = unique(id(k:end),’stable ’);21 idSorted = [idSorted; sorted ];22 index = index + k-1;23 timeIndex = [timeIndex;index ];24 else25 [sorted ,index ,IC] = unique(id(k:k+window -1) ,’stable ’);26 idSorted = [idSorted; sorted ];27 index = index + k-1;28 timeIndex = [timeIndex;index ];29 end30 end31 id = idSorted;32 time = time(timeIndex);3334 % Extend package ID if they drop more than 3000035 t = 0;36 no = ceil(length(id)/window);37 for k=1: window:length(id)38 t = t + 1;39 if t == no40 loc=find(diff(id(k:end)) <=-30000);4142 if length(loc) >=143 id(k+loc(1):end) = id(k+loc (1):end) + 2^16;44 end4546 else47 loc=find(diff(id(k:k+window -1)) <=-30000);4849 if length(loc) >=150 id((k+loc(1)):end) = id((k+loc (1)):end) + 2^16;51 end52 end53 end5455 % Remove duplicates. *Might be redundant*56 [id,index ,IC] = unique(id ,’stable ’);

30

Page 35: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

7.4. SORT_DATA.M

5758 % Update timestamp with new index values59 time=time(index);6061 return

31

Page 36: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 7. APPENDIX A

7.5 bw.m1 % Calculates bandwidth , jitter and package loss from tcpdump data.23 function [bandwidth ,jitter ,loss] = bw(timecD ,timecS ,timeS ,packageSize)45 p=1;6 packagesPrSecDestination =[];7 for t = min(timecD):1000: max(timecD)89 if t == min(timecD)

10 packagesPrSecDestination(p) = length(find(timecD >t &timecD <t+1000));

11 p=p+1;12 else1314 packagesPrSecDestination(p) = length(find(timecD >t-1000 &

timecD <t));15 p = p+1;16 end17 end1819 p=1;20 packagesPrSecSource =[];21 for t = min(timeS):1000: max(timeS)2223 if t == min(timeS)24 packagesPrSecSource(p) = length(find(timeS >t & timeS <t+1000));25 p=p+1;26 else2728 packagesPrSecSource(p) = length(find(timeS >t -1000 & timeS <t));29 p = p+1;30 end31 end323334 % Bandwidth in mega bit/interval = number of packages pr interval *

package size * 8.35 bandwidth = (packagesPrSecDestination * packageSize * 8) /1000;3637 % Package loss38 loss=abs(packagesPrSecSource (1: length(packagesPrSecDestination))-packagesPrSecDestination (1: length(packagesPrSecDestination)));394041 % Jitter42 jd = diff(timecD);43 js = diff(timecS);44 jitter = abs(js-jd);45 jitter = [jitter; 0;];4647 return

32

Page 37: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

7.6. TCPDUMP_READ.SH

7.6 tcpdump_read.sh1 # Script for reading tcpdump files.2 # Input 1 = package size.3 # Input 2 = iteration number.4 # Input 3 = hop number.56 #!/bin/bash78 mkdir tcpdump_results9

10 tcpdump -r results/source/$3_hop/tcp_results_$1_$2 -v | grep IP | awk -F"" {’print $1" "$8 ’} | awk -F"," {’print $1 ’} | sed ’s/:/ /g’ | sed’s/\./ /g’ > tcpdumpS"_"$1"_"$2"_"$3

11 tcpdump -r results/destination/$3_hop/tcp_results_$1_$2 -v | grep IP |awk -F" " {’print $1" "$8 ’} | awk -F"," {’print $1 ’} | sed ’s/:/ /g’| sed ’s/\./ /g’ > tcpdumpD"_"$1"_"$2"_"$3

1213 mv tcpdumpS"_"$1"_"$2"_"$3 tcpdump_results/14 mv tcpdumpD"_"$1"_"$2"_"$3 tcpdump_results/

33

Page 38: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh
Page 39: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

8 APPENDIX B

8.1 iperf_test.sh1 # Iterates iperf package size. Saves bandwidth , packet loss , jitter and

timestamps.23 #!/bin/bash45 for iter in {1..5..1}67 do8 for package in {500..2000..100}9

10 do1112 # Save signal strength13 iw mesh station dump > ~/ results/mesh_scan_$package ’_’$iter.txt14 ssh toshiba -9@192 .168.0.9 ’iw mesh station dump >

~/ results/mesh_scan_ ’$package ’_’$iter ’.txt ’1516 # Save mpath17 echo 123456 | sudo -S iw mesh mpath dump >

~/ results/mpath_$package ’_’$iter.txt18 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

dump > ~/ results/mpath_ ’$package ’_’$iter ’.txt ’ > /dev/null 2>&1 &1920 # Start iperf on remote machine21 ssh toshiba -9@192 .168.0.9 ’nohup iperf -s -u -P 0 -i 1 -p 5001 -l

’$package ’ -f k >~/ results/iperf_results_ ’$package ’_’$iter ’.txt &’

2223 # Start tcpdump to monitor beacons on remote machine24 #ssh toshiba -6@192 .168.0.6 ’echo 123456 | sudo -S nohup tcpdump -i

mon "ether host 28:10:7b:48:a7:7f" -w~/ results/beacon_ ’$package ’_’$iter ’ > /dev/null 2>&1 &’

2526 # Start tcpdump on remote machine27 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup tcpdump -i

mesh src 10.0.0.4 and dst port 5001 -w~/ results/tcp_results_ ’$package ’_’$iter ’ > /dev/null 2>&1 &’

2829 # Start tcpdump on source machine30 echo 123456 | sudo -S tcpdump -i mesh dst 10.0.0.9 and port 5001 -w

~/ results/tcp_results_$package ’_’$iter &3132 # Start tcpdump to monitor beacons on host machine33 #sudo tcpdump -i mon "ether host 28:10:7b:48:a7:c6" -w

~/ results/beacon_$package ’_’$iter &3435 sleep 23637 # Start iperf on source machine38 printf ’Transmitting ’$package ’ byte packages for 600 seconds. \n’39 iperf -c 10.0.0.9 -u -P 1 -i 1 -p 5001 -l $package -f k -b 5.0M -t

600 -T 255 > ~/ results/iperf_results_$package ’_’$iter.txt40 printf ’Succesfully transmitted ’$package ’ byte packages \n’

35

Page 40: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 8. APPENDIX B

4142 sleep 24344 # Kill tcpdump on source machine45 echo 123456 | sudo -S killall tcpdump4647 sleep 24849 # Kill tcpdump on remote machine50 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S killall tcpdump ’5152 # Kill iperf on remote machine53 ssh toshiba -9@192 .168.0.9 killall iperf5455 sleep 25657 done5859 printf ’Iteration ’$iter ’ done. Sleeping for 30 minutes before starting

on next iteration. \n’6061 sleep 18006263 done

36

Page 41: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

8.2. HOP_TEST.SH

8.2 hop_test.sh1 #!/bin/bash23 # Script for testing bandwidth , packet loss , jitter and latency for a

number of mesh hops , using the ./ iperf_test script.45 # List of computers:6 # toshiba -9 - 10.0.0.9 - 192.168.0.9 - 28:10:7b:48:a7:7f7 # toshiba -3 - 10.0.0.6 - 28:10:7b:48:a7:c68 # toshiba -4 - 10.0.0.4 - 192.168.0.4 - 28:10:7b:48:a7:da9 # toshiba -5 - 10.0.0.5 - 28:10:7b:48:a7:0f

10 # toshiba -7 - 10.0.0.7 - 28:10:7b:48:a7:611112 # Remember to start ptpd on source and host in proper time before

starting measurements.13 # Remember to setup mesh on all machines by running ./ mesh_setup.1415 # Starting 0 hop test16 # toshiba -4 -> toshiba -917 ./ hop_0_setup.sh18 ping 10.0.0.9 -w 2019 ssh toshiba -9@192 .168.0.9 ping 10.0.0.4 -w 202021 printf ’Starting 0 hop test \n’22 ./ iperf_test.sh2324 # Store results25 mkdir ~/ results /0_hop/26 cp ~/ results /* ~/ results /0_hop/2728 ssh toshiba -9@192 .168.0.9 mkdir /home/toshiba -9/ results /0_hop/29 ssh toshiba -9@192 .168.0.9 cp /home/toshiba -9/ results /*

/home/toshiba -9/ results /0_hop/30 ssh toshiba -9@192 .168.0.9 rm -f ~/ results /*3132 # Starting 1 hop test.33 # toshiba -4 -> toshiba -3 -> toshiba -93435 printf ’\nStarting routing setup for 1 hop \n’36 ./ hop_1_setup.sh37 ping 10.0.0.9 -w 2038 ssh toshiba -9@192 .168.0.9 ping 10.0.0.4 -w 20394041 printf ’Starting 1 hop test \n’42 ./ iperf_test.sh4344 mkdir ~/ results /1_hop/45 cp ~/ results /* ~/ results /1_hop/4647 ssh toshiba -9@192 .168.0.9 mkdir /home/toshiba -9/ results /1_hop/48 ssh toshiba -9@192 .168.0.9 cp /home/toshiba -9/ results /*

/home/toshiba -9/ results /1_hop/49 ssh toshiba -9@192 .168.0.9 rm -f ~/ results /*5051 # Starting 2 hop test.52 # toshiba -4 -> toshiba -3 -> toshiba -6 -> toshiba -9

37

Page 42: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 8. APPENDIX B

5354 printf ’\nStarting routing setup for 2 hop \n’55 ./ hop_2_setup.sh56 ping 10.0.0.9 -w 2057 ssh toshiba -9@192 .168.0.9 ping 10.0.0.4 -w 20585960 printf ’Starting 2 hop test \n’61 ./ iperf_test.sh6263 mkdir ~/ results /2_hop/64 cp ~/ results /* ~/ results /2_hop/6566 ssh toshiba -9@192 .168.0.9 mkdir /home/toshiba -9/ results /2_hop/67 ssh toshiba -9@192 .168.0.9 cp /home/toshiba -9/ results /*

/home/toshiba -9/ results /2_hop/68 ssh toshiba -9@192 .168.0.9 rm -f ~/ results /*6970 # Starting 3 hop test.71 # toshiba -4 -> toshiba -3 -> toshiba -6 -> toshiba -7 -> toshiba -97273 printf ’\nStarting routing setup for 3 hop \n’74 ./ hop_3_setup.sh75 ping 10.0.0.9 -w 2076 ssh toshiba -9@192 .168.0.9 ping 10.0.0.4 -w 207778 printf ’Starting 3 hop test \n’79 ./ iperf_test.sh8081 mkdir ~/ results /3_hop/82 cp ~/ results /* ~/ results /3_hop/8384 ssh toshiba -9@192 .168.0.9 mkdir /home/toshiba -9/ results /3_hop/85 ssh toshiba -9@192 .168.0.9 cp /home/toshiba -9/ results /*

/home/toshiba -9/ results /3_hop/86 ssh toshiba -9@192 .168.0.9 rm -f ~/ results /*

38

Page 43: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

8.3. HOP_0_SETUP.TEX

8.3 hop_0_setup.tex1 # Script for setting up mesh network.23 # List of computers:4 # toshiba -4 - 10.0.0.4 - 192.168.0.4 - 28:10:7b:48:a7:da ->5 # toshiba -9 - 10.0.0.9 - 192.168.0.9 - 28:10:7b:48:a7:7f <-67 #!/bin/bash89 # 2x4

10 printf ’\n Setting up routing on relay -1 (toshiba -5) \n’11 ssh toshiba -5@10 .0.0.5 ’echo 123456 | sudo -S nohup iw mesh mpath del

28:10:7b:48:a7:61’12 ssh toshiba -5@10 .0.0.5 ’echo 123456 | sudo -S nohup iw mesh station

set 28:10:7b:48:a7:61 plink_action block ’1314 # 4x215 printf ’\n Setting up routing on relay -3 (toshiba -7) \n’16 ssh toshiba -7@10 .0.0.7 ’echo 123456 | sudo -S nohup iw mesh mpath del

28:10:7b:48:a7:0f’17 ssh toshiba -7@10 .0.0.7 ’echo 123456 | sudo -S nohup iw mesh station

set 28:10:7b:48:a7:0f plink_action block ’1819 # 1x320 printf ’\n Setting up routing on source (toshiba -4) \n’21 echo 123456 | sudo -S iw mesh mpath del 28:10:7b:48:a7:c622 echo 123456 | sudo -S iw mesh station set 28:10:7b:48:a7:c6

plink_action block2324 # 1x425 printf ’\n Setting up routing on source (toshiba -4) \n’26 echo 123456 | sudo -S iw mesh mpath del 28:10:7b:48:a7:6127 echo 123456 | sudo -S iw mesh station set 28:10:7b:48:a7:61

plink_action block2829 # 3x130 printf ’\n Setting up routing on relay -2 (toshiba -6) \n’31 ssh toshiba -5@10 .0.0.5 ’echo 123456 | ssh toshiba -6@10 .0.0.6 sudo -S

nohup iw mesh mpath del 28:10:7b:48:a7:da’32 ssh toshiba -5@10 .0.0.5 ’echo 123456 | ssh toshiba -6@10 .0.0.6 sudo -S

nohup iw mesh station set 28:10:7b:48:a7:da plink_action block ’3334 # 4x135 printf ’\n Setting up routing on relay -3 (toshiba -7) \n’36 ssh toshiba -9@10 .0.0.9 ’echo 123456 | ssh toshiba -7@10 .0.0.7 sudo -S

nohup iw mesh mpath del 28:10:7b:48:a7:da’37 ssh toshiba -9@10 .0.0.9 ’echo 123456 | ssh toshiba -7@10 .0.0.7 sudo -S

nohup iw mesh station set 28:10:7b:48:a7:da plink_action block ’

39

Page 44: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 8. APPENDIX B

8.4 hop_1_setup.tex1 # Script for setting up mesh network.23 # List of computers:4 # toshiba -4 - 10.0.0.4 - 192.168.0.4 - 28:10:7b:48:a7:da ->5 # toshiba -5 - 10.0.0.5 - 192.168.0.5 - 28:10:7b:48:a7:0f <->6 # toshiba -9 - 10.0.0.9 - 192.168.0.9 - 28:10:7b:48:a7:7f <-78 #!/bin/bash9

10 # 5x111 printf ’\n Setup routing on host (toshiba -9) \n’12 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

del 28:10:7b:48:a7:da ’13 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh

station set 28:10:7b:48:a7:da plink_action block ’14 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

new 28:10:7b:48:a7:da next_hop 28:10:7b:48:a7:0f’1516 # 1x517 printf ’\n Setup routing on source (toshiba -4) \n’18 echo 123456 | sudo -S iw mesh mpath del 28:10:7b:48:a7:7f19 echo 123456 | sudo -S iw mesh station set 28:10:7b:48:a7:7f

plink_action block20 echo 123456 | sudo -S iw mesh mpath new 28:10:7b:48:a7:7f next_hop

28:10:7b:48:a7:0f

40

Page 45: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

8.5. HOP_2_SETUP.TEX

8.5 hop_2_setup.tex1 # Script for setting up mesh network.23 # List of computers:4 # toshiba -4 - 10.0.0.4 - 192.168.0.4 - 28:10:7b:48:a7:da ->5 # toshiba -5 - 10.0.0.5 - 192.168.0.5 - 28:10:7b:48:a7:0f <->6 # toshiba -6 - 10.0.0.6 - 192.168.0.6 - 28:10:7b:48:a7:c6 <->7 # toshiba -9 - 10.0.0.9 - 192.168.0.9 - 28:10:7b:48:a7:7f <-89 #!/bin/bash

1011 # 5x212 printf ’\n Setup routing on host (toshiba -9) \n’13 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

del 28:10:7b:48:a7:0f’14 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh

station set 28:10:7b:48:a7:0f plink_action block ’15 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

new 28:10:7b:48:a7:0f next_hop 28:10:7b:48:a7:c6 ’1617 # 2x518 printf ’\n Setup routing on relay 1 (toshiba -5) \n’19 ssh toshiba -5@10 .0.0.5 ’echo 123456 | sudo -S nohup iw mesh mpath del

28:10:7b:48:a7:7f’20 ssh toshiba -5@10 .0.0.5 ’echo 123456 | sudo -S nohup iw mesh station

set 28:10:7b:48:a7:7f plink_action block ’21 ssh toshiba -5@10 .0.0.5 ’echo 123456 | sudo -S nohup iw mesh mpath new

28:10:7b:48:a7:7f next_hop 28:10:7b:48:a7:c6’

41

Page 46: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

WORKSHEET 8. APPENDIX B

8.6 hop_3_setup.tex1 # Script for setting up mesh network.23 # List of computers:4 # toshiba -4 - 10.0.0.4 - 192.168.0.4 - 28:10:7b:48:a7:da ->5 # toshiba -6 - 10.0.0.6 - 192.168.0.6 - 28:10:7b:48:a7:c6 <->6 # toshiba -5 - 10.0.0.5 - 192.168.0.5 - 28:10:7b:48:a7:0f <->7 # toshiba -7 - 10.0.0.7 - 192.168.0.7 - 28:10:7b:48:a7:61 <->8 # toshiba -9 - 10.0.0.9 - 192.168.0.9 - 28:10:7b:48:a7:7f <-9

10 #!/bin/bash1112 # 5x313 printf ’\n Setting up routing on host (toshiba -9) \n’14 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

del 28:10:7b:48:a7:c6 ’15 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh

station set 28:10:7b:48:a7:c6 plink_action block ’16 ssh toshiba -9@192 .168.0.9 ’echo 123456 | sudo -S nohup iw mesh mpath

new 28:10:7b:48:a7:c6 next_hop 28:10:7b:48:a7:61’1718 # 3x519 printf ’\n Setting up routing on relay 2 (toshiba -6) \n’20 ssh toshiba -5@10 .0.0.5 ’echo 123456 | ssh toshiba -6@10 .0.0.6 sudo -S

nohup iw mesh mpath del 28:10:7b:48:a7:7f’21 ssh toshiba -5@10 .0.0.5 ’echo 123456 | ssh toshiba -6@10 .0.0.6 sudo -S

nohup iw mesh station set 28:10:7b:48:a7:7f plink_action block ’22 ssh toshiba -5@10 .0.0.5 ’echo 123456 | ssh toshiba -6@10 .0.0.6 sudo -S

nohup iw mesh mpath new 28:10:7b:48:a7:7f next_hop28:10:7b:48:a7:c6’

42

Page 47: FEASIBILITY STUDY OFMESH TECHNOLOGIES FOR AUDIO …kom.aau.dk/~jo/papers/mas_v1.pdf · 1 PROJECT DESCRIPTION This project serves as a feasiblity study on the use of Wireless Mesh

Bibliography[1] IEEE, IEEE P802.11-2007, “Information Technology — Telecommunications and

Information Exchange Between Systems — Local and Metropolitan Area Networks— Specific Requirements — Part 11: Wireless Medium Access Control (MAC) andPhysical Layer (PHY) Specifications, Std., 2007.

[2] www.ubuntu.com, “wlan - generic 802.11 link-layer support.”http://manpages.ubuntu.com/manpages/lucid/man4/wlan.4freebsd.html, 2010.

[3] L. J. S. Cuenca, “802.11s based wireless mesh network (wmn) test-bed.” 2010.

[4] “Comment 25 for bug 58307.” https://bugs.launchpad.net/ubuntu/+source/kernel-package/+bug/58307/comments/25, 2011.

[5] U. KernelTeam, “Kernel build and installation,”https://wiki.ubuntu.com/KernelTeam/GitKernelBuild, 2011.

[6] I. U. Doc, “Iperf version 1.7.0,” http://www.netcheif.com/downloads/iperf.pdf, 2003.

[7] E. M. B.-R. K. C. A. Yuan Sun, Irfan Sheriff, “An experimental stury of multimediatraffic performance in mesh networks.”

[8] J.-H. Y. S.-Y. C. Ying-Dar Lin, Shun-Lee Chang, “Indoor deployment of ieee 802.11smesh networks: Lessons and guidelines,” Ad Hoc Networks.

43