|
路由协议aodv-uu-0.9.6在Linux系统实现上多跳出现问题
[复制链接]
我先详细描述下我的情况以及遇到的问题:
我想搭建的场景为:模拟组建一个ad hoc网络,有一个主控节点可以通过路由协议来控制其他几个节点的移动性。具体实现:3个arm板置于可以有轮的小车上,通过电路的连接,arm板可以通过程序来控制小车的移动。
我们现在是四个节点组成的ad-hoc网络,所用的路由协议为aodv-uu-0.9.6。一个节点是台式电脑(以下成为节点1),另外三个节点都是ARM板(mini6410)+Linux系统(以下成为节点2,3,4)置于小车上来实现移动性,我们将kaodv.ko编译进了内核然后放入了ARM中,网络的配置也都是按照网上所说,模式为ad-hoc,网络都配置在了一个网段192.168.1。然后将四个节点启动aodvd应用程序,每个节点都能搜到剩余的三个相邻节点(因为几个arm板位置比较近),查看路由表也能看到邻节点的路由,但都是一跳的;
起初我们用iptables的方式屏蔽了节点1发往节点2的数据,然后节点1和节点2就不能ping通了(也就是不能找到中间节点进行转发),然后我们人为的在节点1的路由表中加入了经由 节点3 中继,目的节点为节点2的路由表项,此时节点1和 节点2 就可以ping通了。
后来我们用了远距离断开链路的方式将节点1和节点2的一跳链路断开,节点3 放在了他们之间,保证节点1,2都能分别和节点3 ping通,但是就是不能寻找到节点1 和节点2的路由,ping的时候一直显示目的节点不可达。你看这是什么问题呢?
另,我觉得有必要把我们前期的编译工作说明一下,看是否是前期出了问题:
版本相关:
Linux 系统 Fedora9
内核 Linux2.6.38
交叉编译器 arm-linux-gcc-4.5.1
路由协议 aodv-uu-0.9.6.tar
(1)下载tar包后对其进行解压。
(2)PC版本和ARM版本分别执行命令make和make arm生成aodvd。
(3)进入lns文件夹执行make命令生成kaodv.ko。
(4)网络环境配置搭建如下所示:
#iwconfig wlan3 mode ad-hoc essid aodv-test
#ifconfig wlan3 192.168.1.1 up
# insmod kaodv.ko
#./ aodvd
跪求大神给予指导~~跪谢!!
|
|