图解AODV协议(demo)

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

图解 AODV 协议 (demo)

 

 

本文的分析基于 ns-2.33 中的 aodv 协议源码

 

所参考的文献

AODV 的中文 RFC 文档

aodv.cc 文档注解

 

所使用的软件

openoffice

yEd

freemind

eclipse

 

前言

路由协议的最终目的,是获得和维护一个到目的节点的有效路由,所以,整个协议的目的直指路由表。那么首先看一下 AODV 的路由表的格式:

。。。。。。

1 AODV::recv( )

起点从 AODV::recv( ) 开始 :

AODV::recv ( ) 函数负责接收传递过来的数据包,根据数据包的不同类型做相应的操作。


<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

recv() 调用了很多函数,在此不一一例举,删繁就简,只选取重要的:

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

1.1 recvAODV( )

recvAODV( ) 负责接收AODV 包,根据不同的类型作不同的处理。整个过程很简单,在此直接用代码表示,不作解释。

switch (ah-> ah_type ) {

case AODVTYPE_RREQ:

recvRequest(p);

break ;

case AODVTYPE_RREP:

recvReply(p);

break ;

case AODVTYPE_RERR:

recvError(p);

break ;

case AODVTYPE_HELLO:

recvHello(p);

break ;

}

 

所调用的函数:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值