我们选取了AODV、DSR和FSR这三种常见AdHoc路由协议进行QualNet仿真实验比较 。
DSR使用源节点路由而非逐跳路由 , 每一个寻路分组在其头部都携带了完整的途经节点的按顺序列表 。运行DSR的节点使用一个缓存用来存放已知目的节点的所有路由 。需要发送分组时 , 节点首先查询路由表 。假如路由表包含目的节点和所需路由 , 则使用该路由;否则 , 就广播路由请求分组进行寻路 。当路由请求分组在网络中传输时 , 其到达的每一个节点都检查自己的路由表看它们是否有到达目的节点的路由 。假如这些节点的路由表中有到达目的节点的路由 , 就应答该请求并提交这条路由 。当路由请求分组到达了目的节点时 , 中继接点就查看路由请求分组经过的这条路径是否在高速缓冲区中 。假如高速缓冲区中没有这条路由 , 就把这个目的节点和路由加到自己的高速缓冲区中以备将来使用 。
;DSR的优点在于中间节点无需维持更新的路由信息为它们的转发分组寻路 , 因为分组本身已经包含了所有的路由决定 。事实上 , 这个协议和按需相结合消除了周期路由广播和其他协议中所出现的邻节点的检测分组;再者 , 它不依靠于其它节点的保持有效的消息 , 这就减少了带宽的占用和所需的能量 。而且 , 由于节点的高速缓冲区储存了到目的节点的多条路由 , 所以假如当一条路由断开时 , 节点可以在高速缓冲区中找到预备的路由 。缺点是在DSR分组较大 , 这就使得DSR的网络参数相对的比较小 , 也避免了按比例放大到大的网络中所存在的一些问题 。
AODV是基于距离矢量的算法 。所不同的是 , AODV只保持需要的路由 , 而不需维持通信过程中未激活的目的节点的路由 。
当源节点S需要到某个目的节点D的路由时 , 他就广播一个路由请求消息给他的邻节点 , 其中还包含了那个目的节点的最终所知道的序列号 。路由请求消息以一种控制的方式在网络中进行泛洪直到它到达了一个节点 , 并且这个节点知道到目的节点的路由 。每一个转发路由请求的节点就为自身创建一条到节点S的反向路由 。
【QualNet仿真器的Ad Hoc路由协议比较研究】 当路由请求分组到达有路由到D的节点时 , 这个节点就产生一个包含到达D所必需的跳数和此节点最近所知道的D的路由应答分组的序列号 。每一个参与转发应答分组给产生路由请求原始节点的转发节点都建立一条到D的转发路由 。从S到D路由上的每个节点的链路状态是逐跳状态 。也就是说 , 每一个节点仅仅是记住下一跳而不是像源路由那样记住整个路由 。除此之外 , AODV为了维护路由还周期性地发送Hello分组 。
AODV的优点是可以利用多播的优势 , 这正是所有其它路由协议所缺少的;而缺点则是依靠于对称性的链路 , 而不能处理非对称性链路的网络 。
FSR是一个先验式(表驱动)路由协议 。它使用了鱼眼技术 , 在不同鱼眼域中的节点以不同的频率(这个频率是由节点距离决定的)只向邻居节点广播链路更新信息 , 这能够大大减少链路状态更新信息 , 从而降低了泛洪的开销 。通过节点之间相互交换链路状态消息 , 每个FSR路由器都能获知网络全局的拓扑信息 。根据这些最新的拓扑信息 , FSR为每个目的节点计算最短路径 。由于链路更新频率由距离决定 , 因此对于域内的节点路由都是精确的 , 而对于域外的节点 , 离目的节点越远 , 路由的精确度便越低 , 这是因为距离较近的更新较快 , 较远的更新较慢 。但不会像按需路由那样需要花时间去寻找路由 , 因此能维持较低的延时 。而且随着距离目的节点越来越近 , 路由信息越来越精确 , 正好弥补了路由的不精确性 。在移动网络中 , 逐渐精确的路由减小了节点移动对路由精确度的影响 。当链路崩溃时 , FSR不会发出任何控制信息 , 而且也不包含在下一个更新信息中 , 而是简单地删除邻居列表和拓扑结构表中的信息 , 因此适合于拓扑高度变化的网络环境 。目的序列号的使用不仅使得FSR能使用最新的链路状态信息去维护拓扑结构 , 而且还避免了环形路由的形成 , 因此较适合高移动性的无线网络 。
推荐阅读
- 生物体都是由什么构成的
- 南瓜子仁的功效与作用 南瓜子仁的好处
- 星期一到星期天的英语怎么读 怎么读星期一到星期天的英语
- 什么样的人容易有法令纹
- 蟹池养殖水草的作用
- 拉链的由来
- 本命年可以有哪些红色的穿着
- 如何把苯环上面的氨基变成硝基
- 好一个“德国音”
- 哪些软件买衣服便宜好看的