本人学生,最近做毕业设计,向改进AODV协议。以下是我的改进想法:
节点在接收到RREQ报文时,在本节不是请求的目的节点而且本节点没有收到过这一条RREQ请求的前提下,做出如下的判断:
1、本节点没有到目的节点的路由,那么本节点应该做的就是广播此条RREQ报文。可以尝试在广播这条RREQ报文前先判断该节点的状态。若该节点空闲,则按之前的处理方式直接广播;若该节点为繁忙状态,那么就等待一段延迟时间之后再进行广播此条RREQ报文消息。
2、如果本节点有到目的节点的最新路由,那么本节点应该做的是向源节点发送一个RREP的应答报文来告知源节点可以建立路由。同样的,在发送RREP报文之前也对本节点的状态进行判断,若该节点空闲,也是按照之前的处理方式来直接发送RREP报文;若节点在繁忙状态,就不发送此条RREP报文消息,直接丢弃接收到的RREQ报文。
想对路由协议源码进行改动后进行实验,但是C++确实不懂,不知道有没有大神能理解以下?
在此贴出网友注释的源码版本:
http://blog.csdn.net/ise_gaoyue1990/article/details/7610522/
这里有别的朋友对源码做的分析,也可以给各位大神参考以下:
http://www.docin.com/p-592566757.html
节点在接收到RREQ报文时,在本节不是请求的目的节点而且本节点没有收到过这一条RREQ请求的前提下,做出如下的判断:
1、本节点没有到目的节点的路由,那么本节点应该做的就是广播此条RREQ报文。可以尝试在广播这条RREQ报文前先判断该节点的状态。若该节点空闲,则按之前的处理方式直接广播;若该节点为繁忙状态,那么就等待一段延迟时间之后再进行广播此条RREQ报文消息。
2、如果本节点有到目的节点的最新路由,那么本节点应该做的是向源节点发送一个RREP的应答报文来告知源节点可以建立路由。同样的,在发送RREP报文之前也对本节点的状态进行判断,若该节点空闲,也是按照之前的处理方式来直接发送RREP报文;若节点在繁忙状态,就不发送此条RREP报文消息,直接丢弃接收到的RREQ报文。
想对路由协议源码进行改动后进行实验,但是C++确实不懂,不知道有没有大神能理解以下?
在此贴出网友注释的源码版本:
http://blog.csdn.net/ise_gaoyue1990/article/details/7610522/
这里有别的朋友对源码做的分析,也可以给各位大神参考以下:
http://www.docin.com/p-592566757.html