aodvand802.11

所属分类:网络
开发工具:C/C++
文件大小:10766KB
下载次数:33
上传日期:2010-05-11 17:07:33
上 传 者yangxialong
说明:  里面含有aodv路由协议源代码,可以在NS-2下直接运行,仔细研究能充分理解AODV协议;另外还包含802.11b, 802.11g,802.11n协议的最原始英文版,希望对大家有用
(Which contains the aodv routing protocol source code, you can run the NS-2 under the direct implications of the AODV protocol can be fully understood also includes 802.11b, 802.11g, 802.11n protocol most original English version, we want to be useful)

文件列表:
aodv-ucsb-0.1b\aodvConst.h (2292, 2002-05-16)
aodv-ucsb-0.1b\aodvMsg.h (1356, 2001-12-01)
aodv-ucsb-0.1b\aodvPktInfo.c (1838, 2002-03-15)
aodv-ucsb-0.1b\aodvPktInfo.h (1449, 2001-12-01)
aodv-ucsb-0.1b\aodvSocket.c (11418, 2002-03-28)
aodv-ucsb-0.1b\aodvSocket.h (1439, 2001-12-01)
aodv-ucsb-0.1b\callout.c (5374, 2002-01-25)
aodv-ucsb-0.1b\callout.h (1446, 2001-12-05)
aodv-ucsb-0.1b\const.h (1856, 2002-02-08)
aodv-ucsb-0.1b\debug.c (7296, 2002-03-15)
aodv-ucsb-0.1b\debug.h (3056, 2002-02-07)
aodv-ucsb-0.1b\GPL (17992, 2002-01-24)
aodv-ucsb-0.1b\helloMsg.c (2401, 2002-03-15)
aodv-ucsb-0.1b\helloMsg.h (1314, 2001-12-01)
aodv-ucsb-0.1b\inet.c (6268, 2002-03-15)
aodv-ucsb-0.1b\inet.h (1508, 2002-03-15)
aodv-ucsb-0.1b\ip_queue_aodv.c (17837, 2002-01-24)
aodv-ucsb-0.1b\kaodv.c (5344, 2002-01-24)
aodv-ucsb-0.1b\kofn.c (3839, 2002-03-15)
aodv-ucsb-0.1b\kofn.h (1271, 2002-02-01)
aodv-ucsb-0.1b\libipq.c (8887, 2002-01-24)
aodv-ucsb-0.1b\libipq.h (2146, 2002-01-24)
aodv-ucsb-0.1b\libnetlink.c (12606, 2001-12-05)
aodv-ucsb-0.1b\libnetlink.h (1911, 2001-12-01)
aodv-ucsb-0.1b\LICENSE (13378, 2001-12-01)
aodv-ucsb-0.1b\LICENSE.pimd (2077, 2001-12-01)
aodv-ucsb-0.1b\localRepair.c (3979, 2002-01-10)
aodv-ucsb-0.1b\localRepair.h (1374, 2001-12-05)
aodv-ucsb-0.1b\main.c (29186, 2002-05-17)
aodv-ucsb-0.1b\main.h (1476, 2002-02-07)
aodv-ucsb-0.1b\Makefile (2420, 2002-05-16)
aodv-ucsb-0.1b\packet_input.c (12479, 2002-05-10)
aodv-ucsb-0.1b\packet_input.h (1215, 2002-01-23)
aodv-ucsb-0.1b\precursor.h (1303, 2001-12-01)
aodv-ucsb-0.1b\rerr.c (6511, 2002-03-15)
aodv-ucsb-0.1b\rerr.h (1779, 2001-12-05)
aodv-ucsb-0.1b\routingTable.c (23527, 2002-05-16)
aodv-ucsb-0.1b\routingTable.h (2573, 2002-02-02)
aodv-ucsb-0.1b\routingTableEntry.h (1666, 2001-12-01)
... ...

UCSB AODV Implementation README Written by Ian Chakeres, University of California, Santa Barbara, 2002 --------------------------------------------------------------------- Please direct support questions to the AODV implementers mailing list. To subscribe visit https://lists.sourceforge.net/lists/listinfo/aodvimpl-public. Based on AODV Internet Draft version 10, http://www.ietf.org/internet-drafts/draft-ietf-manet-aodv-10.txt WARNING! WARNING! WARNING! THIS RELEASE IS VERY ALPHA, SO PLEASE DO NOT REDISTRIBUTE AND DO NOT TRY IT OUTSIDE OF YOUR TESTBED. WARNING! WARNING! WARNING! THIS IS UNSUPPORTED SOFTWARE, USE AT YOUR OWN RISK. SUPPORTED PLATFORM: Linux 2.4.12 Should work with any kernel that has net filter compiled in --------------------------------------------------------------------- QUICK START Login as root Configure wireless Configure ip make copy kernel modules to /lib/modules/${KERNEL} and execute depmod -a Execute aodvd daemon, use ./aodvd -? to see daemon options. PRE INSTALL INSTRUCTIONS You should be running 2.4.x kernel with netfilter compiled in. You should have a functioning wireless card FULL INSTALLATION INSTRUCTIONS login as root Configure your wireless settings (see man iwconfig) To make these changes permanent edit /etc/pcmcia/wireless.opts Configure wireless card in ad-hoc mode "iwconfig eth1 mode ad-hoc" Configure wireless card in essid "iwconfig eth1 essid my_essid" Here is an example output from iwconfig eth1 IEEE 802.11-DS ESSID:"aodv_test" Nickname:"one" Mode:Ad-Hoc Frequency:2.457GHz Cell: 52:52:2D:00:29:44 Bit Rate=11Mb/s Tx-Power=15 dBm Sensitivity:1/3 Retry limit:4 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 invalid crypt:0 invalid misc:0 Note: Make sure all machines are configured the same. Configure your ip settings (see man ifconfig) To make these changes permanent edit /etc/pcmcia/network.opts Use ifconfig to configure the ip address Here is an example output from ifconfig eth1 Link encap:Ethernet HWaddr 52:52:2D:00:29:44 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:63 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:3 Base address:0x100 Configure your routing table (see man route) Add route for broadcast "route add -host 255.255.255.255 dev eth1" Add route for ad-hoc network "route add -net 192.168.0.0 netmask 255.255.0.0 dev eth1" All the nodes you plan to communicate with should be in the Subnet specified here. If you need multiple subnets add multiple entries. Remove all other routes. Use "route del", see man route for usage. Here is an example output from route: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 * 255.255.255.255 UH 0 0 0 eth1 192.168.0.0 * 255.255.0.0 U 0 0 0 eth1 Note: You SHOULD NOT have a default route. Compile AODV and install modules unzip and untar aodv (if you're reading this you probably have) execute "make" copy kaodv.o and ip_queue.o to /lib/modules/${KERNEL}/aodv execute "depmod -a" Start the daemon Use "./aodvd -?" for the command line options Use "./aodvd -o -t all" to run the daemon in the foreground with all debugging printed to the screen. TROUBLESHOOTING Check wireless settings Check ip settings Make sure machines can communicate after manually adding routes to kernel routing table Use tcpdump to watch message transmissions --------------------------------------------------------------------- RUNNING A DEMO requires 3 hosts and mac filtering. I use iptables (www.netfilter.org). configure wireless, mode=ad-hoc essid=aodv configure hosts 192.168.1.1,192.168.2.2,192.168.3.3 on 192.168.1.1 use iptables to block MAC address of 192.168.3.3 on 192.168.3.3 use iptables to block MAC address of 192.168.1.1 commands should look something like this: iptables -A INPUT -m mac --mac-source 00:A2:6D:05:29:96 -j DROP start daemons with hello messages on all hosts. ./aodvd -o -t demo verify 2.2 connected on 1.1 verify 1.1 and 3.3 connected on 2.2 verify 2.2 connected on 3.3 ping 3.3 from 1.1 verify RREQ sent from 1.1, RREQ received on 2.2 from 1.1 RREP from 2.2 to 1.1, and gratuitous RREP received on 3.3 ping 3.3 from 1.1, should work. wait kill 3.3 2.2 should generate RERR 1.1 should receive RERR remove route and start issuing new RREQs stop 1.1 ping to 3.3 wait 1.1 and 2.2 should delete routes to 3.3 bring 3.3 up wait till reboot period is over ping 3.3 from 1.1 verify RREQ sent from 1.1, RREQ received on 2.2 from 1.1 RREP from 2.2 to 1.1, and gratuitous RREP received on 3.3 ping 3.3 from 1.1, should work. --------------------------------------------------------------------- INSTALLATION NOTES, MISSING FUNCTIONALITY AND KNOWN BUGS Local Repair has not been tested Expanding Ring search has not been tested No RERR generated with local repair All unused flags are set to 0. connectivity is based on all messages received, not just control messages Control packets do not receive higher priority than data packets. --------------------------------------------------------------------- ACKNOWLEDGMENTS Written by Ian Chakeres Elizabeth Belding-Royer for support, guidance and AODV of course Alexey Kuznetsov for libnetlink from iproute2 code Pavlin Ivanov Radoslavov (pavlin@catarina.usc.edu) for PIM code Erik Nordstrm (erno3431@student.uu.se) and Henrik Lundgren (henrikl@docs.uu.se) for packet_input and kernel modules from their AODV implementation ---------------------------------------------------------------------

近期下载者

相关文件


收藏者