图解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 ;
}
所调用的函数:
图解AODV协议(demo)相关推荐
- 图解ARP协议(六)RARP与IARP:被遗忘的兄弟协议
一.概述 在我第一次接触ARP协议的时候,发现这协议挺简单的,"一去一回通过IP拿到MAC地址",整个过程在1s内就搞定了.后面学到了代理ARP,发现也不过是变了个法子,做了次&q ...
- aodv协议C语言代码,AODV协议的运行方式
这也是一个网管必须具备的知识.那么在前面的文章中,我们已经对AODV协议的基础内容作了介绍,在这里我们主要讲解一下它的运行方式. (a)AODV路由发现 AODV路由协议是一种典型的按需驱动路由协议, ...
- AODV协议的运行方式
(a)AODV路由发现 AODV路由协议是一种典型的按需驱动路由协议,该算法可被称为纯粹的需求路由获取系统,那些不在活跃路径上的节点不会维持任何相关路由信息,也不会参与任何周期路由表的交换.此外,节点 ...
- 基于ns2和ns3进行AODV协议改进仿真
记录研二时协议改进的心酸历程 AODV改进和仿真建议: 1.文献阅读: 2.学会仿真: 3.路由协议源代码修改和改进: AODV改进和仿真建议: 背景:研一暑假(2021.07)导师告诉我研究方向,并 ...
- Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)
目录 1 一点前言 2 路由发现 2.1 相关概念 2.2 AODV的路由发现过程 2.3 与DSDV协议的对比 3 路由表管理及维护 3.1 更新路由表的策略 4 AODV协议的特点 4.1 优点 ...
- 树莓派linux系统配置AODV协议,linux上模拟AODV路由协议 下面一些信息求各路大神解释!!...
满意答案 rrg655nxta 2014.02.28 采纳率:44% 等级:12 已帮助:8227人 我想这应该是AODV建立连接和维护连接的过程.要弄清楚这些语句具体是什么意思,必须要查看实现 ...
- 图解ARP协议(四)代理ARP:善意的欺骗
首发于 跟杰哥学网络与安全 写文章 登录 图解ARP协议(四)代理ARP:善意的欺骗 拼客学院陈鑫杰 24 天前 一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在 ...
- AODV协议的NS2仿真
无线传感网技术团队科研原始记录 姓名:赵亮 时间:2017.12.30 周次:18 记录编号:3 科研方向: 无线传感网 原始记录 本周继续在NS2下进行仿真工作. 1. Trace文件格 ...
- NS2 学习笔记—— AODV协议
在NS2中,AODV路由协议主要包括以下几个组件: 1.协议实体 2.路由表 3.定时器 (1)广播定时器 (2)周期Hello报文广播定时器 (3)用于邻居管理的定时器 (4)用于路由缓存的定时器 ...
最新文章
- web developer tips (39):在Visual Studio 2008中取消远程web操作
- (转)光照模型及cg实现
- 解构亚马逊Alexa的1.5万种技能
- 深刻理解Java多态
- 计算机网络物理层-编码技术实现
- PageHelper分页插件
- java Map及其实现类的底层原理
- leetcode笔记(Python版)待更新
- cad立面索引符号 规范_园林景观设计规范——园林人都该知道!
- 编程为什么有趣?浅谈编程的快乐。
- golang隐藏window系统下自身cmd窗口
- android 播放gif方案集合
- RL(四)动态规划解决强化学习
- Jmeter之正则表达式提取器(一)
- AMOLED原理介紹
- 领域建模的思想和方法
- websocket与sockJS
- Person表并添加数据 实例01
- 哈工大深圳计算机学院复试分数线,哈尔滨工业大学深圳研究生院复试线:2011哈尔滨工业大学深圳研究生院复试分数线...
- WinRAR x64 v5.5中文版去广告过程
热门文章
- 更换matlab版本需要注意事项,AMD 篇四:更换Matlab调用MKL库版本
- java生成二维码并导入excel中
- SpringBoot部署子工程java -jar启动时报错:xxxxxxx.jar中没有主清单属性
- Python爬虫报错HTTPSConnectionPool(host=‘heat.qq.com‘, port=443)处理
- android 新闻功能列表,news: 用Android基本技术实现的新闻App
- sed命令详解与示例
- 分布式事务之TX-LCN
- 初学者如何学好编程?
- 计算机音乐说散就散,说散就散(精彩音乐汇)
- jQuery中的end()的用法与定义