CN104320334B - 一种无线Mesh网络中的集中式路由算法 - Google Patents
一种无线Mesh网络中的集中式路由算法 Download PDFInfo
- Publication number
- CN104320334B CN104320334B CN201410609933.0A CN201410609933A CN104320334B CN 104320334 B CN104320334 B CN 104320334B CN 201410609933 A CN201410609933 A CN 201410609933A CN 104320334 B CN104320334 B CN 104320334B
- Authority
- CN
- China
- Prior art keywords
- node
- route
- path
- root
- frame
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种无线Mesh网络中的集中式路由算法,它包括初始根路由建立、链路状态信息上传、路径选择及分组转发和路由自愈四个阶段,采用由根节点集中计算路由的方式完成寻路,节点上传链路状态消息至根节点,根节点掌握全网拓扑,为即将通信的源节点和目的节点之间计算路由;各节点在初次链路状态上传后,只有在链路状态发生变化超过一定阈值或者邻居发生变化时才上传链路状态信息,避免链路状态信息的频繁上传;根节点计算得到最优路径后,只需要在原始网络拓扑中删除该路径上的节点重新计算最优路即可得到与之不相交的备份路径。本发明集中式路由算法的寻路过程中没有洪泛,路由开销小,可靠性高。
Description
技术领域
本发明涉及无线Mesh网络技术领域,特别是涉及一种无线Mesh网络中的集中式路由算法。
背景技术
无线Mesh网络是一种多跳、具有自组织和自愈特点的宽带无线网络结构。与传统网络相比,它能够提供更大的便利性、更强的可靠性,能够更好地适应不断变化的网络状况以及提供优化的网络性能。
如图1所示,图1为IEEE802.11s定义的无线Mesh网络的基本架构,该网络由骨干Mesh节点(MAP/MP)、网关节点MPP(Mesh Portal Point)和终端STA组成,MP(Mesh point)是无线Mesh网络中的具有中继转发能力的节点,MAP(Mesh Access Point)在MP的基础上增加接入功能。通常情况下骨干Mesh节点的移动性较弱,网关节点MPP不具有移动性。终端STA通过Mesh节点之间的多跳到达目的节点,还可以通过网关节点MPP访问互联网。
例如申请号为US8467297的美国专利申请,该专利申请文件中描述了一种在无线网格网中源节点和目的节点之间建立路由的方法,该方法的缺点在于:
(1)当源节点没有到目的节点的路由时发起广播寻路过程,路由开销较大;
(2)源节点和目的节点的一次广播寻路过程只能建立一条路径,当该路径失效后需要重新发起广播寻路过程,在重新寻路的过程中,数据丢包严重;
(3)当一个节点设置为先验式模式,则该节点会周期性的发起RANN消息广播,网络中的其他节点接收到RANN消息后建立或更新到该节点的路由。周期性的广播过程,路由开销大,影响网络性能。
申请号为200710146341.X的中国专利申请,该专利申请文件中描述了一种无线网状网络中路由管理方法,用于无线Mesh节点在无线网状网络中的路由学习过程,该方法的缺点在于:
(1)网络中所有Mesh节点周期性向无线网状网络中其他无线节点广播路由请求消息,路由开销大,容易导致网络拥塞;
(2)在该专利中维护到源节点路由的过程中要维护到源节点的两条路径,这两条路径可能是相交路径,存在同时失效的可能。
申请号为201110380456.1的中国专利申请,该专利申请文件中描述了一种无线网状网路由方法,该方法的缺点在于:
(1)在该路由方法中建立了以网关节点为根节点的树状路由,该方法会导致网关节点处的流量瓶颈;
(2)在该路由方法中建立的路由均为单路径路由,可靠性较差。
路由协议是无线Mesh网络的关键技术,是制约网络性能的主要因素。现有无线Mesh网络路由算法一般采用分布式的路由方式,这种分布式的路由方式保证了网络的可靠性,然而却导致了寻路洪泛等问题。尤其在网络负荷较重的场景下,进一步加重了网络的负担,影响网络的性能。
集中式路由是一种由路由控制平台统一计算路由信息的路由方法,需要预先构建一种具备保护功能的路由机制,使得节点的路径失效后都有立即可用的备份路径。
发明内容
本发明的目的在于克服现有技术的不足,提供一种无线Mesh网络中的集中式路由算法,克服广播寻路开销较大、多路径路由算法复杂等困难,采用节点不相交的两条路径进行路由备份,寻路过程没有洪泛,路由开销小,可靠性更高。
本发明的目的是通过以下技术方案来实现的:一种无线Mesh网络中的集中式路由算法,它包括以下步骤:
S1,初始根路由建立:在组网初期,根节点发起根节点通告帧RANN(RootAnnouncement)广播,当达到广播次数上限时停止广播,在根节点通告帧RANN中记录了该帧经过的节点地址和累加的链路质量度量,各Mesh节点接收到该帧后记录到达根节点的路径;广播结束后各Mesh节点从记录的到根节点的路径中选择两条节点不相交的最优路径,以此建立到根节点的路由;
S2,链路状态信息上传:各Mesh节点建立根路由后,主动上传链路状态信息至根节点;当各Mesh节点检测到邻居发生变化或者链路状态发生变化超过一定阈值时上传当前链路状态消息;
S3,路径选择及分组转发:根节点根据各Mesh节点上传的链路状态信息掌握全网最新加权拓扑,为将要通信的源节点和目的节点之间计算全局最优路径及备份路径,分组通过最优路径进行转发。
所述的链路状态信息包括邻居地址列表及其对应的链路质量度量值。
所述的链路状态信息上传步骤中,各Mesh节点还会周期性的查询邻接链路的链路状态,当Mesh节点的邻居发生变化或者Mesh节点某个邻居间的链路度量累计变化值大于一定阈值时,则该Mesh节点向根节点上传链路状态信息。
所述的最优路径和备份路径为链路质量度量最小的两条路径,其中最优路径链路质量度量小于或等于备份路径的链路质量度量,并将最优路径和备份路径分别封装成路径通告帧PNTF(Path Notify)。
所述的路径选择及分组转发步骤包括网外通信方式和网内通信方式,即当待发送分组需进行网外通信时,直接使用根路由将分组转发到根节点,由根节点将分组转发出网;当待发送分组的目的地址为网内地址时,首先将分组转发到根节点,根节点将分组转发到目的节点,并且根节点为源节点和目的节点计算最优路径,后续分组通过最优路径发送。
所述的网外通信方式为:源节点查看是否有根路由,如果不存在,则请求到根节点的路由,在请求到根节点路由的过程中使用序列号机制保证任何时候节点间都无环路,每个Mesh节点都保持着独自的一个序列号,该序列号通过路径请求帧PREQ(Path Request)被发送到其他节点,其他节点只处理序列号更大的路径请求帧PREQ;
所述的请求到根节点路由的步骤包括以下子步骤:
SS11:源节点向所有邻居节点发送路由查询帧;
SS12:邻居节点收到该源节点的路由查询帧后,查看自身根路由是否有效,如果有效,回复有效确认帧,否则回复无效确认帧;
SS13:如果源节点接收到有效确认帧,则从回复有效确认帧的邻居节点中随机选取一个节点,并向其发送路径请求帧PREQ;
SS14:如果源节点没有收到有效确认帧,则向其所有邻居节点发送路径请求帧PREQ;
SS15:邻居节点收到该路径请求帧PREQ后,首先检查该路径请求帧PREQ是否包含一个更大的序列号;
如果没有包含一个更大的序列号,则该邻居节点丢弃该路径请求帧PREQ;
如果包含一个更大的序列号,则该邻居节点再检查其根路由是否有效;
如果该邻居节点的根路由有效,则该邻居节点上传该路径请求帧PREQ至根节点,否则,重复步骤SS11-SS14;
SS16:根节点收到路径请求帧PREQ,根节点计算源节点到根节点的最优路径及节点不相交的备份路径,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点,中间节点建立到源节点及根节点的路由,源节点建立到根节点的最优路由和备份路由。
所述的网内通信方式包括以下子步骤:
SS21:源节点将分组转发到根节点,源节点使用根路由信息发送数据时,将分组Mesh帧头中的路径请求标记进行设置,请求源节点到目的节点的路由,若传输采用备份根路由,则将Mesh帧头中的备份路径标记进行设置,重新请求源节点到根节点的路由;
SS22:根节点接收到一个分组,将分组转发到目的节点,并查看Mesh帧头中的路由请求标记和备份路径标记;
若Mesh帧头中的路由请求标记表示为需要请求路径,则跳转SS23;
若Mesh帧头中的备份路径标记表示为使用备份路径,则跳转SS26;
SS23:根节点计算源节点到目的节点的最优路径,并将最优路径封装成路径消息帧PIFM(Path Information)发送到源节点,源节点接收到路径消息帧PIFM后解析得到最优路径,并将最优路径封装成路径通告帧PNTF,并沿最优路径发送到目的节点;
SS24:中间节点建立到源目节点的路由,目的节点建立到源节点的路由;
SS25:后续分组通过最优路径发送;
SS26:根节点计算源节点到根节点的最优路径及节点不相交的备份路径,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点;
SS27:中间节点建立到源节点及根节点的路由;
SS28:源节点更新到根节点的最优路由和备份路由。
它还包括路由自愈步骤:采用节点不相交多路径备份策略,实现失效路由的快速自愈,所述的路由自愈步骤包括网外路由自愈方式和网内路由自愈方式。
所述的网外路由自愈方式包括以下子步骤:
SS31:上游Mesh节点探测到下游Mesh节点失效后,向源节点发送路由错误帧的同时,查看本地是否有到根节点的路由;
向源节点发送路由错误帧后,中间节点及源节点接收到路由错误帧,中间节点及源节点删除相应的路由表,源节点查询本地到根节点的备用路由信息,查看本地是否有到根节点的路由;
SS32:如果本地存在根节点的路由,上游节点将数据帧和链路失效帧转发到根节点,源节点将数据利用备份路由传输至根节点;根节点接收到数据帧或链路失效帧后,将数据帧转发到目的节点,从全网拓扑中删除失效链路,并计算源节点到根节点最优路径以及与最优路径节点不相交的次优路径;
SS33:如果不存在根节点的路由,源节点广播到根节点的路径请求帧PREQ,上游节点广播链路失效帧;根节点接收到路径请求帧PREQ或者链路失效帧后;根节点从全网拓扑中删除失效链路,并计算源节点到根节点最优路径以及与最优路径节点不相交的次优路径;
SS34:将最优路径消息封装成路径通告帧PNTF,并按照最优路径发送给源节点,将备份路径消息封装成路径通告帧PNTF,按照备份路径发送给源节点;
SS35:中间节点及源节点建立路由,完成网外路由的自愈。
所述的网内路由自愈方式包括以下子步骤:
SS41:上游Mesh节点探测到下游Mesh节点失效后,向源节点发送路由错误帧的同时,查看本地是否有到根节点的路由;
向源节点发送路由错误帧后,中间节点及源节点接收到路由错误帧,中间节点及源节点删除相应的路由表,源节点查询根路由信息,查看本地是否有到根节点的路由;
SS42:如果存在根节点的路由,上游节点将数据帧和链路失效帧转发到根节点,源节点将数据帧转发到根节点;
SS43:如果不存在根节点的路由,源节点发起到根节点的寻路过程,寻路完成后,源节点将数据帧转发到根节点,上游节点将数据帧和链路失效帧通过邻居节点的路由转发到根节点;
SS44:根节点接收到数据帧并将数据帧转发到目的节点,并删除本地链路失效帧标记的失效链路;
SS45:根节点计算源节点到目的节点的最优路径并将路径消息发送给源节点;
SS46:源节点接收到路径消息建立到目的节点的路由并将路径通告帧PNTF转发到目的节点;
SS47:中间节点及目的节点建立路由,完成网内路由的自愈。
本发明的有益效果是:本发明提供了一种采用无线Mesh网络中的集中式路由算法,采用节点不相交的两条路径进行路由备份,相比于相交多路径方法,其可靠性更高。
(一)本发明中,采用由根节点集中计算路由的方式完成寻路,节点上传链路状态消息至根节点,根节点掌握全网拓扑,为即将通信的源节点和目的节点之间计算路由,寻路过程没有洪泛,路由开销小;
(二)本发明中,根节点计算得到最优路径后,只需要在原始网络拓扑中删除该路径上的节点重新计算最优路即可得到与不相交的备份路径,节点不相交路径的获取方式简单,在一条路由失效时,可以保证路由的可靠性;
(三)本发明中,各节点在初次链路状态上传后,只有在链路状态发生变化超过一定阈值时才上传链路状态信息,避免链路状态信息的频繁上传。
附图说明
图1为无线Mesh网络的基本架构结构图;
图2为本发明无线Mesh网络中的集中式路由算法的流程示意图;
图3为本发明网外路由自愈流程示意图;
图4为本发明网内通信自愈流程示意图;
图5为本发明初始根路由建立过程示意图;
图6为本发明链路状态消息示意图;
图7为本发明根节点全网拓扑存储表;
图8为本发明路径选择及分组转发流程示意图;
图9为本发明根路由自愈机制示意图;
图10为本发明网内通信链路自愈机制示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图2所示,本发明一种无线Mesh网络中的集中式路由算法分为初始根路由建立、链路状态信息上传、路径选择及分组转发和路由自愈四个阶段。
首先,在组网初期,根节点发起根节点通告帧广播,当达到广播次数上限时停止广播,在根节点通告帧中记录了该帧经过的节点地址,各Mesh节点接收到该帧后记录到达根节点的路径;广播结束后各Mesh节点从记录的到根节点的路径选择两条节点不相交的最优路径,以此建立到根节点的路由。
各Mesh节点建立根路由后,主动上传链路状态消息至根节点;当各Mesh节点检测到邻居发生变化或者链路状态发生变化超过一定阈值时上传当前链路状态消息。
根节点根据各Mesh节点上传的链路状态消息掌握全网最新加权拓扑,为将要通信的源节点和目的节点之间计算全局最优路由及备份路由。
另外,在本发明中采用节点不相交多路径备份策略,实现失效路由的快速自愈。
(一)初始根路由建立过程
根节点上电工作后,首先发起根节点通告帧RANN广播,达到最大广播次数后停止广播,最大广播次数与网络规模相关,网络规模越大可以适当增加最大广播次数,通常设置为5次。根节点通告帧RANN消息中记录该消息经过的节点地址NodeList及累加的链路质量度量Metric,所述的链路质量度量Metric包括但不限于以下三种:空时变量Airtime、期望传输时间ETT和期望传输时间ETX,初始阶段的节点地址NodeList={AddressRoot},初始阶段的链路质量度量Metric=0。任意节点I收到来自任意节点K转发的根节点通告帧RANN消息后,查看自身的地址是否存在NodeList中:
情况1:若AddressI已经存在于NodeList中,则丢弃该帧。
情况2:若AddressI不存在于NodeList中,则节点I更新链路质量度量Metric为:
Metric=Metric+MetricI-K
式中,MetricI-K表示节点I和节点K之间链路质量的度量值;
并且节点I将自身的节点地址信息添加到节点地址NodeList中,此时,节点I的节点地址NodeList为:
NodeList={AddressRoot…AddressK…AddressI};
记录到达根节点的路径以及对应的链路质量度量Metric,并继续广播该消息。
各节点多次接收根节点通告帧RANN消息后,记录了多条到根节点的路径。在上传链路状态消息之前,各节点选择最优路径,即链路质量度量Metric最小的路径,作为到根节点的主路径,与主路径节点不相交的路径作为备份路径。并将两条路径分别封装成路径通告帧PNTF,按照最优路径和备份路径发送至根节点,中间节点根据路径通告帧PNTF中封装的路径记录到源节点和目的节点的下一跳。根节点则只记录到源节点的下一跳。至此,各节点建立了到根节点的两条路由。
(二)链路状态消息上传
各节点在建立起根路由后会首先将与各邻居节点之间的链路状态信息发送给根节点,所述的链路状态信息包含邻居地址列表及其对应的链路质量度量值Metric,根节点以此掌握全网拓扑信息。
另外,各节点还会周期性的查询邻接链路的链路状态,在以下两个条件任意一个满足时向根节点上传链路状态信息。
(1)节点的邻居发生变化。例如,有新的节点与当前节点建立邻居关系或者某个邻居节点拆除了与当前节点的邻居关系。
(2)节点与某个邻居间的链路度量值Metric累计变化值大于一定阈值。
根节点收到链路状态信息后,更新全网拓扑信息。另外,各节点上传的链路状态信息通过确认机制ACK(Acknowledgement)来确保上传成功,如果一次传输未成功,则在下一次查询时再次上传。
(三)路径选择及分组转发流程
当要发送的分组要出网时,直接使用根路由将分组转发到根节点,由根节点将分组转发出网;当要发送的分组的目的地址为网内地址时,首先将分组转发到根节点,根节点将分组转发到目的节点,并且根节点为源目的节点计算最优路径,后续分组通过最优路径发送。
(1)网外通信流程
源节点查看是否有根路由,如果不存在,则需要请求到根节点的路由,在此过程中使用序列号机制保证任何时候节点间都无环路。每个节点都保持着自己的一个序列号,这个序列号通过路径请求帧PREQ被发送到其他节点,其他节点只处理序列号更大的路径请求帧PREQ。
请求到根节点路由的具体步骤如下:
步骤(1):源节点向所有邻居节点发送路由查询帧;
步骤(2):邻居节点收到该源节点的路由查询帧后,查看自身根路由是否有效,如果有效,回复有效确认帧,否则回复无效确认帧;
步骤(3):如果源节点接收到有效确认帧,则从回复有效确认帧的邻居节点中随机选取一个节点,并向其发送路径请求帧PREQ;
步骤(4):如果源节点没有收到有效确认帧,则向其所有邻居节点发送路径请求帧PREQ;
步骤(5):邻居节点收到该路径请求帧PREQ后,首先检查该路径请求帧PREQ是否包含一个更大的序列号;
如果没有包含一个更大的序列号,则该邻居节点丢弃该路径请求帧PREQ;
如果包含一个更大的序列号,则该邻居节点再检查其根路由是否有效;
如果该邻居节点的根路由有效,则该邻居节点上传该路径请求帧PREQ至根节点,否则,重复步骤步骤(1)至步骤(4);
步骤(6):根节点收到路径请求帧PREQ,根节点计算源节点到根节点的最优路径及节点不相交的备份路径,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点,中间节点建立到源节点及根节点的路由,源节点建立到根节点的最优路由和备份路由。
根节点收到序列号更大的路径请求帧PREQ后,计算源节点到根节点的最优路及节点不相交的备份路,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点,中间节点及源节点建立路由。
(2)网内通信流程
当要发送的分组的目的地址为网内地址时,首先将分组转发到根节点,源节点使用根路由信息发送数据时,将分组Mesh帧头中的路由请求标记PathReq字段置1,表示请求源节点到目的节点的路由。如果传输采用备份根路由,需要将Mesh帧头中的备份路径标记IsSparePath字段也置1,表示需要重新请求源节点到根节点的路由。然后将分组发送到根节点,根节点接收到分组后的处理流程如表1所示。
所述的网内通信包括如下子步骤:
步骤(1):源节点将分组转发到根节点,源节点使用根路由信息发送数据时,将分组Mesh帧头中路由请求标记PathReq字段置1,表示请求源节点到目的节点的路由,若传输采用备份根路由,需要将Mesh帧头中备份路径标记IsSparePath字段也置1,表示需要重新请求源节点到根节点的路由;
表1 根节点接收到分组后的处理流程
步骤(2):根节点接收到一个分组,将分组转发到目的节点,并查看Mesh帧头中的路由请求标记PathReq和备份路径标记IsSparePath,根据查看结果执行如下:
若路由请求标记PathReq为1,则跳转到步骤(3);
若备份路径标记IsSparePath为1,则跳转到步骤(6);
步骤(3):根节点计算源节点到目的节点的最优路,并将最优路径封装成路径消息帧PIFM发送到源节点,源节点接收到路径消息帧PIFM后解析得到最优路径,并将最优路径封装成路径通告帧PNTF,并沿最优路径发送到目的节点;
步骤(4):中间节点和目的节点分别建立到源节点的路由;
步骤(5):后续分组通过最优路径发送;
步骤(6):根节点计算源节点到根节点的最优路径及节点不相交的备份路径,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点;
步骤(7):中间节点建立到源节点及根节点的路由;
步骤(8):源节点更新到根节点的最优路由和备份路由。
(四)路由自愈流程
在本发明中,各节点到根节点的路由采用节点不相交的备份路进行备份,而到其他节点的路由采用根路由进行备份,路由自愈过程分为网内路由自愈和网外路由自愈两种情况:
(1)网外路由自愈过程的处理流程
如图3所示:网外路由自愈过程的具体处理步骤如下:
步骤(1):上游Mesh节点探测到下游Mesh节点失效后,向源节点发送路由错误帧的同时,查看本地是否有到根节点的路由;
向源节点发送路由错误帧后,中间节点及源节点接收到路由错误帧,中间节点及源节点删除相应的路由表,源节点查询本地到根节点的备用路由信息,查看本地是否有到根节点的路由;
步骤(2):如果本地存在根节点的路由,上游节点将数据帧和链路失效帧LinkPerr转发到根节点,源节点将数据利用备份路由传输至根节点;根节点接收到数据帧或链路失效帧LinkPerr后,将数据帧转发到目的节点,从全网拓扑中删除失效链路,并计算源节点到根节点最优路径以及与最优路径节点不相交的次优路径;
步骤(3):如果不存在根节点的路由,源节点广播到根节点的路径请求帧PREQ,上游节点广播链路失效帧LinkPerr;根节点接收到路径请求帧PREQ或者链路失效帧LinkPerr后;根节点从全网拓扑中删除失效链路,并计算源节点到根节点最优路径以及与最优路径节点不相交的次优路径;
步骤(4):将最优路径消息封装成路径通告帧PNTF,并按照最优路径发送给源节点,将备份路径消息封装成路径通告帧PNTF,按照备份路径发送给源节点;
步骤(5):中间节点及源节点建立路由,完成网外路由的自愈。
上游节点探测到链路失效后,向源节点返回错误报文的同时查询是否存在自身根路由,如果存在,上游节点通过自身根路由将缓存的数据报文和链路失效通告信息发送至根节点,根节点收到数据报文和链路失效信息后,将数据报文转发到目的节点,从全网拓扑中删除失效链路。如果不存在,上游节点会向邻居广播链路失效信息,并通过邻居路由传输到根节点进行处理。
源节点收到错误报文后,删除本地路由,查询备份根路由,如果存在,后续数据直接通过备份根路由传输,当根节点收到备份根路由的传输数据后,会计算当前最优路由和最优备份,并下发至源节点更新当前源节点路由信息。如果源节点没有备份根路由,会向邻居广播路径请求帧PREQ,并通过邻居路由传输到根节点进行处理,处理流程与路径选择及分组转发流程中的请求到根节点的路由方式相同,源节点建立到根节点的新路由后,后续数据通过新路由继续发送。
(2)网内路由自愈过程的处理流程
如图4所示,网内路由自愈过程的具体处理步骤如下:
步骤(1):上游Mesh节点探测到下游Mesh节点失效后,向源节点发送路由错误帧的同时,查看本地是否有到根节点的路由;
向源节点发送路由错误帧后,中间节点及源节点接收到路由错误帧,中间节点及源节点删除相应的路由表,源节点查询根路由信息,查看本地是否有到根节点的路由;
步骤(2):如果存在根节点的路由,上游节点将数据帧和链路失效帧LinkPerr转发到根节点,源节点将数据帧转发到根节点;
步骤(3):如果不存在根节点的路由,源节点发起到根节点的寻路过程,寻路完成后,源节点将数据帧转发到根节点,上游节点将数据帧和链路失效帧LinkPerr通过邻居节点的路由转发到根节点;
步骤(4):根节点接收到数据帧并将数据帧转发到目的节点,并删除本地链路失效帧LinkPerr标记的失效链路;
步骤(5):根节点计算源节点到目的节点的最优路径并将路径消息发送给源节点;
步骤(6):源节点接收到路径消息建立到目的节点的路由并将路径通告帧PNTF转发到目的节点;
步骤(7):中间节点及目的节点建立路由,完成网内路由的自愈。
网内通信和网外通信的自愈过程主要区别在于,链路失效后,上游节点和源节点会利用本地的到根节点的路由作为临时备份,在利用临时路由传输数据的同时,根节点会依据新拓扑立刻计算源目的节点间的当前最优路由,并将计算得到的最优路由信息返回源节点,源节点沿着计算最优路径发送路径通告帧PNTF给目的点,至此建立最优路完成,传输中的数据切换至最优路由传输。
下面结合一个实施例来进一步具体说明本发明一种无线Mesh网络中的集中式路由算法。
(一)初始根路由建立过程
如图5所示,图5为初始根路由的建立过程示意图。首先,R(Root根节点)开始广播根节点通告帧RANN,每经过一跳会将经过的节点地址NodeList和累加的链路质量度量值Metric记录到根节点通告帧RANN中,如图5(a)中初始时刻根节点通告帧RANN中的路径Path仅包含R,链路质量度量值Metric等于0,A节点接收到路径请求帧后,查看自身的地址不在路径Path中,将自身地址加入到Path中,累加链路质量度量值Metric为120,其余节点收到路径请求帧后做同样的操作。
在根节点通告帧RANN广播到达每个节点时,需要将根节点通告帧RANN携带的路径Path信息记录到本地,在根节点通告帧RANN通告广播一段时间后,各节点会记录多条路径信息,例如图5(b)中,节点F中有4条,其中包含每条路径信息的度量大小。在上传链路状态消息前,F首先需要在本地记录的表项中寻找最优路径和节点不相关的备份路径,经过比对链路质量度量值Metric后,F确定了R-A-D-F为最优路径,R-B-G-F为节点不相交的备份路径,寻到最优路径和备份路径后,建立本地路由表项如图5(b),并按照各自的路由发送路径通告帧PNTF。路径通告帧PNTF的路径通告过程即为建立路由表项的过程,例如节点D接收到路径通告帧PNTF后,建立起到目的节点和源节点的双向路由表,如图5(b)。通过上述过程,网内各节点建立起了到根节点的双向最优路由和备份路由。
(二)链路状态消息上传
如图6所示,图6为链路状态消息示意图。以节点G为例介绍链路状态消息上传阶段,当初始根路由建立后,首先向根节点上传链路状态信息。另外当节点检测到邻居变化或者到某个邻居的链路质量度量值Metric累计变化超过一定阈值时也会上传链路状态信息。
如图7所示,图7为根节点全网拓扑存储表。根节点接收到各节点上传的链路状态信息后,汇总得到全网的拓扑信息。当根节点接收到路径请求时,则根据当前的拓扑计算最优路。
(三)路径选择及分组转发流程
如图8所示,图8为路径选择及分组转发流程示意图。以F节点为例介绍路径选择及分组转发流程:
如图8(a)所示,当F节点向网外发送时,查看根路由,使用最优根路由将数据帧发送到下一跳节点D,D根据源节点F和目的节点R查找路由表的下一跳为A节点,将数据帧转发至A,直到数据转发到根节点,根节点将数据帧转发出网。
如图8(b)所示,当F节点向网内节点H发送数据时,若F节点有到H节点的路由,则按照记录的路由将数据帧转发到目的节点H。
若没有到目的节点的路由,则按照根路由将数据帧转发至根节点,流程与出网数据帧的转发相同,根节点根据自身路由将数据帧转发至目的节点H,并且根节点计算当前F到H的最优路为F-G-H,根节点将路径信息转发至源节点F,源节点F根据最优路径封装路径通告帧PNTF。路径通告帧PNTF的路径通告过程即为建立路由表项的过程,例如节点G接收到PNTF路径通告报文后,在G点建立起相应的双向路由表。路由建立成功以后按照最优路由发送数据。
(四)路由自愈流程
如图9所示,图9为根路由自愈机制示意图。以节点I为例,到根节点的主路由为I-F-D-A-R,备份路由为I-G-B-R。
某一时刻,F探测到F-D链路发生失效后,会立刻通过自身的根路由F-G-B-R发送链路失效报文给根节点,并向源节点I返回错误报文,根节点收到链路失效报文后,从全网拓扑中删除失效链路,随后F将缓存在本地的分组通过F-G-B-R发送至R,I在收到错误报文后,会删除本地路由表中的最优路由,将需要发送的分组切换至备份路I-G-B-R继续传输,并在Mesh帧头中标记为使用备份路发送。
当分组到达根节点时,根节点查询到数据是由备份路由传输到达,会计算根节点R到I的当前全局最优路由和备份路由,并将计算结果通过路径通告帧PNTF发送到I,I在收到路径通告帧PNTF后,会更新本地的最优路由和备份路由,后续分组通过当前的最优路由传输。
如图10所示,对于到网内其他节点路由的自愈流程,以源节点为F,目的节点为H为例,最优路由为F-G-H。
G探测到链路G-H失效后,会立即返回错误报文给源节点F,并利用本地的根路由将链路失效报文和数据帧发送至根节点,根节点收到链路失效报文后,从全网拓扑中删除失效链路,并将接收到数据帧后转发到目的节点H。
源节点收到错误报文后,删除失效路由表项,将后续数据利用根路由发送,并在Mesh帧头中设置路由请求标记,根节点接收到数据帧后重新计算F和H间的当前最优路由,并将其通过路径消息帧PIFM发送至源节点F。
F收到解析路径消息帧PIFM后得到最优路径,并将最优路径封装成路径通告帧PNTF,向目的节点H发送路由通告消息,中间节点和目的节点建立路由,后续数据将通过新建立最优路由传输。
Claims (9)
1.一种无线Mesh网络中的集中式路由算法,其特征在于:它包括以下步骤:
S1,初始根路由建立:在组网初期,根节点发起根节点通告帧RANN广播,当达到广播次数上限时停止广播,在根节点通告帧RANN中记录了该帧经过的节点地址和累加的链路质量度量,各Mesh节点接收到该帧后记录到达根节点的路径;广播结束后各Mesh节点从记录的到根节点的路径中选择两条节点不相交的最优路径,以此建立到根节点的路由;
S2,链路状态信息上传:各Mesh节点建立根路由后,主动上传链路状态信息至根节点;当各Mesh节点检测到邻居发生变化或者链路状态发生变化超过一定阈值时上传当前链路状态消息;
S3,路径选择及分组转发:根节点根据各Mesh节点上传的链路状态信息掌握全网最新加权拓扑,为将要通信的源节点和目的节点之间计算全局最优路径及备份路径,分组通过最优路径进行转发,包括网外通信方式和网内通信方式,即当待发送分组需进行网外通信时,直接使用根路由将分组转发到根节点,由根节点将分组转发出网;当待发送分组的目的地址为网内地址时,首先将分组转发到根节点,根节点将分组转发到目的节点,并且根节点为源节点和目的节点计算最优路径,后续分组通过最优路径发送。
2.根据权利要求1所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的链路状态信息包括邻居地址列表及其对应的链路质量度量值。
3.根据权利要求1所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的链路状态信息上传步骤中,各Mesh节点还会周期性的查询邻接链路的链路状态,当Mesh节点的邻居发生变化或者Mesh节点某个邻居间的链路度量累计变化值大于一定阈值时,则该Mesh节点向根节点上传链路状态信息。
4.根据权利要求1所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的最优路径和备份路径为链路质量度量最小的两条路径,其中最优路径链路质量度量小于或等于备份路径的链路质量度量,并将最优路径和备份路径分别封装成路径通告帧PNTF。
5.根据权利要求1所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的网外通信方式为:源节点查看是否有根路由,如果不存在,则请求到根节点的路由,在请求到根节点路由的过程中使用序列号机制保证任何时候节点间都无环路,每个Mesh节点都保持着独自的一个序列号,该序列号通过路径请求帧PREQ被发送到其他节点,其他节点只处理序列号更大的路径请求帧PREQ;
所述的请求到根节点路由的步骤包括以下子步骤:
SS11:源节点向所有邻居节点发送路由查询帧;
SS12:邻居节点收到该源节点的路由查询帧后,查看自身根路由是否有效,如果有效,回复有效确认帧,否则回复无效确认帧;
SS13:如果源节点接收到有效确认帧,则从回复有效确认帧的邻居节点中随机选取一个节点,并向其发送路径请求帧PREQ;
SS14:如果源节点没有收到有效确认帧,则向其所有邻居节点发送路径请求帧PREQ;
SS15:邻居节点收到该路径请求帧PREQ后,首先检查该路径请求帧PREQ是否包含一个更大的序列号;
如果没有包含一个更大的序列号,则该邻居节点丢弃该路径请求帧PREQ;
如果包含一个更大的序列号,则该邻居节点再检查其根路由是否有效;
如果该邻居节点的根路由有效,则该邻居节点上传该路径请求帧PREQ至根节点,否则,重复步骤SS11-SS14;
SS16:根节点收到路径请求帧PREQ,根节点计算源节点到根节点的最优路径及节点不相交的备份路径,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点,中间节点建立到源节点及根节点的路由,源节点建立到根节点的最优路由和备份路由。
6.根据权利要求1所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的网内通信方式包括以下子步骤:
SS21:源节点将分组转发到根节点,源节点使用根路由信息发送数据时,将分组Mesh帧头中的路径请求标记进行设置,请求源节点到目的节点的路由,若传输采用备份根路由,则将Mesh帧头中的备份路径标记进行设置,重新请求源节点到根节点的路由;
SS22:根节点接收到一个分组,将分组转发到目的节点,并查看Mesh帧头中的路由请求标记和备份路径标记;
若Mesh帧头中的路由请求标记表示为需要请求路径,则跳转SS23;
若Mesh帧头中的备份路径标记表示为使用备份路径,则跳转SS26;
SS23:根节点计算源节点到目的节点的最优路径,并将最优路径封装成路径消息帧PIFM发送到源节点,源节点接收到路径消息帧PIFM后解析得到最优路径,并将最优路径封装成路径通告帧PNTF,并沿最优路径发送到目的节点;
SS24:中间节点建立到源目节点的路由,目的节点建立到源节点的路由;
SS25:后续分组通过最优路径发送;
SS26:根节点计算源节点到根节点的最优路径及节点不相交的备份路径,分别将最优路径和备份路径封装成路径通告帧PNTF,并沿各自路径发送到源节点;
SS27:中间节点建立到源节点及根节点的路由;
SS28:源节点更新到根节点的最优路由和备份路由。
7.根据权利要求1所述的一种无线Mesh网络中的集中式路由算法,其特征在于:它还包括路由自愈步骤:采用节点不相交多路径备份策略,实现失效路由的快速自愈,所述的路由自愈步骤包括网外路由自愈方式和网内路由自愈方式。
8.根据权利要求7所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的网外路由自愈方式包括以下子步骤:
SS31:上游Mesh节点探测到下游Mesh节点失效后,向源节点发送路由错误帧的同时,查看本地是否有到根节点的路由;
向源节点发送路由错误帧后,中间节点及源节点接收到路由错误帧,中间节点及源节点删除相应的路由表,源节点查询本地到根节点的备用路由信息,查看本地是否有到根节点的路由;
SS32:如果本地存在根节点的路由,上游节点将数据帧和链路失效帧转发到根节点,源节点将数据利用备份路由传输至根节点;根节点接收到数据帧或链路失效帧后,将数据帧转发到目的节点,从全网拓扑中删除失效链路,并计算源节点到根节点最优路径以及与最优路径节点不相交的次优路径;
SS33:如果不存在根节点的路由,源节点广播到根节点的路径请求帧PREQ,上游节点广播链路失效帧;根节点接收到路径请求帧PREQ或者链路失效帧后;根节点从全网拓扑中删除失效链路,并计算源节点到根节点最优路径以及与最优路径节点不相交的次优路径;
SS34:将最优路径消息封装成路径通告帧PNTF,并按照最优路径发送给源节点,将备份路径消息封装成路径通告帧PNTF,按照备份路径发送给源节点;
SS35:中间节点及源节点建立路由,完成网外路由的自愈。
9.根据权利要求7所述的一种无线Mesh网络中的集中式路由算法,其特征在于:所述的网内路由自愈方式包括以下子步骤:
SS41:上游Mesh节点探测到下游Mesh节点失效后,向源节点发送路由错误帧的同时,查看本地是否有到根节点的路由;
向源节点发送路由错误帧后,中间节点及源节点接收到路由错误帧,中间节点及源节点删除相应的路由表,源节点查询根路由信息,查看本地是否有到根节点的路由;
SS42:如果存在根节点的路由,上游节点将数据帧和链路失效帧转发到根节点,源节点将数据帧转发到根节点;
SS43:如果不存在根节点的路由,源节点发起到根节点的寻路过程,寻路完成后,源节点将数据帧转发到根节点,上游节点将数据帧和链路失效帧通过邻居节点的路由转发到根节点;
SS44:根节点接收到数据帧并将数据帧转发到目的节点,并删除本地链路失效帧标记的失效链路;
SS45:根节点计算源节点到目的节点的最优路径并将路径消息发送给源节点;
SS46:源节点接收到路径消息建立到目的节点的路由并将路径通告帧PNTF转发到目的节点;
SS47:中间节点及目的节点建立路由,完成网内路由的自愈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410609933.0A CN104320334B (zh) | 2014-11-03 | 2014-11-03 | 一种无线Mesh网络中的集中式路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410609933.0A CN104320334B (zh) | 2014-11-03 | 2014-11-03 | 一种无线Mesh网络中的集中式路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104320334A CN104320334A (zh) | 2015-01-28 |
CN104320334B true CN104320334B (zh) | 2017-06-13 |
Family
ID=52375508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410609933.0A Expired - Fee Related CN104320334B (zh) | 2014-11-03 | 2014-11-03 | 一种无线Mesh网络中的集中式路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104320334B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161237B (zh) * | 2015-04-17 | 2020-08-18 | 富士通株式会社 | 集中式的路由方法、装置和系统 |
CN104980952B (zh) * | 2015-05-15 | 2018-05-29 | 东北大学 | 一种基于互信息量的监测路由器选择方法 |
CN104936249B (zh) * | 2015-06-05 | 2018-10-16 | 电子科技大学 | 一种适用于无线网络的路由自愈方法 |
CN105163389B (zh) * | 2015-07-08 | 2018-11-27 | 电子科技大学 | 一种多射频多信道无线mesh网络部分相交信道分配方法 |
CN106919622B (zh) * | 2015-12-28 | 2021-10-15 | 伊姆西Ip控股有限责任公司 | 用于分布式数据处理的方法和设备 |
CN105763443A (zh) * | 2016-04-28 | 2016-07-13 | 西安电子科技大学 | 混合无线网状协议hwmp双路由协作方法 |
CN106060082A (zh) * | 2016-07-16 | 2016-10-26 | 柳州健科技有限公司 | 基于局域网的具有数据监控功能的网络服务平台 |
CN106162802A (zh) * | 2016-07-29 | 2016-11-23 | 国网山西省电力公司检修分公司 | 一种无线传感网络拓扑发现的方法及装置 |
CN108075981B (zh) * | 2016-11-16 | 2021-04-09 | 华为技术有限公司 | 一种链路状态数据包的传输方法及路由节点 |
CN108183856B (zh) * | 2016-12-08 | 2021-10-15 | 中兴通讯股份有限公司 | 一种路由建立方法和装置 |
WO2018138577A1 (en) * | 2017-01-25 | 2018-08-02 | Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret A.S. | Island topologies and routing in hybrid mesh networks |
CN106685836B (zh) * | 2017-03-23 | 2020-01-14 | 江苏中科羿链通信技术有限公司 | Hwmp按需路由广播包抑制方法 |
CN109391641A (zh) * | 2017-08-03 | 2019-02-26 | 杭州海康威视数字技术股份有限公司 | 温度信息上传方法、装置、系统、电子设备及存储介质 |
CN112534782B (zh) * | 2018-08-17 | 2022-08-05 | 瑞典爱立信有限公司 | 针对蓝牙网的独立冗余路径发现 |
US11546825B2 (en) | 2019-10-09 | 2023-01-03 | Qualcomm Incorporated | Techniques for multiple transmission/reception point (multi-TRP) operation via repeaters |
CN111835633B (zh) * | 2020-07-09 | 2022-03-25 | 烽火通信科技股份有限公司 | 一种easymesh组网中的选路防回环方法与装置 |
CN111988811B (zh) * | 2020-08-27 | 2023-06-16 | 深圳市吉祥腾达科技有限公司 | 一种网状多频段多路径备份mesh组网系统与方法 |
CN112423253A (zh) * | 2020-10-13 | 2021-02-26 | 北京云联慧通科技有限公司 | 应用于无线电子体温计的窄带自组网通信协议 |
CN112787939B (zh) * | 2020-12-30 | 2022-11-08 | 迈普通信技术股份有限公司 | 路径转发表更新方法及装置 |
CN113301364A (zh) * | 2021-01-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 路径规划方法、cdn连接建立方法、设备及存储介质 |
CN114501345A (zh) * | 2022-04-15 | 2022-05-13 | 希诺麦田技术(深圳)有限公司 | 组呼全双工实现方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127714A (zh) * | 2007-09-06 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种无线网状网络中路由管理方法及设备 |
CN101138207A (zh) * | 2005-03-10 | 2008-03-05 | 汤姆森许可贸易公司 | 混合网格路由选择协议 |
CN102413542A (zh) * | 2011-11-25 | 2012-04-11 | 广州杰赛科技股份有限公司 | 一种无线网状网路由方法和无线网状网 |
US8270302B2 (en) * | 2006-10-20 | 2012-09-18 | Stmicroelectronics, Inc. | System and method for providing an adaptive value of TTL (time to live) for broadcast/multicast messages in a mesh network using a hybrid wireless mesh protocol |
-
2014
- 2014-11-03 CN CN201410609933.0A patent/CN104320334B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101138207A (zh) * | 2005-03-10 | 2008-03-05 | 汤姆森许可贸易公司 | 混合网格路由选择协议 |
US8270302B2 (en) * | 2006-10-20 | 2012-09-18 | Stmicroelectronics, Inc. | System and method for providing an adaptive value of TTL (time to live) for broadcast/multicast messages in a mesh network using a hybrid wireless mesh protocol |
CN101127714A (zh) * | 2007-09-06 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种无线网状网络中路由管理方法及设备 |
CN102413542A (zh) * | 2011-11-25 | 2012-04-11 | 广州杰赛科技股份有限公司 | 一种无线网状网路由方法和无线网状网 |
Non-Patent Citations (2)
Title |
---|
《一种适合低连接度拓扑的集中式保护路由机制》;谭晶, 罗军舟, 李伟;《软件学报》;20130331;第24卷(第03期);全文 * |
《移动Ad Hoc网络中路由自愈的实现》;秦丹阳,马琳,沙学军,徐玉滨;《哈尔滨工业大学学报》;20100131;第42卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104320334A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104320334B (zh) | 一种无线Mesh网络中的集中式路由算法 | |
US7961626B2 (en) | Resilient network | |
CN104080112B (zh) | 一种提高无线自组织网络业务可靠性的方法 | |
US20090296704A1 (en) | Method for multi-path source routing in sensor network | |
Iwao et al. | Dynamic data forwarding in wireless mesh networks | |
CN103260211B (zh) | 一种改进的aomdv路由方法 | |
CN103001879B (zh) | 减少链路状态通告洪泛次数的方法及设备 | |
WO2014180332A1 (zh) | 通用路由方法及系统 | |
JP6036841B2 (ja) | 通信制御方法、ネットワークシステム、および通信装置 | |
CN104010343A (zh) | 智能抄表系统无线网络优化方法 | |
KR20140072900A (ko) | 완전한 보호를 제공하는 ip 고속 리라우트 방식 | |
CN107071850A (zh) | 一种可适应不同运动场景的改进的aodv路由协议 | |
JP5440591B2 (ja) | フィールド無線システム | |
Bao et al. | Link-state routing in networks with unidirectional links | |
CN110995333A (zh) | 一种分簇QoS路由设计方法 | |
CN101938804B (zh) | 适用于无线传感网路的多路径路由方法 | |
CN107995114A (zh) | 基于密度聚类的容迟网络路由方法 | |
CN102573000B (zh) | 基于直接/间接矩阵的无线自组织网络保护路由生成方法 | |
CN110121185B (zh) | 一种配电通信网络路由优化方法 | |
Liu et al. | A swarm intelligence routing algorithm for MANETs. | |
Bitam et al. | QoSBeeManet: A new QoS multipath routing protocol for mobile ad-hoc networks | |
CN103415033A (zh) | 基于路径收集的Ad Hoc网络按需路由协议的建立和维护方法 | |
Maekawa et al. | An ant-based routing protocol using unidirectional links for heterogeneous mobile ad-hoc networks | |
CN105517050B (zh) | 基于拥塞控制的无线路由方法 | |
Roy et al. | Performance optimization of Ad Hoc on demand vector routing protocol in cognitive radio network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170613 Termination date: 20181103 |
|
CF01 | Termination of patent right due to non-payment of annual fee |