法律状态公告日
法律状态信息
法律状态
2022-10-11
未缴年费专利权终止 IPC(主分类):H04L12/931 专利号:ZL2013105178307 申请日:20131025 授权公告日:20161012
专利权的终止
2016-10-12
授权
授权
2014-03-19
实质审查的生效 IPC(主分类):H04L12/931 申请日:20131025
实质审查的生效
2014-02-19
公开
公开
技术领域
本发明属于自组织网络技术领域,具体涉及一种无线分层式网络的路由方法,可用于场景 动态无规则变化的大规模无线分层式网络。
背景技术
在无线通信中,分布式和分层式分别是一种网络结构。分布式网络即是由一组移动节点在 无需网络基础设施条件下,通过无线链路动态连接组成的一个自治性网络。分层式网络即是网络 中节点有层次之分,多个中控节点下辖其通信移动节点。在网络中节点均是移动的,网络的拓 扑结构是不断变化的。
当前传统的路由协议均是针对分布式网络的,相对分布式结构而言,维护同样多的路由表 即占用同样的网络资源,分层式结构可以容纳更多的通信节点,因为分层式结构可设计为只需 要在上层中控节点之间进行路由,中控节点下辖的移动节点之间一跳可达。传统的路由协议主 要有按需路由协议和表驱动路由协议,其性能在特定的网络环境下各不相同。
对于按需路由协议,源节点需要发送数据时才查找建立到目的节点的路由,虽然系统开销 比较小,但是端到端时延比较大,而且当网络负载比较大时,开销相对也比较大,因此其适合 网络拓扑变化比较快,且网络负载较轻的无线自组网。而对于表驱动的路由协议,每个节点均 需要维护一张到达其它节点的路由信息的路由表,无论有无数据需要发送,这种网络中的节点 都要周期性地广播路由信息维护到其它节点的路由,系统开销大,因此适合网络拓扑变化不大 且网络负载较重的网络。上述两种协议都是针对某种特定网络环境设计的,无法适应具有多种 网络特征的分层式网络。
发明内容
本发明的目的是针对传统的路由协议的不足,提出一种基于网络情景感知的自适应多协议 路由方法,以在具有多种网络特征即网络场景不断变化的分层式网络中,充分利用现有的协议, 达到更好的路由效果,避免信息分组的时延过大或者网络的开销过大弊端,保证较好的QoS性 能。
本发明的技术方案是这样实现的:
一.技术原理:
本发明通过感知所处的网络特征环境并做出自适应调节,将网络中所有的节点分 成几个子网,每个子网选择一个骨干路由节点,且这些骨干路由节点是均匀分布在整个网络场 景中的,其主要是负责通信路由的,即若需要通信的两个节点隶属于同一个骨干路由节点,则 不需要查询路由表通过其所隶属的骨干路由节点的中转直接通信,反之,若通信的两节点不隶 属于同一个骨干路由节点,则需要在骨干节点之间进行路由建立,最终发现从源节点所隶属的 骨干路由节点到目的节点所隶属的骨干路由节点的路由,进而完成通信。而感知部分,采用的 是分布式感知策略,即是由整个网络中所有节点感知网络特征,每个节点都会记录当前使用的 路由协议以及当前的网络场景参数,即为基于分层式架构的分布式感知,当检测到网络场景发 生变化后,通过对各种网络参数的对比,选择适合当前网络场景的路由策略,实现网络路由策 略的快速切换。
同时骨干路由节点会周期性的发送入网请求包,如果在一个周期内收到了其下辖的普通节 点即邻居节点表中的普通节点的应答,则该普通节点仍然隶属于此骨干路由节点,反之,如果 没有收到,则从其邻居节点表中将该普通节点移除,被移除的普通节点则需要重新选择它的骨 干路由节点,从而完成重新入网。这样保证了移动中的整个基于分层网络的拓扑结构。
二.技术方案
根据上述原理,本发明的实现步骤包括如下:
(1)网络初始化,即根据网络的场景大小,将整个网络分成n个子网,在每一个子网中 随机地指定一个节点为骨干路由节点wi,其中i∈[1,n],其余的节点均为普通节点c;
(2)节点之间相互发送hello包,并将hello包的发送周期初始化为htstd,其中htstd根据 具体网络场景而定,该hello包包括节点运行的路由协议、网络负载及节点的移动性等状态信 息;
(3)根据网络场景的大小以及单跳通信距离,将每个普通节点c置于离其最近的骨干路 由节点wi下,构建基于分层式的网络结构;
(4)每一个节点周期性感知周围的网络环境,该网络环境包括平均移动速率、平均业 务量和业务类型这些参量信息,若其中的任一个参量信息变化,则更新网络环境;
(5)骨干路由节点wi根据感知到的网络环境计算环境参量值,判断是否需要进行路由切 换:
(5a)定义并计算网络中的负载参量L和移动性状态参量m分别为:
L=β*L(k)+(1-β)*L(k-1),
m=v/v0,
其中,l(k)=ρ/ρ0表示在当前第k个检测周期内的网络负载值,L(k-1)为上一周期计算的网络 负载平均值,β为L(k)的权重因子,取值为0.6,ρ为当前周期的网络的负载,v为节点的移动 速率,ρ0和v0分别表示在各种路由协议下性能相近的业务负载和移动速率;
(5b)根据移动性状态参量值计算hello包的发送周期ht;
(5c)根据骨干路由节点检测到的网络负载参量L与移动性状态参量m参量值选择当前网 络场景适合的路由协议,并将此路由协议与当前网络中该骨干路由节点运行的路由协议进行对 比,如果一致,则执行步骤(7),反之,若不一致,则执行步骤(6);
(6)骨干路由节点wi根据当前的网络状态参量值在路由协议库中选择适合当前网络场 景下的路由协议,执行协议切换,处理切换过程中的分组,并且向其它骨干路由节点发送路由 策略改变包,同时骨干路由节点wi通知隶属于它的普通节点停止两个检测周期的发包;
(7)普通节点c发送数据包,即不管目的节点是否在同一个子网下,都先将该数据包发 送给普通节点c所隶属的骨干路由节点;若目的节点D与普通节点c属于同一个子网,则执行 步骤(8),反之则执行步骤(9);
(8)根据目的节点的编号ID,其所隶属的骨干路由节点将数据包发送给该目的节点;
(9)普通节点c根据目的节点的编号ID,获得目的节点所隶属的骨干路由节点的编号 ID,该普通节点c所隶属的骨干路由节点根据当前网络环境选择路由策略,建立该普通节点c 到目的节点D的路由:
(9a)在当前节点ui有分组要转发时,给该分组设置一个路由表建立时间定时器Ts,判断 当前节点ui是否为目的节点D所隶属的骨干路由节点,如果是,则取出该分组,返回步骤(8), 否则,根据当前节点ui采用的路由模式,执行步骤(9b);
(9b)当前节点ui查询路由表,判断是否存在到目的节点D的路由,若存在,则从路由表 中取出该节点应该去往的下一跳节点N,并将此分组发往至下一跳节点N,返回步骤(9a);反 之,将此分组插入到发送缓存队列,执行步骤(9c);
(9c)当前节点ui根据其所采用的路由协议寻找自己到目的节点的路由,如果在分组的生 存期Ts内找到路由,则从发送缓存队列中取出该分组,并查找路由表,将此分组发送到到达目 的节点D所应该发往的下一跳节点N,返回步骤(9a),如果没找到路由,则此路由过程失败。
本发明与现有技术相比,具有如下优点:
1)本发明由于根据网络环境的变化而自适应地改变其通信路由策略的多模式路由协议, 克服了传统的路由协议只是针对单一的网络场景的缺点,有效地提高了网络的性能参数,比如 网络开销的节省,信息分组的时延性能等。
2)本发明可根据网络环境动态选择路由策略的多模式路由协议,克服了传统的针对分布 式网络的单一路由协议的局限性,不仅适应多变的网络场景,而且适合当前网络场景的路由策 略。
3)本发明由于在切换过程中,通过骨干路由节点通知其下辖的普通节点暂时停止两个检 测周期的发包,并将已经发出的包存储到建立的包缓存队列中,保证了分组的到达率性能。
4)本发明可根据网络场景的变化动态调整hello包的发送周期的策略,克服了传统路由协 议中节点定期发送hello包的缺点,减少了网络的开销。
附图说明
图1是本发明的整体流程图;
图2是本发明中构建网络分层结构的子流程图;
图3是本发明中每个节点检测网络状态信息的子流程图;
图4是本发明中根据网络需求进行路由切换的子流程图;
图5是本发明中的分组进行路由的子流程图。
具体实施方式
参照图1,本发明的实现步骤如下:
步骤1、构建一个分层的网络拓扑结构。
参照图2,本步骤的具体实现如下:
(1a)假设将全网分成n个子网,并给每一个子网随机指定一个骨干路由节点wi,其中 i∈[1,n];
(1b)每个骨干路由节点wi周期性地发送入网邀请包,在一个周期内,普通节点c在第一 次收到骨干路由节点发来的入网邀请包后,向该骨干路由节点wi发送入网应答包,请求加入该 骨干路由节点所属的子网;
(1c)该骨干路由节点wi收到应答包后,查询其邻居节点表,判断是否有发送该应答包的 普通节点c的信息,如果有,则保留该信息,反之,则将该普通节点c加入到自己的邻居节点 表中;
(1d)每个骨干路由节点wi在每一个周期检测是否收到来自其邻居节点表中的普通节点c 的应答包,如果收到,则保留该普通节点c在该骨干路由节点的邻居节点表中的信息,反之, 则将该普通节点c从该骨干路由节点wi的邻居节点表中移除,返回步骤(1b)。
步骤2、初始化网络。
(2a)将网络的场景检测周期Tc初始化为Tcs,其中Tcs根据具体网络场景而定;
(2b)将hello包的发送周期ht初始化为htstd,其中htstd根据具体网络场景而定;
(2c)将每个节点的路由协议标志位初始化为按需路由协议对应的值。
步骤3、分层网络中的所有节点之间相互发送携带本节点网络状态信息的hello包。
所述的hello包包括节点运行的路由协议、网络负载及节点的移动性等网络状态信息,这些 信息分别记录在hello包对应的域中。
步骤4、所有节点周期性的检测自己的网络环境参量,若网络环境参量发生变化,则记录 此网络场景参量变化的信息。
参照图3,本步骤的具体实现如下:
(4a)当前节点ui每隔Tc时间对网络的环境参量以及自身的一些属性参量分别进行检测, 该环境参量包括网络的负载、业务类型、节点密度,本身的属性参量包括移动速度、每秒产生 的业务量、每秒接收的业务量和端到端时延,如果某个参量s发生变化,则初始化计数值 num=1,其中num表示在一个检测周期Tc内参量s连续变化的次数,如果所有参量都未发生变 化,则等待Tc时间后,继续检测网络的环境参量信息,执行步骤(4b);
(4b)当前节点ui再隔0.05*Tc时间,检测网络的环境参量,如果某个参量s继续发生变化, 则执行步骤(4c),如果所有参量均不再变化,则执行步骤(4d);
(4c)将计数值num加1,并判断计数值num是否等于20,如果num=20,则执行步骤(4d), 否则执行步骤(4b);
(4d)当前节点ui将计数值num清零,并记录此场景参量变化的信息,返回步骤(4a)。
步骤5、骨干路由节点wi根据检测到的网络负载参量L和移动性状态参量m,选择在该网 络场景下适合的路由协议,同时计算当前网络场景下hello包的发送周期ht以及网络环境检测 周期Tc。
(5a)定义并计算网络中的负载参量L和移动性状态参量m分别为:
L=θ*L(k)+(1-θ)*L(k-1),
m=v/v0,
其中,L(k)=ρ/ρ0表示在当前第k个检测周期Tc内的网络负载值,L(k-1)为上一周期计算的 网络负载平均值,θ为L(k)的权重因子,取值为0.6,ρ为当前周期的网络负载,v为节点的移 动速率,ρ0和v0分别表示在各种路由协议下性能相近的业务负载和移动速率;
(5b)计算最大网络负载参量Lmax和最大移动状态参量mmax分别为:Lmax=ρmax/ρ0,
mmax=vmax/v0,
其中ρmax和vmax分别为网络允许的最大业务负载和网络允许的节点移动最大率;
(5c)按如下条件分别计算hello包的发送周期ht和网络环境检测周期Tc:
若0<m≤1,则ht=α*htstd,Tc=λ*Tc,
若1<m≤mmax,则ht=β*htstd,Tc=η*Tcs,
其中,α为hello包发送周期ht小于1的动态调整因子,β为hello包发送周期ht大于1 的动态调整因子,λ为网络检测周期Tc小于1的动态调整因子,η为网络检测周期Tc大于1的 动态调整因子,htstd为初始化的hello包发送周期,Tc为网络的当前检测周期,Tcs为初始化的 网络环境检测周期;
(5d)根据网络负载参量L和网络移动性状态参量m的值,按如下规则选择节点的路由协 议:
若0<L≤1,且不管网络移动状态参量m有多大,则选择按需路由协议,
若1<L≤Lmax,0≤m≤1,则选择表驱动路由协议,
若1≤L≤Lmax,1<m≤mmax,则选择按需路由协议,
其中,Lmax和mmax分别为最大网络负载参量和最大网络移动状态参量。
步骤6、将所选的路由协议与当前网络中骨干路由节点wi运行的路由协议进行对比,若这 两个协议一致,则执行步骤8,反之,则执行步骤7。
步骤7、骨干路由节点wi将路由策略r切换到路由策略h上。
参照图4,本步骤的具体实现如下:
(7a)骨干路由节点wi向网络中的所有节点广播携带路由策略h的切换分组;(7b)当前节 点ui收到切换分组后,若当前节点ui是骨干路由节点邻居节点表中 的普通节点,则需要暂停两个检测周期的发包,并且将正在发送中的分组包存储到缓存队列中;
(7c)做切换的骨干路由节点wi将暂停运行路由策略r,并调用路由策略h,判断该骨干 路由节点wi的协议切换是否完成,若完成,将该骨干路由节点wi以及其邻居节点表中的普通节 点c的路由协议标志位均设置为路由策略h对应的值,执行步骤8,反之,随机延迟0~0.1s的 任意时间后广播切换分组,返回到步骤(7a)。
步骤8、工作在表驱动路由模式下的骨干路由节点p更新自己的路由表。
骨干路由节点p周期性的检测自己的邻居节点表,若邻居节点表中存在骨干路由节点q, 且q的路由模式从按需路由模式切换到表驱动路由模式,则骨干路由节点p向骨干路由节点q 发送自己的路由表,反之,如果骨干路由节点q的路由模式从表驱动路由模式切换到按需路由 模式,则骨干路由节点p将删掉与骨干路由节点q相关的所有信息,但当前的以骨干路由节点 为下一跳的活动路由除外。
步骤9、普通节点c发送分组e,即不管目的节点是否在同一个子网下,都先将该分组e发 送给普通节点c所隶属的骨干路由节点,若目的节点D与普通节点c属于同一个子网,则执行 步骤(10),反之则执行步骤(11)。
步骤10、根据目的节点的编号ID,其所隶属的骨干路由节点将该分组e发送给该目的节点 D。
步骤11、普通节点c根据目的节点的编号ID,获得目的节点所隶属的骨干路由节点的编 号ID,该普通节点c所隶属的骨干路由节点根据当前网络环境选择路由策略,建立该普通节 点c到目的节点D的路由。
参照图5,本步骤的具体实现如下:
(11a)当前节点ui判断本节点是否为目的节点D,如果是目的节点D,则取出该分组e, 路由过程结束;否则,执行步骤(11b);
(11b)当前节点ui查询路由表,如果路由表中有到达目的节点D的路由信息,则取出该 分组e,并从当前节点ui的路由表中取出到达目的节点D所应去往的下一跳节点N,将分组e发 送到下一跳节点N,使下一跳节点N成为当前节点,返回到步骤(11a),反之,如果路由表中 没有到达目的节点D的路由信息,执行步骤(11c);
(11c)将当前分组e存储到包缓存队列中,并为该分组e设置有效期定时器Ts,当前节点 ui根据当前路由策略寻找到达目的节点D的路由,执行步骤(11d);
(11d)如果在分组e的有效期定时器Ts内找到路由,则查询路由表,取出到达目的节点所 应去往的下一跳节点N,将分组e发送到下一跳节点N,使下一跳节点成为当前节点,返回到 步骤(11a),反之,如果所述定时器Ts溢出,则丢弃该分组e,路由过程失败。
以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明 内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和 改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
机译: 基于事件的分布式分层处理系统,基于事件的分布式分层处理系统中的处理方法以及通信系统。
机译: 基于强化学习的分布式跟踪和选择性扫描的分布式网络路由方法
机译: 基于加强学习在分层分布式计算环境中的磁静电放置控制系统和方法