Mesh Network Testbed and Video Stream Measurement Nan Li Email: nli@cs.uml.edu Abstract In this project, we set up a mesh network testbed with nine desktops and three laptops. We install on desktop two Atheros radio cards and one wispy device to implement a flexibility test environment for mesh network, multi-radios network and measurement based network experiments. Each laptop has one Atheros PCMCIA radio card, which can implement the mobile situation for network measurement. The project is the foundation of the future mesh network research. In order to study the efficiency of the testbed, we used this testbed to measure some basic characteristics of the wireless link and ran a video stream application over the testbed, measuring the video performance with different traffic conditions. I. INTRODUCTION Wireless networks, such as 802.11, have enjoyed an unprecedented adoption rate in recent years, and their deployment continues to grow. Using 802.11 to implement the mesh network is one of hot topics. Mesh networking is a way to route data, voice, and video among nodes. It allows for continuous connections and reconfiguration around broken or blocked paths by hopping from node to node until the destination is reached. In this area, there are a lot of research problems which are open for academic research, such as security, routing protocol, cross layer design, and so on. To prove the correctness of research result or evaluate the performance of algorithms, there are two different approaches. One of them is using software simulator, such as NS-2, which provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless network. The advantages of using software simulator are the low cost for large scale test and quick implementation of new protocol without considering other layer s detail. The disadvantages are there is always gaps between the real system and simulation models, since it is impossible to simulate all hardware and communication link situations with software simulator. The other approach is using physical computers to set up a testbed, and implementing the real system on it. It is a necessary way to complement software simulator. Ideally, the testbed shall have at least the following characteristics. 1) Open source driver and routing protocol. Most research work with link layer and routing layer. An open source implementation provides the possibility to change behaviors of these two layers. 2) Enough computing capability. Because most research is focused on improving the network throughput, speed up the converging of algorithm and so on. During performance test, the CPU, memory and hard disk should not be the bottleneck which impacts the test result. In this project, we used the testbed to test the wireless link characteristics and ran a multimedia application over the testbed to measure the video performance via traffic congestion situation. The rest of paper is structured as follows. Section 2 gives a brief overview of one of multimedia formats, MPEG4, and introduction of how to evaluate video performance. Section 3 describes the details testbed setup. The test process and results are explained in detail in section 4. Section 5 gives the final conclusion and further work. II. BASIC CONCEPTIONS OF VIDEO With the computer ability improvement, the multimedia applications have become the one of most popular topics. From sound to video, the current computer can provide high performance multimedia services. Especially under the development of network technology, the bandwidth of network gives the possibility of real-time multimedia services. To apply the video application over mesh network is interesting. Base on mesh network, there are a lot of useful services that possible, such as wireless surveillance system. Using wireless to replace wire, the surveillance system s cost will be dramatically reduced and its deployment would be much easier. However, whether the mesh network can provide video service as good as wired network is still an issue. Generally, the video transmission requires high throughput on network. To evaluate the video performance over mesh network, we briefly introduce some basic concepts about multimedia here. A. YUV Format The YUV format defines a color space in terms of one luminance and two chrominance components. YUV is used in the analog variant of the PAL system of television broadcasting, which is the standard in many counts. In video system, if a video file uses the YUV format to express the frames of video, that is the raw video format without any compression. Those files are usually large and have the extension name *.yuv. The advantage of YUV is that some of the information can be discarded in order to reduce bandwidth. The human eye has fairly little color sensitivity: the accuracy of the brightness information of the luminance channel has far more impact on the image discerned than that of the other two. In this project, we will convert the compressed video stream to YUV format in order to measure the performance.
B. MPEG4 MPEG4 is the successor of the audio and video compression standards MPEG1 and MPEG2, which were developed to make video and audio streaming possible in environments with limited bandwidth or storage space. MPEG-4 audio visual scenes are composed of several media objects, organized in a hierarchical fashion. At the leaves of the hierarchy, we find primitive media objects, such as: Still images (e.g. as a fixed background); Video objects (e.g. a talking person - without the background; Audio objects (e.g. the voice associated with that person, background music); Using the MPEG4 as the video codec to stream the video over mesh network, there are the following advantages. Complexity scalability in the encoder allows encoders of different complexity to generate valid and meaningful bit streams for a given texture, image or video. Complexity scalability in the decoder allows a given texture, image or video bit stream to be decoded by decoders of different levels of complexity. The reconstructed quality, in general, is related to the complexity of the decoder used. This may entail that less powerful decoders decode only a part of the bit stream. Spatial scalability allows decoders to decode a subset of the total bit stream generated by the encoder to reconstruct and display textures, images and video objects at reduced spatial resolution. A maximum of 11 levels of spatial scalability are supported in so-called finegranularity scalability, for video as well as textures and still images. Temporal scalability allows decoders to decode a subset of the total bit stream generated by the encoder to reconstruct and display video at reduced temporal resolution. A maximum of three levels are supported. Quality scalability allows a bit stream to be parsed into a number of bit stream layers of different bit rate such that the combination of a subset of the layers can still be decoded into a meaningful signal. The bit stream parsing can occur either during transmission or in the decoder. The reconstructed quality, in general, is related to the number of layers used for decoding and reconstruction. Fine Grain Scalability combination of the above in fine grain steps, up to 11 steps. The detailed information about MPEG4 can be found at [3]. With the limitation of wireless bandwidth and each mesh node s capability, the scalability of MPEG4 give us the most flexibility to design the strategy transmission. C. PSNR Generally, the quality of a video is a subject of personal opinion, so this means that quality of service improvement for video transmission has the only goal to satisfy the average human being watching the content of the video. The MOS (mean opinion score) is a scientific criterion for that average opinion, but in order to measure it, many people have to be involved. The PSNR (peak signal to noise ratio) is a way to measure image quality in an objective way, pixel by pixel, but it totally neglects influence of the image contents, viewing conditions, and personal preferences, so it is not equivalent to MOS. However, because the PSNR can provide the objective way to measure the video quality, we can use it in our project as a comparison metric. The PSNR is defined as the ratio of the maximum value of an image to the root mean square error (RMSE). In the equations below f(i, j) is the original image with N N pixels and F (i, j) is the image reconstructed from the encoded version of f(i, j): [f(i, j) F (i, j)] 2 MSE = N 2 (1) RMSE = MSE (2) P SNR = 20 log 10 ( MAX RMSE ) (3) Usually, we only calculate the luminance of each pixel, and the MAX means the maximum of RMSE. A. Hardware III. TESTBED ENVIRONMENT We set up the mesh network with two kinds of machine for different test goals. 1) Laptops: Using three laptops to setup a dynamic mesh network. Because it is very easy to change the laptop s location and their distance between each other, we can test the mesh network s dynamic performance. Those laptops includes one IBM ThinkPad T42, one IBM ThinkPad T22, and one Dell Latitude D600. All laptops CPUs are at least PIII 1GHz and the memory have at least 256MB, which provide enough capability to support the network performance test. That means during the throughput degradation, the bottleneck is not the CPU or memory. (Additional measurement of CPU and memory usage are required.) We disable the integrated radio card because we do not know whether that radio card can support ad hoc mode as we want. We uses the radio card with Atheros Communications, Inc. AR5212 802.11abg NIC. 2) Desktops: Using nine desktops to setup a static mesh network. Each desktop has 4 PCI slots which provide the capability of multiple radio cards. We install two identical radio cards in each desktop. Those desktops are Dell DX340, with Intel P4 1.8GHz CPU and 512MB Memory. The two radio cards are Atheros Communications, Inc. AR5212 802.11abg NIC with PCI adapter and external antenna. Additional, we installed a wispy device in each desktop. The Wi-Spy is a small 2.4GHz spectrum analyzer with USB interface, which can be used monitor the interference from Wi- Fi(802.11 b/g/n), microwave ovens, cordless phones, zigbee
Fig. 1. Desktops deploy map and bluetooth. The detailed information can be found at http://www.metageek.net/index.php. The desktops are deployed in Olsen Hall 3rd floor, from room 302 to 307. The deployment is shown in Figure 1. We try to deploy those desktops as separated as possible and guarantee they can setup a integrated mesh network simultaneously. B. Software 1) Platform: All of machines have the Linux/Ubuntu 5.10 operating system. The kernel version is 2.6.12-10-386 i686 GNU/Linux. 2) Radio card driver: We installed Madwifi driver of version number 0.9.2. Madwifi is an open source project for Linux device driver of wireless LAN chipsets from Atheros. Using this driver, we can tune some parameters of the radio card and can also fetch the radio card s information. The detailed information can be found at http://madwifi.org/. 3) Click/Grid: We installed the Click 1.5.0 with MIT GRID package. Click is an open-source project on Linux and BSD platform. It was originally developed at MIT with subsequent development at Mazu Networks, ICIR and UCLA. Using this software, we can develop our own routing layer with specific different behaviors. The click provides lots of basic elements which can be used to handle the network packets. Additional, there are many external packages, which give a powerful extension of Click. The MIT Grid package is one of them. The detailed information can be found at http://www.read.cs.ucla.edu/click/. The Grid software implements the DSDV (Destination- Sequenced Distance-Vector Routing) and DSR (Dynamic Source Routing) protocols for routing in ad hoc mobile wireless networks. DSDV was designed by Charles Perkins and Pravin Bhagwat; it is described in [1]. The Grid DSDV implementation aims to conform as closely as possible to the protocol as described by Perkins and Bhagwat, and as implemented by the CMU/Rice Monarch group in their wireless extensions to the NS simulator. The detailed information can be found at http://pdos.csail.mit.edu/grid/software.html. We use the Click/Grid to set up our ad hoc network with the DSDV routing protocol. 4) VLC: We installed the VLC(VideoLAN) media player on each machine. The VLC is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG- 2, MPEG-4, DivX, mp3, ogg,...) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a highbandwidth network. The detailed information can be found at http://www.videolan.org/. We used the VLC as the sender and receiver to stream the video file over mesh network 5) EvalVid[2]: We installed the EvalVid (A Video Quality Evaluation Tool Set) on each machine. EvalVid is a framework and tool-set for evaluation of the quality of video transmitted over a real or simulated communication network. The software is developed by Telecommunication Networks Group from Technischen University at Berlin.It is targeted for evaluating network designs and setups in terms of user perceived video quality. Besides measuring QoS parameters of the underlying network, like loss rates, delays, and jitter, a subjective video quality evaluation of the received video is provided. Currently H.263, MPEG-4 and H.263 are supported. The detailed information can be found at http://www.tkn.tuberlin.de/research/evalvid/. We used the EvalVid to calculate the received file s PSNR. 6) FFMPEG: We installed the FFMPGE on each machine. The FFmpeg is a Fraps FPS1 video decoder, which provide the function of encoding/decoding the MP4 file in our project. The detail information can be found at http://ffmpeg.mplayerhq.hu/. We use the ffmpeg to convert the video file between *.mp4 with *.yuv. 7) Iperf: Install the Iperf 2.0.2 on each machine. Iperf is an open source project which is used to measure the TCP and UDP bandwidth performance over network, report the bandwidth, delay jitter and datagram loss. The detailed information can be found at http://dast.nlanr.net/projects/iperf/. We used the iperf to measure the network performance and simulate the situation of network congestion. 8) Others: Besides those softwares mentioned above, we also used some useful softwares, such as expect, for our automatic testing. IV. EXPERIMENTS A. Single wireless link maximum throughput For the current radio card, it supports 802.11a,b and g, there are totally 29 channels which are used by 802.11a,b and g. We first measured the ideal wireless link maximum throughput in our desktops via different channel. Because the complex frequency situation in room 302, we chose the desktops in room 307 with number 06 and 07 to test the wireless link maximum throughput. They are as far as possible from room 302, and the two desktops are very close each other. We first disabled all those test-bed radios and use the tool provided by madwifi to scan the current radio environment.
TABLE I MAX THROUGHPUT VIA DIFFERENT CHANNEL TABLE III CROSS CHANNEL OVERHEAR Channel(b/g) Max Throughput Channel(a) Max Throughput 1 19.5 Mbps 36 22.2 Mbps 3 21.0 Mbps 48 23.0 Mbps 6 18.9 Mbps 58 24.1 Mbps 9 20.0 Mbps 152 23.7 Mbps 11 20.1 Mbps 165 22.8 Mbps TABLE II MAX THROUGHPUT VIA CROSS CHANNEL INTERFERENCE Max Throughput Interference channel Channel difference 16.2 Mbps 7 1 17.1 Mbps 8 2 17.7 Mbps 9 3 18.9 Mbps 11 5 wlanconfig ath0 list scan The result shows there are eight active APs at 2.4GHz(802.11b/g) frequency band, and no AP active at 5GHz(802.11a) frequency band. For the active AP, the most strong beacon SNR is 30dB. However, if we enable desktop 06 and measure its active signal from desktop 07, the signal s SNR can reach 74dB. So in this environment, comparing with our test signal, the other APs strength is very weak. We enabled only one radio card in each desktop 06 and 07, startup the Click/Dsdv in background and waited for they set up the route table each other. After that, we started up iperf with server mode at desktop 06 and executed iperf with client mode at desktop 07 to measure the maximum UDP throughput between them. The test result is shown at table I. Each test case continued 150 seconds to average out the fluctuation of throughput. From the result we can see, there is no obvious difference with different channels in the same protocol. However, the protocol 802.11g has a little lower throughput than 802.11a, that maybe be caused by the 8 active APs in 802.11g. B. Cross channel interference In this test, we set up the DSDV protocol on desktop 06 and 07 both with the radio card ath0. And during the measuring maximum throughput with the two machines (just as the test above), we sent broadcast packets from the other radio card ath1 with different channel. By this way, we measured cross channel interference via different channel intervals. In the test, we set the ath0 at channel 6, and changed the ath1 with a different channel. The iperf running parameters are same as above, and broadcast packets were produced with 100 per second and 64 bytes per packet. The test result is shown in Table II. Receive channel num Channel interval Receive packet num 1 2 96 2 1 96 3 0 99 4 1 95 5 2 96 6 3 69 7 4 53 8 5 8 9 6 2 10 7 0 11 8 0 From the result we can see, the impact of cross channel interference decreased with the channel intervals. If the interference is from 5 channels away, the impact can be ignored. To further examine the cross channel interference, we performed the test of cross channel overhearing test. C. Cross channel overhearing 802.11b and 802.11g as well as 802.11n when using the 2.4 GHz band divide the 2.4 GHz spectrum into 14 overlapping, staggered channels whose center frequencies are 5 megahertz (MHz) apart. The 802.11b, and 802.11g standards do not specify the width of a channel; rather, they specify the center frequency of the channel and a spectral mask for that channel. The spectral mask for 802.11b requires that the signal be attenuated by at least 30 db from its peak energy at ±11 MHz from the center frequency, and attenuated by at least 50 db from its peak energy at ±22 MHz from the center frequency. In this test, we sent the broadcast packets at a fixed channel, and received the broadcast from other desktop with a different channel. The test desktops are 06 and 07 again. The sending channel is 3, and receiving at another channel. Each time, we send 100 packets, and check how many packets were been received. The result is show in Table III. Comparing with the description of specification, we can find cross channel overhearing within 3 channels (±11MHz) is very strong. And from 3 to 5 channels (from ±11MHz to ±22MHz), it dropped. The overhear can be ignored at 5 channels away. D. Stream video over single hop In this test, we streamed a video file over mesh network by laptops. We first set up the DSDV protocol with channel 2 on laptop 1 and 2, and then used VLC software to stream a mpeg4 file from laptop 1 to laptop 2 by UDP, both laptops are in the room 302. Simultaneously, we used the iperf to send UDP packet over the same link (same channel). By this way,
TABLE IV SINGLE HOP PSNR UDP data rate Packet loss rate Mean PSNR 23.5 Mbps 0.39% 28.63 db 30.0 Mbps 17.00% 24.00 db 32.0 Mbps 24.00% 22.14 db 35.0 Mbps 30.00% 20.23 db TABLE V TWO HOPS PSNR UDP data rate Packet loss rate Mean PSNR 22.1 Mbps 1.30% 25.20 db 25.0 Mbps 15.20% 23.78 db 29.0 Mbps 34.30% 20.11 db we can simulate the different traffic congestion by changing the iperf parameters. The iperf can report the delivery percent of UDP packet, since the packets are no priority in our system, we can assume that the iperf delivery percent is roughly same as the VLC delivery percent. We saved the received video stream in a file, and using the EvalVid software to calculate the PSNR by comparing the received file and original file. The result is shown in Table IV. a mesh network framework. Base on this test-bed, we measured three basic wireless link characteristics, and also applied a stream video application over it. Currently, there are still some problems that need to be resolved, such as the frequency environment impacts to the test, and DSDV protocol still have some unexpected behaviours. We plan to Set up DSR protocol on the test-bed and see whether there is reliability improvement comparing with DSDV. Measure the frequency distribution by wispy, and try to setup the relationship between the wispy output with traffic situation. Develop an automatic software kits or framework to evaluate a given network performance, including the all over network throughput, network delay and jitter, stability in mobile situation and so on. This project is only a start up of our future work and it provides a necessary platform for our research. REFERENCES [1] Charles E. Perking and Pravin Bhagwat. Highly Dynamic Destination- Sequenced Distance-Vector Routing (DSDV) for Mobile Computers. In SIGCOMM 1994. [2] Jirka Klaue, Berthold rathke and Adam Wolisz. Evalvid - A framework for Video Transmission and Quality Evaluation. [3] ISO/IEC JTC1/SC29/WG11 N4668 March 2002 Overview of the MPEG- 4 Standard. From the result we can see, during the UDP data rate increase, the packet loss rate increases and the mean of PSNR drops. In theory, the PSNR should be positively infinite when the loss rate is very low. However, the MPEG4 is Lossy Compression algorithms, it can not guarantee that they are identical after compress and decompress. So even the loss rate is 0.39%, the PSNR is just a relatively large value but not positively infinite. E. Stream video over multiple hops Additionally, we test the streaming video over multiple hops. We used three laptops to setup a mesh network with two hops, and use the same way to test the stream video over two hops mesh network. The result is shown in Table V. From the result we can see, the mean PSNR via different packet loss rate is almost same as the single hop situation. However, to produce the same packet loss rate, the UDP data rate of two hops is lower than single hops. Actually, even in the single hop situation, the packet loss rate varies with time dramatically. Since the test environment have a lot of other active signals in the 2.4GHz, so the link performance is unstable. V. CONCLUSION AND FUTURE WORK In this project, we set up an mesh network testbed using laptops and desktops. Install necessary software to implement