经典路由算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
经典路由算法
一、先验式路由协议(DSDV)
先验式路由协议是一种基于表格的路由协议。在这种协议中,每个节点维护一张或多张表格,这些表格包含到达网络中其它所有节点的路由信息。当检测到网络拓扑结构发生变化时,节点在网络中发送路由更新信息。收到更新信息的节点更新自己的表格,以维护一致的、及时的、准确的路由信息。
不同的先验式路由协议的区别在于拓扑更新信息在网络中传输的方式和需要存储的表的类型。先验式路由协议不断的检测网络拓扑和链路质量的变化,根据变化更新路由表,所以路由表可以准确地反映网络的拓扑结构。源节点一旦需要发送报文,可以立即得到到达目的节点的路由。
(DSDV、OLSR路由协议等很多普通的因特网路由协议)它们查找路由是不依赖于路径上的节点是否要发包,而是每个节点维护一张包含到达其它节点的路由信息的路由表。节点间通过周期性的交换路由信息来不断更新自身的路由表,以便能够及时的反映网络拓扑结构和变化,以维护一致的、及时的、准确的路由信息。
DSDV:目的节点序列距离矢量协议(待补充)
可以解决路由成环问题,每一个节点维持一个到其它节点的路由表,表的内容为路由的“下一跳”节点。
1)给每条路径增加了一个序列号码
2)每个目的节点会定期广播一个单调递增的偶数序列号号码
3)当一个节点发现它到某个目的节点的路径断开时,它把到这个节点的距离
设为无穷大。并且将这条路径的序列号加1(此时为奇数),然后向网络中
广播这个更新包。当这条路径修复时,它又将序列号加1然后广播出去。
换另一种方式来说,每个节点都保持着一张路由表,路由表中的每一项记录了
它到目的节点的距离和序列号,也就是(s,d)。我们假设有一目的节点为D,当
以下任何一情况发生时,都会发送更新:
1)D定期将自己的序列号加2并广播出去,即(S,0)
2)如果节点X要通过Y到达节点D,当X和Y之间的连接断开后,X将到D的路径的序列号加1,同时将路径值设为∞,然后将信息发送给邻居。
参考资料:/candycat1992/article/details/8100146 CSDN博客DSDV协议
DSDV创新之处是为每一条路由设置一个序列号,序列号大的路由为优选路由,序列号相同时,跳数少的路由为优选路由。正常情况下,节点广播的序列号是单调递增的偶数,当节点B发现到节点D的路由(路由序列号为s)中断后,节点B 就广播一个路由信息,告知该路由的序列号变为s+l,并把跳数设置为无穷大,这样,任何一个通过B发送信息的节点A的路由表中就包括一个无穷大的距离,这一过程直到A收到一个到达D的有效路由(路由序列号为s+1-1)为止。
在此方案中,网络内所有的移动终端都建立一个路由表,包括所有的目的节点到达各个目标节点的跳跃次数(或标识距离矢量的路径矩阵)。每个路由记录都有一个由目标节点设定的序列号。序列号使移动终端可以区分当前有效路由路径和已过时的路由路径。路由表周期性地做全网更新以维护全网的通信有效性。通常,为了减少由于路由表更新而产生的大量路由信息传递,减少网络路由开销,可以采用两种路由更新方式。
1)第一种是全清除方式:
即通过多个网络协议数据单元将路由更新信息在全网中传输。如果网络内终端出现移动,则产生的新路由分组信息不定期的传达至网络内所有终端。
2)第二种是部分更新方式:
或称为增量更新方式,即在最后一次全清除传输后,只传递那些涉及变化了的路
由信息进行传输,这些信息通常被放置在一个标准的NPDU里,从而减少路由信息的传递量。在增量更新方式中移动终端可以增加另外一个附加的表来存储路由更新信息。
新路由信息的广播信息包含目标节点的地址,到每个目标节点的跳数、接收信息的序列号,以及独有的广播序列号。新路由信息适用最新的序列号。如果两次更新具有相同的序列号,则具有较小的距离矢量阵的路由具有优先权。因为它代表路径最短(或跳数最少)。在通常情况下,从源节点到目的节点可能存在多条路径,在最佳路由路径的确定过程中,移动终端跟踪不同路由路径的时间,最佳路由路径就是时间最短的路径。在找到最佳路径之前,该时间呈收敛性涨落。一旦路径确定,这些信息就存放到每一个终端的路由表中,直到节点收到新的路由信息。
二、反应式路由协议(AODV)
反应式路由选择协议是一种当需要一条从源节点到目的节点的路径进行数据发送时才查找路由的路由选择方式。
节点并不保存整个网络的及时准确的路由信息。当源节点要向目的节点发送报文时,源节点在网络中发起路由查找过程,找到相应的路由后,才开始发送报文。为了提高效率,节点可以将找到的路由保存在缓存中供后续发送使用。反应式路由协议按需路由的特点可以较好地适应节点移动较为频繁的无线网络环境,节点发生移动后,只需要更新需要发送数据的相关路径的路由信息即可。AODV: adhoc on-demand distance vetor routing 无线自组网按需平面距离矢量路由协议
当一个节点需要给网络中的其他节点传送信
息时,如果没有到达目标节点的路由,则必须先以
多播的形式发出路由请求消息RREQ (route request
packet)。RREQ报文中记录着发起节点和目标节点
的网络层地址。
邻近节点收到RREQ,首先判断目标节点是否
为自己。如果是,则向发起节点发送路由应答消息
RREP (route reply packet);如果不是,则首先在路
由表中查找是否有到达目标节点的路由,如果有,
则向源节点单播RREP,否则继续转发RREQ进行
查找。直至发现目的节点。
在网络资源充分的情况下,AODV协议可以通过定期广播hello报文来维护路由,一旦发现某一个链路断开,节点就发送ERROR报文通知那些因链路断开而不可达的节点删除相应的记录或者对已存在的路由进行修复。
在AODV中,整个网络都是静止的除非有连接建立的需求。这就是说一个网络节点要建立连接时才广播一个连接建立的请求。其他的AODV节点转发这个请求消息,并记录源节点,和回到源节点的临时路由。当接收连接请求的节点