您的位置:首页 > 编程语言

无限路由相关协议简介及代码注释

2013-02-27 14:13 399 查看
相关路由协议资源:http://www.baisi.net/thread-3016715-1-1.html
 

 

 主要有:AODV,DSDV,DSR,TORA,WRP,ZRP

 AODV

定义

AODV(Adhoc on-demand distance vector routing)是一种源驱动路由协议。当一个节点需要给网络中的其他节点传送信息时,如果没有到达目标节点的路由,则必须先以多播的形式发出RREQ(路由请求)报文。RREQ报文中记录着发起节点和目标节点的网络层地址,邻近节点收到RREQ,首先判断目标节点是否为自己。如果是,则向发起节点发送RREP(路由回应);如果不是,则首先在路由表中查找是否有到达目标节点的路由,如果有,则向源节点单播RREP,否则继续转发RREQ进行查找。

在网络资源充分的情况下,AODV协议可以通过定期广播hello报文来维护路由,一旦发现某一个链路断开,节点就发送ERROR报文通知那些因链路断开而不可达的节点删除相应的记录或者对已存在的路由进行修复。RREQ和RREP的查找方式分别如图2和3所示。



  图2[1]



  图3[1]

AODV特点

(1)AODV采用UDP封装,属于应用层协议。每次寻找路由时都要触发应用层协议,增加了实现的复杂度。

(2)IEEE802.15.4规定的帧大小为127字节,MAC头部及尾部校验最多使用了25字节,IPv6头部与UDP头部占用

48字节,只剩下54字节的空余。

(3)LR—WPAN中,拓扑结构相对简单,网络的规模相对较小,节点的位置不固定,对它的设计首先要考虑的因素是简单、节能等问题。AODV的路由框架和报文设计并没有考虑这些问题[1]。

无线自组网按需平面距离矢量路由协议(Ad hoc On-Demand Distance Vector Routing,AODV),是应用于无线网状网络(也称作无线mesh网络)中进行路由选择的路由协议,它能够实现单播多播路由。该协议是Ad
Hoc网络中按需生成路由方式的典型协议。

实现技术

它是反应式路由协议,也就是说当向目的节点发送包时,源节点才在网络中发起路由查找过程,找到相应的路由。相反的,很多普通的因特网路由协议都是先验式的,也就是说它们查找路由是不依赖于路径上的节点是否要发包,而是每个节点维护一张包含到达其它节点的路由信息的路由表节点间通过周期性的交换路由信息来不断更新自身的路由表,以便能够及时的反映网络拓扑结构和变化,以维护一致的、及时的、准确的路由信息。正如协议的名字所示,无线自组网按需平面距离矢量路由协议是一种平面距离矢量路由协议。

在AODV中,整个网络都是静止的除非有连接建立的需求。这就是说一个网络节点要建立连接时才广播一个连接建立的请求。其他的AODV节点转发这个请求消息,并记录源节点,和回到源节点的临时路由。当接收连接请求的节点知道到达目的节点的路由时,就把这个路由信息按照先前记录的回到源节点的临时路由发回源节点。于是源节点就开始使用这个经由其他节点并且有最短跳数的路由
当链路断掉,路由错误就被回送给源节点,于是源节点就重新发起路由查找的过程。

大多数协议的复杂性在于为了保证网络性能而减少消息数量。例如,每个路由请求都会有一个序号,节点使用这个序号以避免它们重复转发这个路由请求。路由请求有一个“生存时间”数,这将减少他们被重传的次数。还有就是如果路由请求失败,其他的路由请求将会在先前的路由请求消息超时后的两倍的“生存时间”之后,才被发送。

相关的路由协议

AODV对在这方面有多种解决方法。还有一种路由协议是动态源路由协议(DSR),这个路由协议充分最优化网络的通信量。另外就是优化的链路状态路由协议(OLSR)也是解决这方面问题。OLSR不断地收集节点之间能相互通信的数据,并对每个节点保持一个最优化的路由表。所以连接可以很快的建立。但是OLSR是一个相对比较大而且复杂,它要求大型复杂的计算机、很大的内存和计算。同时频繁进行网络其他节点的发现过程是一个巨大的负担。对于其他可选择的方法可以参照无线自组网协议列表。

 

DSR

动态源路由协议(Dynamic Source Routing, DSR)是在移动自组网(MANET)中使用的一种路由协议。它工作在TCP/IP协议族的网际层。

动态源路由协议(Dynamic Source Routing Protocol,DSR)是一个专门为多跳无线AdHoc网络设计的简单且高效的路由协议。所有的路由都是由DSR路由协议动态地、自动地确定和维护,它提供快速反应式服务,以便帮助确保数据分组的成功交付,即使在节点移动或者其他网络状况变化的条件下也是如此。

DSR路由协议有两个主要机制组成——路由寻找(Route Discovery)机制和路由维护(RouteMaintenance)机制。路由寻找机制在源节点需要给目的节点发送一个分组并且还不知道到达目的节点的路由的时候使用。当源节点正在使用一条到达目的节点的源路由的时候,源节点使用路由维护机制可以检测出因为拓扑变化不能使用的路由,当路由维护指出一条源路由已经中断而不再起作用的时候,为了将随后的数据分组传输到目的节点,源节点能够尽力使用一条偶然获知的到达目的节点的路由,或者重新调用路由寻找机制找到一条新路由。在DSR路由协议中,路由寻找机制和路由维护机制均是完全按需操作,不需要某个网络层次的某种周期分组,如DSR不需要任何周期性的路由广播分组、链路状态探测分组。DSR路由协议的的所有状态都是“软状态”,因为任何状态的丢失都不会影响DSR路由协议的正确操作,因为所有状态都是按需建立,所有状态在丢失之后如果仍然需要的话则能够很容易得到迅速恢复。DSR路由协议的路由寻找机制和路由维护机制的操作使得单向链和不对称路由很容易得到支持。

DSR路由协议的完整版本直接使用“源路由”,节点使用路由缓冲器存储节点所知的源路由,当发现新路由时,更新缓冲器内的条目。节点所发送的每个数据分组均在其分组头中携带其将要通过的一个完整的、按序排列的路由信息。

DSR选项头格式如下:

它的首部采用扩展性良好的TLV格式。除固定部分外,不同类型的选项(option)以TLV格式附加在固定部分之后。

选项的种类包括:

路由请求(Route Request)

路由应答(RouteReply)

确认请求(ACKRequest)

确认(ACK)

源路由(Source Route)

 

Destination-SequencedDistance Vector routing---DSDV

 

源文档 <http://en.wikipedia.org/wiki/DSDV>

 

 

Destination-SequencedDistance-Vector Routing (DSDV) isa table-driven routing scheme for ad hoc mobile networks based on the Bellman-Ford
algorithm. It was developed by C. Perkins andP.Bhagwat in 1994. The main contribution of the algorithm was to solvethe routing loop problem. Each entry in the routing table contains a sequencenumber,
the sequence numbers are generally even if a link is present; else, anodd number is used. The number is generated by the destination, and the emitterneeds to send out the next update with this number. Routing information isdistributed between nodes by sending full
dumps infrequently and smaller incremental updates morefrequently.



For example therouting table of Node A in this network is

Destination

Next Hop

Number of Hops

Sequence Number

Install Time

A

A

0

A 46

001000

B

B

1

B 36

001200

C

B

2

C 28

001500

Naturally thetable contains description of all possible paths reachable by node A, alongwith the next hop, number of hops and sequence number.

Contents

  [hide

1 Selection of Route

2 Disadvantages

3 Influence

4 References
[edit]Selection of Route

If a routerreceives new information, then it uses the latest sequence number. If thesequence number is the same as the one already in the table, the route with thebetter metric is used. Stale entries are those entries that have not beenupdated for a while.
Such entries as well as the routes using those nodes asnext hops are deleted.

[edit]Disadvantages

DSDV requires aregular update of its routing tables, which uses up battery power and a smallamount of bandwidth even when the network is idle.

Whenever thetopology of the network changes, a new sequence number is necessary before thenetwork re-converges; thus, DSDV is not suitable for highly dynamic networks.(As in all distance-vector protocols, this does not perturb traffic in regionsof the network
that are not concerned by the topology change.)

[edit]Influence

While DSDV itselfdoes not appear to be much used today[citation needed], other protocols have used similartechniques. The best-known sequenced distance vector protocol isAODV,
which, by virtue of being a reactiveprotocol, can use simpler sequencing heuristics. Babel is anattempt at making DSDV more robust, more efficient and more widely applicablewhile staying within the
framework of proactive protocols.

[edit]References

Perkins, Charles E. and Bhagwat, Pravin (1994) (pdf). Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers. Retrieved 2006-10-20.
 

源文档 <http://en.wikipedia.org/wiki/DSDV>

 
TORA

TORA(Temporally Ordered Routing Algorithm)协议     

Ad Hoc中的一种路由选择的技术。

为每个节点定义一个区域,此区域包含一些节点,这些节点的距离(也就是跳数)

在一个限定范围之内。这个距离被称为区域半径。每一个节点只需要知道它的

路由区域内的拓扑结构,而且随着区域内的拓扑更新而更新。这样,尽管网络很

大,但更新仅在局部进行。由于距离大于1,这样区域就有大量重叠(这是与分群路

由的区别)。若S要与D通信,则S发送询问消息,它先通过已有区间内的路由信息

直接将路由请求送到边界节点(与边界节点之间的跳数值正好等于设置半径的那

个跳数值),由边界节点再进行处理。并一级一级广播下去,直到到达D,D响

应这个请求。为了限定信息大小并同时能反应出路由发现过程,在Query消息中加

入跳数限制,并且每经过一个节点,跳数减1,若跳数域为0,则一丢弃该消息。区

域内部采用先验式路由协议,如DSDV。TORA仅需要一些相对小数量的询问信息,

这些信息只是发给周边节点的信息。

由于区域半径相对于整个网络来说总是比较小,因此区域内部拓扑的开销只是整

个网络很少的一部分。而且,每一个节点存储的信息也大为减小。

另外,ZRP协议比全网的反应式路由发现机制要快得多,而且还会发现去目的地

的多条路由。但是,实施混合式路由也面临着很多困难,如簇的选择和维护、先

验式和反应式路由协议的合理选择以及网络工作的大流量等问题。

 

源文档 <http://baike.baidu.com/view/1480882.htm>

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: