首页> 中国专利> 一种用于无线mesh网络的多速率机会路由方法

一种用于无线mesh网络的多速率机会路由方法

摘要

本发明提供了一种利用无线广播特性进行机会主义转发的多速率无线mesh网络路由方法,节点发送数据后,选择多个节点作为转发节点。网络建立初期,节点间通过探针包获得直连链路投递率,并建立邻接关系。通过链路状态信息包交换链路信息建立全网邻接矩阵。利用节点转发概率分析系统模型,推导出适用于存在任意条路径的情况下的度量(综合传输数),在综合传输数的基础上制定转发节点选择策略与转发策略。使用最点路径算法选出一条主路径,比源节点更靠近目的节点的节点可被选入转发列表,通过一定的筛选规则将转发节点限制在主路径附近。规定离目的节点最近的转发节点具有最高的转发优先级,离目的节点距离越远,转发级别越低。目的节点通过一定规则向源节点发送端到端应答,告知源节点自己收到的包数,源节点根据这个数据自适应调节发送速率。

著录项

  • 公开/公告号CN101945432A

    专利类型发明专利

  • 公开/公告日2011-01-12

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201010282595.6

  • 申请日2010-09-16

  • 分类号H04W28/06(20090101);H04W40/24(20090101);H04L1/16(20060101);H04L1/00(20060101);

  • 代理机构

  • 代理人

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-12-18 01:22:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-01

    文件的公告送达 IPC(主分类):H04W28/06 收件人:刘凯明 文件名称:手续合格通知书 申请日:20100916

    文件的公告送达

  • 2016-11-23

    授权

    授权

  • 2013-07-31

    实质审查的生效 IPC(主分类):H04W28/06 申请日:20100916

    实质审查的生效

  • 2011-01-12

    公开

    公开

说明书

技术领域

本发明属于一种无线网络通信技术领域的路由方法,特别是一种用于无线mesh网络的多速率机会主义路由方法,利用节点转发概率推导出任意路径期望传输数,在此基础上设计转发节点的选择方法,并通过自适应方式进行多速率调制的路由方法。

背景技术

移动通信的迅速发展更是使人们的生活发生了翻天覆地的变化,成为网络服务的一大亮点。常见的移动网络通常是以蜂窝网络或无线局域网等形式出现的。在蜂窝网络中,移动终端之间的通信必须借助于基站和(或)移动交换机的转接完成;在无线局域网中,移动终端通过无线接入点连接到现有的固定网络。与此同时,蓝牙、家庭无线网等移动通信新技术也纷纷涌现。这些移动网络和无线通信技术是对固定有线网络的补充和发展,它们需要固定基础设施的支持,并且一般采用集中式的控制方式。但在某些特殊环境或紧急情况下,有中心的移动通信技术并不能胜任。比如,战场上部队快速展开和推进、发生地震等自然灾害后的搜索和营救、野外科考等。因此在以上场合中迫切需要一种不依赖基础设施能够快速和灵活配置的移动通信网络技术,Ad hoc网络的出现满足了这种需求。

Ad hoc网络是由一组带有无线收发装置的移动终端组成的一个多跳临时性自治系统,移动终端具有路由功能,可以通过无线连接构成任意的网络拓扑,这种网络可以独立工作,也可以与Internet或蜂窝无线网络连接。在后一种情况中,Ad hoc网络通常是以末端子网(树桩网络)的形式接入现有网络。考虑到带宽和功率的限制,MANET一般不适于作为中间传输网络,它只允许产生于或目的地是网络内部节点的信息进出,而不让其它信息穿越本网络,从而大大减少了与现存Internet互操作的路由开销。Ad hoc网络中,每个移动终端兼备路由器和主机两种功能:作为主机,终端需要运行面向用户的应用程序;作为路由器,终端需要运行相应的路由方法,根据路由策略和路由表参与分组转发和路由维护工作。在Ad hoc网络中,节点间的路由通常由多跳组成,由于终端的无线传输范围有限,两个无法直接通信的终端节点往往要通过多个中间节点的转发来实现通信。

多跳无线mesh网络成为近年来的一个研究热点,其中路由算法的设计是最重要的问题。目前,绝大多数传统的无线网络路由方法继承有线网路由方法的思想,试图在源与目的之间找到一条或多条最好的路径,并且只选择一个邻居节点作为数据转发节点,经典的无线网络路由方法,比如DSR,AODV,LQSR等都属于此类。相比于有线信道,无线信道具有不可靠、多变、丢包率高的特点,经典无线路由方法只有一个后继节点,因此容易导致分组重传或触发路由重建。因此,如何充分利用无线信道的特点提高传输成功率、提高信道资源利用率成为一个焦点问题。

发明内容

本发明的目的是提供一种利用机会转发并支持多速率,旨在充分利用无线信号的广播特性与空间分集的路由方法,能够解决无线信道的高丢包率问题,提供较高的端到端吞吐量,能够提供稳定的路由连接。

本发明的具体步骤是:

第一步骤:节点获取网络拓扑信息

包含n个节点的无线网络G={ui|1≤i≤n},ui表示第i个节点。无线节点周期性相互发送探针包,探针包中包含本节点在过去发送M个探针包期间所收到的邻居节点送达的探针包数量。节点每发送M个探针包计算一次节点间投递率,这里用表示节点ui到节点uj的分组投递率。节点在发送及接收探针包的过程中同时确定邻接关系。邻居节点间的分组投递率信息通过链路状态信息包(包含节点间分组投递率)进行泛洪扩散。通过扩散链路状态信息,网络中的所有无线节点将获得全网链路状况信息,即任意两个节点间的分组投递率。由分组投递率组成转发矩阵D:

D=d11d12...d1nd21d22...d2n............dn1dn2...dnn---(1)

第二步骤:选择转发节点组成转发列表

通过扩散链路状态信息,每个节点均获取了整个网络的链路状态信息,即存储了全部的分组投递率。以为基础,各节点开始计算节点间的距离度量——任意路径传输数AETX(Any-path Expected Transmission Number),并以此选择转发节点。AETX的计算方法为:

AETXs,u0,...,uM+1,d=1+Σk=1Mpsuk·AETXuk,...,uM,dΣk=1M+1psuk---(2)

其中,

puiuj=dijΠm>j(1-dim)ij0i>j---(3)

公式(3)中m>j表示节点um的优先级大于节点uj的优先级,该公式表示节点ui发送的数据包被节点uj收到,而更高优先级节点没收到的概率。

由转发节点组成的节点集合称为转发列表,记为根据转发节点到目的节点的AETX大小对转发节点进行排序,到目的节点的AETX更小的节点设置更高的优先级,即在转发数据时能够优先转发。

原转发列表如果要加入一个新节点uk-1组成一个新的转发列表,则由新转发列表产生的AETX必须小于原来的AETX,否则这个新的节点不能被加入转发列表。规定一个新节点uk-1能够加入原转发列表的条件为:所有到目的节点的距离比源节点小的节点都被选入转发列表。

设Z为网络中除目的节点d以外的所有节点的集合,N(x)为节点x的邻居集合。节点选择与转发过程为:

(1)遍历目的节点d的邻居集合N(d),对任意节点u∈N(d)计算其到目的节点d的度量为表示节点u到节点d的包投递率。建立节点u到节点d之间的转发列表

(2)从Z中选择到目的节点d的距离最小的节点v,并将节点v从集合Z中删除。

(3)遍历节点v的邻居集合N(v),对其中所有的节点u∈N(v),通过合并转发列表与更新转发列表新列表中v的优先级高于u,计算表示节点u通过转发列表到达目的节点d的度量。

(4)重复(1)(2)直到节点集合Z为空。

(5)返回转发列表

上述第(3)步中之所以能够合并转发列表与是因为节点v到目的节点d之间的AETX最小,满足条件经过上述迭代步骤,得到集合Z中所有节点u的转发列表

第三步骤:对转发列表进行筛选

对第二步得到的转发列表进行筛选,规定转发节点分布于一个主要区域内,称为转发域。利用ETX(期望传输数)获得一条源节点与目的节点间的最短路径,然后限制转发节点到最短路径节点的距离在一定阈值内。具体筛选过程如下:

(1)利用最短路径寻路方法获得一条源与目的间的最短路径,最短路径的节点集合为B={s=uL,…,u1,d},中间节点ui的下标越小,离目的节点越近。设Ω=B为筛选后的转发节点集合。

(2)根据距离目的节点d的距离由近及远的顺序遍历最短路径各节点,对每个中间节点ui的邻居u∈N(ui)并且如果则把u放入集合Ω中,并将u从中删除。

(3)重复(2)直到所有的最短路径上的节点都操作完成。

上述步骤(2)中γ表示阈值参数。遍历所有最短路径节点后,即得到筛选转发列表集合Ω。上述步骤中,ETX表示期望传输数,其值为节点间投递率的倒数。

第四步骤:数据发送

经过第三步骤得到源目的节点对(s,d)之间的转发列表源s开始向目的节点d发送数据。数据发送过程中,转发列表中的节点需要有一定的协同机制进行数据转发,以防止数据的重复发送与碰撞。源端发送的数据包包含整张转发列表,转发列表按照离目的节点的距离由近到远排序。转发列表规定了哪些收到数据包的节点有权利转发数据。数据转发机制如下:

发送端:源节点将转发列表写入数据包包头,然后进行数据发送,收到任一转发节点发送的ACK应答则开始发送下一个。

接收端:节点收到数据包后首先根据包中的转发列表字段检查自己是否在转发列表内,如果不在其中,则直接丢弃;如果在其中,则根据自己在表中的优先级退避一定的时间转发数据包,并发送ACK应答,第i个转发节点的退避时间为(M+1-i)TACK,M表示转发节点个数。退避时间期间如果得知更高优先级节点收到同一个数据包,则丢弃该包,否则退避时间计时完成则转发该数据包。应答帧中包含该节点所知的收到同一数据包的最高优先级节点ID。

数据包头与应答帧格式如图2、3所示。

第五步骤:进行自适应速率调整

通过目的节点向源节点发送端到端接收数据计数应答包,实现对速率的自适应调节,应答包格式如图4。目的节点周期性回复一个端到端应答包,其中一个字段叫做received_numfield,该域包含至今为止收到的包数received_num。发送节点有一个发送窗口Windows,该窗口有一定时间长度Interval,Windows定义了该时间长度内发送的数据包限制个数。发送节点收到Reply后检查received_num field域,根据received_num来自适应调节发送速率,如果接收的包数较大则增大传输速率,如果接收包数较少,则减小传输速率。具体规定如下:

在第i个时隙:前一个时隙目的节点收到的包数为Received_num(i-1),如果Received_num(i-1)小于最小发送窗口Min_window(Min_window=1),则将第i个时隙的发送窗口设为Min_window;否则,发送窗口更新为Min_window+Δ。

如果第i-1个时隙发送的包数Send_num(i-1)小于第i-2个时隙目的节点接收的包数Received_num(i-2),此时将产生一个富余量对窗口进行调整,第i-1个时隙的富余量定义为Margin(i-1)=Received_num(i-2)-Send_num(i-1),对窗口进行富余量修正的方法为:Windows(i)=Windows(i)+M arg in(i-1)。

仿真结果表明,本发明能充分利用无线广播产生的任意路径资源,使链路稳定度大大提高,并能够大幅度提高网络吞吐量。

附图说明

附图1为本发明中的链路状态信息包格式,附图2为本发明中的数据包头格式,附图3为本发明中的应答帧格式,附图4为本发明中的端到端应答包格式,附图5为本发明中的试例拓扑。

具体实施方式

下面结合附图及试例对本发明作进一步的描述,但该实施例不应理解为对本发明的限制。

1.节点获取全网链路状态信息

假设网络有4个节点(如图5),s为源节点,d为目的节点,v1,v2为中间节点。节点间通过相互发送探针包得到节点间投递率,图5中节点间链路上面的数字即为包投递率。

网络建立初期,无线节点间通过交换Hello报文的方式获取全网链路信息,建立无线网络邻接矩阵D,D中每个元素代表一对节点间的投递率

D=10.80.10.460.810.80.450.10.810.80.460.450.81---(4)

2、选择转发节点组成转发列表

经过网络初始化阶段,每个节点均获取了整个网络的链路状态信息即网络邻接矩阵D,节点将开始计算节点间的度量——任意路径传输数AETX(Any-path Expected TransmissionNumber),并基于这个度量选择转发节点组成转发列表。

设Z为网络中除目的节点d以外的所有节点的集合,则Z={s,v1,v2}。由邻接矩阵D可知,目的节点d有三个邻居s、v1与v2,即N(d)={s,v1,v2}。对N(d)中的每个节点有分别建立转发列表,Fsd={s,d},Fv1d={v1,d},Fv2d={v2,d}.

选择Z中到目的节点d距离最近的节点v2,v2的邻居中属于Z的节点为s、v1,因为所以得到转发列表使用公式(5)计算度量从Z中删除节点v2。

选择Z中到目的节点d距离最近的节点v1,v1的邻居中属于Z的节点为s,因为得到转发列表使用公式(5)计算度量

经过以上几步得到最终的各节点转发列表:

Fsd={s,v1,v2,d},Fv1d={v1,v2,d},Fv2d={v2,d}.

3.对转发列表进行筛选

经过第二步,节点的转发列表已经被选择出来,这其中会包含一些质量不高的链路,并且节点范围会很大。为了减少重传,防止分差传输,需要对第一步得到的转发列表进行筛选,规定转发节点分布于一个主要区域内,称为转发域。首先使用最短路径寻路方法得到一条源与目的间的最短路径,然后限制转发节点到主路径节点的距离在一定阈值内,这样就能防止分差传输,并且保证传输限制在一定范围内进行。

以s到d间的转发列表为例。使用最短路径方法得到最短路径为B={s,d},遍历d的邻居N(d)中属于的节点v1与v2。可以发现已知可以得到因此,由于节点s与节点v2间的链路质量太差,将删除节点v2。得到最终的转发列表

4、数据发送

经过前述步骤得到源目的节点对(s,d)的转发列表假设s向d发送数据,需要转发列表中的节点有一定的协同机制进行数据转发,防止数据的重复发送与碰撞。数据转发过程为:

(1)源端s发送的数据包包含整张转发列表,转发列表按照离目的节点的距离由近到远排序,即数据包中包含(s,v1,d)。转发列表规定了节点v1收到数据包的节点有权利转发数据。s开始发送数据包。

(2)节点(v1,v2)都收到了数据包。节点v2收到数据后首先根据帧中的转发列表字段检查自己是否在转发列表内,发现不在其中,则直接丢弃;节点v1收到包,发现自己包含在其中,则根据自己在表中的优先级退避TACK的时间,期间没有收到更高优先级节点发送出的ACK,说明v1是收到数据包的最高级别节点。节点v1开始转发数据。

(3)节点v1转发数据包的同时发送应答帧,应答帧中应包含该节点所知的收到同一数据包的最高优先级节点ID,因为只有v1收到包,则v1的应答中将仅包含v1,应答帧告知源节点收到包的最高优先级阶节点是v1,则s不必再进行重传。

数据包与应答帧格式如图2、3所示。

4.进行多速率自适应切换

通过目的节点向源节点发送端到端接收数据计数应答帧(End-to-End Reply)实现对速率的自适应调节,应答包格式如图4。目的节点每当收到M个包后,回复一个End-to-End Reply,其中一个字段叫做received_num field,该域包含至今为止收到的包数received_num。发送节点有一个发送窗口Windows,该窗口有一定时间长度Interval(Interval=200ms),Windows定义了该时间长度内发送的数据包限制个数。发送节点收到Reply后检查received_num field域,根据received_num来自适应调节发送速率,如果接收的包数较大则增大传输速率,如果接收包数较少,则减小传输速率。具体规定如下:

在第i个时隙时源节点s通过received_num field域知道了节点d在i-1时隙收到的包数为Received_num(i-1)=2,可见Received_num(i-1)>Min_window=1,则发送窗口更新为Min_window+1。

如果第i-1个时隙发送的包数Send_num(i-1)=2小于第i-2个时隙目的节点接收的包数Received_num(i-2)=4,此时将产生富余量Margin(i-1)=4-2=2,这个时候当前发送窗口需要用Margin(i-1)修正:Windows(i)=Windows(i)+2。

本说明书中未作详细描述的内容术语本领域专业技术人员公知的现有技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号