CN101047638A - Mesh网路由方法和装置 - Google Patents
Mesh网路由方法和装置 Download PDFInfo
- Publication number
- CN101047638A CN101047638A CNA200610086689XA CN200610086689A CN101047638A CN 101047638 A CN101047638 A CN 101047638A CN A200610086689X A CNA200610086689X A CN A200610086689XA CN 200610086689 A CN200610086689 A CN 200610086689A CN 101047638 A CN101047638 A CN 101047638A
- Authority
- CN
- China
- Prior art keywords
- bunch
- route
- node
- routing
- bandwidth
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种网状网路由方法,用于为基于分簇的网状网中的源节点与目的节点之间提供用于传送业务流的最优路由,该方法包括以下步骤:步骤a,响应于源节点发出的全局路由请求,在其与目的节点之间找到满足传送业务流带宽要求的至少一条路由;步骤b,在至少一条路由中选择具有最优延迟和稳定性的路由作为最优路由;以及步骤c,为最优路由预留资源,用于传送业务流。本发明还提供了一种网状网路由装置。
Description
技术领域
本发明涉及通信领域,更具体而言,涉及一种Mesh网路由方法和装置。
背景技术
无线网状网,又称为无线Mesh网,它是在无线局域网(WLAN:Wireless Local Area Networks)的基础上发展起来的一种宽带无线接入技术,但不同于WLAN,整个Mesh网包括接入平面和传输平面两部分。其中接入平面由单个的Mesh路由器和多个移动终端构成,移动终端通过与自己相连的Mesh路由器接入Mesh网。传输平面是由多个Mesh路由器互连而成的多跳无线网络,Mesh路由器可以同时集成AP(Access Point,无线接入点)的功能,为移动终端提供宽带无线接入。无线Mesh网具有自组织的特点,因此具有更大的灵活性和健壮性,扩容方便,只需增加相应的Mesh路由器节点,便可为更多用户提供无线接入,而且无线Mesh网可以提供更大的带宽。
无线Mesh网在环境检测和保护、智能交通、智能小区、信息家电、企事业网络等领域,具有广阔的应用前景和巨大的市场空间。为了有效支持语音和图像业务的传送,无线Mesh网必须提供带宽、延时等QoS保证。
QoS路由技术是Mesh网中提供服务质量(Quality of Service,缩写为QoS)保证的关键技术之一。为了保证业务流的服务质量,路由协议需要能够结合业务流的QoS要求进行选路,并且由于Mesh网中无线路由器之间的无线链路具有带宽有限、拓扑动态变化等特点,所以路由协议需要在业务流生命期内有效地维持路由。
目前,专门针对无线Mesh网设计的路由协议很少,由于无线Mesh网的传输平面同无线自组织(Ad hoc)网络的结构和特点类似,因此,在设计无线Mesh网的路由协议时,可以将已有的Ad hoc网络的路由协议作为参考。
在Ad hoc网络的已有研究中,根据网络结构的特点,提出的路由协议分为两种:平面路由协议和分簇路由协议。
Ad hoc网络的平面路由协议包括:DSR(Dynamic SourceRouting protocol,动态源路由协议),DSDV(Destination-SequencedDistance-Vector Routing,基于目的序列距离矩阵),AODV(Ad HocOn Demand Distance Vector Routing,按需目的矢量路由)等。DSR是一种源驱动路由协议,当节点有数据发送时,通过泛洪方式在全网发送路由请求,目的节点收到路由请求消息之后发送路由回复,源节点在分组中附加路由回复中的路由发送数据分组。DSDV是一种表驱动路由协议,每个移动节点维持-张路由表,表中的序列号能帮助节点区分有效和过期的路由信息,标有更大序列号的路由信息总是被接收,路由表更新分组在全网内周期性的广播而使路由表保持连贯性。AODV是基于距离向量的路由协议,每个路由都有目的序列号,该号由目的主机产生,用于防止循环,每当目的主机和相邻主机之间的拓扑发生变化,它就会将目的序列号加1,并将该号附加在路由应答中。
然而,由于这些路由协议是基于平面网络结构的,因此可扩展性较差,并且这些路由协议没有考虑业务流对带宽和时延的要求,所以不能为业务流提供服务质量保证。
基于对上述的路由协议进行改进,提出了具有QoS保证的路由协议,典型的有:MSR(Multipath Source Routing,多路径源路由),DMSR(Disjoint Multipath Source Routing,联合带宽要求的多路径源路由)。MSR是一种以DSR为基础的多路径路由协议,建立了多条从源节点到目的节点的路径,源节点采用一种轮询的方法,给每条路径分配一定的负载数据分组,根据路径状况(权重参数),来决定每条路径上的负载的多少。DMSR以DSR为基础的,选择满足带宽要求的路由,并进行资源预留,从而可以保证找到的路径有足够的资源。
然而,这两种路由协议仍然都是基于平面网络的,因此,可扩展性较差。
针对上述的基于平面网络的平面路由协议存在的可扩张性差的问题,人们提出了基于分簇网络的分簇路由协议。
典型的Ad hoc网络中的分簇路由协议是基于分簇的路由协议(CBRP:Cluster Based Routing Protocol)。这种路由协议将网络分成互相重叠或不相交的簇,簇由簇首和簇成员组成,每个簇中有且只有一个簇首,和簇首相邻的主机均是该簇的簇成员,簇首负责管理本簇的成员和查找路由。当源节点有信息需要发送时,先将分组传送给本区域的簇首,再由簇首转发给网关,然后由网关转发给下一个簇首,直至目的节点的簇首,最后由此簇首发送给目的节点。
然而,这种路由协议存在一个问题:所有的路由都要经过簇首节点,这样簇首节点容易成为通信的瓶颈。
另外,这种路由协议要求簇成员节点必须是簇首节点一跳可达的,即,只是针对k=1的Mesh网,这在一定程度上限定了分簇的范围,缺乏灵活性。
另外,这种路由协议路由发现的算法存在一个问题:其遵循传统按需路由机制,所以存在泛洪带来的开销,因此,具有较大的网络开销,浪费了无线网络的带宽资源。
再又,这种路由协议的路由维护也存在一个问题:其本地路由修复过程将导致全局变更,因此不能快速修复路由。
最后,这种路由协议的QoS保证也存在一个问题:这种路由协议在路由的过程中不考虑带宽和延迟的要求,因此,并不能保证寻找到的路由能够满足业务流的QoS要求。
从以上所述中可以知道,相关技术中用于Mesh网的路由方法,DSR,DSDV,AODV是基于平面网络结构的,因此可扩展性较差,并且没有考虑业务流对带宽和时延的要求,不能为业务流提供服务质量保证。MSR,DMSR提供了一定的服务质量保证,然而这两种路由协议仍然是基于平面网络的,因此,可扩展性较差。CBRP路由协议基于分簇的网络结构,具有良好的可扩展性,但是这种路由协议存在以下的问题,簇首节点容易成为通信的瓶颈,要求簇成员节点必须是簇首节点一跳可达的,路由发现的算法以及路由维护效率低,且不能提供QoS保证。
对于大规模的无线网络,簇的大小影响着路由协议的存储和通信开销,因此,需要将网络节点分为适当大小的簇,多跳分簇的网络结构具有更好的可扩展性和灵活性。k跳分簇的网络结构是将网络中的节点根据空间位置分为多个簇,每个簇由一个簇首节点,多个簇成员节点以及网关节点构成。每个簇以簇首为中心,以k跳为半径,在半径范围内的节点作为该簇的成员节点,连接两个相邻簇的边界节点作为簇的网关节点。在图1中给出了一个k=2的分簇网络示例。其中深灰色节点表示簇首,白色节点表示簇成员。在图1中用虚线显示了从簇首到各个成员节点的连接,以及两个相邻簇的网关节点的连接。
显然,对于图1所示的分簇网络,相关技术的CBRP路由协议无法提供保证服务质量的路由解决方案,因此,人们需要一种Mesh网路由解决方案,能够解决上述相关技术中的问题。
发明内容
本发明旨在提供一种Mesh网路由方法和装置,用于为基于分簇的Mesh网中的源节点与目的节点之间提供用于传送业务流的最优路由,解决了上述相关技术的分簇路由协议中的簇首节点容易形成通信瓶颈等,寻找路径的算法以及路由维护效率低,以及不能提供QoS保证的问题。
根据本发明的一个方面,提供了一种网状网路由方法,用于为基于分簇的网状网中的源节点与目的节点之间提供用于传送业务流的最优路由,该方法包括以下步骤:步骤a,响应于源节点发出的全局路由请求,在其与目的节点之间找到满足传送业务流带宽要求的至少一条路由;步骤b,在至少一条路由中选择具有最优延迟和稳定性的路由作为最优路由;以及步骤c,为最优路由预留资源,用于传送业务流。
在上述的网状网路由方法中,步骤a包括:簇间路由过程,用于在网状网所包括的多个簇之间进行路由选择;以及簇内路由过程,用于在多个簇的一个簇内进行路由选择。
在上述的网状网路由方法中,簇间路由过程包括以下步骤:步骤a8,判断收到全局路由请求消息的节点是否为邻居簇的成员节点;步骤a9,若是,则将它作为邻居簇的入口节点,执行簇内路由过程;步骤a10,若不是,则判断簇间可用带宽是否小于全局路由请求消息中设置的簇间瓶颈带宽,若是,则用簇间可用带宽取代全局路由请求消息中的簇间瓶颈带宽,否则保持原值不变,然后转发全局路由请求消息给入口节点;以及步骤a11,入口节点接收全局路由请求消息,执行簇内路由过程。
在上述的网状网路由方法中,步骤a包括簇内路由过程,其包括以下步骤:步骤a1,入口节点接收到全局路由请求消息,判断全局路由请求消息是否已经过其所在簇转发,如果是,则丢弃;否则发送簇内路由请求消息给其所在簇的簇首节点;步骤a2,簇首节点接收到簇内路由请求消息后,判断自己是否为目的簇首;步骤a3,若判断为是,则计算从入口节点到目的节点的满足带宽要求的路由,将计算出的路由回复给入口节点,入口节点按照该路由将全局路由请求消息转发给目的节点,然后结束本过程;步骤a4,若判断为否,则簇首节点判断是否曾经接收过包含相同标识的簇内路由请求消息;步骤a5,若判断是,则判断簇内路由请求消息给出的路由是否优于已处理过的具有相同标识的簇内路由请求消息所给出的路由,并由此标记簇内路由回复消息的丢弃标识,然后返回簇内路由回复消息给入口节点;步骤a6,若判断为否,则簇首节点更新缓存,以未出现在簇ID列表中的,与本簇的簇间链路带宽满足业务流请求带宽的邻居簇的网关节点作为出口节点,计算从入口节点到出口节点的满足带宽的最短路径,将最短路径写入簇内路由回复消息,如果不存在任何满足带宽要求的路径,则簇首节点由此来标记簇内路由回复消息的丢弃标识,然后返回簇内路由回复消息给入口节点;以及步骤a7,入口节点收到簇内路由回复消息后,根据丢弃标识确定是否丢弃全局路由请求消息,如果确定不丢弃,则将到每个出口节点的路径写入全局路由请求消息,并将本簇的ID记录到簇ID列表中,如何转发全局路由请求给由每个出口节点的路径所确定的出口节点。
在上述的网状网路由方法中,标识包括源节点地址、目的节点地址、和全局路由请求消息的标识号。
在上述的网状网路由方法中,步骤b是根据簇间链路带宽瓶颈值与路由跳数来选择最优路由。
在上述的网状网路由方法中,步骤b包括以下步骤:步骤b1,为每条路由计算路由权值,它与簇间带宽瓶颈值和路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×α+最大路由地址数目/路由地址数目×β ①
α+β=1 ②
其中:最大路由地址数目是目的节点收到的全局路由请求消息中选取的最大的路由地址数目,或者是根据业务流的时延要求计算得到的最大跳数;α和β分别表示与业务类型有关的权值;以及步骤b2,以路由权值为标准,来选择具有最大权值的路由为最优路由。
在上述的网状网路由方法中,步骤c包括以下步骤:目的节点沿着路由地址的反向发送全局路由回复消息,收到全局路由回复消息的节点和簇首进行资源预留。
在上述的网状网路由方法中,还包括以下步骤:步骤d,对最优路由进行维护,当其发生中断时,进行自动恢复。
在上述的网状网路由方法中,步骤d包括以下步骤:步骤d1,监测有业务流活动的活动流路由;步骤d2,如果发现了路由损坏,簇首节点为损坏的路径选择代替路径;以及步骤d3,如果步骤d2执行不成功,则发出路由错误报告,告知源节点发生了路由错误。
在上述的网状网路由方法中,步骤d1包括以下步骤:活动流路由上的节点持续监测是否能为业务流提供足够带宽,如果不够,则执行以下步骤:更新邻居表,将邻居表发送给簇首节点;从节点路由表中选出使用带宽最大的表项;将表项的源节点地址和目的节点地址写入路由错误消息,并标记路由错误消息的报错标识;发送路由错误消息给簇首节点;以及设置修复定时器。
在上述的网状网路由方法中,步骤d2包括以下步骤:簇首节点根据源节点地址和目的节点地址从簇内路由表中找出相应的入口节点和出口节点地址;如果发送路由错误消息的节点不是出口节点,则查找簇内拓扑信息表,重新计算从入口节点到出口节点的满足带宽要求的路径,用得到的新路径写入路由更新消息中,并将路由更新消息发送给入口节点;如果是发送路由错误消息的节点是出口节点,则簇首节点查找邻居表,判断是否存在到达相同的下一个簇入口节点,并且簇间链路满足业务流带宽要求的其他网关节点,若存在,则寻找从入口网关到其他网关节点的满足带宽要求的路由,若找到满足的路由,则用得到的路径写入路由更新消息中,并将路由更新消息发送给入口节点;入口节点根据路由更新消息中的路由,转发路由更新消息直到出口节点;以及簇首节点复位路由错误消息的报错标识,发送给检测到路由错误的节点;节点收到后,重置修复定时器。
在上述的网状网路由方法中,步骤d3包括以下步骤:如果步骤d2不成功,则簇首节点相应地标记路由错误消息的报错标识,发送给检测到路由错误的节点;以及检测到路由错误的节点收到路由错误消息后,或修复定时器超时,发送路由错误消息给源节点。
根据本发明的另一方面,提供了一种网状网路由装置,用于为基于分簇的网状网中的源节点与目的节点之间提供用于传送业务流的最优路由,该装置包括:全局路由请求模块,用于响应于源节点发出全局路由请求,在其与目的节点之间找到满足传送业务流带宽要求的至少一条路由;寻路模块,用于在至少一条路由中选择具有最优延迟和稳定性的路由作为最优路由;以及资源预留模块,用于为最优路由预留资源,用于传送业务流。
在上述的网状网路由装置中,全局路由请求模块包括:簇间路由模块,用于在网状网所包括的多个簇之间进行路由选择;以及簇内路由模块,用于在多个簇的一个簇内进行路由选择。
在上述的网状网路由装置中,寻路模块包括:权值计算模块,用于为每条路由计算路由权值,它与簇间带宽瓶颈值和路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×α+最大路由地址数目/路由地址数目×β ①
α+β=1 ②
其中:最大路由地址数目是目的节点收到的全局路由请求消息中选取的最大的路由地址数目,或者是根据业务流的时延要求计算得到的最大跳数;α和β分别表示与业务类型有关的权值;以及选路模块,用于以路由权值为标准,来选择具有最大权值的路由为最优路由。
在上述的网状网路由装置中,资源预留模块用于使目的节点沿着路由地址的反向发送全局路由回复消息,收到全局路由回复消息的节点和簇首进行资源预留。
在上述的网状网路由装置中,还包括:路由维护模块,用于对最优路由进行维护,当其发生中断时,进行自动恢复。
在上述的网状网路由装置中,路由维护模块包括:监测模块,用于监测有业务流活动的活动流路由;备份替代模块,如果发现了路由损坏,簇首节点为损坏的路径选择代替路径;以及错误报告模块,用于如果备份替代模块执行不成功,则发出路由错误报告,告知源节点发生了路由错误。
本发明解决k跳分簇Mesh网的QoS路由问题,目的在于提供一种保证业务流的带宽需求,同时降低网络开销的选路方法,这个方法包括路由发现和路由维护两部分。
从以上的描述中,可以看出,本发明提供了一种完整的Mesh网路由方法,包括路由发现的方法、路由选择的方法以及路由维护的方法。路由选择方法依赖于在路由发现过程中得到的信息,路由维护方法也是利用簇内路由的特点来完成的,与路由发现的簇内路由有着相似性。路由发现、路由选择和路由维护三个部分是相互关联的,它们联合构成了一个完整的路由协议。根据本发明的路由方法和路由装置解决了k跳分簇Mesh网的QoS路由问题,保证了业务流的带宽需求,同时降低了网络开销。
从以上的描述中,可以看出,本发明实现了如下技术效果:
以较小的网络开销实现了从源节点到目的节点的路由发现过程。QCBR路由协议针对分簇的网络结构,将路由请求过程分为簇内路由和簇间路由,簇内路由转发采用定向转发,避免了传统按需路由机制的泛洪带来的开销,因此,具有较小的网络开销,节约了无线网络的带宽资源。
提供一定的服务质量保证。QCBR路由协议根据业务流的带宽要求进行选路,要求构成路由的每段链路的带宽满足业务流要求的带宽。
兼顾延迟和稳定性。在前两条的基础上,QCBR路由协议提出的路由选择方法,根据路由跳数和簇间带宽瓶颈值选择最优路由,这种路由选择方法选择具有较小延迟和较高稳定性的路由。
路由维护方法具有快速修复路由的优点。整个本地路由修复过程在发生路由损坏的簇内完成,因此,具有局部性,能够快速有效地修复路由。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一个k=2的分簇Mesh网;
图2示出了根据本发明的Mesh网路由方法;
图3示出了根据本发明的路由方法中所包括的簇内路由过程;
图4示出了根据本发明的路由方法中所包括的簇间路由过程;
图5示出了根据本发明的路由方法中所包括的节点选路过程;
图6示出了根据本发明的路由方法中所包括的路由维护过程;
图7示出了根据本发明的Mesh网路由装置;
图8示出了根据本发明的一个实施例的路由方法中的路由发现过程的消息流程图;
图9示出了根据本发明的源节点产生全局路由请求消息的流程图;
图10示出了根据本发明的路由方法的簇首节点的处理簇内路由请求消息的流程图;
图11示出了根据本发明的路由方法的出口网关节点处理全局路由请求消息的流程图;以及
图12示出了根据本发明的路由方法的本地修复流程图;
具体实施方式
下面将参考附图详细说明本发明。
本发明针对k跳分簇的Mesh网,提出了一种适用于这种网络并且能提供服务质量保证的路由方法和装置,本文中称之为QCBR(QoS-constraint Cluster-Based Routing)——QoS约束的分簇路由协议。
根据本发明的QCBR的主要思想是采用资源预留的方法,首先在Mesh网中为实时业务流找到满足带宽要求的路径,在这条路由上进行资源预留(即,留待将来传送数据),以此为k跳分簇的Mesh网提供一种寻找从源节点到目的节点的满足带宽要求的路径的方法和装置。
根据上述的思想,本发明大致上通过以下三个手段来解决相关技术中存在的问题:
手段1、找到满足带宽要求的至少一条路由,用于资源预留;
手段2、在所述至少一条路由中选择具有较小延迟和较高稳定性的路由,以提供QoS保证;以及
手段3、优化算法,以尽可能地减小网络开销。
下面将参照图2至图7来详细说明本发明。
图2示出了根据本发明的Mesh网路由方法;图3示出了根据本发明的路由方法中所包括的簇内路由过程;图4示出了根据本发明的路由方法中所包括的簇间路由过程;图5示出了根据本发明的路由方法中所包括的节点选路过程;图6示出了根据本发明的路由方法中所包括的路由维护过程。
如图2所示,根据本发明的Mesh网路由方法包括以下步骤:
步骤S202,响应于所述源节点发出的全局路由请求,在Mesh网的源节点与目的节点之间找到满足带宽要求的至少一条路由;
步骤S204,在所述至少一条路由中选择具有较小延迟和较高稳定性的最优路由;以及
步骤S206,为该最优路由预留资源,用于传送业务流。
可选地,本发明还包括以下步骤:步骤S208,对该最优路由进行维护,当其发生中断时,进行自动恢复。
具体来说,步骤S202可包括路由请求过程,其包括两个过程:簇间路由过程,用于在Mesh网所包括的多个簇之间进行路由选择;以及簇内路由过程,用于在所述多个簇的一个簇内进行路由选择,其中,
如图3所示,簇内路由过程包含以下步骤:
步骤S302,入口节点接收到全局路由请求消息以后,通过全局路由请求消息中的簇ID列表判断该全局路由请求消息是否已经经过这个簇转发,如果是,则丢弃这个全局路由请求消息;否则,发送簇内路由请求消息给簇首节点;
步骤S304,簇首节点接收到簇内路由请求消息后,判断自己是否为目的簇首;
步骤S306,若判断为是,则计算从入口节点到目的节点的满足带宽要求的路由,将计算出的路由回复给入口节点,入口节点按照该路由将全局路由请求消息转发给目的节点,然后结束本过程;
步骤S308,若判断为否,则簇首节点判断是否曾经接收过包含相同标识的簇内路由请求消息,若判断为是则进行到步骤S310,否则进行到步骤S312,其中,每个路由消息是由源节点和目的节点标识的,可选地,另一种方法是用序号标识;
步骤S310,判断该簇内路由请求消息给出的路由是否优于已处理过的具有相同标识的簇内路由请求消息所给出的路由,并根据该判断来标记簇内路由回复消息的丢弃位,然后进行到步骤S312;
步骤S312,簇首节点用收到的簇内路由请求消息中的信息来更新缓存,以未出现在簇ID列表中的,与本簇的簇间链路带宽满足业务流请求带宽的邻居簇的网关节点作为出口节点,计算从入口节点到出口节点的满足带宽的最短路径,将该路径写入簇内路由回复消息,如果不存在任何满足带宽要求的路径,则簇首节点根据该情况来标记丢弃位,然后簇首沿着从入口节点到达簇首的反向路由发送簇内路由回复消息给入口节点;以及
步骤S314,入口节点收到簇内路由回复消息后,根据丢弃位确定是否丢弃全局路由请求消息,如果确定不丢弃,则将到每个出口节点的路径写入全局路由请求消息,并将本簇的ID记录到簇ID列表中,转发这个全局路由请求给相应的出口节点。
如图4所示,簇间路由过程包含以下步骤:
步骤S402,出口节点收到全局路由请求消息后,判断其是否为邻居簇的成员节点;
步骤S404,若是,则将它作为邻居簇的入口节点,执行簇内路由过程;
步骤S406,若不是,则出口节点判断出口网关节点的簇间可用带宽是否小于全局路由请求消息中的簇间瓶颈带宽,若是,用这个簇间可用带宽取代全局路由请求消息中的簇间瓶颈带宽;否则,保持原值不变;然后转发全局路由请求消息给相邻簇的入口节点;以及
步骤S408,相邻簇的入口节点接收全局路由请求消息,执行簇内路由过程。
另外,步骤S204可包括目的节点选路过程,其根据簇间链路带宽瓶颈值与路由跳数选择最优路由,如图5所示,其包括以下步骤:
步骤S502,为每条路由计算路由权值,它与簇间带宽瓶颈值和路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×α+最大路由地址数目/路由地址数目×β ①
α+β=1 ②
其中:最大路由地址数目是目的节点收到的全局路由请求消息中选取的最大的路由地址数目,也可以是根据业务流的时延要求计算得到的最大跳数。α和β的设定与业务类型有关,分别表示一个权值;以及
步骤S504,以路由权值为标准,来选择具有最大权值的路由为最优路由。
可选地,步骤S206可包括路由回复过程,其包括以下步骤:目的节点沿着路由地址的反向发送全局路由回复消息,收到全局路由回复消息的节点和簇首进行资源预留。
另外可选地,如图6所示,步骤S208包括以下步骤:
步骤S602,监测活动流的路由;
步骤S604,如果发生了路由损坏,簇首节点根据簇内拓扑信息和邻居簇表,为损坏的路径选择代替路径;以及
步骤S606,如果步骤S604不成功,则进行路由错误报告,告知源节点发生了路由错误。
图7示出了根据本发明的Mesh网路由装置。
如图7所示,根据本发明的Mesh网路由装置700包括:
全局路由请求模块702,用于响应于源节点发出全局路由请求,在其与目的节点之间找到满足传送业务流带宽要求的至少一条路由;
寻路模块704,用于在至少一条路由中选择具有最优延迟和稳定性的路由作为最优路由;以及
资源预留模块706,用于为最优路由预留资源,用于传送业务流。
在上述的Mesh网路由装置中,全局路由请求模块702包括:簇间路由模块,用于在Mesh网所包括的多个簇之间进行路由选择;以及簇内路由模块,用于在多个簇的一个簇内进行路由选择。
在上述的Mesh网路由装置中,寻路模块704包括:权值计算模块,用于为每条路由计算路由权值,它与簇间带宽瓶颈值和路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×α+最大路由地址数目/路由地址数目×β ①
α+β=1 ②
其中:最大路由地址数目是目的节点收到的全局路由请求消息中选取的最大的路由地址数目,或者是根据业务流的时延要求计算得到的最大跳数;α和β分别表示与业务类型有关的权值;以及选路模块,用于以路由权值为标准,来选择具有最大权值的路由为最优路由。
在上述的Mesh网路由装置中,资源预留模块706用于使目的节点沿着路由地址的反向发送全局路由回复消息,收到全局路由回复消息的节点和簇首进行资源预留。
在上述的Mesh网路由装置中,还可包括:路由维护模块706,用于对最优路由进行维护,当其发生中断时,进行自动恢复。
在上述的Mesh网路由装置中,路由维护模块706包括:监测模块,用于监测有业务流活动的活动流路由;备份替代模块,如果发现了路由损坏,簇首节点为损坏的路径选择代替路径;以及错误报告模块,用于如果备份替代模块执行不成功,则发出路由错误报告,告知源节点发生了路由错误。
下面将参照附图来详细说明根据本发明的实施例。
根据本发明的一个实施例的一种Mesh网路由方法,其包括路由发现和路由维护两部分。
1.路由发现
为了找到满足带宽要求的路径,采用如图8所示的路由发现过程,主要包括三个子过程:路由请求,目的节点选路,路由回复。
1).路由请求子过程
在路由请求过程中,结合分簇的网络结构特点,分为两个过程:簇内路由和簇间路由。两个过程采用不同的方法。
簇内路由包含以下步骤:
步骤a,入口节点接收到全局路由请求消息以后,判断全局路由请求消息的簇ID列表中是否已经存在本簇的ID号,如果存在,则认为这个全局路由请求消息已经经过这个簇转发,丢弃这个全局路由请求消息;否则,初始化簇内路由请求消息,发送簇内路由请求消息给簇首节点;
步骤b,簇首节点接收到簇内路由请求消息后,判断是否为目的簇首,若不是,跳到步骤c;若是,则计算从入口节点到目的节点的满足带宽要求的路由,将计算出的路由写入簇内路由回复消息,并发送簇内路由回复消息给入口节点,入口节点按照簇内路由回复消息中给出的路由将全局路由请求消息转发给目的节点。跳到步骤g;
步骤c,簇首节点判断是否曾经接收过包含相同<全局路由请求消息.源节点地址,全局路由请求消息.目的节点地址,全局路由请求消息.标识号>对的簇内路由请求消息,若不是,则跳到步骤d;若是,采用与下述“目的节点选路子过程”相同的方法,判断该簇内路由请求消息给出的路由是否优于已处理过的具有相同<全局路由请求消息.源节点地址,全局路由请求消息.目的节点地址,全局路由请求消息.标识号>对的簇内路由请求消息给出的路由,如果不优于,标记簇内路由回复消息的丢弃位为1,沿着从入口节点到达簇首的反向路由发送簇内路由回复消息给入口节点,跳转到步骤f;
步骤d,簇首节点用收到的簇内路由请求消息中的全局路由请求消息.标识号,路由地址数目,及簇间带宽瓶颈值更新缓存。以未出现在簇内路由请求消息的“簇ID列表”中的邻居簇(要求到达这些簇的簇间链路带宽满足业务流请求带宽)的网关节点作为出口节点,计算从入口节点到出口节点的满足带宽的最短路径,如果存在通过不同的出口节点到达相同的邻居簇的多条路由,选择跳数最小的路由作为到达邻居簇的路由,将路由写入簇内路由回复消息。如果不存在任何满足带宽要求的路径,则簇首节点标记簇内路由回复消息的丢弃位为1;
步骤e,簇首沿着从入口节点到达簇首的反向路由发送簇内路由回复消息给入口节点;以及
步骤f,入口节点收到簇内路由回复消息后,判断丢弃位是否为1,若是,丢弃全局路由请求消息,否则,将到每个出口节点的路径写入全局路由请求消息,并将本簇的ID记录到全局路由请求消息的簇ID列表中,转发这个全局路由请求给相应的出口节点。
步骤g,簇内选路结束。
簇间路由包含以下步骤:
步骤a,出口节点收到全局路由请求消息后,判断其是否为邻居簇的成员节点,若是,则将它作为邻居簇的入口节点,执行簇内路由过程,若不是,则执行步骤b;
步骤b,出口节点判断是否更新全局路由请求消息中的簇间瓶颈带宽值,它的更新方式如下:如果出口网关节点的簇间可用带宽小于全局路由请求消息中的簇间瓶颈带宽,那么它用这个簇间可用带宽取代全局路由请求消息中的簇间瓶颈带宽。否则,保持原值不变。转发全局路由请求消息给相邻簇的入口节点;以及
步骤c,相邻簇的入口节点接收全局路由请求消息,执行簇内路由过程。
2).目的节点选路子过程
目的节点接收到全局路由请求消息后,根据簇间链路带宽瓶颈值与路由跳数选择最优路由,执行如下过程选择最优路由:
步骤a,为每条路由计算路由权值,它与簇间带宽瓶颈值和路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×α+最大路由地址数目/路由地址数目×β
α+β=1
其中:最大路由地址数目是目的节点收到的全局路由请求消息中选取的最大的路由地址数目,也可以是根据业务流的时延要求计算得到的最大跳数。α和β的设定与业务类型有关,分别表示一个权值;以及
步骤b,以路由权值为选择最优路由的标准,具有最大权值的路由为最优路由。
3).路由回复子过程
最后,目的节点沿着路由地址的反向发送全局路由回复消息,收到全局路由回复消息的节点和簇首进行资源预留。
2.路由维护
在数据传送的过程中,由于受到外部环境或其它原因的影响,可能造成路由发现过程得到的路径不能提供业务流需要的带宽,或者是发生链路损坏,因此,需要一个路由维护过程保证业务流的服务质量,路由维护包括三个步骤:首先,监测活动流的路由。其次,如果发生了路由损坏,进行本地修复,主要特征是簇首节点根据簇内拓扑信息和邻居簇表,为损坏的路径选择代替路径。第三,如果本地修复不成功,则进行路由错误报告,告知源节点发生了路由错误。
在根据本发明的另一个实施例中,为了执行本发明提出的路由发现和路由维护方法,网络节点需要维持一些信息,根据网络节点在网络中的角色的不同,需要维持的信息也有所不同,具体来说,簇成员节点维持一张邻居表(如表格1所示),一张节点路由表(如表格2所示),簇首信息。簇相关的信息可以在网络初始化分簇的时候获得。邻居表记录从本节点到达每个相邻节点的链路带宽,可以通过发送和接收一个小的探测消息获得这些信息。节点除了维持链路带宽信息以外,还需要在邻居表中为非本簇的邻居节点给出它们的所属簇的ID(即簇首ID)。节点路由表用来记录通过这个节点的路由信息,它包含源节点地址,目的节点地址,下一跳地址,及使用的带宽。
表格1邻居表
链路带宽 | 所属簇ID | |
邻居节点1 | ||
邻居节点2 | ||
…… |
表格2节点路由表
序号 | 源节点地址 | 目的节点地址 | 上一跳节点地址 | 下一跳节点地址 | 使用带宽 |
1 | |||||
2 | |||||
…… |
簇首节点需要维持两张簇信息表及一张簇内路由表:
簇内拓扑信息表,如表格3所示,这个表用来记录簇内节点间的链路及每条链路的可用带宽。网络初始化时建立簇内拓扑信息表,通过周期性地根据接收到的成员节点的邻居表更新簇内拓扑信息表,或者,当活动流上的成员节点检测到链路损坏,向簇首发送更新的邻居表,簇首节点更新簇内拓扑信息表。
表格3簇内拓扑信息表
节点1 | 节点2 | …… | |
节点1 | - | 带宽 | …… |
节点2 | 带宽 | - | …… |
…… | …… | …… | …… |
邻居簇表,如表格4所示,它包含邻居簇ID和相应的网关节点地址,以及簇间链路带宽。
表格4邻居簇表
邻居簇ID | 网关节点1 | 网关节点2 | …… | ||||
出口节点ID | 邻居簇入口节点ID | 簇间链路带宽 | 出口节点ID | 邻居簇入口节点ID | 簇间链路带宽 | ||
簇1 | |||||||
…… | |||||||
簇N |
簇内路由表,用来记录簇内活动流的相关信息,主要用于路由维护,如表格5所示,它包含以下表项:源节点地址,目的节点地址,使用带宽,入口节点地址以及出口节点地址。
表格5簇内路由表
序号 | 源节点地址 | 目的节点地址 | 使用带宽 | 入口节点地址 | 出口节点地址 |
1 | |||||
2 | |||||
…… |
在该实施例中,路由发现过程实施如下:
整个路由发现过程主要包括三个子过程:路由请求,目的节点选路,路由回复。
当一个网络节点产生新的业务时,它作为源节点,处理流程如图9所示,检测业务类型,标记业务类型。对于非实时的数据业务,查找路由缓冲区是否存在从源节点到目的节点的有效路由,如果存在,使用这条路由发送数据分组,否则,生成全局路由请求消息。对于实时业务,计算业务流的带宽要求,在全局路由请求消息中给出业务流的请求带宽,全局路由请求消息格式如表格6所示。源节点根据全局路由请求消息初始化簇内路由请求消息,发送簇内路由请求消息给簇首节点,簇内路由请求消息的格式如表格7所示所示。
表格6全局路由请求消息格式
消息类型1000 | 业务类型 | 保留 | 标识号 | |
簇数目NUM | 路由地址数目NUM1 | 带宽请求(kb/s) | 簇间带宽瓶颈值(kb/s) | |
簇ID1 | 簇ID2 | …… | 簇ID[NUM] | |
源节点地址 | ||||
目的节点地址 | ||||
路由地址列表[NUM1] |
表格7簇内路由请求消息格式
消息类型1010 | 业务类型 | 保留 | 全局路由请求消息.标识号 | |
到簇首节点的跳数NUM | 路由地址数目NUM1 | 带宽请求(kb/s) | 簇间带宽瓶颈值(kb/s) | |
簇ID1 | 簇ID2 | …… | 簇ID[NUM] | |
全局路由请求消息.源节点地址 | ||||
全局路由请求消息.目的节点地址 | ||||
入口节点地址 | ||||
簇首节点地址 | ||||
到达簇首节点的节点地址列表[NUM] |
根据簇成员节点是否维持有从该节点到簇首节点的下一跳节点信息,簇内节点采用不同的方法发送消息到簇首节点。若有维持,则采用如下方法:a)将簇内路由请求消息转发给到簇首的下一跳节点。b)下一跳若是簇首节点,处理簇内路由请求。否则,重复步骤a。若簇成员节点没有维持从该节点到簇首节点的下一跳节点信息,则采用簇内泛洪方法发送簇内路由请求消息,具体实施如下:a)簇成员节点向周围的邻居节点广播簇内路由请求消息。b)邻居节点收到后,判断自身与发送节点是否有相同的簇首,即是否属于同一个簇,若不是,则丢弃簇内路由请求消息。若属于同一个簇,则判断是否为簇首节点,若是,处理簇内路由请求消息;否则重复步骤a)。
簇首节点收到源节点发送的簇内路由请求消息后,以未出现在该消息的“簇ID列表”中的邻居簇,并且到达这些簇的簇间链路带宽满足要求的网关节点作为出口节点,计算从源节点到各个出口节点的满足带宽要求的路由,将得到的路由写入簇内路由回复消息,簇内路由回复消息的格式如表格8所示,并发送簇内路由回复消息给源节点。源节点沿簇内路由回复消息给出的路由发送全局路由请求消息给每个出口节点。出口节点转发全局路由请求消息给邻居簇的入口节点。
表格8簇内路由回复消息格式
消息类型1011 | 业务类型 | 丢弃位 | 保留 | 全局路由请求消息.标识号 | |
从簇首节点到入口节点的跳数NUM | 出口节点数N | 带宽请求(kb/s) | 簇间带宽瓶颈值(kb/s) | ||
全局路由请求消息.源节点地址 | |||||
全局路由请求消息.目的节点地址 | |||||
入口节点地址 | |||||
从簇首到入口节点地址列表[NUM] | |||||
出口节点地址1 | |||||
到出口节点的地址列表[NUM-1] |
入口节点收到全局路由请求消息后,判断本簇的ID号是否出现在全局路由请求消息的簇ID列表中,若是,丢弃全局路由请求消息,否则,向簇首节点发送簇内路由请求消息。簇首节点收到来自入口节点的簇内路由请求消息后,簇首节点的处理流程如图10所示,若为目的簇首,则计算从入口节点到目的节点的满足带宽要求的路由,发送簇内路由回复消息给入口节点,入口节点将全局路由请求消息转发给目的节点。如果不是目的簇首,判断是否曾经收到过包含相同<全局路由请求消息.源节点地址,全局路由请求消息.目的节点地址,全局路由请求消息.标识号>对的簇内路由请求消息,如果曾经收到过,并且该簇内路由请求消息给出的路由优于已处理过的具有相同<全局路由请求消息.源节点地址,全局路由请求消息.目的节点地址,全局路由请求消息.标识号>对的簇内路由请求消息给出的路由,以未出现在簇内路由请求消息的“簇ID列表”中的邻居簇(要求到达这些簇的簇间链路带宽满足业务流请求带宽)的网关节点作为出口节点,计算从入口节点到每个出口节点的路径,如果存在多个出口节点连接相同的邻居簇,则选择跳数最小的路由。将得到的出口节点和相应的最优路径写入簇内路由回复消息中,发送簇内路由回复消息给入口节点。入口节点将本簇的ID记录到全局路由请求消息的簇ID列表中,转发全局路由请求消息给各个出口节点。
注意到,在上述计算从入口节点到出口节点的路由的过程中,根据业务流的类型的不同,计算方法也有所不同。对于实时业务流,计算的路由是需要满足带宽要求的路由,对于非实时的数据流,按照最短路径原则计算路由。
出口节点收到全局路由请求消息后,执行如图11所示的处理流程,判断其是否为邻居簇的成员节点,若是,则其作为邻居簇的入口节点,发送簇内路由请求消息给簇首节点。否则,出口节点判断是否更新路由请求中的簇间瓶颈带宽值,它的更新方式如下:如果出口网关节点的簇间可用带宽小于全局路由请求中的簇间瓶颈带宽,那么它用这个簇间可用带宽更新路由请求中的簇间瓶颈带宽。否则,保持原值不变。转发全局路由请求消息给相邻簇的入口节点。
邻居簇的入口节点收到全局路由请求分组后,重复执行上述操作,直到到达目的节点。
在该实施例中,路由回复过程如下:
目的节点收到全局路由请求消息后,若目的节点收到来自不同路由的多个相同的全局路由请求消息,目的节点计算每条路由权值,选取具有最大权值的路由作为最优路由,并沿着最优路由的反方向发送全局路由回复消息给源节点,并发送一个路由报告消息给目的簇首。全局路由回复消息格式如表格9所示。
表格9全局路由回复消息格式
消息类型1100 | 业务类型 | 路由地址数目NUM1 | 全局路由请求消息.标识号 | |
带宽请求(kb/s) | ||||
源节点地址 | ||||
目的节点地址 | ||||
路由地址列表[NUM1] |
路由上的所有节点收到全局路由回复消息后,将路由写入维持的节点路由表中,并将邻居表中相应的链路值减去业务流请求的带宽,为业务流预留资源。转发全局路由回复消息。
簇的入口节点收到全局路由回复消息后,除了执行上述操作以外,还需要向簇首节点发送一个路由报告消息,告知簇首全局路由回复消息中给出的从源节点到目的节点的路由,以及业务流请求的带宽。路由报告消息的格式如表格10所示。
表格10路由报告消息格式
消息类型1101 | 保留 | 带宽请求(kb/s) | 到簇首节点的跳数NUM | 全局路由回复消息.路由地址数目NUM1 |
源节点地址 | ||||
目的节点地址 | ||||
簇首节点地址 | ||||
到簇首节点地址列表[NUM] | ||||
全局路由回复消息.路由地址列表[NUM1] |
簇首节点收到路由报告消息后,从路由地址列表中找出这条路由在本簇的入口节点地址和出口节点地址,并将源节点地址,目的节点地址,入口节点地址,出口节点地址以及使用的带宽写入维持的簇内路由表,并且更新簇内拓扑信息表,即将簇内拓扑信息表中路由中包含的链路的可用带宽权值减去业务流请求的带宽。
源节点收到全局路由回复消息后,将路径写入缓存,沿着这条路径发送数据分组,数据分组的格式如表格11所示。
表格11数据分组格式
类型0000 | 业务类型 | 保留 | 序号 |
源节点地址 | |||
目的节点地址 | |||
业务数据 |
在该实施例中,路由维护方法如下:
由于无线链路是时变的,具有不可靠的特点,使得业务开始时的路由发现过程得到的路由并不总能在业务流的生命期内提供满足业务流要求的服务质量。因此,我们设计了适应Mesh网特点的路由维护方法。路由维护方法包括三个过程:链路损坏检测、路由本地修复和路由错误报告。路由本地修复是在活动流路径上的节点发现路由损坏后,由簇首节点执行的利用簇内信息的修复过程,如果路由本地修复失败,簇首节点发送路由错误消息给源节点。路由本地修复流程如图12所示。具体实施过程如下:
1)链路损坏检测
活动流路径(即正在发送业务流的路径)上的节点,持续监测它的可用带宽是否满足业务流要求的带宽。若业务流的数据分组在发送队列滞留长时间,队列长期处于繁忙状态甚至发生丢包,则认为带宽不能再满足业务流的带宽请求。更新邻居表,将邻居表发送给簇首节点,并且从节点路由表中选出使用带宽最大的表项,将该项的源节点地址和目的节点地址写入路由错误消息,并标记路由错误消息的标记位为1(表示发生了路由损坏)。发送路由错误消息给簇首节点,并设置修复定时器。
2)路由本地修复
簇首节点收到来自簇成员节点的邻居表和路由错误消息以后,开始进行本地修复,具体过程如下:用接收到的邻居表更新簇内拓扑信息表,然后,根据源节点地址和目的节点地址从簇内路由表中找出相应的入口节点和出口节点地址,如果发送路由错误消息的节点不是出口节点,则查找簇内拓扑信息表,重新计算从入口节点到出口节点的满足带宽要求的路径,用得到的新路径写入路由更新消息中,并将这个消息发送给入口节点。如果是发送路由错误消息的节点是出口节点,则簇首节点查找簇邻居表,判断是否存在到达相同的下一个簇入口节点,并且簇间链路满足带宽要求的其他网关节点,若存在,则寻找从入口网关到这个网关节点的满足带宽要求的路由,若找到这样的路由则用得到的新路径写入路由更新消息中,并将这个消息发送给入口节点。入口节点根据路由更新消息中的路由修改节点路由表,并沿着这条路由转发路由更新消息直到出口节点。簇首节点将路由错误消息的标记位设置为0,发送给检测到路由错误的节点。该节点收到后,重置定时器。本地修复成功。路由更新消息的格式如表格12所示。
表格12路由更新消息格式
消息类型1111 | 保留 | 带宽请求(kb/s) | 从入口节点到出口节点地址路由地址跳数NUM | |
源节点地址 | ||||
目的节点地址 | ||||
从入口节点到出口节点地址列表[NUM] |
3)路由错误报告
如果本地修复不成功,则簇首节点将路由错误消息的标记位设置为1,发送给检测到路由错误的节点。检测到路由错误的节点收到簇首节点返回的标记位为1的路由错误消息后,或修复定时器超时,发送路由错误消息给源节点,路由错误消息消息的格式如表格13所示。
表格13路由错误消息格式
消息类型1110 | 标记位 | 带宽请求(kb/s) | 节点地址总数 |
源节点地址 | |||
目的节点地址 | |||
地址列表 |
本发明解决k跳分簇Mesh网的QoS路由问题,目的在于提供一种保证业务流的带宽需求,同时降低网络开销的选路方法,这个方法包括路由发现和路由维护两部分。
从以上的描述中,可以看出,本发明提供了一种完整的Mesh网路由方法,包括路由发现的方法、路由选择的方法以及路由维护的方法。路由选择方法依赖于在路由发现过程中得到的信息,路由维护方法也是利用簇内路由的特点来完成的,与路由发现的簇内路由有着相似性。路由发现、路由选择和路由维护三个部分是相互关联的,它们联合构成了一个完整的路由协议。根据本发明的路由方法和路由装置解决了k跳分簇Mesh网的QoS路由问题,保证了业务流的带宽需求,同时降低了网络开销。
从以上的描述中,可以看出,本发明实现了如下技术效果:
以较小的网络开销实现了从源节点到目的节点的路由发现过程。QCBR路由协议针对分簇的网络结构,将路由请求过程分为簇内路由和簇间路由,簇内路由转发采用定向转发,避免了传统按需路由机制的泛洪带来的开销,因此,具有较小的网络开销,节约了无线网络的带宽资源。
提供一定的服务质量保证。QCBR路由协议根据业务流的带宽要求进行选路,要求构成路由的每段链路的带宽满足业务流要求的带宽。
兼顾延迟和稳定性。在前两条的基础上,QCBR路由协议提出的路由选择方法,根据路由跳数和簇间带宽瓶颈值选择最优路由,这种路由选择方法选择具有较小延迟和较高稳定性的路由。
路由维护方法具有快速修复路由的优点。整个本地路由修复过程在发生路由损坏的簇内完成,因此,具有局部性,能够快速有效地修复路由。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。应该明白,这些具体实施中的变化对于本领域的技术人员来说是显而易见的,不脱离本发明的精神保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1. 一种网状网路由方法,用于为基于分簇的网状网中的源节点与目的节点之间提供用于传送业务流的最优路由,其特征在于,包括以下步骤:
步骤a,响应于所述源节点发出的全局路由请求,在其与所述目的节点之间找到满足传送所述业务流带宽要求的至少一条路由;
步骤b,在所述至少一条路由中选择具有最优延迟和稳定性的路由作为所述最优路由;以及
步骤c,为所述最优路由预留资源,用于传送所述业务流。
2.根据权利要求1所述的网状网路由方法,其特征在于,所述步骤a包括:簇间路由过程,用于在所述网状网所包括的多个簇之间进行路由选择;以及簇内路由过程,用于在所述多个簇的一个簇内进行路由选择。
3.根据权利要求1所述的网状网路由方法,其特征在于,所述簇间路由过程包括以下步骤:
步骤a8,判断收到所述全局路由请求消息的节点是否为邻居簇的成员节点;
步骤a9,若是,则将它作为所述邻居簇的入口节点,执行簇内路由过程;
步骤a10,若不是,则判断簇间可用带宽是否小于所述全局路由请求消息中设置的簇间瓶颈带宽,若是,则用所述簇间可用带宽取代所述全局路由请求消息中的簇间瓶颈带宽,否则保持原值不变,然后转发所述全局路由请求消息给所述入口节点;以及
步骤a11,所述入口节点接收所述全局路由请求消息,执行所述簇内路由过程。
4.根据权利要求3所述的网状网路由方法,其特征在于,所述步骤a包括簇内路由过程,其包括以下步骤:
步骤a1,所述入口节点接收到所述全局路由请求消息,判断所述全局路由请求消息是否已经过其所在簇转发,如果是,则丢弃;否则发送簇内路由请求消息给其所在簇的簇首节点;
步骤a2,所述簇首节点接收到所述簇内路由请求消息后,判断自己是否为目的簇首;
步骤a3,若判断为是,则计算从所述入口节点到所述目的节点的满足带宽要求的路由,将计算出的路由回复给所述入口节点,所述入口节点按照该路由将所述全局路由请求消息转发给所述目的节点,然后结束本过程;
步骤a4,若判断为否,则簇首节点判断是否曾经接收过包含相同标识的簇内路由请求消息;
步骤a5,若判断是,则判断所述簇内路由请求消息给出的路由是否优于已处理过的具有相同标识的簇内路由请求消息所给出的路由,并由此标记所述簇内路由回复消息的丢弃标识,然后返回所述簇内路由回复消息给所述入口节点;
步骤a6,若判断为否,则所述簇首节点更新缓存,以未出现在簇ID列表中的,与本簇的簇间链路带宽满足所述业务流请求带宽的邻居簇的网关节点作为出口节点,计算从所述入口节点到所述出口节点的满足带宽的最短路径,将所述最短路径写入所述簇内路由回复消息,如果不存在任何满足带宽要求的路径,则所述簇首节点由此来标记所述簇内路由回复消息的丢弃标识,然后返回所述簇内路由回复消息给所述入口节点;以及
步骤a7,所述入口节点收到所述簇内路由回复消息后,根据所述丢弃标识确定是否丢弃全局路由请求消息,如果确定不丢弃,则将到每个出口节点的路径写入所述全局路由请求消息,并将本簇的ID记录到所述簇ID列表中,如何转发所述全局路由请求给由每个出口节点的路径所确定的出口节点。
5.根据权利要求4所述的网状网路由方法,其特征在于,所述标识包括源节点地址、目的节点地址、和所述全局路由请求消息的标识号。
6.根据权利要求1所述的网状网路由方法,其特征在于,所述步骤b是根据簇间链路带宽瓶颈值与路由跳数来选择所述最优路由。
7.根据权利要求6所述的网状网路由方法,其特征在于,所述步骤b包括以下步骤:
步骤b1,为每条路由计算路由权值,它与所述簇间带宽瓶颈值和所述路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×
α+最大路由地址数目/路由地址数目×β ①
α+β=1 ②
其中:所述最大路由地址数目是所述目的节点收到的所述全局路由请求消息中选取的最大的路由地址数目,或者是根据所述业务流的时延要求计算得到的最大跳数;α和β分别表示与业务类型有关的权值;以及
步骤b2,以所述路由权值为标准,来选择具有最大权值的路由为所述最优路由。
8. 根据权利要求1所述的网状网路由方法,其特征在于,所述步骤c包括以下步骤:所述目的节点沿着路由地址的反向发送全局路由回复消息,收到所述全局路由回复消息的节点和簇首进行资源预留。
9.根据权利要求1所述的网状网路由方法,其特征在于,还包括以下步骤:
步骤d,对所述最优路由进行维护,当其发生中断时,进行自动恢复。
10.根据权利要求8所述的网状网路由方法,其特征在于,所述步骤d包括以下步骤:
步骤d1,监测有所述业务流活动的活动流路由;
步骤d2,如果发现了路由损坏,簇首节点为损坏的路径选择代替路径;以及
步骤d3,如果所述步骤d2执行不成功,则发出路由错误报告,告知所述源节点发生了路由错误。
11.根据权利要求10所述的网状网路由方法,其特征在于,所述步骤d1包括以下步骤:
所述活动流路由上的节点持续监测是否能为所述业务流提供足够带宽,如果不够,则执行以下步骤:
更新邻居表,将所述邻居表发送给簇首节点;
从节点路由表中选出使用带宽最大的表项;
将所述表项的源节点地址和目的节点地址写入路由错误消息,并标记所述路由错误消息的报错标识;
发送所述路由错误消息给簇首节点;
以及设置修复定时器。
12.根据权利要求11所述的网状网路由方法,其特征在于,所述步骤d2包括以下步骤:
所述簇首节点根据所述源节点地址和所述目的节点地址从所述簇内路由表中找出相应的入口节点和出口节点地址;
如果发送所述路由错误消息的节点不是出口节点,则查找所述簇内拓扑信息表,重新计算从所述入口节点到所述出口节点的满足带宽要求的路径,用得到的新路径写入路由更新消息中,并将所述路由更新消息发送给所述入口节点;
如果是发送所述路由错误消息的节点是所述出口节点,则所述簇首节点查找所述邻居表,判断是否存在到达相同的下一个簇入口节点,并且簇间链路满足所述业务流带宽要求的其他网关节点,若存在,则寻找从入口网关到所述其他网关节点的满足所述带宽要求的路由,若找到满足的路由,则用得到的路径写入所述路由更新消息中,并将所述路由更新消息发送给所述入口节点;
所述入口节点根据所述路由更新消息中的路由,转发所述路由更新消息直到所述出口节点;以及
所述簇首节点复位所述路由错误消息的报错标识,发送给检测到路由错误的所述节点;所述节点收到后,重置所述修复定时器。
13.根据权利要求12所述的网状网路由方法,其特征在于,所述步骤d3包括以下步骤:
如果所述步骤d2不成功,则所述簇首节点相应地标记所述路由错误消息的报错标识,发送给检测到路由错误的所述节点;以及
检测到路由错误的所述节点收到所述路由错误消息后,或修复定时器超时,发送所述路由错误消息给所述源节点。
14.一种网状网路由装置,用于为基于分簇的网状网中的源节点与目的节点之间提供用于传送业务流的最优路由,其特征在于,包括:
全局路由请求模块,用于响应于所述源节点发出全局路由请求,在其与所述目的节点之间找到满足传送所述业务流带宽要求的至少一条路由;
寻路模块,用于在所述至少一条路由中选择具有最优延迟和稳定性的路由作为所述最优路由;以及
资源预留模块,用于为所述最优路由预留资源,用于传送所述业务流。
15.根据权利要求14所述的网状网路由装置,其特征在于,所述全局路由请求模块包括:
簇间路由模块,用于在所述网状网所包括的多个簇之间进行路由选择;以及
簇内路由模块,用于在所述多个簇的一个簇内进行路由选择。
16.根据权利要求15所述的网状网路由装置,其特征在于,所述寻路模块包括:
权值计算模块,用于为每条路由计算路由权值,它与所述簇间带宽瓶颈值和所述路由跳数有关,计算方式如下:
路由权值=簇间带宽瓶颈值/业务流请求的带宽×
α+最大路由地址数目/路由地址数目×β ①
α+β=1 ②
其中:所述最大路由地址数目是所述目的节点收到的所述全局路由请求消息中选取的最大的路由地址数目,或者是根据所述业务流的时延要求计算得到的最大跳数;α和β分别表示与业务类型有关的权值;以及选路模块,用于以所述路由权值为标准,来选择具有最大权值的路由为所述最优路由。
17.根据权利要求14所述的网状网路由装置,其特征在于,所述资源预留模块用于使所述目的节点沿着路由地址的反向发送全局路由回复消息,收到所述全局路由回复消息的节点和簇首进行资源预留。
18.根据权利要求14所述的网状网路由装置,其特征在于,还包括:
路由维护模块,用于对所述最优路由进行维护,当其发生中断时,进行自动恢复。
19.根据权利要求18所述的网状网路由装置,其特征在于,所述路由维护模块包括:
监测模块,用于监测有所述业务流活动的活动流路由;
备份替代模块,如果发现了路由损坏,簇首节点为损坏的路径选择代替路径;以及
错误报告模块,用于如果所述备份替代模块执行不成功,则发出路由错误报告,告知所述源节点发生了路由错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610086689XA CN101047638A (zh) | 2006-06-28 | 2006-06-28 | Mesh网路由方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610086689XA CN101047638A (zh) | 2006-06-28 | 2006-06-28 | Mesh网路由方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101047638A true CN101047638A (zh) | 2007-10-03 |
Family
ID=38771869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200610086689XA Pending CN101047638A (zh) | 2006-06-28 | 2006-06-28 | Mesh网路由方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101047638A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006677A (zh) * | 2010-12-01 | 2011-04-06 | 成都信息工程学院 | 构造高连接性无线多跳自组网拓扑新技术 |
CN102195855A (zh) * | 2010-03-17 | 2011-09-21 | 华为技术有限公司 | 一种业务路由方法和业务网络 |
CN102238079A (zh) * | 2011-01-18 | 2011-11-09 | 北京中京创原通信技术有限公司 | 在ip电信网中实现路由回溯的方法 |
CN102256303A (zh) * | 2010-05-19 | 2011-11-23 | 北京兴科迪科技有限公司 | 无线传感网节点自适应负载均衡方法 |
CN101540714B (zh) * | 2008-03-21 | 2012-02-01 | 华为技术有限公司 | 网络路径建立与数据发送的方法及网络节点 |
CN102821026A (zh) * | 2011-06-08 | 2012-12-12 | 中兴通讯股份有限公司 | 一种精准定时协议报文路径选择方法及系统 |
CN103249106A (zh) * | 2012-08-13 | 2013-08-14 | 四川九洲电器集团有限责任公司 | 一种提高无线网络通信质量的方法 |
CN103338217A (zh) * | 2012-03-21 | 2013-10-02 | 德州仪器公司 | 基于低等待时间接口的连网 |
CN103476083A (zh) * | 2012-06-06 | 2013-12-25 | 华为技术有限公司 | 路由选择方法及节点设备 |
CN104349513A (zh) * | 2014-10-29 | 2015-02-11 | 苏州市职业大学 | 一种分布式无线hart兼容式过程控制系统 |
CN106357345A (zh) * | 2016-10-08 | 2017-01-25 | 东南大学 | 一种基于Mesh结构的量子通信网络的路由方法 |
WO2017118431A1 (zh) * | 2016-01-08 | 2017-07-13 | 中兴通讯股份有限公司 | 一种路由选择方法及装置 |
CN107404404A (zh) * | 2017-07-29 | 2017-11-28 | 深圳市盛路物联通讯技术有限公司 | 一种基于物联网的终端路由选择方法及物联网终端 |
CN107852367A (zh) * | 2015-06-17 | 2018-03-27 | 瑞典爱立信有限公司 | 网状网络中的路径建立 |
CN107852366A (zh) * | 2015-06-17 | 2018-03-27 | 瑞典爱立信有限公司 | 减少网状网络中的延时 |
CN110995333A (zh) * | 2019-11-29 | 2020-04-10 | 北京航空航天大学 | 一种分簇QoS路由设计方法 |
CN111771359A (zh) * | 2018-02-20 | 2020-10-13 | 安纳帕亚系统公司 | 用于连接通信网络的方法和系统 |
US11337136B2 (en) | 2018-04-24 | 2022-05-17 | Carrier Corporation | Automatic routing in a mesh network of wireless messaging devices |
CN115037687A (zh) * | 2022-04-15 | 2022-09-09 | 北京云联慧通科技有限公司 | 一种基于多根节点的路由建立方法、装置及电子设备 |
US11589287B2 (en) | 2018-04-24 | 2023-02-21 | Carrier Corporation | Automatic routing in a mesh network of wireless messaging devices |
-
2006
- 2006-06-28 CN CNA200610086689XA patent/CN101047638A/zh active Pending
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540714B (zh) * | 2008-03-21 | 2012-02-01 | 华为技术有限公司 | 网络路径建立与数据发送的方法及网络节点 |
US8498292B2 (en) | 2008-03-21 | 2013-07-30 | Huawei Technologies Co., Ltd. | Network node and method for establishing network path and sending data |
CN102195855A (zh) * | 2010-03-17 | 2011-09-21 | 华为技术有限公司 | 一种业务路由方法和业务网络 |
CN102256303A (zh) * | 2010-05-19 | 2011-11-23 | 北京兴科迪科技有限公司 | 无线传感网节点自适应负载均衡方法 |
CN102006677A (zh) * | 2010-12-01 | 2011-04-06 | 成都信息工程学院 | 构造高连接性无线多跳自组网拓扑新技术 |
CN102238079B (zh) * | 2011-01-18 | 2015-07-15 | 蒋林涛 | 在ip电信网中实现路由回溯的方法 |
CN102238079A (zh) * | 2011-01-18 | 2011-11-09 | 北京中京创原通信技术有限公司 | 在ip电信网中实现路由回溯的方法 |
CN102821026A (zh) * | 2011-06-08 | 2012-12-12 | 中兴通讯股份有限公司 | 一种精准定时协议报文路径选择方法及系统 |
CN103338217B (zh) * | 2012-03-21 | 2018-04-13 | 德州仪器公司 | 基于低等待时间接口的连网及用于该连网的处理装置 |
CN103338217A (zh) * | 2012-03-21 | 2013-10-02 | 德州仪器公司 | 基于低等待时间接口的连网 |
CN103476083B (zh) * | 2012-06-06 | 2016-11-02 | 华为技术有限公司 | 路由选择方法及节点设备 |
CN103476083A (zh) * | 2012-06-06 | 2013-12-25 | 华为技术有限公司 | 路由选择方法及节点设备 |
CN103249106A (zh) * | 2012-08-13 | 2013-08-14 | 四川九洲电器集团有限责任公司 | 一种提高无线网络通信质量的方法 |
CN104349513A (zh) * | 2014-10-29 | 2015-02-11 | 苏州市职业大学 | 一种分布式无线hart兼容式过程控制系统 |
CN107852366B (zh) * | 2015-06-17 | 2021-04-06 | 瑞典爱立信有限公司 | 减少网状网络中的延时的方法、中继节点和计算机可读存储介质 |
CN107852367A (zh) * | 2015-06-17 | 2018-03-27 | 瑞典爱立信有限公司 | 网状网络中的路径建立 |
CN107852366A (zh) * | 2015-06-17 | 2018-03-27 | 瑞典爱立信有限公司 | 减少网状网络中的延时 |
CN107852367B (zh) * | 2015-06-17 | 2021-04-06 | 瑞典爱立信有限公司 | 网状网络中的路径建立的方法、中继节点及计算机可读存储介质 |
WO2017118431A1 (zh) * | 2016-01-08 | 2017-07-13 | 中兴通讯股份有限公司 | 一种路由选择方法及装置 |
CN106357345A (zh) * | 2016-10-08 | 2017-01-25 | 东南大学 | 一种基于Mesh结构的量子通信网络的路由方法 |
CN107404404A (zh) * | 2017-07-29 | 2017-11-28 | 深圳市盛路物联通讯技术有限公司 | 一种基于物联网的终端路由选择方法及物联网终端 |
CN111771359A (zh) * | 2018-02-20 | 2020-10-13 | 安纳帕亚系统公司 | 用于连接通信网络的方法和系统 |
US11337136B2 (en) | 2018-04-24 | 2022-05-17 | Carrier Corporation | Automatic routing in a mesh network of wireless messaging devices |
US11589287B2 (en) | 2018-04-24 | 2023-02-21 | Carrier Corporation | Automatic routing in a mesh network of wireless messaging devices |
CN110995333A (zh) * | 2019-11-29 | 2020-04-10 | 北京航空航天大学 | 一种分簇QoS路由设计方法 |
CN115037687A (zh) * | 2022-04-15 | 2022-09-09 | 北京云联慧通科技有限公司 | 一种基于多根节点的路由建立方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101047638A (zh) | Mesh网路由方法和装置 | |
CN1309266C (zh) | 用于自组织通信网络中的移动节点的协议和结构 | |
CN1855867A (zh) | 用于在无线网格网络中分发移动站信息的方法和设备 | |
CN1467959A (zh) | 移动通信系统内的越区切换方法和路由器设备 | |
CN1241370C (zh) | 移动终端管理系统 | |
CN1722632A (zh) | 无线通信系统、无线通信装置、无线通信方法和计算机程序 | |
CN1620787A (zh) | 跨层综合式无冲突路径路由选择 | |
CN1111425A (zh) | 多网段局域网中为移动工作站确定路由路径的方法和系统 | |
CN1453963A (zh) | 蓝牙按请求路由方法和网络形成和蓝牙组网络的通信方法 | |
CN1496632A (zh) | 用在扩展局域网中的以优先级为基础的负载平衡方法和设备 | |
CN1640074A (zh) | 移动管理方法和移动终端 | |
CN1642111A (zh) | 路由设计方法 | |
CN1299541A (zh) | 小无线数据网络中的业务传送路由选择 | |
CN1486094A (zh) | 用于采用负载均衡的移动通信的方法和装置 | |
CN100350779C (zh) | 网络系统、控制设备、路由器装置、接入点和移动终端 | |
CN1413034A (zh) | 网络寻呼系统和方法 | |
CN101048007A (zh) | 从移动终端传送寻呼请求消息的方法 | |
CN1407772A (zh) | 微移动性网络路由系统与方法 | |
CN1894893A (zh) | 通信系统、通信方法、网络负载预测节点以及网络结构管理节点 | |
CN1663217A (zh) | 在移动网络中的通信节点和移动节点之间的数据流 | |
CN1658588A (zh) | 通信装置、中继装置、通信系统及通信方法 | |
CN1794732A (zh) | IPv6微型传感路由器协议栈体系结构及实现方法 | |
CN1443012A (zh) | 切换控制装置和方法以及移动通信系统 | |
CN1402477A (zh) | 无线局域网系统 | |
CN101047977A (zh) | 无线通信系统及方法以及在该系统中使用的寻呼方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20071003 |