CN103220747A - 一种认知无线Mesh网络的路由设计方法 - Google Patents

一种认知无线Mesh网络的路由设计方法 Download PDF

Info

Publication number
CN103220747A
CN103220747A CN2012105437434A CN201210543743A CN103220747A CN 103220747 A CN103220747 A CN 103220747A CN 2012105437434 A CN2012105437434 A CN 2012105437434A CN 201210543743 A CN201210543743 A CN 201210543743A CN 103220747 A CN103220747 A CN 103220747A
Authority
CN
China
Prior art keywords
node
ant
channel
route
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012105437434A
Other languages
English (en)
Inventor
孙学斌
赵成林
刘洋侨
王虓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN2012105437434A priority Critical patent/CN103220747A/zh
Publication of CN103220747A publication Critical patent/CN103220747A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明是一种认知无线Mesh网络的路由设计方法。该方法主要包括三个步骤(见附图)。首先建立一种新的认知无线Mesh网络分布式分层图模型;再引入蚁群算法来更新路由表,提出了一种新的与认知无线Mesh网络的结构和数据流分布相适应的蚁群算法:zAntNet。然后进行数据传输,模拟仿真Mesh网络客户端节点通过路由与互联网通信。最后整理设计方法,提供方法的具体数据和图表,作为本次网络路由设计方法的总体结果,为用户提供显示依据和参考。本发明基于网络频谱资源紧张的现状,针对认知无线Mesh网络的动态频谱特性,充分考虑时间、空间因素和频谱参数,对路由接口分配和选路策略进行适应性的设计。

Description

一种认知无线Mesh网络的路由设计方法
技术领域
本发明涉及一种认知无线Mesh网络的路由设计方法,确切的说,涉及一种通过建立认知无线Mesh网络的分布式分层图模型,并引入智能群体算法对网络接口分配和选路策略进行适应性设计的方法,属于认知无线电技术领域。
背景技术
认知无线电作为一种智能频谱共享技术,利用频谱间的空隙,即频谱空隙进行动态频谱接入,动态传输,动态切换,已达到在拥挤频谱空间进行信息传输,提高频谱空间利用率的技术。
认知无线Mesh网络可以实现无线环境的认知、异构网络的融合,在灵活组网、提高网络覆盖率、增加网络容量、减少前期投资等诸多方面都显现较大的优势,尤其适合在缺乏有线网络带宽资源情况下实现宽带无线接入和覆盖。目前认知无线Mesh网已得到国际学术界和工业界的广泛关注,正在得到越来越广泛的应用。
随着对无线网络带宽的更高追求以及业务的多样化,网络模式越来越复杂,无线频谱资源越来越宝贵。如何无缝融合异构无线网络以及提高无线资源利用效率面临巨大的挑战。
在实际网络中,包括认知无线Mesh网络在内的各种网络设备给现有的频谱分配制度带了巨大压力。现行的频谱分配制度将固定的一段频谱分配给某个特定的无线业务专用。无线业务是丰富多样的,而频谱资源却是极其有限的,固定频谱分配制度使得这两者的矛盾限制了无线业务的发展。同时,现行制度使得频谱资源极其昂贵,大量的资金被用于购买频段而非实际的网络建设,如2008年3月FCC以195.9亿的价格拍卖了700MHz附近频段(698-806MHz)。然而另一个严重的问题是现行的固定频谱制度并不能保证这些代价高昂的频谱资源被充分利用,很多频段被分配给特定用途却又很少使用,而热门应用所使用的频段又往往处于超负荷状态。
为了解决这个问题,认知无线Mesh网络等技术得到了广泛的推广应用,其中心思想是允许非授权用户在不干扰授权用户的前提下使用授权频段。然而非授权用户是“伺机”使用频谱的,其发射功率和工作频段都可能会不断发生变化,即动态频谱接入。授权用户的无线设备都是工作在指定的频段上,如ISA的2.4GHz、GSM的900和1800MHz等等,授权用户在所有工作时间内都享有这一频段的使用权利。从全网的角度来看,授权用户使用的固定频段网络中所有设备都工作在同一频段,节点间的连接可以较容易地建立和维持。而动态频谱网络中,每个设备都在独立地感知频谱机会,不同节点对之间可能使用不同的频段连接。
现有的认知无线Mesh网络路由技术主要有以下缺点:(1)路由技术不够全面,传统网络的路由技术没有考虑节点如何确定工作信道、信道间如何实现负载均衡等问题,也无法很好适应网络频谱的动态性,因此也就无法使网络容量达到最大。(2)路由技术不够智能,单调的使用分层图模型,无法适应大规模用户在线时,发现并更新与之相适应的路由。(3)路由技术不够完善,频谱空穴的频繁变化将导致网络路径的破坏,使得网络性能下降。在网络断开等紧急情况下,没有适当的应急恢复手段。
发明内容
有鉴于此,本发明提供一种更加智能的认知无线Mesh网络的路由设计方法。本发明是基于认知无线Mesh网络中,网络频谱及其有限且具有动态性的特征,结合实际中Mesh网络用户需要连接Internet的需求,在不影响网络性能的前提下,提高认知网络路由设计的效率,使其发现路由的速率更快、算法更智能,并在网络状况不佳或突发状况下有自组织应急恢复能力。
为了达到上述目的,本发明提供了一种认知无线Mesh网络的路由设计方法,其特征在于:改进传统分层图模型,提出了一种新的认知无线Mesh网络分布式分层图模型;引入智能群体算法对网络接口分配和选路策略进行适应性设计的方法,提出了一种新的zAntNet路由发现方法来进行路由发现。所述方法包括下列操作步骤:
(1)建立认知无线Mesh网络分布式分层图模型。通过在每个节点中设置两张路由表来分别对应分层图的垂直边和水平边,改变传统分层图模型对集中控制的依赖,建立节点对分层图的局部视图。在每个节点中设置了两种路由表:信道路由表和接口路由表,以分别对应分层图的垂直边和水平边。节点通过这个局部视图来指导信道分配和选路行为。将各节点的这些局部视图集合起来即等价于一张完整的分层图,从而实现了认知无线Mesh网络的分布式分层图模型。
(2)在建立分布式分层图模型的基础上,本发明引入了蚁群算法来对节点路由表进行更新,即通过蚁群在网络中的流动来更新分层图垂直边和水平边的连通情况以及权重。并提出了一种新的基于蚁群算法的路由发现的方法:zAntNet路由发现方法。发现路由的具体流程为:确定数据包结构和蚂蚁结构;优化处理蚂蚁信息;当前节点以Mesh路由器为目的节点发送前向蚁(发送数据包);前向蚁到达下一节点,使用堆栈Sforward来记录数据;当前节点计算选定转发信道;当前节点将前向蚁交给选定信道接口转发;前向蚁到达目的地,节点将其转为后向蚁;将后向蚁发送给当前栈顶元素指向的节点,后向蚁使用堆栈Sbackward来记录;接口接受后向蚁,并据此更新数据;接口将后向蚁上交给节点;后向蚁回到源节点,后向蚁到达源节点后变为回归蚁,回归蚁按照Sbackward的记录项目的节点回溯;回归蚁抵达目的节点,完成路由发现。
(3)进行用户数据传输,整理设计方法,模拟仿真Mesh客户端节点与互联网通信的情况,提供方法的具体数据和图表,作为本次网络路由设计方法的总体结果,为用户提供显示依据和参考。
本发明认知无线Mesh网络的路由设计方法与现有技术相比较,具有以下特点和创新之处:
本发明能够实现智能化、高效化的路由设计,该方法针对认知无线Mesh网络的动态频谱特征,提出更为合理的网络模型,引入智能算法实现最优化设计,从而提高了网络自组织能力,优化了网络结构,提高了认知无线Mesh网络客户端用户连接到Internet的速度。此外,本发明为适应无线网络多变的特点,在网络连接断开等紧急情况下,有很强的恢复应急能力。
与现有技术相比,本发明方法的优点是:改变了传统分层图模型对集中控制的依赖,通过在每个节点中设置两张路由表,即信道路由表和接口路由表来分别对应分层图的垂直边和水平边,由此建立节点对分层图的局部视图。节点通过这个局部视图来指导信道分配和选路行为。将各节点的这些局部视图集合起来即等价于一张完整的分层图,从而实现了分布式分层图模型,更加客观、灵活,可视性强。而且本发明引入了蚁群算法来对节点路由表进行更新,并提出了一种新的zAntNet路由发现方法,其原理是通过蚁群在网络中的流动来更新分层图垂直边和水平边的连通情况以及权重。zAntNet路由发现方法所具有的分布式和多路径的特性,与前述分层图模型和动态频谱环境的需求有良好的匹配和适应。总之,面对如今网络频谱紧张,网络状况多变的现状,本发明方法能够智能的对认知无线Mesh网络进行路由设计,对复杂、不稳定的网络具有高效的应急措施,使用户能够高速稳定的连接使用网络。因此,本发明具有很好的推广应用前景。
附图说明
为了使本发明容易理解和实现,现在通过参考附图进行说明,附图中相似的附图标记是指所有各个视图中同样的或功能相似的部件。这些附图和下面的详细说明一起被包含进来并形成说明书的一部分,以进一步示意实施例并解释各种原理和优点,其中:
图1是本发明进行无线Mesh网络路由设计的流程图。
图2是本发明利用zAntNet方法发现路由的流程图。
图3是本发明数据传输的流程图。
图4是无线Mesh网络路由设计在网络系统中的结构示意图。
图5是本发明提出的分布式分层图模型。
图6是zAntNet路由发现方法从源节点到目的节点蚂蚁的变换过程。
图7是本发明实施例的模型。
图8是本发明在多信道多射频接口下发现路由的网络拓扑和数据传输图。
图9是本发明在动态频谱下的多径传输示意图。
图10是本发明重新发现路由的过程示意图。
图11是本发明蚁群产生速率与数据成功交付率的关系图。
具体实施方法
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。显然所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,介绍本发明方法具体的操作步骤:
步骤一、建立认知无线Mesh网络分布式分层图。通过在每个节点中设置两张路由表来分别对应分层图的垂直边和水平边,改变传统分层图模型对集中控制的依赖,由此建立节点对分层图的局部视图。在每个节点中设置了两种路由表:信道路由表和接口路由表。两种路由表的结构如下表所示,信道路由表:
目的节点 下一跳信道 权重值
接口路由表:
目的节点 下一跳节点 权重值
节点通过这个局部视图来指导信道分配和选路行为。将各节点的这些局部视图集合起来即等价于一张完整的分层图,从而实现了分布式分层图模型。下面说明两种路由表的功能。
作为信道路由表,当节点准备转发一个数据包时,它首先查看信道路由表中的条目,以此来决定使用哪个信道来转发数据,在此需要考虑的因素包括:
1)该信道的历史统计信息,如以前经由此信道到达该目的节点的成功率、本节点可见的该信道负载状况如何等;
2)是否应该鼓励从与该数据包抵达本节点时使用的信道不同的信道转发,以减小干扰,扩大频谱使用率;
3)是否有接口工作在此信道上,或者是否有接口可以改为工作在此信道上。
参见图5,介绍认知无线Mesh网络分层图模型工作状况。
按照当前射频接口的分配情况来判断分配工作信道的问题,即如何处理垂直边,如若超过1个的射频接口都是未分配状态,则数据可以从任一信道进入节点,而后从任一信道离开节点,即该节点的各个子节点之间都存在垂直边;而若该节点只有1个接口且未分配,则该节点的各子节点之间都不存在垂直边,因为一旦该接口分配,则数据只能从该接口的现工作信道进入和离开节点。
作为接口路由表,它包含了水平边的存在与否和权重值等全部信息。当节点确定使用哪个信道转发数据,并确定了工作在该信道上的接口后,节点查看与该接口对应的接口路由表,以确定下一跳节点。传统的固定频谱网络只是分层图的层数为1时的一种特例,对于动态频谱网络来说,需要注意的问题是如何保证接口路由表与该接口实际的邻居节点集合同步,也即当接口改变工作信道之后,需要将对应的接口路由表清空,因为此时接口路由表中的信息已经过时了。
步骤二、在上述分层图模型的基础上,本发明引入了蚁群算法来对节点路由表进行更新,即通过蚁群在网络中的流动来更新分层图垂直边和水平边的连通情况以及权重。并提出了一种新的路由发现的方法:zAntNet路由发现方法。
参见图2,该步骤中进行的路由发现包括下列内容:
(21)设定数据包结构和蚂蚁结构
节点路由表的结构在前文已经介绍过,除了两种路由表之外,针对无线Mesh网络特点,节点还维护一组数据用以表征与各个Mesh路由器的链路质量。
数据包的结构,如下表所示:
源节点 目的节点 生命值 旅行时间 负载类型 负载。
负载包括蚂蚁和用户数据两种,而蚂蚁又分为前向蚁、后向蚁等若干种,这些不同的数据包都由负载类型标记,节点在处理不同的数据时采用不同的流程。
蚂蚁的结构如下表所示:
Figure BSA00000823887900051
(22)优化处理蚂蚁信息:
a)检查数据包生命值是否超限。数据包生命值初始化为一与网络规模相适应的整数值,每当数据包被节点解包处理一次之后生命值便减1,即生命值反映了数据包消耗节点资源的次数。当生命值小于0后节点即丢弃此数据包。
b)检查数据包的目的节点是否是本节点的一个邻居节点,若是则直接发送,跳过繁琐的查看路由表、计算概率等过程。
c)与上一点对应的是,若目的节点是当前节点的邻居,则无需对后向蚁进行更新路由表操作,因为这样的条目不会被使用。
参见图4,介绍认知无线Mesh网络路由发现的工作状况。
(23)路由发现初始时,节点路由表为空,节点以Mesh路由器节点为目的节点发送蚂蚁进行路由发现,当路由发现陆续完成后,节点即拥有了与各个Mesh路由器之间的连接质量数据,节点选取连接质量最好的Mesh路由器作为访问互联网的出口。这一机制以在用户数据流中按照固定比率夹带前向蚁,进行连接状态监视和新路由的发现。无论对于只与某个固定路由器节点进行通信的普通客户端节点,还是对于与多个客户端节点进行通信的路由器节点来说,这样做保证了每条连接都能获得一定的蚂蚁辅助。
(24)当前向蚁到达一个节点后,首先刷新数据包中的旅行时间字段,然后将此节点、到达此节点时使用的信道、当前旅行时间这一三元组信息压入自己的途径节点堆栈。此时,前向蚁使用堆栈Sforward来记录所经过的节点和消耗的时间。
(25)当节点准备转发一个前向蚁时,首先要决定使用哪个信道。信道选择在信道路由表的信道集合C中进行,C包括所有当前有接口工作在其上的信道。然后节点计算C中每个元素的概率值。信道路由表中存储的不是直接可用的概率值,而是原始的信息素值,因此计算步骤如下:
a)平均分配C中各元素的初始概率,即:
P C i = 1 C
这是为了保证信息素为0的信道也能以一定的概率被选择,以期发现新路由。
b)为鼓励跨信道传输,对概率进行调整:
P C i = P C i - S , C i = C f P C i = P C i + S C - 1 , C i ≠ C f
S = j × P C i , Ci=Cf
其中,Cf为数据包抵达节点时使用的信道,j为微调参数,即把来时使用信道的一部分概率拿出来平均分配给其他信道。
c)按照信道表中的记录继续调整概率,使信息素留存高的信道以更高的概率被选择:
P C i = P C i + Ph C i Ph total
Ph total = Σ C i ∈ C Ph C i
其中PhCi为信道的信息素值。
d)最后对PC进行归一化,保证:
Σ C i ∈ C P C i = 1
e)确定C中各信道对应的概率后,将[0,100]按照概率值分为大小不一的若干区间,节点随机生成[0,100]范围内的一个整数,整数所在的区间所对应的信道即为最终选择的信道。
(26)节点将前向蚁交付给工作在选定信道上的接口,接口查询自己的接口路由表来决定下一跳节点。同样,接口路由表里存储的是原始的信息素值,而非直接可用的概率,接口的计算步骤如下:
a)检查前向蚁的途径节点堆栈,获取可用邻居节点集合Navailable
Navailable=N-Ss→d
其中N为邻居节点集合,Ss->d为途径节点堆栈中的节点集合。若Navailable为空,即所有邻居节点都曾经被访问过了,则说明发生了路由环路,此时令:
Navailable=N
并将环路标志位置为1。
b)按照与(24)中相同的算法计算概率,选择下一跳节点。
c)接口将前向蚁发送给选定的节点,若环路标志位为1,则在发送前将途径节点堆栈中的环路部分出栈,同时修正数据包的旅行时间字段,以彻底抹去环路记忆。但数据包的生命值不被修改,以保证不能跳出环路的蚂蚁死亡。
(27)当前向蚁抵达目的节点后,节点通过以下步骤将其转换为后向蚁:
a)修改数据包的类型字段为后向蚁;
b)交换数据包的源节点和目的节点,注意此处的交换是对于数据包来说的,至于封装在数据包中的蚂蚁,仍按照交换前的源节点和目的节点来讨论;
c)写入蚂蚁的全程旅行时间,但不包括蚂蚁在目的节点缓存中等待处理的时间;
d)将数据包的旅行时间字段清零。
(28)将后向蚁途径节点堆栈的栈顶元素出栈,将后向蚁发送给当前栈顶元素指向的节点,若因为网络拓扑发生了变化,此节点已经不可达,则丢弃后向蚁。后向蚁按照Sforward的记录向源节点回溯,更新沿路节点的路由表中指向目的节点的条目,同时使用堆栈Sbackward来记录所经过的节点和消耗的时间
(29)当接口接收到一只后向蚁后,需要根据后向蚁携带的信息更新接口路由表。接口查看途径节点堆栈的栈顶元素,此时栈顶元素表示了从前向蚁的源节点S到达当前节点K消耗的时间Ts->k,而此时要更新的路由表条目是指向目的节点D的,所以需要的值是从K到D所消耗的时间,这可以通过蚂蚁保存的全程旅行时间Ts->d得到:
Tk→d=Ts→d-Ts→k
路由表条目按下式更新信息素:
Ph d = Ph d + 1 T k → d
此处仅对指向目的节点的条目进行更新,而忽略当前节点与目的节点之间“子路径”上的节点,这是考虑到无限Mesh网络中客户端节点关注的是与Mesh路由器之间的通信,而客户端节点之间可能并不需要直接通信,所以在路由表中添加这些条目是无意义的。
(2A)接口将后向蚁上交给节点,节点按照(29)中所述同样的算法更新信道路由表。
(2B)当后向蚁回到了源节点后,节点更新与此目的节点的连接质量信息:
L d = 1 T s → d
然后节点丢弃后向蚁,后向蚁变为回归蚁,回归蚁按照Sbackward的记录项目的节点回溯,更新沿路节点的路由表中指向源节点的条目。
参见图6,指出了上述在zAntNet路由发现方法中蚂蚁在源节点和目的节点之间的运动方式。
(2C)当回归蚁抵达目的节点后,双向路由发现完成,在前向蚁确定的路径上的节点中建立了分别指向目的节点和源节点的路由信息。若有因为等待路由发现而阻塞的数据传输,则通知该数据传输可以进行。
参见图3,介绍了本发明数据传输的流程。
步骤三、进行用户数据传输,在Mesh客户端节点连接到互联网的情况下对实施例进行仿真分析,提供方法的具体数据和图表,作为本次网络路由设计方法的总体结果,为用户提供显示依据和参考。用户数据传输当路由发现完成后即可以开始数据传输流程,因为节点从初始化后就开始周期性进行路由发现,所以可以预期绝大多数情况下数据传输不需要进行等待。
节点对用户数据的处理方法如下:
(31)当Mesh客户端节点需要连接到互联网服务时,首先查找本地保存的与各Mesh路由器节点的连接质量信息,选取连接质量最好的一个路由器节点做为网关,向其发送数据。若本地没有连接质量信息,则将数据压入缓冲队列延后发送。
(32)当节点准备转发用户数据时,首先需要根据信道路由表决定从哪个信道转发,与转发前向蚁时将所有信道列为备选集合不同,用户数据转发仅把在信道路由表中存在指向目的节点条目的信道列为备选集合。备选集合中每个信道的概率为:
P C i = Ph C i Ph total
接口同样采用与(25).e中相同的机制来在备选集合中决定下一跳节点。
(33)选定信道后,节点将数据包交付工作在该信道上的接口转发。类似的,与转发蚂蚁时将所有未访问过的邻居节点作为备选集合不同,用户数据转发仅把接口路由表中存在指向目的节点条目的邻居作为备选集合。此处要注意的是,因为信道路由表是历史的统计信息,所以存在这样的情况:网络拓扑发生了变化,经由此信道已经无法到达目的节点,即备选集合为空。此时接口将数据包交回节点,通知节点发送失败,节点将此数据包压入缓冲队列等待下次继续处理。若备选集合不为空,则集合中每个邻居节点对应的概率如下:
P N i = Ph N i Ph total
接口同样采用与(25).e中相同的机制来在备选集合中决定下一跳节点。
(34)按照(22)中提到的数据包操作对传输数据进行简单优化。
参见图7,介绍了使用本发明设计路由实施例的仿真分析。
(35)设置仿真参数,包括:仿真次数、仿真精度、仿真Mesh网络环境参数、数据包生命值、数据负载、数据速率、信道参数。
(36)设置评估参数,包括:数据包的成功交付率、数据产生到路由发现完成的等待时间、数据包的端到端时延、一定长度时间内使用的蚂蚁数量。
(37)初始化程序,将每个节点的第一个射频接口分配在0号信道上,假如有更多射频接口,则依次分配在1号信道和2号信道。当一个射频接口因为原有信道不再可用而变为未分配状态时,程序会为其指定从0号开始的第一个没有本节点其它接口工作在其上,并且没有因为主用户存在而不可用的信道。若节点检测到某个射频接口在其工作信道上没有邻居节点,则会将其工作信道改为从0号开始的第一个没有本节点其它接口工作在其上,不同于原有信道且可用的信道。节点按照低于蚂蚁生成速率的频度进行邻居节点发现动作。
(38)在一个单位时间内,程序依次唤醒网络内所有节点进行数据处理,每个节点对自己缓冲队列头的数据包(假如队列不为空的话)进行处理,这种处理包括本地的计算,以及通过射频接口传输给其它节点,即在单位时间内,所有节点对能量和频谱资源做了一次消耗。为了消除数据传输先后次序产生的相互影响,程序做了以下两点处理:
a)用标志位保证在一个单位时间内同一个数据包最多只被传输一次,即节点A把数据包d传输给节点B后,节点B不会再对d进行处理。如此,一个单位时间内,每个数据包最多消耗一次节点的能量和频谱资源。
b)因为数据传输过程中可能会对路由表进行修改,为了避免节点唤醒先后顺序造成固定的影响,程序在每次轮询时生成一个随机次序,按照此随机次序唤醒节点进行数据处理。
参见图8,介绍了多信道多射频接口下的网络拓扑和数据传输。
(39)为每个信道分配了固定的颜色,用细线表示节点之间的连接,用粗线表示数据流路径,线的颜色表示使用的信道。节点用其编号表示,Mesh路由器节点的编号用方框框起来。图8表示了节点10到节点0之间正在通过0号信道(红色)进行通信,通信开始后不久区域4(灰色)由于主用户进入导致0信道再不可用。左上窗口为控制台,显示实时的网络统计数据,左下窗口为数据包成功交付率的曲线变化。
参见图9,介绍了本发明在动态频谱下的多路径传输。
(3A)利用实施例程序制造下面的场景:一条路径因为某些节点的连接断开而不可用时,即这条路径的概率值变为0,则数据流会自动的重新分配到其他连接上。如图9所示,中心区域因为主用户进入而关闭了0信道,导致所有经由该区域的连接不再可用,在连接失效的短暂后续时间内,所有尚处在该区域的数据包都因为没有可用的下一跳而被丢弃,可以看到数据交付率曲线有一个明显的急剧下跌。但是图上可见10-48-49-0这一条传输路径没有经过中心灰色区域,不受到该区域关闭0信道的影响,仍然处于可用状态,所以尽管没有重新进行路由探索发现新的路径,节点10到节点0的数据连接依然存在,可见数据交付率在急剧下跌之后开始逐渐上升。因为前面丢弃的数据包仍然被计算在内,所以数据交付率曲线不会回到100%。
参见图10,介绍了蚁群重新发现路由的过程。
(3B)图10具体介绍了仿真全部数据连接失效后,蚁群重新发现路由的情景。如图10(a)所示,节点10和节点1通过信道0进行通信,图10(b)展示了节点1因为主用户进入而让出信道0后,节点10重新进行路由发现,通过信道1再次建立与节点1的连接。
参见图11,介绍了本发明蚁群产生速率与数据成功交付率的关系。
(3C)改变蚁群的产生速率,即改变同一时间点的蚁群密度,蚁群密度越高,在拓扑变化后重建路由的速度就越快。

Claims (9)

1.一种认知无线Mesh网络的路由设计方法,其特征在于,按如下步骤进行:
步骤一、建立认知无线Mesh网络的分布式分层图;通过在每个节点中设置两张路由表来分别对应分层图的垂直边和水平边,改变传统分层图模型对集中控制的依赖,由此建立节点对分层图的局部视图;具体来说,在每个节点中设置了两种路由表:信道路由表和接口路由表,以分别对应分层图的垂直边和水平边;节点通过这个局部视图来指导信道分配和选路行为;将各节点的这些局部视图集合起来即是一张完整的分层图,从而建立分布式分层图模型;
步骤二、在建立分布式分层图模型的基础上,本发明引入了蚁群算法来设计路由,即通过蚁群在网络中的流动来更新分层图垂直边和水平边的连通情况以及权重;并提出了一种新的路由发现的方法:zAntNet路由发现方法;用zAntNet方法发现路由的具体步骤为:设定数据包结构和蚂蚁结构;优化处理蚂蚁信息;当前节点以Mesh路由器为目的节点发送前向蚁(发送数据包);前向蚁到达下一节点,使用堆栈Sforward来记录数据;当前节点计算选定转发信道;当前节点将前向蚁交给选定信道接口转发;前向蚁到达目的地,节点将其转为后向蚁;将后向蚁发送给当前栈顶元素指向的节点,后向蚁使用堆栈Sbackward来记录;接口接受后向蚁,并据此更新数据;接口将后向蚁上交给节点;后向蚁回到源节点,后向蚁到达源节点后变为回归蚁,回归蚁按照Sbackward的记录项目的节点回溯;回归蚁抵达目的节点,完成路由发现;
步骤三、通过前述步骤的设计路由进行用户数据传输;整理前述步骤的设计方法,提供方法的具体数据和图表,作为本次网络路由设计方法的总体结果,为用户提供显示依据和参考。
2.基于权利要求1所述的认知无线Mesh网络分布式分层图模型,其特征在于:
通过在认知无线Mesh网络中的每个节点设置两张路由表来分别对应分布式分层图的垂直边和水平边,改变传统分层图模型对集中控制的依赖,由此建立节点对分层图的局部视图;需在每个节点中设置两种路由表:信道路由表和接口路由表;其中信道路由表的结构如下格式:
目的节点 下一跳信道 权重值
节点接口路由表结构如下格式:
目的节点 下一跳节点 权重值
所述认知无线Mesh网络分布式分层图模型中,要求节点通过局部视图来指导信道分配和选路行为;将各节点的局部视图集合起来即是一张完整的认知无线Mesh网络分布式分层图。
3.基于权利要求1和权利要求2所述的zAntNet路由发现方法,其特征在于,按如下步骤进行:
步骤一、设定数据包结构和蚂蚁结构;
步骤二、优化处理蚂蚁信息:检查数据包生命值是否超限;检查数据包的目的节点是否是本节点的一个邻居节点,若是则直接发送,跳过繁琐的查看路由表、计算概率等过程;若目的节点是当前节点的邻居,则无需对后向蚁进行更新路由表操作;
步骤三、路由发现初始时,节点路由表为空,节点以Mesh路由器节点为目的节点发送蚂蚁进行路由发现;使用户数据流中按照固定比率夹带前向蚁,进行连接状态监视和新路由的发现;
步骤四、当前向蚁到达一个节点后,首先刷新数据包中的旅行时间字段,然后将此节点、到达此节点时使用的信道、当前旅行时间这一三元组记录压入自己的途径节点堆栈;此时,前向蚁使用堆栈Sforward来记录所经过的节点和消耗的时间;
步骤五、当节点准备转发一个前向蚁时,首先要决定使用哪个信道;信道选择在分布式分层图模型信道路由表的信道集合C中进行,C包括所有当前有接口工作在其上的信道;然后节点计算C中每个元素的概率值;
步骤六、节点将前向蚁交付给工作在选定信道上的接口,接口通过查询自己的接口路由表来决定下一跳节点;
步骤七、前向蚁抵达目的节点后,节点将其转换为后向蚁:
步骤八、将后向蚁途经节点堆栈的栈顶元素出栈,将后向蚁发送给当前栈顶元素指向的节点,若网络拓扑已发生了变化,此节点已经不可达,则丢弃后向蚁;后向蚁按照Sforward的记录向源节点回溯,更新沿路节点的路由表中指向目的节点的条目,同时使用堆栈Sbackward来记录所经过的节点和消耗的时间;
步骤九、当接口接收到一只后向蚁后,根据后向蚁携带的信息更新接口路由表;
步骤十、接口将后向蚁上交给节点,节点按照同样的算法更新信道路由表;
步骤十一、当后向蚁回到了源节点后,节点更新与此目的节点的连接质量信息。然后节点丢弃后向蚁,后向蚁变为回归蚁,回归蚁按照Sbackward的记录项目的节点回溯,更新沿路节点的路由表中指向源节点的条目;
步骤十二、当回归蚁抵达目的节点后,成功在前向蚁确定的路径上的节点中建立了分别指向目的节点和源节点的路由信息,完成双向路由发现。
4.基于权利要求1、权利要求2和权利要求3的数据传输方法,其特征在于,按如下步骤进行:
步骤一、当Mesh客户端节点需要连接到互联网服务时,首先查找本地保存的与各Mesh路由器节点的连接质量信息,选取连接质量最好的一个路由器节点作为网关,向其发送数据;若本地没有连接质量信息,则将数据压入缓冲队列延后发送;
步骤二、当节点准备转发用户数据时,首先需要根据信道路由表决定从哪个信道转发,用户数据转发把在信道路由表中存在指向目的节点条目的信道列为备选集合;备选集合中每个信道的概率为:
P C i = P C i + Ph C i Ph total
接口在备选集合中决定下一跳节点;
步骤三、选定信道后,节点将数据包交付工作在该信道上的接口转发;用户数据转发把接口路由表中存在指向目的节点条目的邻居作为备选集合;此处要注意的是,因为信道路由表是历史的统计信息,所以存在这样的情况:网络拓扑发生了变化,经由此信道已经无法到达目的节点,即备选集合为空;此时接口将数据包交回节点,通知节点发送失败,节点将此数据包压入缓冲队列等待下次继续处理;若备选集合不为空,则集合中每个邻居节点对应的概率如下:
P N i = Ph N i Ph total
接口在备选集合中决定下一跳节点;
步骤四、对数据包进行优化。
5.基于权利要求3所述的设定数据包结构和蚂蚁结构,其特征在于:所述步骤一中,除了两种路由表之外,针对认知无线Mesh网络特点,节点还维护一组数据用以表征与各个Mesh路由器的链路质量;
数据包的结构如下:
源节点 目的节点 生命值 旅行时间 负载类型 负载
负载数据包括蚂蚁信息和用户数据两种,而蚂蚁又分为前向蚁、后向蚁等若干种,这些不同的数据包由负载类型标记,节点在处理不同的数据时采用不同的流程;
蚂蚁的结构如下:
Figure FSA00000823887800032
上述的数据包结构和蚂蚁结构所携带的计算时间和存储空间等资源,用于评估连接质量。
6.基于权利要求3的路由发现选择信道方法,其特征在于:所述步骤五中,信道路由表中存储的不是直接可用的概率值,而是原始的信息素值;按如下步骤计算:
步骤一、平均分配信道路由表的信道集合C中各元素的初始概率,即:
P C i = 1 C
这是为了保证信息素为0的信道也能以一定的概率被选择,保证发现新路由;
步骤二、对概率进行调整,鼓励跨信道传输:
P C i = P C i - S , C i = C f P C i = P C i + S C - 1 , C i ≠ C f
Figure FSA00000823887800036
其中,Cf为数据包抵达节点时使用的信道,j为微调参数,即把来时使用信道的一部分概率拿出来平均分配给其他信道;
步骤三、按照信道表中的记录继续调整概率,使信息素留存高的信道以更高的概率被选择:
P C i = P C i + Ph C i Ph total
Ph total = Σ C i ∈ C Ph C i
其中PhCi为信道的信息素值;
步骤四、最后对PC进行归一化,保证:
Σ C i ∈ C P C i = 1
步骤五、确定C中各信道对应的概率后,将[0,100]按照概率值分为大小不一的若干区间,节点随机生成[0,100]范围内的一个整数,整数所在的区间所对应的信道即为最终选择的信道。
7.基于权利要求3的路由发现过程中计算选择接口的方法,其特征在于:所述步骤六中,接口路由表里存储的是原始的信息素值,而非直接可用的概率,按如下步骤计算:
步骤一、检查前向蚁的途径节点堆栈,获取可用邻居节点集合Navailable
Navailable=N-Ss→d
其中N为邻居节点集合,Ss->d为途径节点堆栈中的节点集合;若Navailable为空,即所有邻居节点都曾经被访问过了,则说明发生了路由环路,此时令:
Navailable=N
并将环路标志位置为1;
步骤二、计算概率,选择下一跳节点;
步骤三、接口将前向蚁发送给选定的节点,若环路标志位为1,则在发送前将途径节点堆栈中的环路部分出栈,同时修正数据包的旅行时间字段,以彻底抹去环路记忆;但数据包的生命值不被修改,以保证不能跳出环路的蚂蚁死亡。
8.基于权利要求3的zAntNet路由发现方法前向蚁转变为后向蚁的方法,其特征在于:所述步骤七中,当前向蚁抵达目的节点后,节点通过以下步骤将其转换为后向蚁:
步骤一、修改数据包的类型字段为后向蚁;
步骤二、交换数据包的源节点和目的节点,注意此处的交换是对于数据包来说的,至于封装在数据包中的蚂蚁,仍按照交换前的源节点和目的节点来讨论;
步骤三、写入蚂蚁的全程旅行时间,但不包括蚂蚁在目的节点缓存中等待处理的时间;
步骤四、将数据包的旅行时间字段清零。
9.基于权利要求3的zAntNet路由发现方法前后向蚁更新路由表的方法,其特征在于:所述步骤九中,接口接收到一只后向蚁后,根据后向蚁携带的信息更新接口路由表,接口查看途径节点堆栈的栈顶元素,此时栈顶元素表示了从前向蚁的源节点S到达当前节点K消耗的时间Ts->k,而此时要更新的路由表条目是指向目的节点D的,所以需要的值是从K到D所消耗的时间,这通过蚂蚁保存的全程旅行时间Ts->d得到:
Tk→d=Ts→d-Ts→k
路由表条目按下式更新信息素:
Ph d = Ph d + 1 T k → d
考虑到认知无限Mesh网络中客户端节点关注的是与Mesh路由器之间的通信,而客户端节点之间可能并不需要直接通信,此处仅对指向目的节点的条目进行更新,忽略当前节点与目的节点之间“子路径”上的节点。
CN2012105437434A 2012-12-14 2012-12-14 一种认知无线Mesh网络的路由设计方法 Pending CN103220747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105437434A CN103220747A (zh) 2012-12-14 2012-12-14 一种认知无线Mesh网络的路由设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105437434A CN103220747A (zh) 2012-12-14 2012-12-14 一种认知无线Mesh网络的路由设计方法

Publications (1)

Publication Number Publication Date
CN103220747A true CN103220747A (zh) 2013-07-24

Family

ID=48818083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105437434A Pending CN103220747A (zh) 2012-12-14 2012-12-14 一种认知无线Mesh网络的路由设计方法

Country Status (1)

Country Link
CN (1) CN103220747A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162934A (zh) * 2015-04-21 2016-11-23 聚众联合科技股份有限公司 网络连接模块及其网络连接的方法
CN106658683A (zh) * 2016-12-23 2017-05-10 上海斐讯数据通信技术有限公司 一种分布式无线设备唤醒管理方法及系统
CN106792745A (zh) * 2016-12-02 2017-05-31 中国科学院上海微系统与信息技术研究所 一种面向无线自组织网的节点分层路由调度方法及系统
CN107682263A (zh) * 2017-09-22 2018-02-09 西安空间无线电技术研究所 一种混合交换网络中基于业务持续时间的调度方法
CN108989133A (zh) * 2018-08-27 2018-12-11 山东大学 基于蚁群算法的网络探测优化方法
CN110113800A (zh) * 2019-05-05 2019-08-09 矽力杰半导体技术(杭州)有限公司 数据转发方法及存储装置
CN110365589A (zh) * 2019-07-30 2019-10-22 国网福建省电力有限公司 一种基于弹性光网络的电力光传输路由与频谱分配方法
CN111148116A (zh) * 2019-12-11 2020-05-12 郑州大学 面向应急通信的wmn网关部署与信道分配联合优化算法
CN111614557A (zh) * 2020-04-02 2020-09-01 深圳创维-Rgb电子有限公司 Mesh网络的数据传输方法、装置、网关及存储介质
CN113572652A (zh) * 2021-09-27 2021-10-29 之江实验室 一种有线Mesh网络测试方法
WO2023108328A1 (en) * 2021-12-13 2023-06-22 Mediatek Singapore Pte. Ltd. Packet routing in a layer 2 mesh network

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162934A (zh) * 2015-04-21 2016-11-23 聚众联合科技股份有限公司 网络连接模块及其网络连接的方法
CN106792745A (zh) * 2016-12-02 2017-05-31 中国科学院上海微系统与信息技术研究所 一种面向无线自组织网的节点分层路由调度方法及系统
CN106792745B (zh) * 2016-12-02 2020-07-31 中国科学院上海微系统与信息技术研究所 一种面向无线自组织网的节点分层路由调度方法及系统
CN106658683A (zh) * 2016-12-23 2017-05-10 上海斐讯数据通信技术有限公司 一种分布式无线设备唤醒管理方法及系统
CN107682263B (zh) * 2017-09-22 2019-10-18 西安空间无线电技术研究所 一种混合交换网络中基于业务持续时间的调度方法
CN107682263A (zh) * 2017-09-22 2018-02-09 西安空间无线电技术研究所 一种混合交换网络中基于业务持续时间的调度方法
CN108989133B (zh) * 2018-08-27 2020-03-31 山东大学 基于蚁群算法的网络探测优化方法
CN108989133A (zh) * 2018-08-27 2018-12-11 山东大学 基于蚁群算法的网络探测优化方法
CN110113800A (zh) * 2019-05-05 2019-08-09 矽力杰半导体技术(杭州)有限公司 数据转发方法及存储装置
CN110365589A (zh) * 2019-07-30 2019-10-22 国网福建省电力有限公司 一种基于弹性光网络的电力光传输路由与频谱分配方法
CN111148116A (zh) * 2019-12-11 2020-05-12 郑州大学 面向应急通信的wmn网关部署与信道分配联合优化算法
CN111148116B (zh) * 2019-12-11 2022-08-30 郑州大学 面向应急通信的wmn网关部署与信道分配联合优化方法
CN111614557A (zh) * 2020-04-02 2020-09-01 深圳创维-Rgb电子有限公司 Mesh网络的数据传输方法、装置、网关及存储介质
CN113572652A (zh) * 2021-09-27 2021-10-29 之江实验室 一种有线Mesh网络测试方法
CN113572652B (zh) * 2021-09-27 2021-12-07 之江实验室 一种有线Mesh网络测试方法
WO2023108328A1 (en) * 2021-12-13 2023-06-22 Mediatek Singapore Pte. Ltd. Packet routing in a layer 2 mesh network

Similar Documents

Publication Publication Date Title
CN103220747A (zh) 一种认知无线Mesh网络的路由设计方法
Crowcroft et al. Modelling incentives for collaboration in mobile ad hoc networks
Perillo et al. On the problem of unbalanced load distribution in wireless sensor networks
CN102340838B (zh) 无线体域网中延长网络生存时间的媒体接入控制方法
CN101394321B (zh) 基于“能量均衡”的集群无线传感器网络非均匀分簇方法
CN105959232B (zh) 一种基于软件定义网络控制点优化的卫星网络路由方法
CN102158938B (zh) 一种功率可调的带状传感器网络拓扑控制方法
CN103179633B (zh) 一种联合信道分配的认知无线电网络路由方法
CN108337166A (zh) 一种面向航空集群网络的低时延高可靠路由协议
CN103200643B (zh) 基于剩余能量感知的分布式容错拓扑控制方法
CN107135469B (zh) 一种分布式用户接入方法
CN102769885B (zh) 一种在传感器网络中实现路由的方法和传感器网络
CN105898679B (zh) 一种基于多代表节点与多层融合的异构传感数据收集方法
Luo et al. Energy efficient routing with adaptive data fusion in sensor networks
CN103945484A (zh) 农田无线自组织网络拓扑密度关联路径选择优化方法
CN101594281A (zh) 无线传感器网络数据汇聚方法、系统及相关设备
CN107404745A (zh) 一种基于自组网的火灾探测器远程检测系统
CN108966239A (zh) 一种基于能量空洞度部署中继节点的方法
CN108566664A (zh) 一种分布式高能效的wsn分簇路由优化方法
Barai et al. Performance evaluation of LEACH protocol for wireless sensor network
CN101977414A (zh) 一种无线传感器网络的同传时隙分配方法
WO2023280039A1 (zh) 基于星间通信的低能耗路由方法
CN106304232B (zh) 一种基站休眠的通信方法及装置
CN108462983A (zh) 基于改进蚁群aodv协议的多机器人通信组网方法
CN107484207A (zh) 无线传感器网络中联合拓扑控制和信道分配负载均衡方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
DD01 Delivery of document by public notice

Addressee: Sun Xuebin

Document name: Notification of Publication of the Application for Invention

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130724