📄 readme
字号:
UCSB AODV Implementation READMEWritten by Ian Chakeres, University of California, Santa Barbara, 2002---------------------------------------------------------------------Please direct support questions to the AODV implementers mailing list.To subscribe visithttps://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.txtWARNING! 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.12Should work with any kernel that has net filter compiled in---------------------------------------------------------------------QUICK STARTLogin as rootConfigure wirelessConfigure ipmakecopy kernel modules to /lib/modules/${KERNEL} and execute depmod -aExecute aodvd daemon, use ./aodvd -? to see daemon options.PRE INSTALL INSTRUCTIONSYou should be running 2.4.x kernel with netfilter compiled in.You should have a functioning wireless cardFULL INSTALLATION INSTRUCTIONS login as rootConfigure 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 iwconfigeth1 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 ifconfigeth1 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:0x100Configure 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.TROUBLESHOOTINGCheck wireless settingsCheck ip settingsMake sure machines can communicate after manually adding routes tokernel routing tableUse tcpdump to watch message transmissions---------------------------------------------------------------------RUNNING A DEMOrequires 3 hosts and mac filtering. I use iptables (www.netfilter.org).configure wireless, mode=ad-hoc essid=aodvconfigure hosts 192.168.1.1,192.168.2.2,192.168.3.3on 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.1commands should look something like this: iptables -A INPUT -m mac --mac-source 00:A2:6D:05:29:96 -j DROPstart daemons with hello messages on all hosts. ./aodvd -o -t demoverify 2.2 connected on 1.1verify 1.1 and 3.3 connected on 2.2verify 2.2 connected on 3.3ping 3.3 from 1.1verify RREQ sent from 1.1, RREQ received on 2.2 from 1.1 RREP from 2.2to 1.1, and gratuitous RREP received on 3.3ping 3.3 from 1.1, should work.waitkill 3.32.2 should generate RERR1.1 should receive RERR remove route and start issuing new RREQsstop 1.1 ping to 3.3wait1.1 and 2.2 should delete routes to 3.3bring 3.3 upwait till reboot period is overping 3.3 from 1.1verify RREQ sent from 1.1, RREQ received on 2.2 from 1.1 RREP from 2.2to 1.1, and gratuitous RREP received on 3.3ping 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.---------------------------------------------------------------------ACKNOWLEDGMENTSWritten by Ian ChakeresElizabeth Belding-Royer for support, guidance and AODV of courseAlexey Kuznetsov for libnetlink from iproute2 codePavlin Ivanov Radoslavov (pavlin@catarina.usc.edu) for PIM codeErik Nordstr鰉 (erno3431@student.uu.se) and Henrik Lundgren (henrikl@docs.uu.se) for packet_input and kernel modules from their AODV implementation---------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -