Design of a Practical Wireless Mesh Network Using Available Consumer Hardware by Jay Sethi Matthew Wawrin Ryan Supeene Final report submitted i
x VI. List of Tables Table 2-1: 802.11 Standards ...
88 ---------------------------------------------------------- ======================================================================= ./2hop/itgsend_
89 Maximum delay = 0.024891 s Average delay = 0.013345 s Average jitter = 0.001787 s Delay standard de
90 Number of flows = 1 Total time = 29.995683 s Total packets = 4050 Minimum delay
91 Error lines = 0 ---------------------------------------------------------- ==============================================
92 Minimum delay = 0.007100 s Maximum delay = 1.004630 s Average delay = 0.014941 s Average jitter
93 __________________________________________________________ Number of flows = 1 Total time = 20.229251 s Tot
94 Packets dropped = 249 (4.76 %) Error lines = 0 -------------------------------------------------------
95 Vita Name: Jay Sethi Place of Birth: Winnipeg, Manitoba Year of Birth: 1983 SecondaryEducation: St. Paul’s High School (1996 – 2001) Honou
xi VII. List of Definitions and Acronyms DNS - Domain name service is a lookup service that maps human readable hostnames to Internet protocol addr
xiiThroughput - The speed at which a computer can send and receive data on a network, is know as throughput. This is generally measured in bit/s UDP
1 Chapter 1 - Introduction 1.1 Overview The goal of this project is to create a working model of a wireless mesh network (WMN) using off the shelf co
2 1.4 Organization of Report The paper is split into 9 sections. Chapter 2 details background information about the components of the project. Chapte
3 Chapter 2 - Background This section will provide insight and background to the advanced topics discussed throughout the report. 2.1 Network Layer
4 The network layer is in charge of inter-network packet transmission. The Internet protocol (IP) is the standard network layer protocol for the Int
5 Figure 2-3: Example of NAT To access resources outside its network a system sends data to the router, which passes the packet along to the outside
6 Figure 2-4: Example of Wireless Mesh Network This is different from the current system shown in Figure 2-5, where a packet will only ever pass thr
7 Wireless mesh networks can be broken down into two broad architecture categories, infrastructure mesh networks and client mesh networks. Infrastruc
ii I. Abstract The project demonstrates that the creation of a functional wireless mesh network (WMN) is possible using off the shelf components.
8 request containing the IP address of the desired system. The destination system will recognize the request, and send a reply to the requesting sys
9 2.8 Gentoo Linux Gentoo is an operating system based on the open source Linux kernel. A unique feature of Gentoo is the way that it distributes it
10 Figure 2-6: Basic Packet Flow Through Click 2.10.1 Elements In order to implement packet routing, Click breaks the processing and packet classifi
11 the Linux kernel ever seeing them. The efficiency of the kernel module is higher than user-level driver as the kernel does not have to process th
12 2.11.3 Netcat Netcat is a networking utility that allows data to be read and written to TCP connections. It can be used for network debugging and
13 Chapter 3 - Mesh Router Hardware This section outlines the hardware specifications, components and configurations that make up the mesh routers fo
14 commonly found in consumer hardware, easy to acquire, and operates on unregulated frequency bands. Its large range of communication channels made
15 demonstration purposes, so wireless communication could easily be added without the risk of using unsupported hardware. Also, there were reports
16 3.3.2 Gateway Router Support The second type of mesh router was an Internet gateway router. These routers contained two network devices, one D-Li
17 Chapter 4 - Software Systems This chapter discusses software design decisions in terms of the Gentoo Linux operating system, the Madwifi Driver fo
iii II. Contributions This project focuses on the design and implementation of a wireless mesh network using common consumer hardware, and the testi
18 abstraction layer (HAL) module that is called ath_hal. The ath_pci module allows the kernel and networking utilities to interact with the device,
19 Chapter 5 - Packet Routing: Click Modular Router The Click Modular Router was responsible for defining how each mesh router would route packets th
20 were translated using that flow mapping. Packets would also be mapped based on if they matched the reverse of that mapping, in order to return pac
21 5.2 DSDV Implementation In order to route packets between mesh routers, a networking protocol had to be chosen. In the network created, the DSDV
22 5.2.2.2. DSDVRouteTable This element contained the routing table for the host router. It kept track of all of the information known about the oth
23 5.3 Click Modular Router Configuration Files There were three different Click Modular Router configuration files used in this project, correspondi
24 could have been another wireless or an Ethernet card. We tested our network with both the U.S. Robotics USR2410 and the Realtek Ethernet card. Pl
25 5.3.4.1. Rewriter Packet Flow The rewriter elements preformed the packet classification for the packets input into the gateway routers. For a des
26 The two passes through the IPRewriter were made to avoid mapping packets destined for the host router, which would cause the router to reply to it
27 Packets that were received from the wireless device were classified as mesh data, linkstat data or other packets. If a packet did not originate fr
iv III. Acknowledgments The authors of this report would like to thank our advisor, Dr. Ekram Hossain, for introducing the topic of wireless mesh ne
28 Figure 5-6: Directed Graph of Mesh Wireless Device Output Processing Block Packets originating from the Mesh Wireless Device Input Processing and
29 remotely to the router and wanted to connect to another router. The elements included are shown in Figure 5-7. Figure 5-7: Directed Graph of Rout
30 5.3.4.6. Gateway Device Input Processing and Packet Classification Packets that originated from a client, or the Internet, would have arrived at t
31 router. Since packets had not gone to a rewriter element at this point, even packets destined for the mesh network would be addressed to the host
32 Chapter 6 - System Automation When setting up the mesh routers, as with any other consumer router, a monitor and keyboard were not available. Wit
33 Table 6-1: Mesh Start Beep Sequences Configuration Step Corresponding Beep Sequence Meshstart startup 4 beeps, increasing pitch Configure mesh w
34 reconfigured, and the Click Modular Router started again. As this is what meshstart did, memwatch then executed meshstart and exited. The meshsta
35 Table 6-2: Machine Cloning Commands Machine Cloning Commands dd if=/dev/hda of=/dev/hdb where dev/hda is the hard drive containing the complete s
36 Chapter 7 - System Inte gration This Chapter will describe the entire system as a whole. The first section will describe how individual mesh rou
37 command brings the device up, making it active. The last command sets kernel routing information that designates the address 192.168.1.5 as the g
v IV. Table of Contents I. Abstract ...
38 Figure 7-1: Block Diagram of the Complete Wireless Mesh Network To gain insight into the performance of a wireless mesh network, there were a num
39 Chapter 8 - Te sting Methodology and Analysis The chapter reviews the three different testing methodologies used and the methods of analysis and r
40 number of hops on the Throughput and average packet delay (RTT) in both the TCP and UDP protocols on the network. To test TCP traffic though the
41 Table 8-2: Averaged Collected Data from No. of Hops Tests Test Type/ Number of Hops 1 Hop 2 Hops 3 HopsTCP: Test 5MB File DownloadAvg. Thoughput (
42 This test again ran into major problems with the memory leak due to nodes randomly failing, not allowing for any consistent results and causing in
43 Chapter 9 - Future Work and Conclusion In this design project a wireless mesh network using off the shelf components was developed. The first goa
44 implemented by running a DHCP server on the client gateway router. Routers could acquire network information so hard coded values in the configur
45 Chapter 10 - References [1] Hill Associates Inc., Telecommunications: A Beginner's Guide, Berkley, Ca.: McGraw-Hill/Osborne, 2002. [2] R.
46 Appe ndix A - Click Elements Classifier This element, along with the IPClassifier, formed the basis of how packets flowed through the click router
47 recalculated, and the packet was sent out on output 0. If it had expired, the packet was sent to an ICMPError packet generator element. This gener
vi2. 10.1 Eleme nts ...10 2. 10.2 Opera tion
48 Appe ndix B - Click Modular Router Configuration Files dsdv_kernel.click // This file automatically generated at Thu Feb 2 10:57:28 CST 2006 wit
49 }; elementclass ToGridDev { // push, no output $dev | input -> cl :: Classifier(12/7ffe, // LinkStat 1 12/7f
50 ck [1] -> Print('Bad Grid header received', TIMESTAMP true, NBYTES 166) -> Discard; }; elementclass GridLoad { // push, no in
51 // handles IP packets with Grid data encapsulation grid_data_demux :: IPClassifier(dst host me, // ip for us dst net me/24, // ip for
52
53 dsdv_nat_kernel.click // This file is based on the automatically generated file at Thu Dec 29 18:19:01 CST 2005 with the following command: //
54 // // output [0] passes through the Grid MAC packets // // output [1] produces ICMP error packets to be passed back to IP // routing
55 -> [2] prio; prio -> dev_counter :: Counter -> t :: PullTee -> ToDevice($dev); t [1] -> SetTimestamp -> Dis
56 from_host :: FromHost(grid0, me/24) ->arp_demux ->ARPResponder(0.0.0.0/0 1:1:1:1:1:1)->to_host; //from_host for the non-grid device from_
57 ip_to_intern :: GetIPAddress(16) -> CheckIPHeader -> [0]intern_arpq -> intern_dev; // to grid mesh network from inter
vii5. 3. 1 Pack et Forw ardin g Rou ter Con figuration ...23 5. 3. 2 Client Ga teway Router C on
58 // don't advertise as a gateway to_gateway :: GridGatewayInfo (nb, false); nb :: DSDVRouteTable(60000, 15000, 7500, 1000, me:eth, me
59 ip_demux [2] -> to_host_encap; //packets destined for the internal address ip_demux [3] -> IPPrint(ip_demux[3]->)->ip_to_intern; /
60
61 dsdv_nat_gw_kernel.click // This file is based on the automatically generated file at Thu Dec 29 18:19:01 CST 2005 with the following command:
62 // // output [0] passes through the Grid MAC packets // // output [1] produces ICMP error packets to be passed back to IP // routing
63 -> [2] prio; prio -> dev_counter :: Counter -> t :: PullTee -> ToDevice($dev); t [1] -> SetTimestamp -> Dis
64 router_class :: IPClassifier(dst host extern,dst host me, -); //classify if the router packets are icmp icmp_r_packet_classifier :: IPClassifier
65 // Rewriting rules for ICMP packets irw :: ICMPPingRewriter(extern, -); // Rewriting rules for ICMP error packets ierw :: ICMPRewriter(rewriter
66 icmp_r_packet_classifier[2] -> ierw; //other icmp icmp_r_packet_classifier[3] -> [3]rewriter; // stuff for the mesh network
67 VERBOSE true ); grid_demux :: Classifier(19/03, // encapsulated (data) packets 1
viiiAppendix F - R aw Test ing Out put ...80
68 icmp_packet_classifier[3] -> [3]rewriter; // receive packet from net for us or internal network. // forward packet from grid mesh net for
70 Click License Agreement (c) 1999-2004 Massachusetts Institute of Technology (c) 2000-2004 Mazu Networks, Inc. (c) 2001-2004 International Compute
71 Appe ndix C - Autom ated Startup Code Meshstart #!/usr/bin/perl # Check to see if there is a cd-rom drive is mountable and see if there is # a m
72 # card is set to connect clients # 2. configure click # - runs click based on the paramaters in the config file # - if CLICK_KERNEL = true,
73 #----------------------------------------------------------------------# if ( $MESH_DEV ne "" ) { print ("Setting up $MESH_DEV\n
74 { print ("\nNo CLIENT_DEV info found, not setting up client network\n\n"); } #------------------------------------------------------
75 } else { print("Can't figure out click configuration parameters (didn't try too hard)\n"); sleep (2); system($BEEP
76 $CLIENT_NETMASK = "255.255.255.0"; #----------------------------------------------------------------------# # Define Click Parameters
77 eend $? "Error stopping meshnetwork" } restart(){ ebegin "Restarting mesh network" /home/mesh/meshstart/meshstop >
ix V. List of Figures Figure 2-1: Network Hierarchy...
78 Appe ndix D - Click Modular Router Output TCP Mappings from client gateway router (192.168.1.13, 44829, 192.168.0.3, 22) => (192.168.0.1, 63989
79 Appe ndix E - Budget All hardware was acquired except for the two 802.11b/g wireless cards that would connect clients to the mesh network. These
80 Appe ndix F - Raw Testing Output Test 1 test 2 Test 3 Test 4 Test 5 AverageTCP TestThroughput (Bps)Hop 1 199289 202972 201958 205914 198480 201722
81 Average jitter = 0.001959 s Delay standard deviation = 0.002883 s Bytes received = 3072000 Average bitrate
82 Flow number: 1 From 192.168.1.13:32783 To 130.179.130.2:8999 ---------------------------------------------------------- Total time
83 Bytes received = 3072000 Average bitrate = 819.362698 Kbit/s Average packet rate = 200.039721 pkt/s Packets dr
84 Minimum delay = 0.003663 s Maximum delay = 0.402134 s Average delay = 0.024279 s Average jitter
85 ./2hop/itgsend_2hop_test1_udp.log ======================================================================= ----------------------------------------
86 Average delay = 0.119496 s Average jitter = 0.014578 s Delay standard deviation = 0.055969 s Bytes received
87 Total time = 30.000888 s Total packets = 1670 Minimum delay = 0.023159 s Maximum delay
Komentáře k této Příručce