自组织网络中基于跨层设计的路由方法转让专利

申请号 : CN201210391498.X

文献号 : CN102905337B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱琦陈志祥

申请人 : 南京邮电大学

摘要 :

本发明的目的在于提供一种自组织网络中基于跨层设计的路由方法。该方法基于跨层的思想,通过SSRC(短帧重传次数)和SLRC(长帧重传次数)两个变量在路由协议中重新定义一个重传指数SR(smooth of retry count)来表征传送帧过程中的重传次数,并在此基础上确定信道选择度量PSAC(Probability of Successful Access to Channel),以此达到选择最优信道的目标。在多信道多接口AODV的基础上,结合重传指数SR以及每个接口中缓冲队列的当前长度,确定链路传输能力LTC(Link Transmitting Capacity)作为路由度量。综合考虑信道选择度量和路由度量,在多信道多接口的AdHoc场景中,实现以较低的路由负载获得较高的吞吐量和较低的时延。

权利要求 :

1.一种自组织网络中基于跨层设计的路由方法,其特征在于该方法包括以下内容:a.确定广播包的信道分配度量:设节点A的邻居集中有N个邻居节点,则节点A中信道j的广播包的信道成功接入概率PSAC为 其中FCj(n)表示在上一个周期内节点A通过信道j向其邻居节点n传递的包数量, 表示在上一个周期内节点A通过信道j向邻居节点n发送的第i个包的重传指数SR值,SRmax为传输失败时的重传指数,节点A的最佳广播信道选择度量为:其中K表示节点A所有可用的

信道数;

b.确定非广播包的信道分配度量:非广播包信道分配度量只考虑传送包到下一跳的平均重传指数SR值,假设节点A是当前跳,而节点B是下一跳,则节点A中信道j用于非广播包的信道成功接入概率PSAC为:其中FCj(B)表示在上一个周期内节点A通过信道j

向节点B传递的包数量, 表示在上一个周期内节点A通过信道j向节点B发送的第i个包的重传指数SR值,计算所有K个信道的PSAC值,PSAC值最大的信道作为最佳信道;

c.确定基于链路传输能力LTC的路由度量:设集合PATHS={P1,P2.....Pm}包含了从源节点S到目的节点D的所有m条路径,集合 表示路径Pt中的点序列,共l跳,路径Pt的第q跳是从节点hq-1到节点hq,则节点hq-1到节点hq链路传输能力LTC为:其中β为权重因子,β∈(0,1),j

代表第q跳中用于传输包的信道号,Cj代表信道j对应的接口的当前缓冲队列长度,Cmax代表接口缓冲队列的最大值,路由选择度量为 RM(Pt)反应了路径Pt所经过链路的瓶颈值,当源节点发现有多条路径时,选择RM值最大的路径作为最佳路径;

d.在某个周期内,当节点第一次收到某个邻居节点的HELLO包时,无论这个包时通过哪个信道接收到的,都要立即通过每个接口向该邻居节点各回复一个ACK信息,周期的时间与HELLO包的广播周期相同;

e.最佳路径发现过程如下:

步骤1:如果源节点路由表中不存在到目的节点的路由,则通过洪泛路由请求包来进行路由发现,当中间节点收到路由请求包时,它首先在路由表中建立反向路由,如果它到前一跳的LTC值小于路由请求包中存储的LTC值,则用这个值更新路由请求包中的LTC值,反向链路的路由权重由路由请求包中的LTC值表征;

步骤2:节点检查自己是否为目的节点,若不是,则直接转发该路由请求包,若是,则转步骤3;

步骤3:沿着反向链路回复路由回复包,路由回复包中的LTC值更新机制与路由请求包一样,前向链路的路由选择度量RM值可以由路由回复包包中的LTC值确定;

步骤4:源节点收到所有路径的路由回复包后,选择路由选择度量RM值最大的路径作为最优路径。

说明书 :

自组织网络中基于跨层设计的路由方法

技术领域

[0001] 本发明是一个适用于多信道多接口Ad Hoc网络环境的路由协议,属于通信技术领域。

背景技术

[0002] AdHoc网络是一种自组织无中心的无线多跳网络,它可以不依赖任何固有的无线基础设施而能随时随地的组建临时性网络。它是一种具有特殊用途的对等性网络,网络中的每个节点扮演着终端角色的同时又扮演着路由器的角色,通过节点间的转发实现网络通信。归纳起来,相比普通的固定网络和移动网络,Ad Hoc网络具有以下几个特点:
[0003] (1)无中心结构。Ad Hoc网络没有固定的控制中心,所有节点之间的地位平等,即是一个对等网络。网络中的节点可以随时加入和离开网络,任何节点的故障不会影响整个网络的运行,具有很强的抗毁性。
[0004] (2)自组织。网络的架设、展开不需要依赖任何预先架设的网络设施。节点之间通过分层协议和分布式算法协调各自的行为,节点在开机后就能迅速、自动地组成一个独立的网络。
[0005] (3)多跳路由。当节点要与其无线收发装置覆盖范围之外的节点进行通信时,需要其它的中间结点进行多跳转发。与固定网络的多跳不同,Ad Hoc网络中的多跳路由是由普通的网络节点完成的,而不是由专用的路由设备(如路由器)完成的。
[0006] (4)动态拓扑。Ad Hoc网络是一个动态的网络。网络节点可以任意移动,可以随时随地地开机和关机,而这些都会使网络的拓扑结构随时发生变化。这些特点使得Ad hoc网络在网络组织、体系结构、协议设计等方面都与普通的移动通信网络和固定网络有着明显的区别。
[0007] 随着无线通信的发展,Ad Hoc网络在越来越多的领域中受到重视。得益于独立组网、自组织、动态拓扑、无中心结构、多跳路由、抗毁性强等优良特性,Ad Hoc网络在民用通信和军事通信领域都占据了一席之地,如应急救灾、野外勘探、野外救援等。
[0008] 但是我们应该看到,作为一种新兴的网络技术,它仍有许多等待解决的问题。最关键的在于它具有节点随机移动导致网络拓扑的不断变化、时变无线信道环境、有限的信道带宽等特点,这些为设计和实现Ad Hoc网络提出了挑战,所以必须审慎地从网络体系结构的各个层面去考虑。例如在本专利中重点考察的网络层,需要设计能够适应拓扑快速变化、稳定的路由机制,并能够将路由维护信息等额外开销控制在一个合理范围,以保证网络资源的高效利用。
[0009] Ad Hoc网络路由协议的研究已经非常深入。按发现路由的驱动模式不同,可以分为三类类:主动型(Proactive)、反应型(Reactive)和混合型(Hybrid)。主动型路由协议也称为先验式路由协议或表驱动路由协议,该协议要求每个节点都需要建立和维护到达所有节点的最新路由信息的路由表,所有路由信息保持一致,典型代表如DSDV、OLSR等;反应型路由协议又称按需路由协议或者源激励路由协议,它是一种被动式的路由协议,仅当有业务需求时才会触发路由发现进程寻找到达目的的路由,典型代表如DSR、AODV等;混合式路由协议则是综合了主动型和反应型相应的优点,根据实际情况选择合适的路由驱动方式,典型代表如ZRP协议。
[0010] 早期的Ad Hoc网络中,由于硬件技术、设备价格的限制以及避免节点之间相互协调的需要,大部分终端都是单信道单接口类型的,而由此组成的网络性能非常有限。随着系统对吞吐量需求的提高,在一个终端中装备多个收发器已经是日后Ad Hoc网络终端发展的一个趋势,而硬件技术的发展和设备成本的降低更是加剧了这种趋势。IEEE 802.11在2.4GHz和5GHz频段内定义了多个不重叠的信道,当多个无线信道可用时,在终端上装备一个以上的收发装置,可以使相邻的不同节点在不同信道上同时进行通信,由此可以大大降低相邻节点之间的相互干扰,降低时延,提高系统的吞吐量。可以说,多信道多接口是未来Ad Hoc网络发展的一个大趋势。而如何分配和利用好这些信道,并在此基础上提出相应的路由度量,已经成为了当前Ad Hoc网络路由协议的研究热点。

发明内容

[0011] 技术问题:本发明的目的是给出一个自组织网络中基于跨层设计的路由方法,即多信道多接口Ad Hoc路由方法。该方法通过跨层设计的方法,计算信道分配度量和路由度量,能够实现以较低的路由开销获得较高的包到达率、系统吞吐量,同时降低系统的平均时延。
[0012] 技术方案:本发明给出了一个自组织网络中基于跨层设计的路由方法。该方法根据成功接入信道概率进行信道分配,同时基于链路传输能力确定路由度量,此方法能够以较低的路由开销获得较高的包到达率和系统吞吐量,并同时降低系统的平均时延。
[0013] 跨层技术是提高移动Ad Hoc网络资源利用率的一种有效方式。所谓跨层就是在一定程度上打破或改变原有的层与层之间通信限制,改变原有的协议层接口,通过使用层与层之间的交互,使得协议栈的各个层次可以共享本地信息,以消除无线网络各层之间的冗余交互,大大降低通信开销,优化系统的整体性能。对于时延大、带宽有限、信道时变的Ad Hoc网络而言,跨层设计带来的好处远大于层与层之间交互的复杂性所带来的影响。因此,在Ad Hoc网络中采用跨层设计的思想进行设计和联合优化是很有必要的,它可以提高无线网络的整体性能。现有的跨层设计可以大致分为如下几类:物理层和MAC层跨层设计;物理层和网络层跨层设计;物理层和传输层跨层设计;MAC层和网络层跨层设计;MAC层和传输层跨层设计;网络层和传输层跨层设计。
[0014] 该方法包括以下内容:
[0015] a.确定广播包的信道分配度量:设节点A的邻居集中有N个邻居节点,则节点A中信道j的广播包的信道成功接入概率PSAC为 其中FCj(n)表示在上一个周期内节点A通过信道j向其邻居节点n传递的包数量, 表示在上一个周期内节点A通过信道j向邻居节点n发送的第i个包的重传指数SR值,SRmax为传输失败时的重传指数,节点A的最佳广播信道选择度量为:
[0016] 其中K表示节点A所有可用的信道数;
[0017] b.确定非广播包的信道分配度量:非广播包信道分配度量只考虑传送包到下一跳的平均重传指数SR值,假设节点A是当前跳,而节点B是下一跳,则节点A中信道j用于非广播包的信道成功接入概率PSAC为:
[0018] 其中FCj(B)表示在上一个周期内节点A通过信道j向节点B传递的包数量, 表示在上一个周期内节点A通过信道j向节点B发送的第i个包的重传指数SR值,计算所有K个信道的PSAC值,PSAC值最大的信道作为最佳信道;
[0019] c.确定基于链路传输能力LTC的路由度量:设集合PATHS={P1,P2.....Pm}包含了从源节点S到目的节点D的所有m条路径,集合 表示路径Pt中的点序列,共l跳,路径Pt的第q跳是从节点hq-1到节点hq,则节点hq-1到节点hq链路传输能力LTC为:
[0020] 其 中 β 为 权 重 因 子,β∈(0,1),Cj代表信道j对应的接口的当前缓冲队列长度,Cmax代表接口缓冲队列的最大值,路由选择度量为 RM(Pt)反应了路径Pt所经过链路的瓶颈
值,当源节点发现有多条路径时,选择RM值最大的路径作为最佳路径;
[0021] d.在某个周期内,当节点第一次收到某个邻居节点的HELLO包时,无论这个包时通过哪个信道接收到的,都要立即通过每个接口向该邻居节点各回复一个ACK信息,周期的时间与HELLO包的广播周期相同;
[0022] e.最佳路径发现过程如下:
[0023] 步骤1:如果源节点路由表中不存在到目的节点的路由,则通过洪泛路由请求包来进行路由发现,当中间节点收到路由请求包时,它首先在路由表中建立反向路由,如果它到前一跳的LTC值小于路由请求包中存储的LTC值,则用这个值更新路由请求包中的LTC值,反向链路的路由权重由路由请求包中的LTC值表征;
[0024] 步骤2:节点检查自己是否为目的节点,若不是,则直接转发该路由请求包,若是,则转步骤3;
[0025] 步骤3:沿着反向链路回复路由回复包,路由回复包中的LTC值更新机制与路由请求包一样,前向链路的路由选择度量RM值可以由路由回复包包中的LTC值确定;
[0026] 步骤4:源节点收到所有路径的路由回复包后,选择路由选择度量RM值最大的路径作为最优路径。
[0027] 有益效果:本发明给出了在多信道多接口的Ad Hoc场景中基于跨层设计的路由算法,该算法综合考虑了链路的负荷已经信道的传输容量进行路由的选择,能够以较低的路由开销获得较高的包到达率和系统吞吐量,并同时降低系统的平均时延。

附图说明

[0028] 图1是基于网络层和MAC层跨层设计的路由协议模型,在基于网络层和MAC层跨层设计的路由协议中,网络层的路由协议通过接收来自MAC层的反馈信息决定路由选择以及信道选择,并将相应的选择反馈给MAC层,确定发送信息所使用的收发机和信道。

具体实施方式

[0029] 本发明所给出的跨层路由协议即是通过MAC层和网络层跨层设计的,具体的模型如图1所示,在基于网络层和MAC层跨层设计的路由协议中,网络层的路由协议通过接收来自MAC层的反馈信息决定路由选择以及信道选择,并将相应的选择反馈给MAC层,确定发送信息所使用的收发机和信道。在本发明中,每个终端的信道数和接口数被假设为相等的,如同设为K。在包的传送过程中,每传送一个包,传送该包所使用的信道以及重传指数都被会记录下来。即MAC层会不断地将重传信息递交到网络层中。网络层中的路由协议将搜集到的重传指数经过一定算法的计算,得出每个信道的传输能力,再综合包的目的地点,决定传送包所用的信道和路径。
[0030] 具体协议实现如下:IEEE 802.11 MAC协议中的管理信息库维护中两个变量,SSRC(短帧重传次数)和SLRC(长帧重传次数)。基于跨层的思想,通过这两个变量在路由协议中定义重传指数SR(smooth of retry count)来表征传送帧过程中的的重传次数,并在此基础上定义信道选择度量信道成功接入概率obability of Successful Access to Channel),以此达到选择最优信道的目标。在多信道多接口AODV的基础上,结合SR以及每个接口中缓冲队列的当前长度,确定路由度量链路传输能力LTC(Link Transmitting Capacity)。综合上述两个量度实现多信道多接口Ad Hoc场景中的路由协议CL-IAOR,以较低的路由负载获得较高的吞吐量和较低的时延。
[0031] 采用802.11协议的Ad Hoc网络,每个节点的MAC层维护着两个变量:短帧重传次数SSRC(Station Short Retry Count)和长帧重传次数SLRC(Station Long Retry Count)。两者区别在于:在RTS/CTS机制被触发的情况下,若数据帧的长度小于规定的RTS阀值,则该数据帧的重传次数用SSRC指示,否则用SLRC指示。重传计数器初始值为0,帧每重传一次,该值加1。如果计数器到达最大值,则将放弃本次传输并丢弃在传输队列中等待传输的该帧,同时计数器重新复位为0。一般来说,SSRC和SLRC的最大值分别被设为6和3。这里重新定义一个重传指数SR(Smooth of Retry)以代表一个节点传输一个帧所需重传的RTS帧和数据帧的次数:
[0032]
[0033] 其中SSRC为短帧重传次数,取值范围为0到6之间的整数,SLRC长帧重传次数,取值范围为0到3之间的整数,t为平衡这两个重传次数的权重因子,取值范围在0到1之间,重传指数SR在传输失败时取得最大值,SRmax=6t+4(1-t)。
[0034] SR是一个综合反映节点接入信道能力及其网络拓扑变化的一个参数。公式(1)中的t*SSRC显示了节点与周围活动节点抢占信道的能力。如果成功接收到CTS帧,则表示预约信道成功并开始传输DATA帧;t*SLRC部分则反映了节点在获取信道之后发送数据帧时节点所处的网络情况,由于Ad Hoc网络中节点是随机移动的,此时可能有一些活动节点正在朝本节点方向移动,从而与本次数据传送发生冲突,所以节点将重传DATA帧,从而不浪费在预约信道时所消耗的网络资源和时间,加权系数t可以在这两部分之间取得一定平衡。至此,通过对MAC层数据传输的重传次数分析得到表征节点接入信道能力的参数SR。
[0035] 下面通过SR值定义信道分配度量和路由度量。
[0036] 1、基于信道成功接入概率PSAC(Probability of Successful Access to Channel)的信道分配方法。
[0037] 在接口数少于信道数的场景中,为了保证网络的连通性,有必要通过一些合理的分配机制来保证网络的连通性,例如设定一个公共的控制信道,用来发送控制包和其他的广播包。而本发明适用于节点信道数和接口数相同的多信道多接口AdHoc网络。在信道数和接口数相同的情况下,网络的连通性不需要通过设定一个公共的控制信道来保证。如果设定一个信道用来进行广播包的传送,反而会增加广播包的碰撞概率。因此,本发明中,信道分配度量分为广播包的信道分配度量和非广播包信道分配度量。值得注意的是,本协议中,HELLO包的广播不采用下述的信道分配度量,而是在每个信道中都进行广播,这有利于准确的构建网络拓扑图以及更新路由协议中的SR值。
[0038] (1)广播包的信道分配度量
[0039] 假设节点A的邻居集中有N个邻居节点,则节点A中信道j的广播包的信道成功接入概率PSAC值定义如下:
[0040]
[0041] 其中FCj(n)表示在上一个周期内节点A通过信道j向其邻居n传递的包数量,表示在上一个周期内节点A通过信道j向邻居n发送的第i个包的SR值。由此,通过公式(3),可以很容易得到 值在0和1之间。它反应了上一个T周期里节点A通过信道j向所有邻居传送包的平均重传情况。该值越大,在某种程度上可以说明选用该信道作为广播包信道越可靠。因此节点A的最佳广播信道选择度量为:
[0042]
[0043] 其中K表示节点A中所有可用的信道数。
[0044] (2)非广播包信道分配度量
[0045] 与广播包信道分配度量不同的是,非广播包信道分配度量只考虑传送包到下一跳的平均SR值。假设节点A是当前跳,而节点B是下一跳,定义节点A中信道j用于非广播包的信道成功接入概率PSAC如下:
[0046]
[0047] 其中FCj(B)表示在上一个周期内节点A通过信道j向节点B传递的包数量,表示在上一个周期内节点A通过信道j向节点B发送的第i个包的SR值。类似地,值也介于0到1之间,它反应的是节点A到节点B使用信道j时链路情况的好坏。值越接近1,表示干扰越少,链路情况也就越好。因此,在传输一个非广播包时,路由协议先要得知它的下一跳,然后计算各个信道相应的PSAC值,并选择PSAC值最大的信道作为最佳信道。
[0048] 2、基于链路传输能力LTC(Link Transmitting Capacity)的路由度量[0049] 假设集合PATHS={P1,P2.....Pm}包含了从源节点S到目的节点D的所有m条路径,集合 表示路径Pt中的点序列,共l跳,路径Pt的第q跳是从节点hq-1到节点hq。定义链路传输能力LTC(Link Transmitting Capacity)如下:
[0050]
[0051] 其中β是平衡等式右边两个部分的一个权重因子,β∈(0,1),可根据不同的网络拓扑情况取不同值。j代表第q跳中用于传输包的信道号,Cj代表接口j的当前缓冲队列长度,Cmax代表接口缓冲队列的最大值。从公式(6)中可以看出,LTC是由两部分组成的。第一部分代表该跳的链路质量,它能有效的衡量该链路周围的干扰情况。第二部分表征的是当前链路的负载情况,显然,队列长度越长,说明要使用该链路传输的包数量越多,链路负载也就越高。通过公式(6)也能很容易的看出,前向链路的LTC值和反向链路的LTC值是不同的。因此,不同于其他大部分将链路看成是对称的方法,通过LTC来表征的链路是非对称的,因而LTC能更准确的反应出链路的质量。
[0052] 通过上面定义的LTC,本发明的路由选择度量RM(Routing Metric)定义如下:
[0053]
[0054] RM(Pt)反应了路径Pt所经过链路的瓶颈值,显然,该瓶颈值越大,路径越好。因此,当源节点发现有多条路径时,选择RM值最大的路径作为最佳路径。
[0055] 3、路由协议的实现
[0056] 本发明路由协议是在AODV的基础上作改进实现的,除了保留AODV路由协议中路由表条目,增加了到下一跳所使用的信道这一条目。为了保证路由协议中保存的SR值信息有效,在某个周期T内,当节点第一次收到某个邻居节点的HELLO包时,无论这个包是通过哪个信道接收到的,都要立即通过每个接口向该邻居节点各回复一个ACK信息。通过发送这个ACK信息,节点可以获得最新的到该邻居节点的各个信道SR值。由此,可以周期性的刷新路由中保存的SR信息,保证SR值的有效性。否则,如果在上一个T周期内节点未通过某个信道发送数据包给该邻居节点,则保存的该邻居节点的SR值将会是0或者某个过期的无效值。为了简单起见,在协议中设定周期T的时间和HELLO包的广播周期一致。而实际上该值同HELLO包广播周期一样,都应该根据网络拓扑变化的具体情况来调整。
[0057] 若源节点路由表中不存在到某个目的节点的路由,则它会通过洪泛RREQ(路由请求包)包来进行路由发现。当中间节点收到RREQ包时,它首先在路由表中建立反向路由。如果它到前一跳的LTC值小于RREQ中存储的LTC值,则用这个值更新RREQ包中的LTC值。
显然,RREQ中的LTC值是用计算反向路径的路由权重。在这之后,节点应该检查看看自己是否是目的节点,如果不是,则转发该RREQ包。中间节点是不允许回复RREP(路由回复包)包的,即使它有到目的节点的有效路由,原因是路径各条LTC的值是实时变化的。如果是目的节点,则沿着反向链路回复RREP包,RREP包中的LTC值更新机制同RREQ类似。由此,前向链路的RM值可以由RREP包中的LTC值确定。与AODV不同的是,源节点收到RREP包后应该等待一段时间以获得更多的路径信息,最后选择RM值最大的路径作为最优路径。