注:本文根据大连理工大学《高级计算机网络》课程整理,这部分是移动自组网专题。整理不易,对你有用的话点个赞吧!
A 和 C 无法感知到对方。
圣杯:极难得到的东西
除非特别声明 unless stated otherwise, fully symmetric environment is assumed implicitly
没有任何协议能在所有环境里都表现良好。
重点关注:
洪范式路由发现过程,
动态源路由发现过程(路由缓存),
位置辅助路由发现过程,
以及DREAM算法(实际上也是基于地理位置的,圆锥区域发送),
查询本地化(在旧的路径的基础上最多加入K个新节点),
还有对于广播风暴的应对算法(距离,计数,延迟转发,dropout),以及查询本地化(最多K个节点,减少洪泛范围)
按需距离矢量路由AODV(路由信息保存在节点上,单一路径路由,需要的时候才连接)
链路反转算法(部分反转,全反转,可能会有多条路径)
洪泛式数据传输的优点
洪泛式数据传输的缺点
初始节点S 通过洪泛 发送 RREQ(route request 路由请求包)
每个经过的节点都将自己的标识加入到控制包中(慢慢的形成一条路径)
目标节点D收到第一个RREQ之后,根据RREQ中的路由反转,发送RREP(route reply 路由回复包),RREP包含了S到D的路由信息。
源节点S收到目标节点D的RREP之后
什么时候执行路由发现:当节点S要发送数据包给D但是不知道S到D的路径的时候。(废话)
在路由发现过程中可以充分利用所有涉及的节点已知的信息。
路由缓存的使用
情景一:当节点S获知到节点D的路由中断的时候,它会从路由缓存中找到一条可行的路由。否则就发送RREQ进行路由发现。
情景二:中间节点X如果收到了一个路由请求并且知道从X到目标节点的路由,那么X可以直接发送RREP给S。
路由缓存需要注意的
DSR优点
DSR缺点
洪泛控制包的时候
Location Aided Routing
位置可以通过GPS获得,或者其他什么方式。
期望区域Expected Zone:即目标节点可能的区域范围,基于之前的目标节点的位置信息以及目标节点移动的速度
请求区域Request Zone:包含目标节点期望域和发送节点的区域
LAR算法:
LAR优化:动态请求域 adaptive request zone
LAR优化:模糊请求域implicit request zone
LAR优点
LAR缺点
移动的距离路由效应算法
注意:LAR洪泛的是控制包,而DREAM洪泛的是数据包,不需要事先知道路由(不需要发起路由发现的过程)
如上图所示,S发送数据包给在圆锥区域内的所有邻接节点(它知道目标节点的大概方位,但是不知道路径)
前提是,所有的节点都要知道自己的位置以及邻接节点的位置
相对距离微发现路由
地理距离的路由
保证交付的路由
查询本地化的优势
查询本地化的缺点
可能会产生比LAR更长的路由,最短的路由可能包含了超过K个新节点,所以找到的路由不一定是最短的。
看这个例子,之前已知道的路由SAD(旧的路由),现在D移动了位置变成了右边的样子。
这样只需要在旧的路由的基础上,最多再洪泛两个节点,即SABE,或者SABC.失败了就增大K。
而F节点不会转发请求,因为加上F节点就是新增三个节点了,这样能够控制洪泛的范围。
广播风暴问题总结
总结:只有需要的时候才发起路由请求,路由信息保存在每个节点上,每个节点只保存到下一跳的信息。
timeouts
Link Failure Reporting 连接失败报告
Route Error
AODV总结
链路反向算法的优点
缺点