CN101388831A - 数据传输方法、节点及网关 - Google Patents
数据传输方法、节点及网关 Download PDFInfo
- Publication number
- CN101388831A CN101388831A CNA2007101474414A CN200710147441A CN101388831A CN 101388831 A CN101388831 A CN 101388831A CN A2007101474414 A CNA2007101474414 A CN A2007101474414A CN 200710147441 A CN200710147441 A CN 200710147441A CN 101388831 A CN101388831 A CN 101388831A
- Authority
- CN
- China
- Prior art keywords
- message
- path
- node
- gateway
- data source
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据传输方法,包括:数据源节点在选定的射频上广播路由创建请求RREQ报文;所述数据源节点接收一个或多个网关,根据接收到的RREQ报文返回的路由创建应答RREP报文,获取接收到的RREP报文中携带的由对应网关到所述数据源节点的路径;根据获取的各条路径的下行路径容量进行路径选择;通过选出的路径进行数据传输。本发明实施例同时还公开了两种节点和一种网关。利用本发明实施例公开的技术方案可以消除网络瓶颈,提高网络支撑的端到端吞吐量。
Description
技术领域
本发明涉及网状(Mesh)网络技术,特别涉及数据传输方法、节点及网关。
背景技术
Mesh网络是一种支持多跳传输,可以具有基础设施的无线网络。在Mesh网络中节点接入网络存在三种方式:
一种方式为:单归属网络下的单路径路由机制。单归属网络是指网络中每个节点均归属于一个网关,单路径路由机制是指数据源节点到目的网关只存在一条路径。节点通过这种路由机制接入网络时,一旦该节点对应的网关设备和路径出现故障,则该节点将无法接入网络,或者如果该节点对应的路径状况不良,也会造成该节点接入网络困难,即这种方式易于造成无线侧和网关处的瓶颈。无线侧指数据源节点到网关前的路径。
另一种方式为:单归属网络下的多路径路由机制。这种单归属网络下的多路径路由机制是指数据源节点到目的网关之间存在多条路径,目的网关只有一个。数据源节点通过这种机制接入网络时,由于只有一个网关设备,因此仍然存在网关处的瓶颈,即在网关出现故障,或数据流量过大时,数据源节点通过该网关接入网络困难,或根本无法接入网络。
第三种方式为:多归属网络下的单路径路由机制。这种机制中数据源节点可以通过多个网关接入网络,但对应每一个网关只有一条固定设置的路径接入网关。数据源节点通过这种机制接入网络时,由于一个数据源节点可以通过多个网关,即多条路径接入网络,而多条路径之间存在相互的干扰,因此存在无线侧的传输瓶颈。
综上所述,现有技术中尚不存在多归属网络下的多路径路由机制,并且现有的路由机制会造成网关处和/或无线侧的传输瓶颈,不能充分利用网络能力,网络支撑的端到端吞吐量受到网络瓶颈的约束。
发明内容
本发明实施例一方面提供了一种数据传输方法,另一方面提供了网关和节点,消除网络瓶颈,提高网络支撑的端到端吞吐量。
本发明实施例提供的数据传输方法,包括:
数据源节点在选定的射频上广播路由创建请求RREQ报文;
所述数据源节点接收一个或多个网关,根据接收到的RREQ报文返回的路由创建应答RREP报文,获取接收到的RREP报文中携带的由对应网关到所述数据源节点的路径;根据获取的各条路径的下行路径容量进行路径选择;
通过选出的路径进行数据传输。
本发明实施例提供的一种节点,包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及发送RREQ报文的射频;
路由创建请求单元,用于在所述邻居发现单元确定的射频上广播路由创建请求RREQ报文;
应答报文接收单元,用于接收网关返回的路由创建应答RREP报文;
路径选择单元,用于从所述RREP报文中取出其携带的路径,经过设定时间后,根据已获取的各条路径的下行路径容量进行路径选择;
数据传输单元,用于通过选出的路径进行数据传输。
本发明实施例提供的另一种节点,包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及向邻居节点转发报文的射频;
报文转发单元,用于根据邻居发现单元确定的射频,将下层节点发送的RREQ报文转发到上层节点;将上层节点发送的RREP报文转发给下层节点;
主干链路判断单元,用于在上层节点存在主干路由时,周期性判断自身与多个上行出口处的节点之间的链路是否满足主干路由标准;
主干路由创建单元,用于将满足主干路由标准的链路设置为主干路由;
数据发送单元,用于在转发数据时,优选主干路由进行数据传输。
本发明实施例提供的网关,包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及向邻居节点转发报文的射频;
路由创建接收单元,用于接收来自数据源节点的RREQ报文;
路由创建应答单元,用于通过所述RREQ报文所携带的路径的反向路径,向所述数据源节点返回RREP报文。
由以上技术方案可知,本发明实施例中,数据源节点根据邻居发现过程确定接入网络的信道和邻居节点,在选定的信道上广播RREQ报文,网络中的网关接收到来自数据源节点的RREQ报文时,沿反向路径以数据源节点为目的节点发送RREP报文;数据源节点接收到RREP报文时,取出其中携带的路径,经过设定时间后,数据源节点根据已获取的各条路径的下行路径容量进行路径选择,并通过所选路径进行数据传输。因此,本发明实施例提供了一种多归属多路径路由机制,为每个需要路由路径的数据源节点选取多条可以并行传输的路径,在选择路径时,考虑所选路径对于端到端吞吐量的贡献,因此可以消除网络瓶颈,提高网络支撑的端到端吞吐量。
附图说明
图1为本发明数据传输方法较佳实施例的流程图;
图2为本发明实施例的多归属Mesh网络架构图;
图3为本发明实现路由维护的一种具体实施例的流程图;
图4为本发明实现剪枝的方法实施例流程图;
图5为本发明层号设置过程具体实施例的流程图;
图6为本发明层号更新过程的具体实施例的流程图;
图7为本发明实施例提供的第一种节点的结构示意图;
图8为本发明实施例提供的第二种节点的结构示意图;
图9为本发明实施例提供的网关的结构示意图。
具体实施方式
本发明实施例中,为了消除网络瓶颈,增大多归属Mesh网络支撑的端到端吞吐量,为每个需要路由路径的数据源节点选取多条可以并行传输的路径,在选择路径时,考虑所选路径对于端到端吞吐量的贡献,因此可以消除网络瓶颈,提高网络支撑的端到端吞吐量。
本发明实施例提供的数据传输方法,至少包括:
数据源节点在选定的射频上广播路由创建请求RREQ报文;
数据源节点接收一个或多个网关,根据接收到的RREQ报文返回的路由创建应答RREP报文,获取接收到的RREP报文中携带的由对应网关到所述数据源节点的路径;根据获取的各条路径的下行路径容量进行路径选择;
通过选出的路径进行数据传输。
在上述过程中,路径选择过程只由数据源节点执行,这样数据源节点需要从所有返回RREP报文的网关所对应的全部路径中进行路径选择,数据源节点的操作过程较为复杂。为了减轻数据源节点的路径选择复杂度,本发明实施例在一个或多个网关向数据源节点返回RREP报文前,还可以进一步包括:网关的路径选择过程,具体的步骤可以包括:
一个或多个网关从接收到的RREQ报文中,获取其中携带的从所述数据原节点到对应网关的路径;根据获取的各条路径的上行路径容量进行路径选择;在这种情况下,网关向数据源节点返回RREP报文的步骤为:网关通过所选择的路径的反向路径,向数据源节点返回RREP报文。
另外一种在网关增加路径选择过程的方法是:一个或多个网关判断接收到的RREQ报文的接收次数是否超过预设的门限值,如果超过,则丢弃该RREQ报文;否则沿该RREQ报文所携带路径的反向路径向数据源节点返回RREP报文。这样,网关采用一种简单的方式限制了向数据源节点返回RREP报文数量,也就降低了数据源节点进行路径选择的复杂度。
图1为本发明实施例数据传输方法较佳实施例的流程图。该流程包括:
步骤101,数据源节点进行邻居发现,确定邻居节点以及邻居节点所对应的射频和射频所用信道。
网络中的节点或网关执行邻居发现过程可以采用的一种方式为:节点或网关在网络中在各个可能的信道上广播探测报文,根据邻居节点返回的探测应答报文确定邻居节点,选定与邻居交互使用的射频和信道。另一种方式为:节点或网关在多个信道中轮流监听邻居节点广播的Hello报文,根据接收到的Hello报文确定邻居节点,选定与邻居交互使用的射频和信道。
以图2所示多归属Mesh网络架构为例,节点A在进行邻居发现时,可以向网络中广播探测报文。如果节点A有两个射频,每个射频使用一个信道。节点A的射频1使用信道1广播探测报文,并在该信道上收到节点B的探测应答报文。节点A的射频2使用信道6广播探测报文,并在该信道上收到节点D的探测应答报文。节点A确定节点B和节点D为邻居节点,并且确定节点A和节点B之间的信道为信道1,以及节点A和节点D之间的信道为信道6。后续,节点在射频1和射频2上同时广播路由请求报文。节点A还可以监听邻居节点发送的Hello报文,比如节点A的射频1在信道1中监听到节点B发送的Hello报文,射频2在信道6中监听到节点D发送的Hello报文,则节点A确定邻居节点为节点B和节点D。
网络中的每一个节点通过邻居发现过程确定自身的邻居节点,以及与邻居节点之间的链路交互使用的射频以及射频所采用的信道。
步骤102,数据源节点使用与所确定邻居节点关联的所有射频广播路由创建请求报文(RREQ),报文中包含报文序号、数据源节点射频ID以及目的网关广播ID,该ID可以被所有网关接收,报文中含有已经过的路由路径。
这里,数据源节点所选定的信道就是数据源节点到邻居节点之间的链路上所采用的信道。数据源节点某个射频上的邻居节点为多个,且所使用信道不同时,数据源节点的射频会在多个信道上切换向邻居节点广播RREQ报文。
步骤103,数据源节点和目的网关之间的节点接收到上一节点转发的RREQ报文时,判断接收到的RREQ报文是否已经收到过,如果没有接收过,则执行步骤104;如果收到过,则丢弃接收到的RREQ报文。
这里,节点在丢弃接收到的RREQ报文前,可以进一步判断接收到的RREQ报文的入链路与已收到的RREQ报文是否相同,如果不同,则执行步骤104;如果入链路相同,则丢弃接收到的RREQ报文,或者进一步判断接收到的RREQ报文对应的路径是否大于已收到的RREQ报文中入链路相同的路径的上行路径容量,如果大于,则执行步骤104;否则丢弃接收到的RREQ报文。
需要解释说明的是,判断接收到的RREQ报文是否已经收到过的方法可以为:判断接收到的RREQ报文携带的报文序号和数据源节点ID,与已接收过的RREQ报文中的报文序号和数据源节点射频ID是否相同,如果相同,则确定已接收过该RREQ报文,否则确定未接收过该RREQ报文。当然,也可以根据其它方法判断,这里只是给出一种具体方式。
所述的进一步判断接收到的RREQ报文的入链路与已收到的RREQ报文是否相同可以为:判断接收到的RREQ报文中携带的路由路径中上一跳的节点与已接收到的RREQ报文是否相同。
步骤104,接收到RREQ报文的节点判断自身是否存在到目的网关的主干路由,如果存在,则执行步骤105;否则,执行步骤106。
步骤105,当前节点取出RREQ报文中所包含的路径,将该路径与当前节点到网关的主干路由连接起来,沿该路径的反向路径发送路由创建应答报文(RREP),报文中携带报文序号、当前节点的射频ID、从接收到的RREQ报文中取得的数据源节点射频ID以及数据源节点到网关的路由路径。之后,执行步骤110。
步骤106,当前节点将自身的射频ID添加到RREQ报文中,在网络中广播该RREQ报文。
进一步说明,节点可能具有多个射频,不同射频的ID可以相同,也可以不同。
步骤107,接收到节点广播的RREQ报文的一个和多个网关,判断是否已接收过该RREQ报文,如果未接收过,则执行步骤108;如果接收到过,则丢弃该报文。
这里,网关在丢弃接收到的报文前,可以进一步包括:判断接收到的RREQ报文的入链路,即上一跳节点到达网关的链路,是否与已接收过的RREQ报文相同,如果不同,则执行步骤108;如果入链路相同,则丢弃接收到的RREQ报文,或者进一步判断接收到的RREQ报文对应的路径是否大于已收到的RREQ报文中入链路相同的路径的上行路径容量,如果大于,则执行步骤108;如果相同,则丢弃接收到的报文。
步骤108,接收到RREQ报文的网关获取接收到的RREQ报文中的路径以及数据源节点所用射频ID并保存,经过预设时间后,执行步骤109的路由选择过程。
这里,经过预设时间中的预设时间可以根据需要设定。
步骤109,网关根据获取的各条路径的上行路径容量进行路径选择,并通过所选路径的反向路径向数据源节点发送RREP报文,该报文中携带网关标识,目的节点标识以及反向路径。
路径的上行路径容量为:该路径所用信道中上行路径容量最小者,一条路径中可能包括多个节点,相邻的两个节点之间所采用的信道可能不同,因此一条路径上通常使用多个信道。在计算一条路径的上行路径容量时,需要计算出一条路径所用的每个信道的容量,然后将计算的最小值作为该条路径的上行路径容量。在计算每一个信道的容量时,需要考虑位于同一信道的不同链路之间的相互干扰。某个信道上的容量为使用该信道的所有链路容量倒数之和的倒数。
链路的容量的确定方法可以为:网络中的节点向所在链路的对端节点连续发送两个固定长度的测量报文;
对端节点计算接收到所述两个测量报文的时间差,再计算所述测量报文的固定长度与计算所得的时间差的比值,将其作为对应链路的链路容量,发送给所述节点,或者在收到所述节点的链路容量请求时,向所述节点返回所述比值。
链路容量的另外一种确定方法可以为:
网络中的节点向所在链路的对端节点发送多对固定长度的测量报文,每对报文的发送间隔为预先设定的固定值或在预先设定的时间长度内随机选取的值;
对端节点计算接收到的多对测试报文的时间差的平均值,计算所述测量报文的固定长度和计算所得的平均值的比值,将其作为对应链路的链路容量,发送给所述节点,或者在收到所述节点的链路容量请求时,向所述节点返回所述比值。
网关进行路径选择的具体方法可以为:网关将上行路径容量最大的路径作为已选路径,将其它路径作为待选路径,根据多路径选路原则从待选路径中选择路由路径。
上行路径容量为路径所用信道中上行容量最小者。计算路径容量时,考虑位于同一信道的链路之间相互干扰。计算路径所用信道的每个信道的容量。某个信道上的容量为使用该信道的链路容量倒数之和的倒数。上行链路容量使用周期性探测报文获得,为现有技术。
多路径选路原则是指:遍历所有待选路径,从中选出可以提高已选路径的路径容量的路径。具体实现可以为:
从待选路径中找出与已选路径和数据源节点所用射频ID交点数最少的一条或多条路径,判断选出的路径与已选路径的交点数是否超过预设的门限值,如果未超过,则将选出的路径作为已选路径;如果已超过,则结束选路过程。
如果选出的与已选路径交点数最少的路径不只一条,则可以进一步根据路径上的跳数多少、和/或路径上的上行网关容量大小,和/或上行路径传输延迟大小,从待选路径中选出一条或者多条路径作为已选路径。
一种较佳的实现方式为:
首先从待选路径中选出上行路径容量最大的路径,如果上行路径容量最大的路径有多条,则进一步从上行路径容量最大的路径中选出包含跳数最少的路径;
如果包含跳数最少的路径仍然有多条,则从包含跳数最少的路径中选出上行网关容量最大的路径;如果所选出的上行网关容量最大的路径仍然有多条,则从中选出上行路径传输延迟最小的路径;如果上行路径传输延迟最小的路径有多条,则从中随机选一条,或者将多条路径一并作为已选路径。
步骤107-109还可以采用下述替代步骤:接收到节点广播的RREQ报文的网关,判断接收到的RREQ报文的接收次数是否超过预设的门限值,如果未超过,则沿反向路径向数据源节点发送RREP报文,该报文中携带网关标识,目的节点标识以及反向路径。采用替代步骤时,网关通过判断接收到相同RREQ报文的次数进行路径选择。
另外,网关的路径选择过程也可以不执行,也就是说,步骤107-109可以替换为:接收到节点广播的RREQ报文的网关,判断是否已接收过该RREQ报文,如果未接收过,则沿反向路径向数据源节点发送RREP报文,该报文中携带网关标识,目的节点标识以及反向路径;如果接收到过,则丢弃接收到的RREQ报文。
在RREQ和RREP报文的传输过程中,每一个接收到报文的节点可以根据需要进行路径Metrics值测量,路径Metrics值可以包括:上行、下行路径的容量,跳数,重传次数,路径传输延迟等。另外,具有路由路径的节点和网关还可以周期性按照需要测量路径的各种Metrics值,如上行、下行路径的容量、跳数、重传次数、路径传输延迟和延迟抖动。
步骤110,收到RREP报文的节点,判断自身是否为该报文的目的节点,如果是,则执行步骤111;否则,按照该报文中所包含的路径转发该报文。
步骤111,接收到RREP报文的数据源节点从该报文中取出并保存其中携带的路径和目的节点的射频ID,经过设定时间后,执行步骤112的路由选择过程
步骤112,数据源节点根据已获取的各条路径的下行路径容量进行路径选择。
数据源节点进行路径选择的具体方法可以为:数据源节点将下行路径容量最大的路径作为已选路径,将其它路径作为待选路径,根据多路径选路原则从待选路径中选择路由路径。
多路径选路原则是指:遍历所有待选路径,从中选出可以提高已选路径的路径容量的路径。具体实现可以为:
从待选路径中找出与已选路径和相应数据源节点的射频ID交点数最少的一条或多条路径,判断选出的路径与已选路径的交点数是否超过预设的门限值,如果未超过,则将选出的路径作为已选路径;如果已超过,则结束选路过程。
如果选出的与已选路径和相应数据源节点的射频ID交点数最少的路径不只一条,则可以进一步根据路径上的跳数多少、和/或路径上的下行网关容量大小,和/或下行路径传输延迟大小,从待选路径中选出一条或者多条路径作为已选路径。
一种较佳的实现方式为:
首先从待选路径中选出下行路径容量最大的路径,如果下行路径容量最大的路径有多条,则进一步从下行路径容量最大的路径中选出包含跳数最少的路径;
如果包含跳数最少的路径仍然有多条,则从包含跳数最少的路径中选出下行网关容量最大的路径;如果所选出的下行网关容量最大的路径仍然有多条,则从中选出下行路径传输延迟最小的路径;如果下行路径传输延迟最小的路径有多条,则从中随机选一条,或者将多条路径一并作为已选路径。
步骤113,数据源节点根据选出的路径进行数据传输。
具体可以包括如下步骤:
数据源节点根据选出的路径和对应路由上的Metrics值添加路由表项。每一个路由表项包含目的地址、下一跳节点地址、路径Metrics和源地址。此处对于数据源节点只需要添加上行路由表项,其中目的地址为对应路径上网关的地址,源地址为数据源节点的地址。数据源节点采用选出的所有路径发送数据时,向每一条路径发送路由激活报文,报文中携带路由路径和该路径的Metrics;每一条路径中处于数据源节点和网关之间的节点,即中继节点,在收到路由激活报文时,取出其中的路由路径和相应的Metrics值,添加路由表项,这里中继节点需要添加上行路由表项和下行路由表项,上行路由表项中目的地址为对应路径上网关的地址,源地址为数据源节点的地址;下行路由表项的源地址为对应路径上网关的地址,目的地址为数据源节点的地址。网关收到激活报文后,取出其中的路由路径和相应的Metrics值,添加路由表项,该路由表项为下行路由表项。
为了能够统计数据源节点的总流量,本发明实施例可以在步骤113所述数据源节点根据选出的路径和测量的路由Metrics值进行数据传输的过程中,进一步增加建立网关组的过程,一种具体的建立网关组的方式可以为:
数据源节点根据选出的路由路径,获取可达网关列表,并根据网关的下行可用带宽选择最大者作为主网关。需要进一步说明的是,主网关的选取标准不限于下行可用带宽最大。
另外,数据源节点以及路径中的节点在发送路由激活报文时,进一步在激活报文中携带网关组通告信息,包括选择的主网关ID和可达网关ID列表;网关在收到路由激活报文时,除进行路由创建,即添加路由路径外,进一步可以向数据源节点发送网关应答报文;数据源节点在收到主网关发送的网关应答报文时,开始发送数据。
为了能够实时更新网络组中不同网关的路由信息,该方法可以进一步包括:
网关组中的其余网关向主网关发送路由表更新信息;主网关收到其余网关发送的路由表更新信息后,更新本地路由表信息。
主网关统计数据源节点的数据流总量时,一种实现方式可以为:
网关组中接收到来自该数据源节点的数据时,实时统计该数据源节点的上下行流量,周期性向主网关发送流量信息报文;主网关收到来自网关组中其它网关的流量信息报文时,计算确定该数据源节点的总流量。
数据源节点通过多条路径发送数据时,需要周期性测量路径的各种Metrics值,进行路由维护。Metrics值包括上行、下行路径的容量、重传次数、路径传输延迟、以及延迟抖动等。以测量上行传输延迟为例给出一种实现路由维护的方式,如图3所示。图3为本发明实现路由维护的一种具体实施例的流程图,该流程包括如下步骤:
步骤301,数据源节点沿各路径发送上行传输延迟测量报文,报文中包含本地时间戳、路由路径以及该路径的下一跳节点。
步骤302,各条路径上,在数据源节点和网关之间的节点收到上行传输延迟测量报文后,向下一跳节点转发该报文。
步骤303,网关收到上行传输延迟测量报文后,取出其中携带的时间戳,计算路径上行传输延迟,沿对应的反向路径返回上行传输延迟应答报文,该应答报文中携带计算所得的上行传输延迟。
步骤304,数据源节点收到网关返回的上行传输延迟应答报文后,更新对应路径的上行传输延迟。
数据源节点需要和外网的某个节点进行对传输延迟有要求的业务会话时,数据源节点会选用满足传输延迟要求的路径,并按照所选路径的正向路径容量的比例进行上行数据传送。以图2的网络架构为例,如果数据源节点A选定的路径包括:A-B-C-G1和A-D-E-G2,这两个路径均满足数据源节点A要执行的业务对于传输延迟的要求,数据源节点A需要发送数据时,根据这两条路径的正向路径容量比进行数据传送,设定这两条路径的正向路径容量比为1:2,则数据源节点A按照1:2的比例在这两条路径上进行数据传输。
对于传输延迟受限的在线业务会话,由于新加入业务的冲击或者无线环境的变化,业务会话在使用的某条路径的Metrics不能满足需求时,数据源节点会为该业务会话重新选择可用路径。
以测量下行传输延迟为例给出一种实现路由维护的方式,具体包括:
网关沿下行路径向数据源节点发送下行传输延迟测量报文,该报文中携带本地时间戳;
数据源节点收到下行延迟采集报文后,取出其中携带的时间戳,计算对应路径的下行传输延迟,沿对应的反向路径向网关返回下行传输延迟应答报文,报文中含有计算所得的下行传输延迟;
网关收到数据源节点返回的下行传输延迟应答报文后,更新对应路径的下行传输延迟。
以测量上行路径容量为例给出一种实现路由维护的方式,具体包括:
数据源节点沿选出的各条路径向对应网关发送上行容量测量报文,每一个报文中携带发送该报文的链路的容量和该链路所用信道;
接收到上行容量测量报文的节点,在接收到的报文中添加以该节点为发端的,发送该报文的链路的容量和对应链路所用信道,转发该报文;
接收到上行容量测量报文的网关,计算对应路径的上行路径容量,向数据源节点发送上行容量应答报文,该应答报文中携带计算出的上行路径容量;
数据源节点收到网关返回的上行容量应答报文后,更新对应路径的上行路径容量。
以测量下行路径容量为例给出一种实现路由维护的方式,具体包括:
网关沿下行路径向数据源节点发送下行路径测量报文,该报文中添加发送该报文的链路的容量和对应链路所用信道;
接收到下行容量测量报文的节点,在该报文中添加以该节点为发端的,发送该报文的链路的容量和对应链路所用信道后,转发该报文;
接收到下行容量测量报文的数据源节点,计算对应路径的下行路径容量,向网关发送下行容量应答报文,该应答报文中携带计算出的下行路径容量;
网关收到数据源节点返回的下行容量应答报文后,更新对应路径的下行路径容量。
在路径容量确定过程中,所述链路的容量的确定方法可以为:
网络中的节点向所在链路的对端节点连续发送两个固定长度的测量报文;
对端节点计算接收到所述两个测量报文的时间差,再计算所述测量报文的固定长度与计算所得的时间差的比值,将其作为对应链路的链路容量,发送给所述节点,或者在收到所述节点的链路容量请求时,向所述节点返回所述比值。
还可以为:
网络中的节点向所在链路的对端节点发送多对固定长度的测量报文,每对报文的发送间隔为预先设定的固定值或在预先设定的时间长度内随机选取的值;
对端节点计算接收到的多对测试报文的时间差的平均值,计算所述测量报文的固定长度和计算所得的平均值的比值,将其作为对应链路的链路容量,发送给所述节点,或者在收到所述节点的链路容量请求时,向所述节点返回所述比值。
以测量上行重传次数为例给出一种实现路由维护的方式,具体包括:
数据源节点沿选出的各条路径向对应网关发送上行重传次数测量报文,在该报文中添加发送该报文的链路的丢包率;
接收到上行重传次数测量报文的节点,在接收到的报文中添加发送该报文的链路的丢包率后,转发该报文;
接收到上行重传次数测量报文的网关,计算对应路径的上行重传次数,向数据源节点发送上行重传次数应答报文,该应答报文中携带计算出的上行重传次数;
数据源节点收到网关返回的上行重传次数应答报文后,更新对应路径的上行重传次数。
以测量下行重传次数为例给出一种实现路由维护的方式,具体包括:
网关沿下行路径向对应数据源节点发送下行重传次数测量报文,在该报文中添加发送该报文的链路的丢包率;
接收到下行重传次数测量报文的节点,在该报文中添加发送该报文的链路的丢包率后,转发该报文;
接收到下行重传次数测量报文的数据源节点,计算对应路径的上行重传次数,向网关发送下行重传次数应答报文,该应答报文中携带计算出的下行重传次数;
网关收到数据源节点返回的下行重传次数应答报文后,更新对应路径的下行重传次数。
在确定下行重传次数的过程中,所述链路的丢包率的确定方法可以为:
网络中的节点向所在链路的对端节点发送多个固定长度的测量报文,报文发送间隔在设定的时间长度内随机选取,确定所发送的所有测量报文的重传次数之和,根据该值计算对应链路的丢包率;
链路的丢包率=该链路所发送的所有测量报文的重传次数之和/(该链路所发送的所有测量报文的重传次数之和+所发送测量报文的总数)。
以测量上行网关容量为例给出一种实现路由维护的方式,具体包括:
数据源节点沿选出的各条路径向对应网关发送上行网关容量测量报文;
接收到上行网关容量测量报文的网关,获取自身对应的上行网关容量,向所述数据源节点发送上行网关容量应答报文,报文中携带自身对应的上行网关容量;
数据源节点收到网关返回的上行网关容量应答报文后,更新对应路径的上行网关容量。
数据源节点和网关之间的节点,以下称为转发节点。如果转发节点存在两个或两个以上出口时,则该转发节点需要进行剪枝,保留一个统一的出口。
具体实现过程包括:
转发节点周期性判断自身与多个出口处的节点之间的链路是否满足主干路由标准;
将满足主干路由标准的链路设置为主干路径;
转发节点优选建立的主干路径进行数据转发,在确定该转发节点不通过旁支路由转发数据时,进行剪枝操作。
将满足主干路由标准的链路设置为主干路径的过程具体可以包括:
转发节点向满足主干路由标准的链路上的节点发送主干路径建立请求报文;接收到所述主干路径建立请求报文的节点向转发节点返回主干路径建立应答,添加路由表项;收到所述主干路由建立应答的节点添加路由表项。
转发节点进行剪枝操作具体包括:
如果转发节点只存在一个旁支路由,则确定不通过该旁支路由转发数据时,将该旁支的路由表中的数据源节点信息删除;
如果转发节点存在多个旁支路由,则确定不通过其中一个旁支路由转发数据时,删除使用该旁支的路由条目。
以图2所示网络架构为例,假设转发节点B具有两个不同的上行出口,一个为转发节点C,另一个为转发节点F,具体的实现剪枝的过程可以如图4所示,图4为本发明实现剪枝的方法实施例流程图,该流程包括如下步骤:
步骤401,若转发节点C到网关G1的链路是节点C的主干路由,则节点C向邻居节点发送主干路由指示报文,用以标明该节点已经建立主干路由。进一步,该报文可以使用Hello报文捎带传输。
步骤402,网络中的转发节点B收到来自节点C的主干路由指示报文后,周期性判定自身经由节点C的链路是否满足主干路由标准,在判定满足时,执行步骤403。
主干路由判决的原则可以为:使用该路由发送的数据量是本节点转发数据量中最大者,且转发数据量占到总数据量的比例超过预设的门限。
步骤403,节点B向节点C发送主干路径建立请求报文。
步骤404,节点C收到该主干路径建立请求报文后,回复主干路径建立应答,添加路由表项。该路由表项包含传输方向,下一跳和链路Metrics。其中,传输方向为下行。
这里,节点C回复主干路径建立应答前,进一步包括:判断是否已存在经由节点C的主干路由,如果存在,则向节点B回复主干路径建立拒绝报文;否则,向节点C回复主干路径建立应答,添加路由表项。
步骤405,转发节点B收到主干路径建立应答报文后,添加路由表项。该路由表项包含传输方向、下一跳节点和路径Metrics,其中传输方向为上行。
如果节点B收到主干路径建立拒绝报文,则不作处理,结束该流程。
步骤406,转发节点B优选主干路径对应的路由条目转发来自其它节点数据。一段时间后,当转发节点B不通过旁支路由转发上行数据时,则进行剪枝。
进一步说明,若数据源节点具有主干路由。对于本身产生的数据,使用非主干路由传输;对于转发数据,优选主干路由传输。
如果转发节点C除了转发节点B之外,还存在其它下行转发出口,则在节点B和节点C之间的主干路由建立后,节点C在发送下行数据时,进一步包括:下行剪枝过程。具体可以包括:
节点C进行下行数据传输时,优选到节点B的主干路由条目转发数据。一段时间后,当节点C不通过其它旁支转发下行数据时,进行剪枝。
剪枝的一种具体实现方式为:
若转发节点只存在一个旁支,将该旁枝的路由表中的数据源节点信息删除,将该路由作为备用路由;
如果转发节点存在多个旁支,则删除使用该旁支的路由条目。
为了避免由于网络中节点出现异常,导致数据源节点无法接入网络进行数据转发,本发明实施例提供的方法进一步可以包括:异常处理过程。
一种进行异常处理的具体实现过程包括:
在网络中转发节点所在的主干路由出现故障时,优选使用备用路由,若备用路由不存在时,转发节点向下层节点通告错误(RERR)报文。
下层节点收到RERR报文后,判断上层节点与自身间的路径是否在自身的主干路由上,如果不在自身的主干路由上,则该下层节点删除到该上层节点链路的路由条目;如果在自身的主干路由上,则该下层节点优选使用自身的备用路由,若备用路由不存在时,该下层节点向自身的下层节点通告RERR报文。
另外,若接收到RERR报文的节点为数据源节点或者数据接收节点,则在确定所有路由路径都不可用时,该数据源节点广播RREQ报文重新进行路由创建。这里,数据接收节点为Mesh网络内的下行目的节点。
为了抑止控制报文的扩散,本发明实施例提供的数据传输方法进一步可以采用分层机制,具体包括层号设置过程和层号更新过程。层号设置过程可以在邻居发现过程中实现,初始时可以将网关的层号设置为0或其它固定值,将网络中其它节点的层号均设置为无穷大,具体可以如图5所示,图5为本发明层号设置过程具体实施例的流程图,该流程包括:
步骤501,网络中的节点或网关周期性发送Hello报文,报文中含有本地层号;
步骤502,收到Hello报文的节点或网关,根据该报文中携带的层号更新本地层号信息。
如果收到Hello报文的节点处于上电后的初始状态,并且层号设置为无穷大,则当收到的Hello报文中携带的层号信息不是无穷大时,该节点调整节点本地层号,具体方式可以为:取出Hello报文中层号加一,和本地层号比较,若本地层号较大,更新本地层号为Hello报文中层号加一;
如果节点处于初始状态,层号为无穷大,根据接收到的Hello报文携带的层号信息调整节点本地层号:取出接收到的Hello报文中层号加一,和本地层号比较,若本地层号较大,更新本地层号为Hello报文中层号加一。
需要说明的是,节点上电后处于初始状态。
这里,若节点的层号从无穷大变为某个有效值时,经过设定时间长度后,节点的层号一直保持某一有效值不变,则该节点进入稳定状态。节点进入稳定状态后,将不再根据接收到的Hello报文中携带的层号信息更新本地层号。节点位于稳定状态时,若长时间没有收到层号较小节点的Hello报文,节点重新进入初始状态,层号设置为无穷大。
在网络中各个节点的层号都进入稳定状态后,该方法还可以进一步包括由网关周期性发起的层号更新过程,更新网络中各节点的层号,具体可以如图6所示,图6为本发明层号更新过程的具体实施例的流程图,该流程包括如下步骤:
步骤601,网关周期性创建层号更新(UPDATE_MSG)报文,该报文中含有层号信息,此处报文中层号为零,并将该报文发送给它的下层节点。
步骤602,收到网关所发送UPDATE_MSG报文的节点,在邻居表中更新网关的层号信息,根据网关的层号信息更新本地层号,使用本地层号构造UPDATE_MSG报文,并广播构造成的UPDATE_MSG报文。
更新本地层号的一种具体实现方式可以为:收到网关所发送UPDATE_MSG报文的节点取出UPDATE_MSG报文中携带的层号加一,和节点本地层号比较,若本地层号较大,更新节点本地层号为UPDATE_MSG报文层号加一。
步骤603,收到上层节点所发送的UPDATE_MSG报文的节点,在邻居表中更新上层节点的层号信息,根据上层节点的层号信息更新本地层号,使用本地层号构造UPDATE_MSG报文,并广播构造成的UPDATE_MSG报文。
当各个节点和网关均设置了层号后,在路由创建过程中,当数据源节点加入网络时,首先在多个信道间切换进行邻居发现,数据源节点选择所发现邻居节点中层号最小的节点所用信道,向网络广播RREQ报文,该报文中包含报文序号、源节点ID,目的节点ID以及路由路径。
处于网关与数据源节点之间的节点收到来自数据源节点的RREQ报文后,首先判断本地层号是否大于数据源节点的层号,如果不大于,丢弃该报文;如果大于,则可以进一步判断该RREQ报文是否为重复报文,即该序列号的报文是否已收到过,如果未收到过,则处理该报文;否则,丢弃该报文,或者进一步判断该报文的入链路和已收到过的RREQ报文是否相同,如果不同,则处理该报文;如果相同,则丢弃该报文,或者进一步判断接收到的RREQ报文对应的路径是否大于已收到的RREQ报文中入链路相同的路径的上行路径容量,如果大于,则处理该报文;否则丢弃接收到的RREQ报文。
本发明实施例同时还提供了一种节点,这种节点为数据源节点,即发送数据的节点,图7为本发明实施例提供的第一种节点的结构示意图,如图7所示,该节点至少包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及射频当前使用的信道;
路由创建请求单元,用于在邻居发现单元确定的射频上广播路由创建请求RREQ报文;
应答报文接收单元,用于接收网关返回的路由创建应答RREP报文;
路径选择单元,用于从应答报文接收单元接收到的RREP报文中取出其携带的路径,经过设定时间后,根据已获取的各条路径的下行路径容量进行路径选择;
数据传输单元,用于通过选出的路径进行数据传输。
该节点进一步可以包括:
网关组建立单元,用于根据路径选择单元选出的路径,获取可达网关列表,并从可达网关中选出主网关;在所选出的路径上发送网关组通告信息;接收到来自网关的网关应答报文;
在这种情况下,数据传输单元在网关组建立单元接收到主网关发送的网关应答报文后,进行数据传输。
该节点还可以进一步包括:
层号设置单元,用于向网络中周期性广播Hello报文,报文中携带本节点的层号;接收来自其它节点或网关的Hello报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值。
该节点还可以进一步包括:
层号更新单元,用于接收网关或上层节点广播的层号更新报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值;使用本地层号构造层号更新报文,并广播构造成的报文。
该节点还可以进一步包括:
错误报文接收单元,用于接收来自其它节点的RERR报文,在确定所有路径均不可用时,指令路由创建请求单元重新进行路由创建过程。
本发明实施例同时还提供了另一种节点,这种节点为转发节点,即转发数据报文的节点,图8为本发明实施例提供的第二种节点的结构示意图,如图8所示,该节点至少包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及向邻居节点转发报文的射频;
报文转发单元,用于根据邻居发现单元确定的射频,将下层节点发送的RREQ报文转发到上层节点;将上层节点发送的RREP报文转发给下层节点;
主干链路判断单元,用于在上层节点存在主干路由时,周期性判断自身与多个上行出口处的节点之间的链路是否满足主干路由标准;
主干路由创建单元,用于将满足主干路由标准的链路设置为主干路由;
数据发送单元,用于在发送数据时,优选主干路由进行数据传输。
该节点进一步可以包括:
剪枝单元,用于在该节点只存在一个旁支时,确定该节点不通过该旁支转发数据时,将该旁枝的路由表中的数据源节点信息删除;在所述节点存在多个旁支时,确定所述节点不通过其中一个旁支转发数据时,删除使用该旁支的路由条目。
该节点中的主干路由创建单元包括:
请求发送单元,用于向满足主干路由标准的链路上的节点发送主干路径建立请求报文;接收其它节点返回的主干路径建立应答,添加路由表项;
请 求接收单元,用于接收来自其它节点的主干路径建立请求报文,向对应节点返回主干路由建立应答,添加路由表项。
该节点还可以进一步包括:
故障处理单元,用于在该节点所在主干路由出现故障时,优选使用备用路由,若备用路由不存在时,向下层节点通告错误RERR报文;接收来自其它节点的RERR报文,判断自身与发送RERR报文的节点间的链路是否在自身的主干路由上,如果否,则删除自身到发送该RERR报文的节点的路由条目;如果是,则优选使用自身的备用路由,若备用路由不存在时,向下层节点通告RERR报文。
该节点还可以进一步包括:
层号设置单元,用于向网络中周期性广播Hello报文,报文中携带本节点的层号;接收来自其它节点或网关的Hello报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值。
该节点还可以进一步包括:
层号更新单元,用于接收网关或上层节点广播的层号更新报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值;使用本地层号构造层号更新报文,并广播构造成的报文。
需要说明的是,本发明提供的上述两种节点可以分别独立设置,对应为数据源节点和转发节点,当然也可以在一个节点中设置上述两种节点所包含的全部功能模块,相当于同一个节点即可以作为数据源节点,也可以作为转发节点。
本发明实施例同时公开了一种网关,图9为本发明实施例提供的网关的结构示意图,如图9所示,该网关至少包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及向邻居节点转发报文的射频;
路由创建接收单元,用于接收来自数据源节点的RREQ报文;
路由创建应答单元,用于通过所述RREQ报文所携带的路径的反向路径,向所述数据源节点返回RREP报文。
该网关进一步可以包括:
网关路径选择单元,用于从路由创建接收单元接收到的RREQ报文中取出其携带的路径;经过设定时间后,根据已获取的各条路径的上行路径容量进行路径选择;
在这种情况下,路由创建应答单元通过网关路径选择单元选择的路径的反向路径,向数据源节点返回RREP报文。
该网关进一步可以包括:
报文处理单元,用于判断接收到的RREQ报文的接收次数是否超过预设的门限值,如果超过,则丢弃该RREQ报文;否则,
在这种情况下,路由创建应答单元通过该RREQ报文所携带路径的反向路径向数据源节点返回RREP报文。
该网关进一步可以包括:
层号更新单元,用于周期性创建层号更新报文,该报文中携带本网关的层号信息,向下层节点广播创建的层号更新报文。
该网关进一步可以包括:
流量统计单元,用于统计数据源节点的上下行流量,向主网关发送流量信息报文;或者接收并处理来自非主网关发送的流量信息报文,统计数据源节点的上下行流量。
由以上实施例可知,本发明实施例所提供方案中,数据源节点在选定的信道上广播路由创建请求RREQ报文;接收到该RREQ报文的网关向数据源节点返回路由创建应答RREP报文;数据源节点接收到RREP报文时,取出其中携带的路径;经过设定时间后,根据已获取的各条路径的下行路径容量进行路径选择,并通过选出的路径和相应路径上的路由Metrics值进行数据传输。这样,本发明实施例提供了一种多归属多路径路由机制,为每个需要路由路径的数据源节点选取多条可以并行传输的路径,在选择路径时,考虑所选路径对于端到端吞吐量的贡献,即按照下行路径容量的大小选择路径,因此可以在消除网络瓶颈的同时,提高网络支撑的端到端吞吐量。
同时,本发明实施例还提供了建立网关组,设置主网关的方法,利用设置的主网关以及提供的流程可以进行数据源节点总流量的统计。
本发明实施例还提供了剪枝过程,使得每一个节点上的转发流量尽可能集中到一条路径上,并将旁支路径设置为备用路径,从而在主干路径出现故障时,通过备用路由进行数据传输,保证数据传输的正常进行。
本发明实施例还提供了分层机制,包括层号设置和层号更新过程。通过为网络中的节点和网关设置层号,可以抑止控制报文的扩散。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (46)
1、一种数据传输方法,其特征在于,包括:
数据源节点在选定的射频上广播路由创建请求RREQ报文;
所述数据源节点接收一个或多个网关,根据接收到的RREQ报文返回的路由创建应答RREP报文,获取接收到的RREP报文中携带的由对应网关到所述数据源节点的路径;根据获取的各条路径的下行路径容量进行路径选择;
通过选出的路径进行数据传输。
2、如权利要求1所述的方法,其特征在于,所述一个和多个网关向所述数据源节点返回RREP报文前,该方法进一步包括:
所述一个和多个网关从接收到的RREQ报文中,获取其中携带的从所述数据源节点到对应网关的路径;根据获取的各条路径的上行路径容量进行路径选择;
相应地,所述一个和多个网关通过所选择的路径的反向路径,向所述数据源节点返回RREP报文。
3、如权利要求2所述的方法,其特征在于,所述根据已获取的各条路径的上行路径容量进行路径选择包括:
将上行路径容量最大的路径作为已选路径,将其它路径作为待选路径;遍历所有待选路径,从中选出可以提高已选路径的路径容量的路径。
4、如权利要求3所述的方法,其特征在于,所述选出可以提高已选路径的上行路径容量的路径包括:
从所述待选路径中找出与已选路径交点数最少的一条或多条路径,判断选出的路径与已选路径的交点数是否超过预设的门限值,如果未超过,则将选出的路径作为已选路径;如果已超过,则结束选路过程。
5、如权利要求4所述的方法,其特征在于,如果选出的与已选路径交点数最少的路径不只一条,则进一步包括:
根据选出的与已选路径交点数最少的路径上的跳数多少、和/或上行网关容量大小,和/或上行路径传输延迟大小,选出一条或者多条路径作为已选路径。
6、如权利要求5所述的方法,其特征在于,如果选出的与已选路径交点数最少的路径不只一条,则从中选出一条作为已选路径的方法具体包括:
从选出的与已选路径交点数最少的路径中选出上行路径容量最大的路径,如果选出的上行路径容量最大的路径有多条,则进一步从选出的上行路径容量最大的路径中选出包含跳数最少的路径;
如果选出的包含跳数最少的路径有多条,则从选出的包含跳数最少的路径中选出上行网关容量最大的路径;如果选出的上行网关容量最大的路径有多条,则从中选出上行路径传输延迟最小的路径;如果上行路径传输延迟最小的路径有多条,则从中随机选一条作为已选路径。
7、如权利要求1所述的方法,其特征在于,所述一个和多个网关向所述数据源节点返回RREP报文前,该方法进一步包括:
所述一个和多个网关判断接收到的RREQ报文的接收次数是否超过预设的门限值,如果超过,则丢弃该RREQ报文;否则沿接收到的RREQ报文所携带路径的反向路径向所述数据源节点返回RREP报文。
8、如权利要求1所述的方法,其特征在于,所述根据已获取的各条路径的下行路径容量进行路径选择包括:
将下行路径容量最大的路径作为已选路径,将其它路径作为待选路径;遍历所有待选路径,从中选出可以提高已选路径的路径容量的路径。
9、如权利要求8所述的方法,其特征在于,所述选出可以提高已选路径的下行路径容量的路径包括:
从所述待选路径中找出与已选路径交点数最少的一条或多条路径,判断选出的路径与已选路径的交点数是否超过预设的门限值,如果未超过,则将选出的路径作为已选路径;如果已超过,则结束选路过程。
10、如权利要求9所述的方法,其特征在于,如果选出的与已选路径交点数最少的路径不只一条,则进一步包括:
根据选出的与已选路径交点数最少的路径上的跳数多少、和/或下行网关容量大小,和/或下行路径传输延迟大小,选出一条或者多条路径作为已选路径。
11、如权利要求10所述的方法,其特征在于,如果选出的与已选路径交点数最少的路径不只一条,则从中选出一条作为已选路径的方法具体包括:
从选出的与已选路径交点数最少的路径中选出下行路径容量最大的路径,如果选出的下行路径容量最大的路径有多条,则进一步从选出的下行路径容量最大的路径中选出包含跳数最少的路径;
如果选出的包含跳数最少的路径有多条,则从选出的包含跳数最少的路径中选出下行网关容量最大的路径;如果选出的下行网关容量最大的路径有多条,则从中选出下行路径传输延迟最小的路径;如果下行路径传输延迟最小的路径有多条,则从中随机选一条作为已选路径。
12、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述数据源节点根据选出的路径,获取可达网关列表,并从可达网关中选出主网关;
所述数据源节点在所选出的路径上发送网关组通告信息;
接收到所述网关组通告信息的网关,向所述数据源节点发送网关应答报文;
所述数据源节点接收到来自所述主网关的网关应答报文后,开始进行数据传输。
13、如权利要求12所述的方法,其特征在于,所述从可达网关中选出主网关为:从可达网关中选出下行可用带宽最大的网关作为主网关。
14、如权利要求13所述的方法,其特征在于,该方法进一步包括:
非主网关向所述主网关发送路由表更新信息;
所述主网关收到非主网关发送的路由表更新信息后,更新本地路由表信息。
15、如权利要求11所述的方法,其特征在于,该方法进一步包括:
所述网关接收到来自所述数据源节点的数据时,实时统计所述数据源节点的上下行流量;
所述非主网关周期性地向所述主网关发送流量信息报文;
所述主网关收到来自非主网关的流量信息报文时,计算确定该数据源节点的总流量。
16、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述数据源节点沿选出的各条路径向对应网关发送上行传输延迟测量报文,该报文中具有本地时间戳;
所述网关收到所述上行传输延迟测量报文后,取出其中携带的时间戳,计算路径上行传输延迟,沿对应的反向路径返回上行传输延迟应答报文,该应答报文中含有计算所得的上行传输延迟;
所述数据源节点收到所述网关返回的上行延迟应答报文后,更新对应路径的上行传输延迟。
17、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述数据源节点沿选出的各条路径向对应网关发送上行容量测量报文,每一个报文中携带发送该报文的链路的容量和该链路所用信道;
接收到上行容量测量报文的节点,在接收到的报文中添加以该节点为发端的,发送该报文的链路的容量和对应链路所用信道,转发该报文;
接收到上行容量测量报文的网关,计算对应路径的上行路径容量,向所述数据源节点发送上行容量应答报文,该应答报文中携带计算出的上行路径容量;
所述数据源节点收到所述网关返回的上行容量应答报文后,更新对应路径的上行路径容量。
18、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述网关沿下行路径向数据源节点发送下行路径测量报文,该报文中添加发送该报文的链路的容量和对应链路所用信道;
接收到下行容量测量报文的节点,在该报文中添加以该节点为发端的,发送该报文的链路的容量和对应链路所用信道后,转发该报文;
接收到下行容量测量报文的数据源节点,计算对应路径的下行路径容量,向所述网关发送下行容量应答报文,该应答报文中携带计算出的下行路径容量;
所述网关收到所述数据源节点返回的下行容量应答报文后,更新对应路径的下行路径容量。
19、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述数据源节点沿选出的各条路径向对应网关发送上行重传次数测量报文,在该报文中添加发送该报文的链路的丢包率;
接收到上行重传次数测量报文的节点,在接收到的报文中添加发送该报文的链路的丢包率后,转发该报文;
接收到上行重传次数测量报文的网关,计算对应路径的上行重传次数,向所述数据源节点发送上行重传次数应答报文,该应答报文中携带计算出的上行重传次数;
所述数据源节点收到所述网关返回的上行重传次数应答报文后,更新对应路径的上行重传次数。
20、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述网关沿下行路径向对应数据源节点发送下行重传次数测量报文,在该报文中添加发送该报文的链路的丢包率;
接收到下行重传次数测量报文的节点,在该报文中添加发送该报文的链路的丢包率后,转发该报文;
接收到所述下行重传次数测量报文的数据源节点,计算对应路径的上行重传次数,向所述网关发送下行重传次数应答报文,该应答报文中携带计算出的下行重传次数;
所述网关收到所述数据源节点返回的下行重传次数应答报文后,更新对应路径的下行重传次数。
21、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述数据源节点沿选出的各条路径向对应网关发送上行网关容量测量报文;
接收到上行网关容量测量报文的网关,获取自身对应的上行网关容量,向所述数据源节点发送上行网关容量应答报文,报文中携带自身对应的上行网关容量;
所述数据源节点收到所述网关返回的上行网关容量应答报文后,更新对应路径的上行网关容量。
22、如权利要求1所述的方法,其特征在于,该方法进一步包括:
所述网关沿下行路径向数据源节点发送下行传输延迟测量报文,该报文中具有本地时间戳;
所述数据源节点收到所述下行延迟采集报文后,取出时间戳,计算路径下行传输延迟,沿对应的反向路径返回所述下行传输延迟应答报文,报文中含有下行传输延迟;
所述网关收到所述数据源返回的延迟应答报文后,更新对应路径的下行传输延迟。
23、如权利要求1所述的方法,其特征在于,所述数据源节点和网关之间的路径上的转发节点存在两个或两个以上出口时,该方法进一步包括:
所述转发节点周期性判断自身与多个出口处的节点之间的链路是否满足主干路由标准;
将满足主干路由标准的链路设置为主干路径;
所述转发节点优选建立的主干路径进行数据转发,在确定旁支路由的转发流量为0时,进行剪枝操作。
24、如权利要求23所述的方法,其特征在于,所述将满足主干路由标准的链路设置为主干路径具体包括:
所述转发节点向满足主干路由标准的链路上的节点发送主干路径建立请求报文;
接收到所述主干路径建立请求报文的节点向所述转发节点返回主干路径建立应答,添加路由表项;
收到所述主干路由建立应答的节点添加路由表项。
25、如权利要求24所述的方法,其特征在于,所述进行剪枝操作包括:
如果所述转发节点只存在一个旁支,则确定该转发节点不通过该旁支转发数据时,将该旁枝的路由表中的数据源节点信息删除,创建备用路由;
如果所述转发节点存在多个旁支,则确定该转发节点不通过其中一个旁支转发数据时,删除使用该旁支的路由条目。
26、如权利要求1所述的方法,其特征在于,该方法进一步包括:
在网络中转发节点所在的主干路由出现故障时,优选使用备用路由,若备用路由不存在时,转发节点向下层节点通告错误RERR报文;
收到所述RERR报文的节点,判断自身与发送该报文的节点间的链路是否在自身的主干路由上,如果否,则删除自身到发送该报文的节点的路由条目;如果是,则该节点优选使用自身的备用路由,若备用路由不存在时,该节点向自身的下层节点通告RERR报文;
如果接收到所述RERR报文的节点为数据源节点,则在确定所有路径均不可用时,重新进行路由创建过程。
27、如权利要求1所述的方法,其特征在于,该方法进一步包括:层号设置过程,具体包括:
初始时将网关的层号设置为0或其它固定值,将网络中节点的层号均设置为无穷大;
网络中的节点或网关周期性发送Hello报文,报文中含有本节点或本网关的层号;
收到所述Hello报文的节点或网关,计算Hello报文中层号加一,比较计算所得值与本地层号,若本地层号较大,更新本地层号为计算所得的值。
28、如权利要求27所述的方法,其特征在于,该方法进一步包括:层号更新过程,具体包括:
所述网关周期性创建层号更新报文,该报文中含有网关的层号信息,并将该报文发送给它的下层节点;
收到所述层号更新报文的节点,根据其中携带的层号信息更新本地层号,使用本地层号构造层号更新报文,并广播构造成的报文。
29、如权利要求28所述的方法,其特征在于,所述更新本地层号为:收到所述层号更新报文的节点取出该报文中携带的层号加一,比较计算所得的值与本地层号,若本地层号较大,更新本地层号为计算所得的值。
30、如权利要求1所述的方法,其特征在于,所述数据源节点在选定的射频上广播RREQ报文中,所述射频的确定方法为:
所述数据源节点进行邻居发现,确定邻居节点,以及每个邻居节点所对应的射频和射频所用信道;
所述数据源节点在与所述邻居节点关联的所有射频上广播RREQ报文。
31、一种节点,其特征在于,包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及发送RREQ报文的射频;
路由创建请求单元,用于在所述邻居发现单元确定的射频上广播路由创建请求RREQ报文;
应答报文接收单元,用于接收网关返回的路由创建应答RREP报文;
路径选择单元,用于从所述RREP报文中取出其携带的路径,经过设定时间后,根据已获取的各条路径的下行路径容量进行路径选择;
数据传输单元,用于通过选出的路径进行数据传输。
32、如权利要求31所述的节点,其特征在于,该节点进一步包括:
网关组建立单元,用于根据所述路径选择单元选出的路径,获取可达网关列表,并从可达网关中选出主网关;在所选出的路径上发送网关组通告信息;接收到来自所述网关的网关应答报文;
所述数据传输单元在所述网关组建立单元接收到所述主网关发送的网关应答报文后,进行数据传输。
33、如权利要求31所述的节点,其特征在于,该节点进一步包括:
层号设置单元,用于向网络中周期性广播Hello报文,报文中携带本节点的层号;接收来自其它节点或网关的Hello报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值。
34、如权利要求31所述的节点,其特征在于,该节点进一步包括:
层号更新单元,用于接收网关或上层节点广播的层号更新报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值;使用本地层号构造层号更新报文,并广播构造成的报文。
35、如权利要求31所述的节点,其特征在于,进一步包括:
错误报文接收单元,用于接收来自其它节点的RERR报文,在确定所有路径均不可用时,指令所述路由创建请求单元重新进行路由创建过程。
36、一种节点,其特征在于,包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及向邻居节点转发报文的射频;
报文转发单元,用于根据邻居发现单元确定的射频,将下层节点发送的RREQ报文转发到上层节点;将上层节点发送的RREP报文转发给下层节点;
主干链路判断单元,用于在上层节点存在主干路由时,周期性判断自身与多个上行出口处的节点之间的链路是否满足主干路由标准;
主干路由创建单元,用于将满足主干路由标准的链路设置为主干路由;
数据发送单元,用于在转发数据时,优选主干路由进行数据传输。
37、如权利要求36所述的节点,其特征在于,该节点进一步包括:
剪枝单元,用于在所述节点只存在一个旁支时,在确定所述节点不通过该旁支转发数据时,将该旁枝的路由表中的数据源节点信息删除;在所述节点存在多个旁支时,确定所述节点不通过其中一个旁支转发数据时,删除使用该旁支的路由条目。
38、如权利要求36所述的节点,其特征在于,所述主干路由创建单元包括:
请求发送单元,用于向满足主干路由标准的链路上的节点发送主干路径建立请求报文;接收其它节点返回的主干路径建立应答,添加路由表项;
请求接收单元,用于接收来自其它节点的主干路径建立请求报文,向对应节点返回主干路由建立应答,添加路由表项。
39、如权利要求36所述的节点,其特征在于,进一步包括:
故障处理单元,用于在该节点所在主干路由出现故障时,优选使用备用路由,若备用路由不存在时,向下层节点通告错误RERR报文;接收来自其它节点的RERR报文,判断自身与发送RERR报文的节点间的链路是否在自身的主干路由上,如果否,则删除自身到发送该RERR报文的节点的路由条目;如果是,则优选使用自身的备用路由,若备用路由不存在时,向下层节点通告RERR报文。
40、如权利要求36所述的节点,其特征在于,该节点进一步包括:
层号设置单元,用于向网络中周期性广播Hello报文,报文中携带本节点的层号;接收来自其它节点或网关的Hello报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值。
41、如权利要求36所述的节点,其特征在于,该节点进一步包括:
层号更新单元,用于接收网关或上层节点广播的层号更新报文,计算该报文中携带的层号加1,比较计算所得的值与本地层号,如果本地层号较大,更新本地层号为计算所得的值;使用本地层号构造层号更新报文,并广播构造成的报文。
42、一种网关,其特征在于,包括:
邻居发现单元,用于进行邻居发现,确定邻居节点以及向邻居节点转发报文的射频;
路由创建接收单元,用于接收来自数据源节点的RREQ报文;
路由创建应答单元,用于通过所述RREQ报文所携带的路径的反向路径,向所述数据源节点返回RREP报文。
43、如权利要求42所述的网关,其特征在于,所述网关进一步包括:
网关路径选择单元,用于从所述路由创建接收单元接收到的RREQ报文中取出其携带的路径;经过设定时间后,根据已获取的各条路径的上行路径容量进行路径选择;
所述路由创建应答单元,通过所述网关路径选择单元选择的路径的反向路径,向所述数据源节点返回RREP报文。
44、如权利要求42所述的网关,其特征在于,所述网关进一步包括:
报文处理单元,用于判断接收到的RREQ报文的接收次数是否超过预设的门限值,如果超过,则丢弃该RREQ报文;否则,
所述路由创建应答单元通过该RREQ报文所携带路径的反向路径向所述数据源节点返回RREP报文。
45、如权利要求42所述的网关,其特征在于,该网关进一步包括:
层号更新单元,用于周期性创建层号更新报文,该报文中携带本网关的层号信息,向下层节点广播创建的层号更新报文。
46、如权利要求42所述的网关,其特征在于,该网关进一步包括:
流量统计单元,用于统计数据源节点的上下行流量,向主网关发送流量信息报文;或者接收并处理来自非主网关发送的流量信息报文,统计数据源节点的上下行流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101474414A CN101388831B (zh) | 2007-09-14 | 2007-09-14 | 数据传输方法、节点及网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101474414A CN101388831B (zh) | 2007-09-14 | 2007-09-14 | 数据传输方法、节点及网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101388831A true CN101388831A (zh) | 2009-03-18 |
CN101388831B CN101388831B (zh) | 2011-09-21 |
Family
ID=40478026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101474414A Expired - Fee Related CN101388831B (zh) | 2007-09-14 | 2007-09-14 | 数据传输方法、节点及网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101388831B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170660A (zh) * | 2011-05-11 | 2011-08-31 | 北京交通大学 | 一种以aodv为基础的多路径路由的建立方法和系统 |
CN102395174A (zh) * | 2011-06-29 | 2012-03-28 | 电子科技大学 | 一种用于自组织网络的抗干扰路由方法 |
CN102845013A (zh) * | 2011-04-22 | 2012-12-26 | 华为技术有限公司 | 数据传输方法以及装置 |
CN101877900B (zh) * | 2009-11-06 | 2013-03-20 | 湖北汽车工业学院 | 一种车辆间数据路由方法 |
CN103067271A (zh) * | 2011-10-19 | 2013-04-24 | 中兴通讯股份有限公司 | 双向路径的实现方法及装置 |
US20140254595A1 (en) * | 2012-02-21 | 2014-09-11 | Qualcomm Incorporated | Internet routing over a service-oriented architecture bus |
WO2015101026A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 分布式流处理系统的容错方法、节点及系统 |
CN104935514A (zh) * | 2014-11-14 | 2015-09-23 | 北京盈进科技有限公司 | 一种路径分配方法和装置 |
CN105164981A (zh) * | 2013-03-15 | 2015-12-16 | 谷歌公司 | 用于选择最低延迟路径的系统和方法 |
CN108965138A (zh) * | 2018-09-14 | 2018-12-07 | 常熟理工学院 | 一种新一代多媒体传感网的实现方法 |
WO2019034099A1 (en) * | 2017-08-18 | 2019-02-21 | Huawei Technologies Co., Ltd. | LOAD BALANCING BASED ON MICRO-FLOWS |
CN109873878A (zh) * | 2019-04-01 | 2019-06-11 | 宁波奥克斯电气股份有限公司 | 电子终端的通信连接方法与装置及电子终端、存储介质 |
CN110597435A (zh) * | 2019-09-05 | 2019-12-20 | 北京蒙奇迪科技发展有限公司 | 一种跨页复选系统及方法 |
CN111628992A (zh) * | 2020-05-26 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种多人通话控制方法、装置、电子设备及存储介质 |
CN112543488A (zh) * | 2019-09-20 | 2021-03-23 | 瑞达凯特科技(加拿大)有限公司 | 一种中继路由方法及设备 |
CN112911674A (zh) * | 2021-02-05 | 2021-06-04 | 贵州久华信电子技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113316213A (zh) * | 2021-05-25 | 2021-08-27 | 北京小米移动软件有限公司 | 多跳网络以及多跳网络的控制方法,存储介质 |
CN114257465A (zh) * | 2020-09-11 | 2022-03-29 | 中国移动通信有限公司研究院 | 设备交互方法、装置、系统、超级节点及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1475926B1 (en) * | 2003-05-05 | 2009-04-22 | Samsung Electronics Co., Ltd. | Routing system for establishing optimal route in wireless personal area network (WPAN) and method thereof |
CN1777139A (zh) * | 2005-11-30 | 2006-05-24 | 武汉理工大学 | 一种基于能量控制的manet路由选择方法 |
CN101026571A (zh) * | 2006-02-08 | 2007-08-29 | 株式会社Ntt都科摩 | 移动终端、无线通信系统和移动终端的控制方法 |
-
2007
- 2007-09-14 CN CN2007101474414A patent/CN101388831B/zh not_active Expired - Fee Related
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877900B (zh) * | 2009-11-06 | 2013-03-20 | 湖北汽车工业学院 | 一种车辆间数据路由方法 |
CN102845013B (zh) * | 2011-04-22 | 2016-08-03 | 华为技术有限公司 | 数据传输方法以及装置 |
CN102845013A (zh) * | 2011-04-22 | 2012-12-26 | 华为技术有限公司 | 数据传输方法以及装置 |
CN102170660A (zh) * | 2011-05-11 | 2011-08-31 | 北京交通大学 | 一种以aodv为基础的多路径路由的建立方法和系统 |
CN102395174A (zh) * | 2011-06-29 | 2012-03-28 | 电子科技大学 | 一种用于自组织网络的抗干扰路由方法 |
CN102395174B (zh) * | 2011-06-29 | 2013-09-25 | 电子科技大学 | 一种用于自组织网络的抗干扰路由方法 |
CN103067271A (zh) * | 2011-10-19 | 2013-04-24 | 中兴通讯股份有限公司 | 双向路径的实现方法及装置 |
US20140254595A1 (en) * | 2012-02-21 | 2014-09-11 | Qualcomm Incorporated | Internet routing over a service-oriented architecture bus |
US9621458B2 (en) | 2012-02-21 | 2017-04-11 | Qualcomm Incorporated | Internet routing over a service-oriented architecture bus |
CN105164981A (zh) * | 2013-03-15 | 2015-12-16 | 谷歌公司 | 用于选择最低延迟路径的系统和方法 |
US10205630B2 (en) | 2013-12-31 | 2019-02-12 | Huawei Technologies Co., Ltd. | Fault tolerance method for distributed stream processing system |
WO2015101026A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 分布式流处理系统的容错方法、节点及系统 |
CN104935514B (zh) * | 2014-11-14 | 2017-12-12 | 北京盈进科技有限公司 | 一种路径分配方法和装置 |
CN104935514A (zh) * | 2014-11-14 | 2015-09-23 | 北京盈进科技有限公司 | 一种路径分配方法和装置 |
WO2019034099A1 (en) * | 2017-08-18 | 2019-02-21 | Huawei Technologies Co., Ltd. | LOAD BALANCING BASED ON MICRO-FLOWS |
CN108965138B (zh) * | 2018-09-14 | 2020-08-25 | 常熟理工学院 | 一种新一代多媒体传感网的实现方法 |
CN108965138A (zh) * | 2018-09-14 | 2018-12-07 | 常熟理工学院 | 一种新一代多媒体传感网的实现方法 |
CN109873878B (zh) * | 2019-04-01 | 2021-08-24 | 宁波奥克斯电气股份有限公司 | 电子终端的通信连接方法与装置及电子终端、存储介质 |
CN109873878A (zh) * | 2019-04-01 | 2019-06-11 | 宁波奥克斯电气股份有限公司 | 电子终端的通信连接方法与装置及电子终端、存储介质 |
CN110597435A (zh) * | 2019-09-05 | 2019-12-20 | 北京蒙奇迪科技发展有限公司 | 一种跨页复选系统及方法 |
CN112543488A (zh) * | 2019-09-20 | 2021-03-23 | 瑞达凯特科技(加拿大)有限公司 | 一种中继路由方法及设备 |
CN111628992A (zh) * | 2020-05-26 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种多人通话控制方法、装置、电子设备及存储介质 |
CN111628992B (zh) * | 2020-05-26 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 一种多人通话控制方法、装置、电子设备及存储介质 |
CN114257465A (zh) * | 2020-09-11 | 2022-03-29 | 中国移动通信有限公司研究院 | 设备交互方法、装置、系统、超级节点及存储介质 |
CN114257465B (zh) * | 2020-09-11 | 2023-09-05 | 中国移动通信有限公司研究院 | 设备交互方法、装置、系统、超级节点及存储介质 |
CN112911674A (zh) * | 2021-02-05 | 2021-06-04 | 贵州久华信电子技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN112911674B (zh) * | 2021-02-05 | 2023-02-17 | 贵州久华信电子技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113316213A (zh) * | 2021-05-25 | 2021-08-27 | 北京小米移动软件有限公司 | 多跳网络以及多跳网络的控制方法,存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101388831B (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101388831B (zh) | 数据传输方法、节点及网关 | |
US8432820B2 (en) | Radio and bandwidth aware routing metric for multi-radio multi-channel multi-hop wireless networks | |
KR100912330B1 (ko) | 무선망에서 라우트를 정찰하는 시스템 및 방법 | |
EP1877909B1 (en) | Multi-node communication system and method of requesting, reporting and collecting destination-node-based measurements and route-based measurements | |
US7184421B1 (en) | Method and apparatus for on demand multicast and unicast using controlled flood multicast communications | |
Zhou et al. | Load-balanced wireless ad hoc routing | |
CN101030941B (zh) | 移动终端装置、控制方法以及移动通信系统 | |
CN101517983B (zh) | 与移动无线网络中ip业务的路由有关的设备和方法 | |
WO2006044836A2 (en) | Determining bidirectional path quality within a wireless mesh network | |
TW200524344A (en) | Cost determination in a multihop network | |
CN105847278A (zh) | 一种分布式自适应传输路由协议 | |
CN101932062A (zh) | 一种Ad Hoc网络环境下的多路径路由方法 | |
CN106162787B (zh) | 一种路由建立方法及装置 | |
CN104735743B (zh) | 嵌入式无线自组织网络的路由优化方法 | |
EP2092693A1 (en) | System and method for mobility in multihop networks | |
CN1953582B (zh) | 无线通信终端以及服务质量信息收集方法 | |
CN110831006B (zh) | 自组网系统及其数据传输方法 | |
Hassanein et al. | Load-aware destination-controlled routing for MANETs | |
So et al. | Routing and channel assignment in multi-channel multi-hop wireless networks with single network interface | |
CN104053208B (zh) | 无线自组网中基于信道分配的路由方法、装置 | |
CN110445720A (zh) | 路由表更新方法、装置、飞行器及存储介质 | |
Boushaba et al. | Best path to best gateway scheme for multichannel multi-interface wireless mesh networks | |
Chowdhury et al. | XCHARM: A routing protocol for multi-channel wireless mesh networks | |
Ye et al. | Use of congestion-aware routing to spatially separate TCP connections in wireless ad hoc networks | |
Pramod et al. | Characterization of wireless mesh network performance in an experimental test bed |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110921 Termination date: 20160914 |