一种快速路由建立的方法及装置的制作方法

文档序号:7624345阅读:81来源:国知局
专利名称:一种快速路由建立的方法及装置的制作方法
技术领域
本发明涉及路由技术,尤指一种快速路由建立的方法及装置。
背景技术
常见的移动网络通常是以蜂窝网络或无线局域网等形式出现。在蜂窝网络中,移动终端之间的通信必须借助基站和移动交换机的转接完成;在无线局域网中,移动终端则是通过无线接入点连接到现有的固定网络。与此同时,蓝牙(Bluetooth)、家庭无线网(HomeRF)等移动通信新技术也纷纷涌现。这些移动网络和无线通信技术是对固定有线网络的补充和发展,它们同样都需要固定基础设施的支持,并且一般采用集中式的控制方式。但在某些特殊的应用环境或紧急情况下,需要固定基础设施支持的移动通信网络再也不能满足应用环境的需求。比如,战场上部队快速展开和推进、发生地震等自然灾害后的搜索和营救、野外科考等,因此在这些应用场合中迫切需要一种不依赖于固定基础设施,并且能够快速灵活配置的移动通信网络,Ad hoc网络就是为满足这种特殊应用需求而产生的。Ad hoc网络是由一组带有无线收发器的移动节点组成的无基站、多跳步、临时性的自治网络,并且在Ad hoc网络中,每个移动节点都具有路由器的功能。在下文中,将Ad hoc网络中的移动节点简称为节点。
Ad hoc网络具有许多优点首先,网络的自组织性提供了廉价而且快速部署网络的可能;其次,多跳和中间节点的转发特性可以在不降低网络覆盖范围的条件下减少每个终端的发射范围,从而降低设计天线和相关发射/接收部件的难度,同时降低了设备的功耗,为移动终端的小型化、低功耗提供了可能;另外,网络的稳健性、抗毁性满足了某些特定应用需求。因此,Ad hoc网络能够广泛应用在军事、抢险救灾、会议,以及扩展现有蜂窝移动通信系统的覆盖范围等应用场景中。
与需要固定基础设施支持的传统通信网络相比,Ad hoc网络还具有以下显著特点无中心、自组织性、动态变化的网络拓扑、移动终端的局限性、安全性差、多跳路由。其中,多跳路由的产生是由于节点发射功率的限制、节点覆盖范围的有限,当节点需要与在它覆盖范围之外的节点进行通信时,则需要网络中其它节点的转发,参与转发的节点称为中间节点,即需要中间节点提供路由的功能。另外,称在节点覆盖范围之内的网络中其它节点为该节点的邻节点,Ad hoc网络内的任意节点都可以直接与其自身的邻节点进行通信,而不需要中间节点的转发。
路由是Ad hoc网络中最为重要的问题,为解决该问题,IETF特别成立了移动自组织网络(Mobile Ad hoc Networks,MANET)工作组来研究无线Ad hoc网络中的路由协议。其中,最为经典的协议是动态源路由协议(Dynamic SourceRouting,DSR)和Ad hoc按需距离矢量路由协议(Ad hoc On demand DistanceVector Routing,AODV)。
图1为Ad hoc网络节点内实现路由建立装置的结构图,通过该装置可以实现路由的建立。该装置具体包含以下六个功能单元路由缓存单元11、网络层数据处理单元12、介质访问控制(MAC)层数据处理单元13、MAC层数据存储单元14、发送单元15和接收单元16。其中,路由缓存单元11,用于存储路由相关信息,如请求路由表、转发路由表、已获得的路由信息等;网络层数据处理单元12,用于为收到的数据报文寻找路由,并将数据报文分成一定长度的分组,封装分组,也负责向高层转发来自MAC层的分组;MAC层数据处理单元13,用于在分组头中加入标识MAC层的控制信息,并负责媒体接入控制,以及分组的传送;MAC层数据存储单元14,用于存储准备发送的分组,采用先进先出的原则发送存储的数据;发送单元15,用于通过无线广播信道发送分组;接收单元16;用于接收从无线广播信道传来的数据。
在Ad hoc网络中,网络节点一般根据802.11中所规定的带有冲突检测的载波侦听多路访问(Carrier Sense Multiple Access/Collision Detected,CSMA/CD)协议对无线广播信道进行访问,网络节点将分组以广播的形式发送到信道上,并时刻监听无线广播信道上的分组,从而获得发送给自身的分组。
在数据发送过程中,网络层数据处理单元12接收高层传来的用户数据报文,将用户数据报文分成一定长度的分组,进行封装;并根据路由缓存单元11中存储的路由信息,为用户数据报文寻找路由。网络层数据处理单元12将分组发送至MAC层数据处理单元13进行封装,然后再由MAC层数据处理单元13将处理完的分组送入MAC层数据存储单元14中存储。MAC层数据处理单元13在检测到无线广播信道满足信道接入条件时,通过发送单元15按照先进先出的原则发送MAC层数据存储单元14中存储的分组。
在数据接收过程中,MAC层数据处理单元13监听接收单元16发送来的分组,对于发送至本节点的分组进行拆包,并将拆包后的分组上送给网络层数据处理单元12进行处理。网络层数据处理单元12处理接收到的分组,按照分组携带的路由信息,转发该分组或者交给高层进行处理。
这里,以DSR为例介绍路由建立的基本过程。其中,与路由相关的控制信息的处理都在网络层数据处理单元12中进行。
当源节点内的网络层数据处理单元12接收到从高层传来的数据报文时,先检查路由缓存单元11中是否存在到达目的节点的路由,如果存在,则采用发送缓存中的路由来传送数据报文;如果不存在,则该源节点发起寻找目的节点的路由搜寻过程,广播一个RREQ分组。其中,在本文中所述发送缓存为MAC层数据存储单元14。
当中间节点收到RREQ分组后,网络层数据处理单元12首先检查之前是否收到过相同的RREQ分组,如果收到过,则当前收到的RREQ分组为重复包,将当前收到的RREQ分组删除;如果没有收到过相同的RREQ分组,则检查该中间节点的路由缓存单元11中是否存在到达目的节点的有效路径,如果有,则向源节点返回RREP分组,并在RREP分组中携带当前收到的RREQ分组中所记录的路由信息;否则,该中间节点将自己的路由信息添加到RREQ分组中的路由记录(RECORD)之后,继续广播RREQ分组。
当目的节点收到源节点发出的RREQ分组之前,该RREQ分组可能已经经过了一个或一个以上中间节点的转发,并且中间节点在转发RREQ分组的过程中,均在RREQ分组内加入了自身的路由信息。
当目的节点接收到RREQ分组时,则向源节点回应RREP分组,RREP分组中携带从源节点到目的节点历经的路由信息。在回应RREP分组时,目的节点首先检查路由缓存单元11中是否存在到达源节点的路由,如果存在,则使用查找得到的路由转发RREP分组;如果不存在,则再检查链路是否对称,在链路对称的情况下,利用当前收到的RREQ分组中记录的路径反向向源节点回应RREP分组,若链路不对称,则目的节点针对当前收到的RREQ分组对应的源节点发起路由搜寻过程,路由搜寻的具体过程是目的节点广播新的寻找源节点的RREQ分组,该RREQ分组中携带目的节点回应源节点的RREP信息。这里,所述链路是否对称是指链路信道质量是否相同。一般,从源节点出发的RREQ分组会通过多条路径到达目的节点,目的节点每接收到一个RREQ分组,则会向源节点回应一个与收到的RREQ分组对应的RREP分组、或者携带RREP信息的RREQ分组。因此在接收端,源节点也会收到从多条路径传来的RREP分组、或者携带RREP信息的RREQ分组。
中间节点在向下一跳节点转发目的节点发送给源节点分组的过程中,利用接收到的RREP分组或RREQ分组中所记录的路由信息,更新自身的路由缓存单元11。
源节点在接收到RREP分组或者携带RREP信息的RREQ分组时,从接收到的RREP分组、或者RREQ分组携带的RREP信息中获得到达目的节点的路由信息。如果源节点收到来自多条路径的RREP分组,则源节点获得多条到达目的节点的路由。
AODV和DSR一样具有“按需”的特点,也都是通过相似的路由发现过程“按需”寻找路由。AODV采用的是序列号编码的方式来确保所有的链路没有环路,并保证中间节点只应答最新的信息,每个节点包含源节点的IP地址、当前的序列号以及源节点所知道的目的节点最新的序列号。在转发RREQ分组的过程中,中间节点在自己的路由表中记录接收到RREQ分组的上一跳地址来建立一条反向路径。当目的节点或者具有到达目的节点路由的中间节点收到RREQ分组,并且收到RREQ分组的序列号大于或等于RREQ分组所包含的序列号时,则目的节点或者中间节点向源节点回应RREP分组,并沿着反向路径单播,直到到达发起路由搜寻的源节点。由于RREP分组沿着RREQ分组建立起来的路径转发,因此,AODV只适用于链路对称的情况。
在路由建立过程中,由于Ad hoc网络中分组的发送都是通过广播的方式进行的,而且源节点、中间节点和目的节点发送RREQ分组或RREP分组以及在空中传播的时间都是相对集中的,因此就造成了大量的RREP分组和RREQ分组在MAC层里的碰撞,由碰撞而引发的重传极大的影响了路由建立的速度。而且,Ad hoc网络中与路由控制相关的分组的数目又非常多,因此更加减慢了路由建立的速度。

发明内容
有鉴于此,本发明的主要目的在于提供一种快速路由建立的方法,该方法能够快速路由建立。
本发明的又一目的在于提供一种快速路由建立的装置,在此装置上能够实现路由的快速建立。
为达到上述目的,本发明的技术方案是这样实现的一种快速路由建立的方法,该方法包括以下步骤A、目的节点收到路由请求分组,封装所收到路由请求分组中携带的路由信息到与路由请求分组源节点对应的一个路由应答分组中;B、判断是否能发送路由应答分组,如果能发送,则通过中间节点向源节点发送携带路由应答信息的分组;否则,返回步骤A。
其中,步骤B中所述携带路由应答信息的分组为路由应答分组、或携带路由应答信息的路由请求分组。
其中,步骤B中所述判断为在执行步骤A的同时进行实时判断。
另外,该方法进一步包括设置计时器并设定计时时间;则步骤A中,目的节点在收到源节点的第一个路由请求分组后进一步包括启动计时器;步骤B中所述判断是否能发送为判断计时器是否到时,如果到时,则能发送;否则,不能发送。
其中,步骤B中所述判断为在执行步骤A的同时进行实时判断。
另外,参与路由建立的每个节点在发送分组前,进一步包括判断准备插入节点中存储待发送分组的发送缓存的分组是否为路由控制分组,如果是,则将该分组存入发送缓存,并将所有待发送的路由控制分组依次优先发送;否则,将该分组存入发送缓存并正常发送。
另外,该方法进一步包括设置计数器并设定计数值;则步骤A中,目的节点在收到源节点的第一个路由请求分组后进一步包括启动计数器;步骤B中所述判断是否能发送为判断计数器是否到达设定的计数值,如果到达,则能发送;否则,不能发送。
另外,参与路由建立的每个节点在发送分组前,进一步包括判断准备插入节点中存储待发送分组的发送缓存的分组是否为路由控制分组,如果是,则将该分组存入发送缓存,并将所有待发送的路由控制分组依次优先发送;否则,将该分组存入发送缓存并正常发送。
另外,该方法进一步包括设置计时器和计数器并设定计时时间和计数值;则步骤A中,目的节点在收到源节点的第一个路由请求分组后进一步包括同时启动计时器和计数器;步骤B中所述判断是否能发送为判断计时器是否到时或计数器是否到达设定的计数值,如果是,则能发送;否则,不能发送。
其中,步骤B中所述判断计时器是否到时为在执行步骤A的同时实时判断计时器是否到时。
其中,所述中间节点向源节点发送携带路由应答信息的分组为携带路由应答信息的路由请求分组,所述中间节点向源节点发送携带路由应答信息的路由请求分组具体为
B11、中间节点监听广播信道,获得邻节点发送的路由请求分组;B12、中间节点查找自身当前等待发送的分组,删除与步骤B11中获得的分组相同的路由请求分组中携带的路由应答信息。
其中,步骤B11中所述获得邻节点发送的路由请求分组为携带路由应答信息的路由请求分组。
其中,所述中间节点向源节点发送携带路由应答信息的分组为路由应答分组,所述中间节点向源节点发送路由应答分组具体为B21、中间节点监听广播信道,获得邻节点发送的路由应答分组;B22、中间节点查找自身当前等待发送的分组,删除与步骤B21中获得的分组相同的路由应答分组。
另外,参与路由建立的每个节点在发送分组前,进一步包括判断准备插入节点中存储待发送分组的发送缓存的分组是否为路由控制分组,如果是,则将该分组存入发送缓存,并将所有待发送的路由控制分组依次优先发送;否则,将该分组存入发送缓存并正常发送。
一种快速路由建立的装置,包括路由缓存单元、网络层数据处理单元、介质访问控制层数据处理单元、介质访问控制层数据存储单元、发送单元以及接收单元,网络层数据处理单元接收高层的数据报文,将处理后的数据以及生成的路由控制分组发送到介质访问控制层数据处理单元进行处理;路由缓存单元为网络层数据处理单元提供路由信息的查找;介质访问控制层数据处理单元将处理后分组存储在介质访问控制层数据存储单元中等待发送;介质访问控制层数据存储单元在检测到广播信道可用时通过发送单元进行发送;接收单元将从广播信道监听到的信息交于介质访问控制层数据处理单元进行处理,所述网络层数据处理单元中进一步设置有发送触发器,所述网络层数据处理单元接收来自介质访问控制层数据处理单元的分组,封装一个或一个以上路由请求分组中携带的路由信息到一个路由应答分组,在收到来自源节点的第一个路由请求分组时启动发送触发器,并根据发送触发器的触发发送携带路由应答信息的分组至介质访问控制层数据处理单元;
所述发送触发器,用于触发网络层数据处理单元发送携带路由应答信息的分组。
其中,所述发送触发器为计时器、或为计数器。
其中,所述携带路由应答信息的分组为路由应答分组或携带路由应答信息的路由请求分组,该装置进一步包括数据类型控制单元,用于检查接收单元发送给介质访问控制层数据处理单元的分组,获得路由应答分组并删除与获得的路由应答分组相同的路由应答分组;和/或获得携带路由应答信息的路由请求分组并删除与获得的路由请求分组中相同的路由请求分组中携带的路由应答信息。
另外,该装置进一步包括优先级控制单元,用于控制路由控制信息在介质访问控制层数据存储单元中依次优先发送。
另外,所述携带路由应答信息的分组为路由应答分组或携带路由应答信息的路由请求分组,该装置进一步包括数据类型控制单元,用于检查接收单元发送给介质访问控制层数据处理单元的分组,获得路由应答分组并删除与获得的路由应答分组相同的路由应答分组;和/或获得携带路由应答信息的路由请求分组并删除与获得的路由请求分组中相同的路由请求分组中携带的路由应答信息。
优先级控制单元,用于控制路由控制信息在介质访问控制层数据存储单元中依次优先发送。
本发明所提供的一种快速路由建立的方法及装置,目的节点在收到来自源节点的第一个路由请求分组后,等待一段时间或等待收集一定数量的路由请求分组,然后将等待时间内接收到的路由请求分组或收集到的一定数量的路由请求分组中携带的路由信息封装到同一个RREP分组中,返回给源节点,而不是针对每个RREQ分组都回应RREP分组,如此,减少了目的节点回应RREQ分组的数目,减少了路由控制分组在无线广播信道中传播的数目,因此也减少了路由控制分组在MAC层的碰撞,加快了路由建立的速度。
并且,本发明可以在MAC层增加节点监听过程,当某个节点监听到自身的邻节点正在发送与自身发送缓存中相同的RREP分组、或携带RREP信息的RREQ分组时,则不再转发自身发送缓存中RREP分组、或删除RREQ分组中携带的RREP信息,从而减少了路由控制分组的数目或长度,降低了分组在MAC层发生碰撞的概率,进而减少了重传次数,加快了路由建立的速度。同时,本发明充分考虑了路由建立过程中的后向兼容性,可以在不增加任何硬件开销的基础上实现更为快速的路由建立过程。
本发明中,每个节点对于待发送的路由控制分组,可通过调整路由控制分组在发送缓存中的位置,使路由控制分组优先于其它分组发送,进一步提高路由建立的速度。


图1为实现路由建立装置的结构图;图2为本发明实现快速路由建立方法的流程图;图3为本发明中一实现快速路由建立装置的结构图;图4为本发明中监听邻节点数据的处理流程图;图5为本发明中又一监听邻节点数据的处理流程图;图6为本发明中又一实现快速路由建立装置的结构图;图7为本发明中控制路由控制分组优先级的流程图;图8为本发明中另一实现快速路由建立装置的结构图。
具体实施例方式
本发明的核心思想是将目的节点收到的一个或一个以上路由请求分组中携带的路由信息封装到一个路由应答分组后,发送给源节点。也就是说,当目的节点收到来自某个源节点的第一个RREQ分组时,并不马上向该源节点返回相应的RREP分组,而是等待一段时间和/或等待一定数目源自同一个源节点的一个或一个以上RREQ分组,将这一个或一个以上RREQ分组中携带的路由信息封装到一个RREP分组中,在能发送时再将封装后的RREP分组或携带RREP信息的RREQ分组发给源节点。这里,所述能发送是指设置的计时器到时,或是设置的计数器到达设定值;所述RREP分组和携带RREP信息的RREQ分组都可以统称为携带RREP信息的分组。
本发明所提出的方法适用于DSR、AODV等Ad hoc网络中的路由协议。在路由建立过程中,对于中间节点存有到目的节点的路由信息的情况,按现有技术处理流程直接向源节点返回RREP分组;本发明的处理方法仅针对目的节点接收到RREQ分组,且接收到的RREQ分组至少经过一个中间节点转发的情况。
为实现本发明所提出的方法,需在现有技术实现路由建立装置中的网络层数据处理单元12内,针对收到的RREQ分组对应的不同源节点分别设置发送触发器,比如计数器和/或计时器;在接收到RREQ分组时,并不立即返回与接收到的RREQ分组相应的RREP分组,而是由发送触发器在条件满足时触发目的节点向源节点返回封装了多条路由信息的RREP分组或携带RREP信息的RREQ分组。其中,所述在条件满足时触发是指计时器到时或计数器到达设定值时触发。
图2为本发明方法的具体实施过程。如图2所示的过程是从目的节点收到RREQ分组开始,到源节点收到目的节点返回的携带RREP信息的分组结束,省略了源节点发送RREQ分组到目的节点的过程。其中,源节点发送RREQ分组,以及中间节点处理RREQ分组的过程与现有技术相同,在此不再详述。图2所示的过程,是以目的节点等待一定数目的RREQ分组为例进行介绍,即计数器到达设定值时目的节点向源节点发送携带RREP信息的分组,本实施例的具体过程如下步骤201~202当RREQ分组到达目的节点后,目的节点首先获得当前收到的RREQ分组中携带的源节点信息。在此假设,根据获得的源节点信息得到该源节点为源节点A。然后,判断在此之前是否收到了与该源节点A对应的RREQ分组,如果目的节点在此之前没有收到与该源节点A对应的RREQ分组,也就是说,当前收到的RREQ分组为来自该源节点A的第一个RREQ分组,执行步骤203;否则,则说明目的节点在收到当前的RREQ分组之前,已经收到了来自同一源节点A的RREQ分组,此时,执行步骤204。
步骤203针对源节点A,在网络层数据处理单元12中设置一个计数器,并启动该计数器,设定该计数器的计数值;同时,目的节点产生与源节点A对应的RREP分组。
步骤204目的节点获得RREQ分组中携带的源节点到达目的节点的路由信息,将获得路由信息添加到与当前接收到的RREQ分组对应的RREP分组中;并在与该RREQ分组对应的源节点的计数器上加1。
步骤205判断目的节点是否能发送RREP分组,在此为判断当前接收到的RREQ分组对应源节点的计数器的计数值是否超过了设定的计数值,如果超过,则执行步骤206;否则,返回步骤201。
步骤206目的节点在自身的路由缓存单元11中查找,是否存在到达与当前接收到的RREQ分组相对应的源节点的路由,如果存在,则执行步骤207;否则,则执行步骤208。
步骤207目的节点按照路由缓存单元11中记录的到达源节点的路径,取出与当前接收到的RREQ分组对应的RREP分组,通过中间节点向源节点返回封装了一条或多条路由信息的RREP分组,执行步骤211。
步骤208目的节点判断网络中的链路是否为对称链路,如果是,则执行步骤209;否则,执行步骤210。
步骤209链路对称时,目的节点利用当前接收到的RREQ分组中记录的路由信息,取出与当前接收到的RREQ分组对应的RREP分组,通过中间节点反向向源节点返回RREP分组,执行步骤211。
步骤210链路不对称时,目的节点则发起针对源节点的路由搜寻过程,广播新的RREQ分组,所广播的RREQ分组中携带RREP信息,这里的RREP信息中携带了一条或多条路由信息。通过广播发送新的RREQ分组,将封装了多条源节点到目的节点路由信息的RREQ分组,通过中间节点向源节点返回,执行步骤211。
步骤211中间节点收到目的节点返回的RREP分组或携带RREP信息的RREQ分组后,按照现有技术处理接收到的RREP分组或RREQ分组。具体过程为当中间节点接收到的是RREP分组,中间节点首先利用RREP分组携带的路由信息更新自身路由缓存单元11中的路由信息,然后,将当前接收到的RREP分组转发给下一跳节点;当中间节点接收到的是目的节点发送寻找源节点的RREQ分组时,同样按照现有技术处理RREQ分组的方法处理接收到的RREQ分组,根据RREQ分组携带的RREP信息中的路由信息更新自身路由缓存单元11中的路由信息。
步骤212源节点在收到目的节点返回的RREP分组时,获取RREP分组中携带的到达目的节点的路由信息,并根据RREP分组中携带的路由信息更新自身路由缓存单元11。源节点在收到目的节点发起寻找自身的RREQ分组时,获得RREQ分组中携带的RREP信息,进而从携带的RREP信息中获得源节点到目的节点的路由信息,并利用RREP信息中携带的路由信息更新自身路由缓存单元11中的路由信息;同时,利用返回的路由信息向目的节点返回携带目的节点到源节点路由信息的RREP分组,目的节点通过接收源节点返回的RREP分组获得到源节点的路由信息。
至此,本发明中快速路由建立的过程完成。
其中,在步骤203中,也就是当判断出当前接收到的RREQ分组是来自某一源节点的第一个RREQ分组之后,这里,同样假设当前接收到的RREQ分组是来自源节点A,目的节点除了可以设置并启动针对该源节点的计数器之外,还可以设置并启动针对该源节点A的计时器,同时设定计时时间,并产生与该源节点A对应的RREP分组。在设置计时器的情况下,目的节点除可以按照如图2所示的过程进行路由建立,还可以通过如下方式完成路由建立过程目的节点实时监视计时器,在计时器的时间还没有到达计时时间的过程中,当有与源节点A对应的RREQ分组到达目的节点时,目的节点则向与该源节点A对应的RREP分组内封装当前收到的RREQ分组中携带的路由信息;当计时器所规定的时间到达计时时间时,无论目的节点是处于路由建立过程的哪个步骤,均进入步骤206寻找源节点A路径的过程;本发明还可以在步骤203中,也就是当判断出当前接收到的RREQ分组是来自源节点A的第一个RREQ分组之后,目的节点同时设置并启动针对该源节点A的计数器和计时器,并设定计数值和计时时间,并产生与该源节点对应的RREP分组。当计时器或计数器中任意一个到达设定的值时,就进入步骤206寻找源节点A路径的过程。在计时器或计数器中均未到达设定的值的过程中,当有与该源节点A对应的RREQ分组到达目的节点时,目的节点则向与该源节点A对应的RREP分组内封装当前收到的RREQ分组中携带的路由信息。
本发明除了可以在收到来自源节点的第一个RREQ分组后,设置计数器或计时器,以及相应的计时时间或计数值,还可以在路由建立过程未开始时,预先在节点内设置计时器或计数器,以及相应的计时时间或计数值。当目的节点收到源节点的第一个RREQ分组后,针对源节点启动相应的计数器和/或计数器。
根据网络环境的需要,可以为针对不同源节点的计数器或计时器设定相同或不同的值。在目的节点设置计数器或计时器的同时,设定计数值或计时时间;也可以在网络初始化的时候,预先确定计数值或计时时间,在设置完计数器或计时器后,直接配置事先设定的值。该计数值或计时时间与网络负荷,拓扑结构等都密切相关。
计数器的计数值可以是1、或者1个以上。在具体设定的时候,可以根据网络的拓扑结构和网络的运行情况,事先预计可能存在的路由数量的平均数或者最大值,根据这个平均数或最大值设定具体的计数值。
计时器计时时间的设定,可以根据网络的拓扑结构、网络负荷来设定。比如,当网络中节点分布比较均匀时,RREQ分组通过多条路径到达目的节点的时间差比较小,那么目的节点等待的时间长度比较短,因此可以设定较短的计时时间。当RREQ分组所历经的路径差别很大,导致RREQ分组到达目的节点的时间差也较大,此时目的节点则必须进行衡量,是设定较短的计时时间,马上返回携带RREP信息的分组,还是继续等待,设定较长的等待时间,收集到足够多的RREP分组之后,再返回携带RREP信息的分组,此时,则目的节点需要根据对路由质量的要求,和对有效路径的要求衡量进行决定。
设定值的具体大小还可以根据经验值,以及长期在试验中积累的数据来确定。例如,实验数据表明,针对50个节点随机分布在10km*10km的场景,当应用层要求平均每秒发送5000byte~10000byte数据信息时,试验证明等待时间设置在0.05S~0.2S比较合理。因此,还可以做大量的实验,将做实验的条件,以及实验得到的结果,制成表格,供需要时查找;同时也可以根据经验,将经验值的条件以及经验值的大小制成表格,供需要时查找。
在本发明中,当目的节点向源节点返回的是RREP分组时,由于目的节点是将多条路由信息都封装在一个RREP分组中,并将这一个RREP分组通过一条或多条路径返回源节点,因此中间节点转发RREP分组都是相同的,只要有一个RREP分组能到达源节点,源节点就能获得所有目的节点接收到的RREQ分组中所携带的到达目的节点的路径。同样,当目的节点向源节点发送的是RREQ分组时,此时RREQ分组中携带的RREP信息也都是相同的,只要源节点接收到有一个携带RREP信息的RREQ分组,就可以获得所有到达目的节点的路径。并且,由于Ad hoc网络中的节点都是通过无线广播信道进行通信,节点时刻都会监听信道。因此,在本发明具体实施过程的步骤211中,中间节点在转发目的节点向源节点返回的RREP分组、或向源节点发送RREQ分组时,都可以通过监听信道获得邻节点发送分组的信息。
当中间节点的周围存在邻节点正在返回RREP分组,则中间节点删除自身MAC层数据存储单元14中与监听到的、邻节点正在发送的RREP分组相同的RREP分组;在邻节点发送RREQ分组时,则中间节点删除与监听得到的RREQ分组相同的RREQ分组中携带的RREP信息。这样,可以通过减少中间节点转发RREP分组的次数,或者减小发送RREQ分组的长度,从而减少分组在MAC层中的碰撞,加快路由建立速度。
网络中的节点在不同的传输过程,都会充当中间节点的角色,因此,为了实现上述通过监听信道,删除自身MAC层数据存储单元14中的RREP分组或者RREQ分组中携带的RREP信息,需要在现有技术实现路由建立装置的结构图中,新增一个数据类型控制单元37。
如图3所示,接收单元16通过数据类型控制单元37与MAC层数据处理单元13相连,同时数据类型控制单元37又与MAC层数据存储单元14相连。如图3中所示的网络层数据处理单元32为针对收到的RREQ分组对应的不同源节点分别设置计数器和/或计时器;在接收到RREQ分组时,并不立即返回与接收到的RREQ分组相应的RREP分组或者携带RREP信息的RREQ分组,而是在等待一段时间、或一定数量的RREQ分组后,向源节点返回封装了多条路由信息的RREP分组或者携带RREP信息的RREQ分组。
接收单元16监听信道,并将监听到的分组发送给MAC层数据处理单元13进行处理,数据类型控制单元37检查接收单元16发送给MAC层数据处理单元13的分组,获得RREP分组或者携带RREP信息的RREQ分组,搜索MAC层数据存储单元14中所有的分组,找到与当前获得的分组相同的RREP分组或者RREQ分组,删除MAC层数据存储单元14中相同的RREP分组或者RREQ分组中携带的RREP信息。
这里,所述相同的RREP分组或者RREQ分组是指,当两个RREP分组或者两个RREQ分组具有相同的源节点、目的节点和发送时间信息。其中,发送时间信息是目的节点在返回的RREP分组或携带RREP信息的RREQ分组中写入的发送时间。该发送时间信息表示RREP分组或携带RREP信息的RREQ分组从目的节点出发的时刻。
中间节点可以在步骤211中通过如图4所示的流程,实现通过监听信道,删除自身MAC层数据存储单元14中与监听到的相同的RREP分组、或者相同的RREQ分组中携带的RREP信息,具体过程如下步骤401~402中间节点在监听信道的过程中,接收单元16会将监听到的分组发送给MAC层数据处理单元13进行处理。数据类型控制单元37检查接收单元16发送给MAC层数据处理单元13的分组,检查分组的类型域和扩展域,获得分组的类型信息以及确定分组的扩展域中是否携带了RREP信息,进而判断当前要发送到MAC层数据处理单元13的分组是否为RREP分组或者携带RREP信息的RREQ分组,如果是,则获得该RREQ分组或者是RREP分组,执行步骤403;如果不是,则返回步骤401,继续检查接收单元16传送给MAC数据处理单元13的分组。
步骤403得到当前获得的RREP分组或者RREQ分组中携带的源地址、目的地址、和发送时间,然后查找MAC层数据存储单元14中所有的分组,判断自身是否存在与当前监听到的RREP分组或者携带RREP信息的RREQ分组相同的分组,如果存在,则执行步骤404;否则,返回步骤401。
对MAC层数据存储单元14中所有的分组进行查找的方法是对于每个获得的RREP分组或携带RREP信息的RREQ分组,都对MAC层数据存储单元14中的所有分组进行查找,查找是否存在与获得的RREP分组和RREQ分组相同的分组。这里,相同的分组指的是具有相同的源节点、目的节点和发送时间的分组。
步骤404如果是RREP分组,则数据类型控制单元37在MAC层数据存储单元14中删除与当前监听的RREP分组相同的分组;如果是RREQ分组,则数据类型控制单元37在MAC层数据存储单元14中删除与当前获得的RREQ分组相同的RREQ分组中携带的RREP信息。然后,返回步骤401,继续检查接收单元16传送给MAC层数据处理单元13的分组。
在本发明中还可以通过如图5所示的方法,实现通过监听信道删除自身MAC层数据存储单元14中与监听到的RREP分组相同的RREP分组,或者与当前获得的RREQ分组相同的RREQ分组中携带的RREP信息。
此时,数据类型控制单元37需为MAC层数据存储单元14中准备发送的分组在数据类型控制单元37中建立信息表,对每个进入MAC层数据存储单元14中的分组进行数据类型的判断,判断得到数据类型是RREP分组或者RREQ分组,如果判断得到的是RREP分组,则记录该RREP分组的源节点、目的节点和发送的时间信息;如果判断得到的数据类型是RREQ分组,则再判断该RREQ分组中是否携带了RREP信息,如果携带了RREP信息,则记录该RREQ分组的源节点、目的节点、和发送的时间信息,如果该RREQ分组中没有携带了RREP信息,则不作记录。同时,对于每个从MAC数据存储单元14发送出去的携带RREP信息的RREQ分组或是RREP分组,删除该信息在信息表中的表项。数据类型控制单元37检查接收单元16传给MAC层数据处理单元13的分组,对分组进行数据类型的判断,删除MAC层数据存储单元14中信息表中所列的与RREP分组相同的分组、或者与当前获得的RREQ分组相同的RREQ分组中携带的RREP信息。这里,所述相同的RREP分组或者RREQ分组是指,当两个RREP分组或者两个RREQ分组具有相同的源节点、目的节点和发送时间信息。
其中,发送时间信息是目的节点在返回的RREP分组或携带RREP信息的RREQ分组中写入的发送时间。该发送时间信息表示RREP分组或携带RREP信息的RREQ分组从目的节点出发的时刻。
中间节点可以在步骤211中通过如图5所示的流程,实现通过监听信道,删除自身MAC层数据存储单元14中与监听到的RREP分组相同的RREP分组、或者与当前获得的RREQ分组相同的RREQ分组中携带的RREP信息的目的。与图4所示流程不同的是,在图5所示的流程中,数据类型控制单元37获得的是RREQ分组,而不是携带RREP信息的RREQ分组;相应的,判断变为在MAC层数据存储单元14中是否存储了RREQ分组,而不是判断是否存储了携带RREP信息的RREQ分组。具体过程如下步骤501~502中间节点在监听信道的过程中,接收单元16会将监听到的分组发送给MAC层数据处理单元13进行处理。数据类型控制单元37检查接收单元16传送给MAC层数据处理单元13的分组,对每个分组都进行是否为RREQ分组或者RREP分组的判断,如果是,则获得监听到的RREQ分组或者是RREP分组,执行步骤503;如果不是,则返回步骤501,继续检查接收单元16传送给MAC数据处理单元13的分组。
步骤503得到当前获得的RREP分组或者RREQ分组中携带的源地址、目的地址、和发送的时间信息,然后判断数据类型控制单元37内信息表中所列的RREP分组或者RREQ分组和当前监听到的RREP分组或者RREQ分组是否相同,如果相同,则执行步骤504;否则,返回步骤501。
步骤504数据类型控制单元37在MAC层数据存储单元14中删除RREP分组,或者删除RREQ分组中携带的RREP信息;然后,返回步骤501,继续检查接收单元16传送给MAC层数据处理单元13的分组。
在本发明中,中间节点除了可以实现通过监听信道,删除自身MAC层数据存储单元14中与监听到的RREP相同的分组、或者与当前获得的RREQ分组相同的RREQ分组中携带的RREP信息,来加快路由建立的速度外;还可以通过调节路由控制分组在MAC层数据存储单元14中队列的位置,赋予路由控制分组较高的优先级的方法,使路由控制分组相对于其他的分组更快地接入信道,从而加快路由建立的速度。
为了实现调节路由控制分组在MAC层数据存储单元14中队列的位置,需要在现有技术实现路由建立装置的结构图中,新增一个优先级控制单元68。如图6所示,该优先级控制单元68与MAC层数据存储单元14相连,对由MAC层数据处理单元13进入MAC层数据存储单元14的路由控制分组进行优先级控制,调节路由控制分组在MAC层数据存储单元14中队列的位置,使路由控制分组具有更高的优先级,以减少路由控制分组在MAC层数据存储单元14中等待的时间,使路由控制分组能更快接入信道,加快路由建立速度。其中,所述的路由控制分组为与路由相关的控制信息,例如,RREQ分组、RREP分组、路由错误分组(RRER)、路由确认分组。
在如图7所示的过程中MAC层数据存储单元14中采用的是先进先出的排队原则,在采用其他排队原则的情况下,如后进先出,也可以通过调节路由控制分组在队列中的位置,使路由控制分组相对于其他分组优先依次发送。具体过程如图7所示步骤701~702优先级控制单元68对每个由MAC层数据处理单元13发送给MAC层数据存储单元14的分组进行判断,判断接收到的分组是否为路由控制分组。如果是路由控制分组,则执行步骤704;否则,执行步骤703。
步骤703将不是路由控制分组的分组放在MAC层数据存储单元14等待发送分组队列的尾部。
步骤704对于路由控制分组,优先级控制单元68从MAC层数据存储单元14中等待发送分组队列的尾部向前进行查找,查找是否存在路由控制分组,如果存在,则执行步骤705;否则,执行步骤706。
步骤705如果在MAC层数据存储单元14中找到等待发送的路由控制分组,则将当前接收到的路由控制分组插在第一个找到的路由控制分组之后。
步骤706如果在MAC层数据存储单元14中不存在等待发送的路由控制分组,则将当前收到的路由控制分组插在MAC层数据存储单元14队列的最前端。这样,当前收到的路由控制分组则会在下一时刻最先接入信道。
较佳的,可以在现有技术实现路由建立装置的结构图中,如图8所示,同时增加一个优先级控制单元68和一个数据类型控制单元37。
在图8中,优先级控制单元68与MAC层数据存储单元14相连,调节路由控制分组在MAC层数据存储单元14中队列的位置,使路由控制分组具有更高的优先级,以减少路由控制分组在MAC层数据存储单元14中等待的时间,加快路由建立的速度。数据类型控制单元37分别与接收单元16、MAC层数据处理单元13相连、以及MAC层数据存储单元14相连;实现通过检查接收单元16传向MAC层数据处理单元13的分组,删除与监听到的RREP分组相同的RREP分组、或者与当前监听到的RREQ分组相同的RREQ分组中携带的RREP信息。具体实施步骤与图4和图6、或图5和图6所示的流程相同,在此不再详述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种快速路由建立的方法,其特征在于,该方法包括以下步骤A、目的节点收到路由请求分组,封装所收到路由请求分组中携带的路由信息到与路由请求分组源节点对应的一个路由应答分组中;B、判断是否能发送路由应答分组,如果能发送,则通过中间节点向源节点发送携带路由应答信息的分组;否则,返回步骤A。
2.如权利要求1所述的方法,其特征在于,步骤B中所述携带路由应答信息的分组为路由应答分组、或携带路由应答信息的路由请求分组。
3.如权利要求1或2所述的方法,其特征在于,步骤B中所述判断为在执行步骤A的同时进行实时判断。
4.如权利要求1或2所述的方法,其特征在于,该方法进一步包括设置计时器并设定计时时间;则步骤A中,目的节点在收到源节点的第一个路由请求分组后进一步包括启动计时器;步骤B中所述判断是否能发送为判断计时器是否到时,如果到时,则能发送;否则,不能发送。
5.如权利要求4所述的方法,其特征在于,步骤B中所述判断为在执行步骤A的同时进行实时判断。
6.如权利要求5所述的方法,其特征在于,参与路由建立的每个节点在发送分组前,进一步包括判断准备插入节点中存储待发送分组的发送缓存的分组是否为路由控制分组,如果是,则将该分组存入发送缓存,并将所有待发送的路由控制分组依次优先发送;否则,将该分组存入发送缓存并正常发送。
7.如权利要求1或2所述的方法,其特征在于,该方法进一步包括设置计数器并设定计数值;则步骤A中,目的节点在收到源节点的第一个路由请求分组后进一步包括启动计数器;步骤B中所述判断是否能发送为判断计数器是否到达设定的计数值,如果到达,则能发送;否则,不能发送。
8.如权利要求7所述的方法,其特征在于,参与路由建立的每个节点在发送分组前,进一步包括判断准备插入节点中存储待发送分组的发送缓存的分组是否为路由控制分组,如果是,则将该分组存入发送缓存,并将所有待发送的路由控制分组依次优先发送;否则,将该分组存入发送缓存并正常发送。
9.如权利要求1或2所述的方法,其特征在于,该方法进一步包括设置计时器和计数器并设定计时时间和计数值;则步骤A中,目的节点在收到源节点的第一个路由请求分组后进一步包括同时启动计时器和计数器;步骤B中所述判断是否能发送为判断计时器是否到时或计数器是否到达设定的计数值,如果是,则能发送;否则,不能发送。
10.如权利要求9所述的方法,其特征在于,步骤B中所述判断计时器是否到时为在执行步骤A的同时实时判断计时器是否到时。
11.如权利要求1所述的方法,其特征在于,所述中间节点向源节点发送携带路由应答信息的分组为携带路由应答信息的路由请求分组,所述中间节点向源节点发送携带路由应答信息的路由请求分组具体为B11、中间节点监听广播信道,获得邻节点发送的路由请求分组;B12、中间节点查找自身当前等待发送的分组,删除与步骤B11中获得的分组相同的路由请求分组中携带的路由应答信息。
12.如权利要求11所述的方法,其特征在于,步骤B11中所述获得邻节点发送的路由请求分组为携带路由应答信息的路由请求分组。
13.如权利要求1所述的方法,其特征在于,所述中间节点向源节点发送携带路由应答信息的分组为路由应答分组,所述中间节点向源节点发送路由应答分组具体为B21、中间节点监听广播信道,获得邻节点发送的路由应答分组;B22、中间节点查找自身当前等待发送的分组,删除与步骤B21中获得的分组相同的路由应答分组。
14.如权利要求1、2、11、12或13所述的方法,其特征在于,参与路由建立的每个节点在发送分组前,进一步包括判断准备插入节点中存储待发送分组的发送缓存的分组是否为路由控制分组,如果是,则将该分组存入发送缓存,并将所有待发送的路由控制分组依次优先发送;否则,将该分组存入发送缓存并正常发送。
15.一种快速路由建立的装置,包括路由缓存单元、网络层数据处理单元、介质访问控制层数据处理单元、介质访问控制层数据存储单元、发送单元以及接收单元,网络层数据处理单元接收高层的数据报文,将处理后的数据以及生成的路由控制分组发送到介质访问控制层数据处理单元进行处理;路由缓存单元为网络层数据处理单元提供路由信息的查找;介质访问控制层数据处理单元将处理后分组存储在介质访问控制层数据存储单元中等待发送;介质访问控制层数据存储单元在检测到广播信道可用时通过发送单元进行发送;接收单元将从广播信道监听到的信息交于介质访问控制层数据处理单元进行处理,其特征在于,所述网络层数据处理单元中进一步设置有发送触发器,所述网络层数据处理单元接收来自介质访问控制层数据处理单元的分组,封装一个或一个以上路由请求分组中携带的路由信息到一个路由应答分组,在收到来自源节点的第一个路由请求分组时启动发送触发器,并根据发送触发器的触发发送携带路由应答信息的分组至介质访问控制层数据处理单元;所述发送触发器,用于触发网络层数据处理单元发送携带路由应答信息的分组。
16.根据权利要求15所述的装置,其特征在于,所述发送触发器为计时器、或为计数器。
17.根据权利要求15或16所述的装置,其特征在于,所述携带路由应答信息的分组为路由应答分组或携带路由应答信息的路由请求分组,该装置进一步包括数据类型控制单元,用于检查接收单元发送给介质访问控制层数据处理单元的分组,获得路由应答分组并删除与获得的路由应答分组相同的路由应答分组;和/或获得携带路由应答信息的路由请求分组并删除与获得的路由请求分组中相同的路由请求分组中携带的路由应答信息。
18.根据权利要求15或16所述的装置,其特征在于,该装置进一步包括优先级控制单元,用于控制路由控制信息在介质访问控制层数据存储单元中依次优先发送。
19.根据权利要求15或16所述的装置,其特征在于,所述携带路由应答信息的分组为路由应答分组或携带路由应答信息的路由请求分组,该装置进一步包括数据类型控制单元,用于检查接收单元发送给介质访问控制层数据处理单元的分组,获得路由应答分组并删除与获得的路由应答分组相同的路由应答分组;和/或获得携带路由应答信息的路由请求分组并删除与获得的路由请求分组中相同的路由请求分组中携带的路由应答信息。优先级控制单元,用于控制路由控制信息在介质访问控制层数据存储单元中依次优先发送。
全文摘要
本发明公开了一种快速路由建立的方法,该方法包括以下步骤A.目的节点收到路由请求分组,封装所收到路由请求分组中携带的路由信息到与路由请求分组源节点对应的一个路由应答分组中;B.判断是否能发送路由应答分组,如果能发送,则通过中间节点向源节点发送携带路由应答信息的分组;否则,返回步骤A。本发明还公开了一种快速路由建立的装置。本发明所提供一种快速路由建立的方法及装置,目的节点收到源节点的第一个路由请求分组时,等待一段时间或收集一定数量的路由请求分组后,将等待收集到的路由信息封装到同一个路由应答分组中,并返回给源节点,从而减少了路由控制分组的数目,降低了路由控制分组在MAC层的碰撞,加快了路由建立速度。
文档编号H04W84/18GK1937576SQ20051010496
公开日2007年3月28日 申请日期2005年9月22日 优先权日2005年9月22日
发明者谢芳, 杜蕾, 白勇, 陈岚 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1