kernel-aodv

所属分类:Windows编程
开发工具:C/C++
文件大小:54KB
下载次数:3
上传日期:2020-05-24 17:03:25
上 传 者kove
说明:  OPNET下的AODV路由协议仿真,对Ad hoc的AODV路由协议在OPNET下进行程序仿真。
(Simulation of AODV routing protocol under OPNET, program simulation of Ad hoc's AODV routing protocol under OPNET.)

文件列表:
kernel-aodv\kernel-aodv_v2.2.2\aodv.h (5107, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_dev.c (6443, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_dev.h (829, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_neigh.c (8501, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_neigh.h (1340, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_route.c (11304, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_route.h (1209, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_thread.c (3730, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\aodv_thread.h (735, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\CHANGE_LOG (2215, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\flood_id.c (7405, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\flood_id.h (718, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\hello.c (2253, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\hello.h (576, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\kernel_route.c (3004, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\kernel_route.h (893, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\Makefile (2781, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\module.c (6425, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\module.h (821, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\packet_in.c (3548, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\packet_in.h (871, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\packet_out.c (1972, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\packet_out.h (864, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\packet_queue.c (9904, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\packet_queue.h (2362, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rerr.c (4927, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rerr.h (648, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rrep.c (4299, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rrep.h (722, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rrep_ack.c (912, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rrep_ack.h (614, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rreq.c (11008, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\rreq.h (709, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\signal.c (4678, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\signal.h (836, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\socket.c (5144, 2020-05-21)
kernel-aodv\kernel-aodv_v2.2.2\socket.h (876, 2020-05-21)
... ...

Kernel AODV Luke Klein-Berndt National Institute of Standards and Technology http://w3.antd.nist.gov/wctg/aodv_kernel/ ------------------------------------------------ Kernel AODV is a loadable kernel module for Linux. It implements AODV routing between computers equipped with WLAN devices. Version 2.2 improvements: * More gateway features available * Codebase revised and updated Version 2.1 improvements: * Internet gatewaying now works over multiple hops (sorry about that!) * Put locks around important parts of the code * Multicasting hack * ARP bug fixed Version 2.0.1 improvements: * Fixed an error that occurs on ARMs when they do ***bits differently * Thanks to S. Peter Li for coming up with this fix! Version 2.0 improvements: * Updated to AODV draft version 11. * Managed internet gatewaying. * Monitor wireles signal strength. * Fixed buffer size for /proc Route Table. * Fixed Expanding Ring Search. Version 1.5 improvements: * Supports multiple interfaces. * Based on draft 10 of AODV. * Runs on ARM based PDAs. * Completely redesigned and improved internal message handling system. * Simplified installation process. Version 1.0 features: * Since it is a Kernel module it runs in the Kernel space instead of the user space, which allows for better access to resources. * Uses Netfilters from the 2.4 Kernel to capture packets going in and out of the node instead of using the libcap library. * Uses a Proc file to update the user about current routes and statistics for that node. Contact: If you have any questions, concerns or comments please feel free to contact Luke Klein-Berndt at: kleinb@nist.gov Requirements: * Linux with Kernel 2.4. * Packet Forwarding enabled. This can be set by making sure there is a line in /etc/sysconfig/network which says: FORWARD_IPV4=yes. * Netfilters. If you don't have it installed you need to reconfigure the your Kernel options and then rebuild the Kernel. There is a HOWTO manual on this which maybe helpful. * A networking card is needed. If it is a wireless card have it configured in Ad Hoc mode. If you are unsure on how to do this look for information on iwconfig and setting up a wireless network under Linux. * The source files for the Linux kernel you have installed. It should be located in the /usr/src/linux directory. If they are not you can download them from: http://www.kernel.org Installation: * Download the file. * Unpack it - tar xvfz kernel_aodv_2.2.tar.gz. * Switch into the new directory and run - make. * If notice any errors during compilation you may need to alter the Makefile. The Makefile contains instructions on how to do this. Usage: Configure the start.sh file. Instructions are included in the file. Now try running it! As root, run: './start.sh' Now start up atleast two other nodes. With all the nodes in range, check the routing table - cat /proc/aodv/routes. Each node should appear in the routing table. There maybe multiple entries for nodes with more than one interface. Once you verify that all nodes are able communicate try setting up a configuration where multiple hops would be needed, i.e. A---B---C. Now try pinging across the nodes. If this works you are up in running. If not, refer to the troubleshooting section. Options: * There are multiple options you can set when compiling Kernel AODV, see Makefile to look at them all. Make sure you do a 'make clean' after making changes. * Runtime commands can also be used with AODV. They are detailed in 'start.sh' * 'use_dev=wlan0' command tells AODV which interface to use. * 'local_subnet=129.6.50.0/255.255.255.0' command tells AODV that a subnet is available locally and routes should not be discovered for it. This is not a common setting. If a RREQ is sent for an address in this subnet the node will respond with a RREP. * 'aodv_gateway=1' command means this device can route information onto the internet. The determines what addresses AODV should route for by examining the subnet of the interface AODV is using. If an address is not in this subnet the node will assume the destination is on the internet and sends a RREP. Proc files: * AODV Routing table - /proc/aodv/routes . * List of timers - /proc/aodv/timers . * List of RREQs - /proc/aodv/flood_id . * List of neighbors - /proc/aodv/neigh Troubleshooting: Q: When I try pinging I get, Network Unreachable. A: You probably have a routing problem unrelated to Kernel AODV. Try doing the same thing except without Kernel AODV running on either computer. If the problem persists the next thing to check is the routing table. If you don't see a default route run - "route add default dev eth0". Q: The route between two Neighboring nodes is not too stable even though they are next to each other. A: Check to make sure the wireless settings are the same on all the nodes. The iwconfig utility will be helpful. Make sure that encryption is turned off and that the rate is the same on all the nodes. You may want to try - iwconfig eth0 rate 2. It is recommended that you try a rate of 2 because that is the rate at which broadcast messages are sent at. Setting the rate to 2 means that unicast packets and broadcast packets will be sent at the same rate. Q: Kernel AODV seems to be able to find routes between nodes but I am unable to ping between them. A: Make sure you have IP forwarding turned on. Try: 'echo 1 > /proc/sys/net/ipv4/ip_forward'. Also make sure you do not have a uni-directional link. Check the routing table on each node to make sure it can see the other nodes. Q: Something doesn't seem right but I can't figure out what. A: Try all of the solutions listed above. None of them will do any damage and one might fix a problem you did not even know you had! If that does not work send an email describing you problem to: kleinb@nist.gov . Created: 11/05/01 Updated: 04/15/04 NIST is an agency of the U.S. Commerce Department's Technology Administration

近期下载者

相关文件


收藏者