用于动态度量和无线hello协议的方法和系统的制作方法

文档序号:6456405阅读:513来源:国知局
专利名称:用于动态度量和无线hello协议的方法和系统的制作方法
技术领域
本发明大体涉及无线网络,更具体地,涉及无线网状网络(meshnetwork)中使用的动态度量和无线hello协议的方法和系统。

背景技术
随着最近在计算机和无线通信中的技术进步,移动无线计算已经被越来越广泛地使用和应用。由于不受导线的限制,具有移动计算设备的用户可以方便地自由移动,并且在没有固定基础设施的情况下会经常需要相互通信。在这种情况下,他们可以形成移动自组织网络(MANETmobile ad hoc network)或移动无线网状网络。移动无线网状网络是无线移动路由器(及相关联主机)的自治系统,其可以随意移动并且将它们自己重组为没有任何基本的基干和基础设施的任意网络。
除了移动无线网状网络之外,最近还出现了固定无线网状网络的有意思的商业应用。这种商业应用的一个示例是“社区无线网络”,其用于向以前不能进行宽带互联网接入的社区提供这种接入。在这些固定的“社区无线网络”中,网络中的各无线路由器不仅为关联的用户提供互联网接入,而且也是网络基础设施的一部分并且可以通过无线网状网络将数据发送到其目的地。路由的无线网状网络高度灵活并且具有固有容错能力。其简化了视线问题并且利用最小量的网络基础设施和互连成本而扩展了网络的到达和覆盖范围。
还存在混合无线网状网络,其中一些网状路由器是移动的,而其他路由器不是移动的。在任何情况下(无论是移动的、固定的、还是混合的),无线网状网络都具有一些显著的特性,例如高度动态、自治、对等、多跳、常常有限的带宽以及计算能力等等。无线网状网络高度动态的原因有两个第一,路由器本身可以移动(例如,位于移动或混合无线网状网络中),导致快速的拓扑改变。第二,即使路由器本身不移动(例如,位于固定的无线网状网络中),无线链路质量由于干扰、地理和环境因素等也会非常快速地变化。为有线基础设施而设计的传统路由协议(例如,OSPF、RIP)不能处理这种快速变化。另一方面,许多自组织路由协议(例如,AODV)缺少灵活地适应无线链路质量变化的能力。
路由协议在传统上集中于寻找具有最少跳数的路径。然而,这种路径会包括缓慢的或有损耗的链路,从而导致较差的吞吐量。这些有损耗的链路差到足以削弱包转发性能,但是还没有差到防碍路由协议使用这些链路来转发业务。


发明内容
本发明公开了用于无线网状网络的动态度量和无线hello协议的方法和系统。在一个实施方式中,一种计算机实现方法包括确定包(packet)经过网状网络的路由(route)。估计网状网络中的第一节点和第二节点之间传送所述包所需的第一时间段。将所述第一时间段标准化以生成标准化值。利用所述标准化值来计算路径。
现在来参照附图对包括实现的各种新颖细节和要素的组合的上述和其他优选特征进行更具体的描述,并在权利要求中指出。可以理解此处描述的具体方法和系统仅通过例示的方式示出而不是作为限制。本领域技术人员可以理解,在不偏离本发明的范围的情况下可以在各种大量的实施方式中采用此处描述的原理和特征。



被包括进来作为本说明书的一部分的附图示出了本发明的当前优选的实施方式,并且与上面给出的一般描述和下面给出的优选实施方式的详细描述一起,用于解释和教导本发明的原理。
图1是示出了建议用于本发明中的期望传输时间(ETT)的绝对值和标准化ETT值(路由度量)之间的关系的图; 图2示出了根据本发明的无线hello包状态转换图; 图3示出了根据本发明的一个实施方式的示例性无线hello包300; 图4示出了根据本发明的一个实施方式的示例性信息包400; 图5示出了根据本发明的一个实施方式的值字段的七个信息代码点; 图6示出了根据本发明的一个实施方式的示例性单向邻居请求(1-way Neighbor Request)包600; 图7示出了根据本发明的一个实施方式的示例性双向邻居应答(2-way Neighbor Reply)包700; 图8示出了根据本发明的一个实施方式的示例性初始邻居请求(Initial Neighbor Request)包800; 图9示出了根据本发明的一个实施方式的示例性估计传输计数(ETX)信息包900; 图10示出了根据本发明的一个实施方式的用于测量到相邻节点的一对背对背单播探针(unicast probe)之间的延迟的示例性小型包1000; 图11示出了根据本发明的一个实施方式的用于测量到相邻节点的一对背对背单播探针之间的延迟的示例性大型包1100;以及 图12示出了根据本发明的一个实施方式的包含邻居包对(PacketPair)信息和包对序号在内的示例性信息包1200。

具体实施例方式 本发明公开了一种在网状网络中用于动态度量和无线hello协议的方法和系统。在一个实施方式中,该方法包括。
在下面的描述中,出于解释的目的,对特定术语进行阐述以提供对此处公开的各种发明原理的全面理解。然而,对本领域技术人员清楚的是,可以不需要这些特定的细节来实施此处公开的各种发明原理。
下面的详细描述的一些部分将从无线网络和计算机系统方面来给出。这些无线网络的描述和表示是无线联网领域的技术人员所使用的手段,以将他们的工作的实质最有效地传达给本领域技术人员。无线网络在此一般被理解为用于在使用无线电波作为其载波的两个或更多个计算机中进行通信的系统。通常,尽管不是必须的,在计算机系统之间交换的信息采用包的形式。此外,出于共用的原因,包的成分被称为位、值、要素、符号、字符、词条、数字等等。
然而,应当记住,所有这些术语和相似术语都与合适的物理量相关联,并且仅是应用于这些量的方便标签。除非特别规定或者从下面的讨论中显而易见,应理解在整个说明书中,使用了诸如“路由器”或“无线电”或“频率”或“信道”或“主干”或“包”或“通信”等等这些术语的讨论,是指网络或类似通信系统的部件、动作和过程,所述网络或类似通信系统将表示为计算机系统的寄存器和存储器或其他这种信息存储、传输或显示设备内的物理(电子)量的数据从一个计算机系统传送到另一个计算机系统。
本发明还涉及用于执行此处操作的装置。可以将该装置专门构造为用于要求的目的,或者它可以包括由存储在计算机中的计算机程序来选择性地启动或重新配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质中,该计算机可读存储介质例如是,但不限于,包括软盘、光盘、CD-ROM和磁光盘的任意类型的盘,只读存储器,随机存取存储器,EPROM,EEPROM,磁卡或光卡,或适于存储电子指令的任意类型的介质,并且各介质被连接到计算机系统总线。
此处介绍的方法并非固有地与任何特定的计算机或其他装置相关。各种通用系统可以根据此处的教导与程序一起使用,或者它便于构造更专业的装置来执行所要求的方法步骤。根据下面的描述中将清楚各种这些系统所需要的结构。此外,未参照任何特定的编程语言来描述本发明。可以理解,各种编程语言可以用于实现此处描述的本发明的教导。
提议了两种链路质量参数以用作路由度量,其也可以用于计算用于在无线网状网络中发送包的路由路径。第一链路质量参数是标准化的期望传输时间(“标准化ETT”)。期望传输时间通过回归分析被“标准化”,从而减少了绝对ETT值的变动性(volatility)。第二参数是组合加权链路度量,其中每跳丢失率和链路吞吐量的影响被叠加以更进一步地减少度量变动性。提供了无线hello协议,其与自适应无线路由(“AWRadaptive wireless routing”)协议栈相结合。无线hello协议(“WHP”)被配置为在不可靠网络中工作,并且便于进行例如动态度量计算、度量报告和邻居邻接维护的功能。
大多数现有的无线网状网络路由协议选择最小跳数路径。这些路径趋于包含其中需要以最低传输速率来传输包的较长距离链路。
现有的无线网状网络考虑了无线链路上的丢包的影响,并且使用期望传输计数度量(ETXexpected transmission count metric),以在多跳无线网络上找到高吞吐量路径。具有较高丢失率的链路需要更多的重传以成功地传送包并具有更高的ETX值。Draves等人的另一个现有系统利用具有不同传输速率的无线节点多无线电和多信道。他们介绍了期望传输时间(ETTExpected Transmission Time)的参数,并且解释了该参数的值是链路的丢失率和带宽的函数。他们还提出了另一种路由度量,即,加权累积ETT(WCETTWeighted CumulativeETT),来考虑流内干扰(由包传输所消耗的沿路由路径的链路的带宽)。
本发明的系统和方法提供了用于无线网状网络中的路由协议的两种路由度量。所提出的路由度量不会引起频繁的路径改变,确保了网络的稳定性。第二,路由度量获取网状网络的特性,确保了路由路径具有良好性能(即,高的吞吐量和低的包延迟)。第三,高效的算法可以用于基于路由度量来计算路由路径。
路由稳定性 路由度量可以是载荷敏感的或是拓扑相关的。在载荷敏感度量下,路由可以在数据包在路由器处到达或离开时频繁地变化。另一方面,拓扑相关的度量基于路径的拓扑而分配路由路径。因此,拓扑相关的度量通常更稳定。
良好性能路径 为了确保能够高效地利用网状网络的资源,由路由协议选择的路由路径在高吞吐量和低包延迟方面具有良好的性能。至少有四个影响路径性能的网状网络特性路径长度、链路容量、丢包率和干扰。下面我们对各个特性进行讨论。
路径长度 各个跳引入额外的延迟和潜在更多的丢包。因此,当路由路径长度增加时当前的路由度量也会增加。
链路容量 通常,随着两个节点之间的距离增加,信道质量劣化。由于IEEE802.11标准提供了传输速率根据信道质量而作适应性变化,链路容量随着节点之间的距离增加而减小。因此,虽然路径长度的效果似乎支持具有较小跳数的路径,但是距离和链路容量之间的关系通过支持具有较大跳数的路径而不是具有较高容量的链路来抵消了这种效果。
包传输速率与节点之间的距离相关,如下所示 丢包率 不同无线链路可能具有不同的丢包率。高丢包率链路影响链路吞吐量和延迟。因此,本发明的路由度量缓解了丢包率的影响以确保路由路径具有良好性能。
干扰 在相邻节点之间共享无线链路的带宽。经过无线链路的数据流不仅消耗沿该路径的链路的带宽(流内干扰),而且它还与位于该路径的相邻区域中的链路争夺带宽(流间干扰)。
这些类型的干扰增加了沿路径的各个链路处的数据流的带宽消耗。干扰还导致数据流的吞吐量急剧劣化,并且导致在各跳的延迟随着路径的跳数增加而急剧地增加。由于相邻节点可以使用不同信道使得它们不会相互干扰,所以信道分配影响干扰级。链路容量也影响干扰级。较慢的链路消耗更多的信道时间,并且因此导致更多的流内干扰和流间干扰。因为需要在路由路径的长度上考虑信道分配的多样性和链路容量,所以难以利用路由度量来捕获干扰。
有效的路由路径生成方法 即使路由度量确保路由路径具有良好性能,但是如果不存在有效算法来基于路由度量计算路由路径,则路由协议不会有效地生成路由路径。
现有的路由协议基本上依赖于两种算法来计算路由路径,即,贝尔曼-福特(Bellman-Ford)算法或迪科斯彻(Dijkstra)算法。同样,本发明的系统和方法与这些算法兼容。另外,本发明的方法和系统确保如果路径的顺序被公共第三路径附加或作为前缀则保留路径的顺序。
现有的网状网络的路由度量 目前在网状网络中使用六种路由度量,并且每个都具有其缺点。这六种路由度量是跳数、每跳往返行程时间(“RTTper-hop roundtrip time”)、每跳包对延迟(“PktPairper-hop packet pairdelay”)、期望传输计数(“ETXexpected transmission count”)、期望传输时间(“ETTexpected transmission time”)以及加权累计ETT(“WCETTweighted cumulative ETT”)。下面进一步解释这些现有路由度量。
跳数(HOP) 跳数度量与贝尔曼-福特算法和迪科斯彻算法都兼容。然而,跳数未从网状网络中的节点之间的距离、丢包率或干扰来考虑包传输速率的差异。因此,使用跳数度量可能不会导致良好性能,因为其试图通过考虑长距离或低质量链路来减少跳的数量,其中需要以最低传输速率来传输包。
每跳往返行程时间(RTT) RTT用于估计信道质量。节点每500毫秒向其各个邻居发送带有时间戳的单播探针包。各个邻居立即用探针确认来对探针做出响应。这使得发送节点能够测量到其各个邻居的往返行程时间。引入被称为平滑RTT(“SRTTSmoothed RTT”)的加权平均值来估计链路的质量。SRTT可以根据下式来描述 SRTT=αRTTnew+(1-α)SRTT 其中α是_____。
在使用率高的信道上发送的探针消息可能比在使用率低的信道上发送的探针花费更长时间来获得对介质的访问。
RTT说明了链路负载、带宽和链路丢失率。
每跳包对延迟(PKTPAIR) 该度量是基于对从一个节点发送到相邻节点的一对背对背单播探针之间的延迟进行的测量。其被设计为纠正由于排队延迟而导致的RTT测量失真的问题。
为了计算该度量,节点以周期性间隔(例如,每五秒)向各个邻居背对背地发送两个探针包。第一探针包较小(例如,100字节),而下一个探针包较大(例如,1800字节)。相邻节点计算第一和第二探针包的接收之间的延迟。然后将该延迟报告给发送节点。
由于成对的两个包被同等地延迟,所以该度量不受在发送节点处的排队延迟的影响。该度量说明了链路负载和带宽。其还说明了链路丢失率。
期望传输计数(ETX) ETX被定义为需要通过无线链路成功地传送包的MAC层传输的期望数量。路径的ETX被定义为沿路径的所有链路的ETX值的总和。ETX表示为 ETX=1/(df*dr) 其中df,dr分别代表预定时间间隔的前向发送率和反向发送率。
为了计算ETX,各个节点以短周期性间隔(例如,每一秒)发送广播探针包。探针包含来自各个相邻节点的探针的当前传输序号和当前接收序号。
因为各个节点广播探针包而不是单播探针包,所以开销显著减少。因为没有测量延迟,所以该度量极少受到自身干扰。
该度量的主要缺点是,因为以最低优先级发送广播探针包,所以它们不会经历与以较高优先级发送的数据包相同的丢失率。此外,该度量不直接地说明链路负载和链路带宽。所以,重负载的链路会具有非常低的丢失率,并且具有不同带宽的两个链路会具有相同的丢失率。
期望传输时间(ETT) ETT被定义为用于在链路上成功传输包的期望MAC层持续时间。路径的ETT是沿路径的所有链路的ETT的简单相加。ETT可以表示为 ETT=ETX*(S/B) 其中B是链路带宽,S是包大小。
ETT考虑了各链路上的带宽和丢失率。因此,其清楚地说明了由于在同一信道上工作的链路当中的干扰而导致的吞吐量的减少。
ETT的优点是其支持具有高带宽、低损耗链路的短路径。缺点是其未考虑信道多样性。
加权累积ETT(WCETT) WCETT是基于ETT的度量;其被设计为利用了多无线电网状网络。WCETT可以在双无线电(双接入点)网状网络中在性能上比HOP增加250%,并比ETX增加80%。
WCETT是基于路径的度量。其由下式来描述。
SETT=路径上的链路的ETT的和 BG-ETT=路径上的“瓶颈组ETT” WCETT=(1-β)*SETT+β*BG-ETT 其中β是可调参数。较高的β值更有利于信道多样性,而较低的β值更有利于较短路径。
按三个步骤来计算BG-ETT。第一,根据信道对路径上的链路进行分组。第二,将各组中的所有链路的ETT加在一起。第三,确定具有最大和的组并将其指定为BG-ETT。
自适应无线路由(AWRADAPTIVE WIRELESS ROUTING)中的动态度量支持 ETT是在链路上成功地传输固定长度S的包所需的期望时间的度量。其产生高吞吐量路径,因为其选择具有最少延迟的路径。然而,ETT是变动性的、载荷敏感的,并且其强调在各个跳上的链路吞吐量的影响而不考虑网络的整体性能。此外,当前使用的链路质量度量不考虑例如CPU使用的资源以及由沿路由路径的各个跳所消耗的内部包排队。
本发明用于发送包的方法和系统结合了标准化ETT和组合加权链路质量度量的使用。这两种度量考虑了整体网络性能并且将链路吞吐量的影响降低到合适的水平。
标准化ETT ETT是载荷敏感参数并且是非常易变的。在表1中示出了典型的ETT值表。

从上面表1可知,ETT的值可以在三个量级的幅度上变化。这种过度的变动性会导致路由波动。根据一个实施方式,为了减少路由波动,将ETT值标准化为10和100之间的值。
这通过回归分析和曲线拟合来实现。如图1所示,指数函数用作回归模型以获得标准化ETT值。
与常规ETT相比,标准化ETT的效果是减少了有效路径长度。例如,考虑两个路径。一个路径是一个跳离(hop away)且具有1Mbit/sec的链路吞吐量。路径的ETT是8192。另一路径是十个跳离且具有10Mbit/sec的链路吞吐量。各个跳的ETT是819。所以用常规ETT,具有十个10Mbit/sec的跳的路径具有与一个1Mbit/sec的跳的路径相同的度量。然而,在相同的情况下用标准化ETT,具有一个1Mbit/sec的跳的路径的标准化ETT度量为95,其大约相当于标准化ETT度量各为35的三个10Mbit/sec的跳。所以,用标准化ETT,不认为具有四个10Mbit/sec的跳的路径优于具有一个1Mbit/sec的跳的路径。
组合加权链路质量度量 对于常规ETT,吞吐量与ETT成反比。因此,链路吞吐量的效果可能被夸大,并且它会导致过度的路由波动。链路吞吐量的效果应当被标准化并且叠加到链路度量。组合加权链路质量度量(CW-MetricCombinational Weighted Link Quality Metric)可以表示为 CW-Metric=α*ETX+β*(MAX_EFFECTIVE_LINK_THROUGHPUT/B) 其中α+β=10。MAX_EFFECTIVE_LINK_THROUGHPUT是以100Kbit/sec为单位的最大有效链路吞吐量。α的默认值是6,而β是4。
例如,假设ETX是1。用所提议的这种度量,在与上述相同的情况下,具有一个1Mbit/sec的跳的路径的组合度量为86。具有六个10Mbit/sec的跳的另一路径的路径度量为84,且在各个跳上的组合度量为14。
本组合加权链路质量度量的效果与标准化ETT相似。链路度量被标准化成最小值为10。在大多数条件下,标准化ETT不像绝对ETT是那么易变动。然而,当吞吐量(B)小于100Kbit/sec时或者当ETX为较大值时,组合度量可以是易变动性的。可以将最小链路吞吐量设定为100Kbit/sec并将最大每跳ETX设定为20(在两个方向上有大约80%的丢失率),以避免该情形。理想地,ETX和链路吞吐量的权重在组合加权链路质量度量内部应当处于同一量级。
移动平均值 对于各测量链路容量和ETX值,在特定的时间段内对样本数据进行分析。有两种移动平均值,下面将简要进行描述。
简单移动平均值(SMASIMPLE MOVING AVERAGE) 通过计算在指定数量的周期内的样本集的平均值(均值)来形成简单移动平均值(“SMA”)。当新样本到达时,扔掉不在指定数量的周期内的旧样本。简单移动平均值是滞后指标(lagging indicator)并且将总是“落后于”样本数据。它们属于趋势跟踪指标的范畴。当样本数据跟随趋势时,移动平均值发挥好的作用。然而,当样本数据不跟随趋势时,移动平均值可能会误导。
指数移动平均值(EMAEXPONENTIAL MOVING AVERAGE) 为了减少简单移动平均值的滞后,使用指数移动平均值(“EMA”)(也被称为指数加权移动平均值)。EMA通过将相对于较老的样本数据的更多的权重应用到最近的样本数据上来减小滞后。应用到最近的样本数据的权重取决于移动平均值的指定乘数。EMA的乘数越大,应用到最近样本数据的权重也会越大。
将EMA用于较短时间段以更快地捕获变化,而将SMA用于较长时间段以识别长期趋势变化。这是敏感度和可靠性之间的权衡。指标越敏感,则给出的信号越多。这些信号可以及时地但随着增加的敏感度的出现而证明错误信号的增加。指标越不敏感,给出的信号越少。然而,较少的敏感度导致更少的且更可靠的信号,但是这些信号也可以是晚的。
要在移动平均值中使用的周期长度 因为移动平均值跟随趋势,当样本跟随趋势时它们发挥最好的作用,但是当样本在一定范围内移动时它们是无效的。要在移动平均值中使用的周期长度根据样本变动性和“应时性(trendiness)”而变化。变动性越大,要求越平滑,并且因此计算代表性的移动平均值所需的时间段越长。
计算传送率 为了计算ETX,确定各个链路的前向和反向传送率(df和dr)。各个节点以短周期性间隔(例如,1秒)发出广播探针包。广播包未通过802.11MAC层重传。节点跟踪从各邻居接收到的探针的数量,并且将该信息包括在其自己的探针中。各个探针包含来自各相邻节点的当前发送的序号和最后接收到的序号。以周期性间隔(例如,每60秒)来计算EMA传送率。然而,当发现新的邻居时,在经过第一周期性间隔(例如,60秒)之前不能计算传送率。根据本发明,在第一周期性间隔的持续时间(例如,第一个60秒)内,传送率将被设定为100%。
计算链路带宽 利用来自无线电驱动器的反馈来确定链路带宽B。根据本发明,在一个实施方式中,反馈间隔优选地设定为五秒。当无线电驱动器不提供速率反馈时,使用包对法来估计带宽。在包对法的一个实施方式中,一个小包(例如,100字节)和大包(例如,1800字节)在链路的两个方向上被以周期性间隔(例如,五秒)背对背地发送持续例如五分钟的时间段。只要一接收到较小的包,就启动定时器来测量在接收较大包时发生的延迟。
每五分钟对可用链路带宽进行计算。根据一个实施方式该过程如下 1.根据60次包对带宽测量的样本来计算移动平均带宽。根据一个实施方式该过程如下 a.将该样本的包对带宽测量5,10,15,20,25,30,35,40,45,50,55的平均值作为指数移动平均值的初始值。
b.计算该样本的带宽的指数移动平均值。
I.如果带宽测量和初始指数移动平均值(根据a得到)之间的差超出指数移动平均值的初始值的50%,则将α设定为0.1。
II.如果带宽测量和初始指数移动平均值(根据a得到)之间的差在指数移动平均值的初始值的50%之内,则将α设定为0.2。
III.公式是新的移动平均带宽=(1-α)*旧的移动平均带宽+α*测量。
2.计算可用链路带宽。根据一个实施方式该过程如下。
a.新的可用链路带宽=(1-α)*旧的可用链路带宽+α*样本的移动平均带宽。
b.其中α=0.9。
然而,当发现新相邻节点时,将可用链路带宽设定为链路的最大有效链路吞吐量的100%。在一个实施方式中,是20,000Mbps。
ETX测量的准确性 根据一个实施方式,ETX测量相邻节点的对之间的广播包的丢失率。以非常低的速率(通常是1/sec)发出ETX探针包。因为广播包不具有任何可靠性机制,所以以最低的固定调制传输速率发出广播包。因此,ETX不会经历与以较高速率发送的数据包相同的丢失率。对于802.11b网络,因为由于自动速率回落(ARF)算法[Song-Ching,Fuyong-What is purpose of this algorithm?When is it used?]的效果造成的数据传输速率(1Mbps-11Mbps)的变化在这种情况下不是显著的,所以ETX工作正常。然而,当传输速率高得多时(例如,在802.11a/g的情况下高达54Mb/sec,并且在802.11n的情况下大于100Mb/sec),如果在WLAN芯片组中实现ARF算法,则利用广播包的ETX不会工作正常。在另一实施方式中,作出下述调整 在自动速率适应算法内置于特定MAC层芯片组的情况下,在可用链路带宽本身中已经反映了丢失率的效果。因此,如果利用标准化ETT度量则ETX被设定为恒定值,或者如果使用组合加权链路质量度量则将α设定为零而β设定为1。
无线hello协议 根据一个实施方式,无线hello协议(WHP)用于下述目的 1.邻居发现 2.邻居故障检测 3.单向链路检测 4.每跳传送率计算 5.每跳链路带宽计算无线hello包报告链路上的德耳塔(delta)变化或邻居状态。其调解了不可靠无线网络中的丢包。而且,其提供了使用户能够将更多的功能性(例如,动态度量计算)添加到无线hello协议中的框架。
无线hello包作为IP广播包被发出。分配了公知的端口655以用于传输无线hello协议包。
邻居状态 图2示出了根据本发明的一个实施方式的无线hello包状态转换图。针对各邻居定义了四种状态INIT(初始)、1-WAY(单向)、2-WAY(双向)和DOWN(停用)。“TLV”代表存储在具有三个参数(时间-长度-值)的数据库中的信息。
INIT 一旦从新邻居接收到Hello消息,就创建关联邻居数据结构并且邻居状态被初始化为INIT。当相邻邻居被重设时(通过明确地发送/接收初始化邻居消息或通过丢失大量的连续Hello包(例如,30个)或接收意外的状态信息),邻居状态也被复位为INIT状态。
1-WAY 已从邻居接收到Hello消息,其中在1-WAY邻居消息中未提及路由器。这表示与邻居的通信不是双向的。
2-WAY 在该状态下,两个路由器之间的通信是双向的。这是邻居邻接的最高级状态。在到达该状态之后,路由协议可以开始发送/接收协议更新包。
DOWN 当一段时间(例如,30秒)未从邻居接收到Hello包时,关联的邻居停用(dead)定时器计时期满。邻居数据结构被清除。
邻居发现(NDNEIGHBOR DISCOVERY) 在无线hello包源地址中隐含地定义了邻居。如果无线hello包和接收包的接口位于不同的子网中,则忽略该包。另外,如果尚不存在邻居结构,则创建邻居结构。除了链路带宽计算的一种情况,以短周期性间隔(例如,每秒)发送无线hello包。
各个无线hello包包含多个TLV。有三个与邻居发现(“ND”)相关的TLV ·单向邻居请求(1_WAY_NBR1-WAY Neighbor Request) ·双邻居应答(2_WAY_NBR2-WAY Neighbor Reply) ·初始邻居请求(INIT_NBRINIT Neighbor Request) 当节点i改变节点j处的链路状态时,节点i包括在接口上发送的至多30个连续Hello包中的这些TLV之一中的邻居j的地址。这确保了节点j接收一个Hello包,或者节点j错过来自节点i的30个Hello包并且通过将邻居i的地址包括在其发送到节点i的hello包上的INIT_NBR TLV中来声明到节点i的邻居邻接丢失。针对邻居地址i的链路停用事件被触发。
当接收到无线hello包时,如果该包是从未知邻居接收到的,则创建关联邻居数据结构并且其邻居状态被初始化为INIT状态。其随后将新创建的邻居包括在位于发给该邻居的hello包上的1_WAY_NBRTLV中,并且使邻居状态前移到1-WAY。一旦其从包含2_WAY_NBR_TLV的邻居接收到hello包并且其地址在TLV列出,则其使邻居状态前移到2-WAY状态。2-WAY状态是邻接中的最高级状态。AWR可以仅处理来自处于2-WAY状态的邻居的路由更新。
邻居故障检测(NFDNEIGHBOR FAILURE DETECTION) 一旦路由器在特定时间(例如,30秒)内从邻居接收到无线hello包,则该邻居停用定时器被复位。一旦邻居停用定时器计时期满,则邻居状态改变为DOWN状态并且邻居数据结构被清除。
每跳传送率计算 无线hello包包含估计传输计数(“ETXestimated transmissioncount”)TLV。ETX TLV包含当前传输序号、当前接收序号和当前前向传送率(forward delivery ratio)。每传输一个ETX TLV,传输序号加1。当前传输序号被设定为1。
每跳链路带宽计算 有一种每邻居PKTPAIR定时器。当定时器计时期满时,一对无线hello包被发送到关联邻居。这对无线hello包包含两种TLV中的任一种,即小型(例如,100字节)包(PKTPAIR_1)或大型(例如,1800字节)包(PKTPAIR_2)。如果接收了包含大型包TLV的无线hello包而在该大型包TLV之前没有小型包TLV,则忽略该大型包TLV。小型包TLV和大型包TLV包含1和60之间的范围内的循环序号。
一旦测量了链路带宽,则PKTPAIR_REPLY TLV包含序号和测量到的带宽(单位为Kbit/sec)。
无线hello协议包 该包具有32位AWR报头,接着是32位无线hello包(PACKET)报头和可变长度的有效载荷。有效载荷由各种类型的TLV组成。图3示出了根据本发明的一个实施方式的示例性无线hello包。无线hello包300包括下述信息 版本当前自适应无线路由版本号。
类型Hello代码点是3。
序列Hello包序列空间。其是
的范围内的循环序号。
标志该四位标志字段被定义为 01234567 +-+-+-+-+-+-+-+-+ ||||||||U| +-+-+-+-+-+-+-+-+ U未检查的序号 图4示出了根据本发明的一个实施方式的示例性TLV包400。TLV包400包括类型、长度和值字段。图5示出了根据本发明的一个实施方式的值字段的七个TLV代码点。代码点包括1_WAY_NBR、2_WAY_NBR、INIT_NBR、ETX、PKTPAIR_1、PKTPAIR_2和PKTPAIR_Reply。
图6示出了根据本发明的一个实施方式的示例性单向邻居请求包600。单向邻居请求包600包括邻居地址。值n是TLV中的邻居入口的号码。
图7示出了根据本发明的一个实施方式的示例性双向邻居应答包700。双向邻居应答包700包括邻居地址。值n是TLV中的邻居入口的号码。前16位表示包700是双向邻居应答包。
图8示出了根据本发明的一个实施方式的示例性初始邻居请求包800。初始邻居请求包800包括邻居地址。值n是TLV中的邻居入口的号码。前16位表示包800是初始邻居请求包。
图9示出了根据本发明的一个实施方式的示例性ETX TLV包900。ETX TLV包900包括下述字段和值 nTLV中的邻居入口的号码。
Neighbor address(邻居地址)关联的邻居ETX度量信息。
fwd ratio当前前向传送率。
xmt seqETX探针传输序号。
rcv seq最后接收到的序号。
图10示出了根据本发明的一个实施方式的示例性PKTPAIR_1TLV包1000。PKTPAIR_1TLV包1000包括下述字段和值 seq当前包对序号。
lengthTLV长度优选地是100字节。
图11示出了根据本发明的一个实施方式的示例性PKTPAIR_2TLV包1100。PKTPAIR_2TLV包1100包括下述字段和值 seq当前包对序号。
lengthTLV长度优选地是1800字节。
图12示出了根据本发明的一个实施方式的示例性PKTPAIR_REPLYTLV包1200。PKTPAIR_REPLY TLV包1200包括下述字段和值 nTLV中的邻居入口的号码。
Neighbor address(邻居地址)关联邻居包对信息。
Bandwidth(带宽)有效链路吞吐量(单位为Kbit/sec)。
seq该应答TLV所参考的包对序号。
已经公开了用于网状网络的动态度量和无线hello包的方法和系统。尽管已经针对具体示例和子系统描述了本发明的方法和系统,对于本领域技术人员明显的是,其不限于这些具体示例或子系统,而是还可以扩展到其他实施方式。
权利要求
1、一种计算机实现的方法,该方法包括以下步骤
确定包经过网状网络的路由;
估计在所述网状网络中的第一节点和第二节点之间传送所述包所需的第一时间段;
对所述第一时间段进行标准化而生成标准化值;以及
利用所述标准化值来计算路由。
2、根据权利要求1所述的计算机实现的方法,其中无线网状路由器计算所述路由。
3、根据权利要求2所述的计算机实现的方法,其中所述无线网状路由器支持802.11标准。
4、根据权利要求1所述的计算机实现的方法,该方法还包括估计所述包所经过的中间节点的处理器使用值。
5、根据权利要求1所述的计算机实现的方法,该方法还包括对内部包排队进行补偿。
6、一种计算机实现的方法,该方法包括以下步骤
确定包经过网状网络的路由;
估计用于在所述网状网络中的第一节点和第二节点之间传送所述包的中间节点的最大有效吞吐量;
对所述最大有效吞吐量进行标准化而生成标准化值;以及
利用所述标准化值来计算路由。
7、根据权利要求6所述的计算机实现的方法,其中无线网状路由器计算所述路由。
8、根据权利要求7所述的计算机实现的方法,其中所述无线网状路由器支持802.11标准。
9、根据权利要求6所述的计算机实现的方法,该方法还包括估计所述包所经过的中间节点的处理器使用值。
10、根据权利要求6所述的计算机实现的方法,该方法还包括对内部包排队进行补偿。
11、一种方法,该方法包括以下步骤
在网络中的第一节点处接收来自相邻节点的初始化消息;
创建所述相邻节点的邻居数据结构,其中所述邻居数据结构包括状态字段;
将所述状态字段改变为初始化状态;
向所述相邻节点发送应答消息,所述应答消息包括与所述相邻节点相关联的单向邻居请求信息;
将所述状态字段改变为指示单向通信;
接收来自所述相邻节点的第二初始化消息;以及
将所述状态字段改变为指示双向通信。
12、根据权利要求1所述的方法,该方法还包括以下步骤
处理从所述相邻节点接收到的路由更新。
13、根据权利要求1所述的方法,该方法还包括以下步骤
在所述网络中的所述第一节点处从所述相邻节点接收到所述初始化消息之后,进行检查以确定是否已创建了所述相邻节点的邻居数据结构。
14、一种方法,该方法包括以下步骤
网络中的第一节点在预定时帧内从相邻节点接收hello包;
针对所述相邻节点设定定时器;
所述定时器在经过了预定时间段之后期满;
将所述相邻节点的状态字段改变为指示停用状态;以及
清除与所述相邻节点相关联的数据结构。
15、一种方法,该方法包括以下步骤
使用包含期望传输计数值的包,所述期望传输计数值包括当前传输序号、当前接收序号和当前前向传送率;以及
对于各个新的期望传输计数值递增所述当前传输序号。
16、一种方法,该方法包括以下步骤
对相邻节点分配定时器;
当所述定时器计时期满时向所述相邻节点发送初始化包对;
所述初始化包对包括小型包和大型包;
所述小型包和所述大型包包含循环序号,确定所述相邻节点处何时接收到所述小型包,并设定第二定时器;
确定所述相邻节点处何时接收到所述大型包;以及
计算所述小型包和所述大型包的接收之间的延迟。
17、根据权利要求16所述的方法,其中当在所述大型包之前未接收到所述小型包时,忽略所述大型包。
18、根据权利要求16所述的方法,该方法还包括以下步骤
利用所计算的延迟来确定链路带宽。
19、根据权利要求18所述的方法,该方法还包括以下步骤
发送所述序号和所测量的带宽。
全文摘要
本发明公开了用于无线网状网络的动态度量和无线hello协议的方法和系统。在一个实施方式中,一种计算机实现的方法包括确定包经过网状网络的路由。估计所述网状网络中的第一节点和第二节点之间传送所述包所需的第一时间段。将所述第一时间段标准化以生成标准化值。利用所述标准化值来计算路由。
文档编号G06F15/173GK101611392SQ200780041079
公开日2009年12月23日 申请日期2007年7月3日 优先权日2007年6月26日
发明者陈松青, 赵福勇 申请人:阿德利亚网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1