CN103037436A - 一种基于HWMP的网络编码感知无线Mesh路由协议 - Google Patents
一种基于HWMP的网络编码感知无线Mesh路由协议 Download PDFInfo
- Publication number
- CN103037436A CN103037436A CN2012105620942A CN201210562094A CN103037436A CN 103037436 A CN103037436 A CN 103037436A CN 2012105620942 A CN2012105620942 A CN 2012105620942A CN 201210562094 A CN201210562094 A CN 201210562094A CN 103037436 A CN103037436 A CN 103037436A
- Authority
- CN
- China
- Prior art keywords
- path
- node
- territory
- link
- hop
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于HWMP的网络编码感知无线Mesh路由协议CAHWMP;所述协议包括一个有网络编码意识的路由判据NCCa,该路由判据综合考虑了链路信道资源消耗和网络编码带来的资源共享增益;给出基于数据流路径的编码判据准则,及使用该准则的编码机会探测算法;设计CAHWMP协议的路径发现过程、路径回复过程以及路径维护过程,使其利用编码机会探测算法,主动的探测节点编码机会,并使用NCCa判据建立有较多编码机会的路径。所述CAHWMP协议能够发现更多的编码机会,进一步提高网络吞吐量、降低平均端到端延迟、提高数据包送达率。
Description
技术领域本发明属于移动通信技术领域,具体指的是一种基于HWMP的网络编码感知无线Mesh路由协议。
背景技术
无线Mesh网络是一种覆盖范围广、网络容量大、接入速度快、部署成本低的新型多跳网络,是解决“最后一公里”瓶颈问题的新方案。路由协议的设计是无线Mesh网络研究的关键问题之一,路由协议设计的好坏直接关系到能否充分发挥无线Mesh网络的优势。2000年,R.Ahlswede等人提出了网络编码的思想,成为通信领域的一个研究热点并得到广泛研究。网络编码思想突破了传统网络节点只能存储转发的传输方式,允许网络节点对数据包编码后再转发,目的节点译码后得到所需的数据包,增加单次传输的信息量,提高网络吞吐量,是可以逼近网络传输容量理论极限的有效方法之一。无线Mesh网络具有物理层广播特性和多跳性,拓扑相对稳定、覆盖范围广,非常适合于运用网络编码技术,而无线Mesh网络编码的研究尚处于探索阶段。COPE是由Katti等人首次提出的将网络编码应用于实际无线网络单播通信的一种机制,其思想是基于机会主义,节点机会侦听无线链路,获得邻居节点的状态信息,并利用获得的信息进行机会式编码。COPE机制为网络编码应用于无线Mesh网络单播通信提供了很好的方案,学术界出现了很多应用COPE机制的相关研究。但机会主义的思想使其只能在已有路径上被动的等待编码机会的产生,如果路由协议所建立的路径没有经过有编码机会的节点或经过很少有编码机会的节点,COPE机制就无法有效的发挥作用,提升网络性能。
HWMP协议,是WLAN Mesh IEEE802.11s标准默认的路径选择协议。它不同于无线Mesh网络传统的先验式路由和按需式路由,而是一个将按需式路由和先验树结构扩展相结合的混合无线Mesh网路由协议,充分发挥了两种路由方式的优势,既能够有较短的路径建立延迟又能够有较小的控制开销,且使用基于空时的链路判据,相比于跳数判据更能反映链路质量。因此,相比于AODV、DSDV等路由协议,HWMP协议更加适用于拓扑结构多样、节点移动性不同、链路质量多变的无线Mesh网络。HWMP协议虽然非常适合应用于无线Mesh网络,但当扩展了COPE机制后,该协议并不能建立有较多编码机会的路径,网络编码的优势得不到充分的发挥。
发明内容
本发明针对上述问题,提出一种基于HWMP的网络编码感知无线Mesh路由协议CAHWMP,使用有网络编码意识的路由判据NCCa,综合考虑链路信道资源消耗量和网络编码带来的资源共享增益,能够反映网络编码对链路资源消耗的影响;在路径发现过程中,CAHWMP协议会启动编码机会探测算法,主动探测节点的编码机会,并根据NCCa判据建立有较多编码机会的路径。
为达到以上目的,本发明采用的技术方案如下:
一种基于HWMP的网络编码感知无线Mesh路由协议CAHWMP,使用有网络编码意识的路由判据NCCa,综合考虑链路信道资源消耗量和网络编码带来的资源共享增益,能够反映网络编码对链路资源消耗的影响;在路径发现过程中,CAHWMP协议会启动编码机会探测算法,主动探测节点的编码机会,并根据NCCa判据建立有较多编码机会的路径;具体方法如下:
步骤A,基于数据流路径的编码判断准则;
定义网络编码集合:设在节点v处,有若干数据流经此节点传输,数据流流经不同的路由路径,这些路由路径对应了n个由上一跳节点和下一跳节点组成的上下跳对,记为(previ,nexti)(i=1,2,…,n);如果这些数据流中的数据包在节点v处能够进行COPE机制编码,则称这n个上下跳对(previnexti)组成了一个编码集合;
基于数据流路径的编码判断准则为:
在节点v处,如果传输数据流中的数据包能够进行COPE机制编码,即对应的n个上下跳对(previ,nexti),i=1,2,…,n能够组成一个编码集合,当且仅当这n个上下跳对(previ,nexti)满足任意一个上下跳对的下一跳节点nexti是其他n-1个上下跳对的上一跳节点prevj,j=1,2,…,n且j≠i,或上一跳节点prevj的邻居节点;所述上一跳节点prevj的邻居节点集合为N(prevj);
所述节点v维护的路由表由若干到不同目的节点的路由条目信息组成,路由条目中的目的节点地址、目的序列号和目的PREQ ID用来唯一的标识一条路径,跳数域反映到目的节点的跳数信息,Metric域记录路径的有网络编码意识的空时链路判据NCCa,上一跳和下一跳记录该路径的上一跳和下一跳地址信息,生存时间反映该路径的可用的最后时间,重传次数和重传时间是为路由请求的重传设置的阈值,maxCa域记录了路由发现过程编码探测获得的maxCa值,路由标志有5种取值反映该路径不同的状态,只有标志为RTF_ACTUAL的路径是当前有数据流传输的路径;
步骤B,建立有网络编码意识的空时链路判据NCCa;
NCCa综合考虑链路信道资源消耗量和网络编码带来的资源共享增益,是有网络编码意识的空时链路判据;
由路由发现过程找到的路径L上的链路1:(i,j)的NCCa(i,j)计算公式如下:
其中,nk,k=1,2,…,N,表示节点i处参与编码的原始数据包除节点j外的下一跳节点,N为除j外的其他下一跳节点的个数;Ca(i,j)是链路(i,j)的资源消耗量,Ca(i,nk)是参与编码的其他原始数据包下一跳链路的资源消耗量,nk≠j;Ca由IEEE802.11s标准定义;
当节点i处没有编码机会时,NCCa(i,j)的值就是原本的链路资源消耗量Ca(i,j);当节点i处有编码机会,并且路径(i,j)的链路消耗Ca(i,j)不是参与编码原始数据包下一跳链路资源消耗量的最大值,那么网络编码后编码包就可以共享有最大资源消耗的链路进行捎带传输,NCCa(i,j)的值为0;当节点i处有编码机会,并且链路(i,j)的资源消耗Ca(i,j)是参与编码的数据包下一跳链路消耗量的最大值,那么网络编码后此链路还是要付出一定的差值的资源消耗,即Ca(i,j)-max{Ca(i,n1),Cc(i,n2),…,Ca(i,nN)};
路径L的NCCa判据是路径上所有链路判据的总和:
NCCaL=∑l∈LNCCa(i,j)
为获得计算NCCa所需的邻居节点链路的空时链路开销Ca,节点维护一个邻居接收表,存储邻居节点地址、邻居报告和空时链路开销信息;其中,邻居节点地址和邻居报告提供COPE编码所需的信息;
步骤C,路由建立及维护;
本协议包括路径发现、路径回复以及路径维护三个过程;
步骤C-1,路径发现;
源MP需要发送数据到目标MP时,源MP首先检查它的路由表中是否有到达目的MP的有效路径;如果没有,广播一个路由请求PREQ包,CAHWMP协议的路由请求PREQ包添加了Add域和上一跳MP地址域用以存储编码机会检测算法输出的Add集合和上一跳地址信息,Hop Count域、Metric域和Add域都初始化为0,Last Hop Address域写入源MP的MAC地址;
中间MP收到一个PREQ包后,进行如下操作:
Hop Count域加1;
TTL域减1;
更新Metric域;读取Add域信息,若Add域为NULL或Add域中没有此节点信息,则说明以此节点作为下一跳节点没有在上一节点产生编码机会,按照网络编码意识空时链路判据NCCa的计算公式计算此链路的开销NCCa,然后将此值累加到Metric域;若Add域中有此节点信息,则说明产生了编码机会,提取Add域中与此节点相对应的maxCa值,计算此链路的开销NCCa,然后将此值累加到Metric域;
启动编码机会检测算法,将获得的Add集合信息写入Add域,覆盖之前的值,并将maxCa值写入路由表此路由条目的maxCa域;
创建或更新到源MP的反向路径:当此中间MP中没有到源MP的路径时,会新建一条到源MP的路径,相应的目标序列号从源序列号中获得;如果已经存在了一条到达源MP的路径,则检查是否更新;当收到的PREQ的序列号比路由表中现存路径的序列号更大时,则更新当前路径;当新收到的PREQ的序列号和当前已有路径序列号相同,但此PREQ提供了比当前路径更好的Metric时,也会更新当前路径;
更新Last Hop Address域,写入本节点的MAC地址信息;
如果此MP不是目的MP而且PREQ的TTL域值大于0,则当前MP继续转发PREQ包到邻居MP;跟HWMP协议类似,CAHWMP路由协议也使用了序列号机制用来防止环路的产生,如果收到有相同PREQ ID和源MP地址的PREQ包,则选择丢弃;
步骤C-2,路径回复:
目的MP在收到第一个PREQ包之后的一小段时延T内收到的所有PREQ包中,选择Metric域具有最小路径NCCa值的PREQ包生成路径回复消息PREP;假如PREQ包中的序列号等于目的MP本身的序列号加1,则目的MP在产生PREP包之前必须把自己的序列号加1;否则不改变它的序列号;目的MP将其序列号放入PREP的目的节点序列号字段当中,并把Hop Count域和Metric域置0,按照到源MP的反向路径单播此PREP消息到上一跳MP;
中间MP接收到PREP包后,正式建立到目的MP的路径,PREP的Hop Count域加1,提取此路由条目的maxCa域值,根据网络编码意识空时链路判据NCCa计算公式计算出上一跳的NCCa值,累加到PREP的Metric域,并将跳数和Metric值写入路由条目的跳数域和Metric域;继续转发此PREP包至上一跳节点做同样的更新,直至到达源MP,源MP收到PREP包后以同样的方式更新到目的MP的路由条目,并销毁此PREP包;这样源MP到目的MP的路径就建立起来了,源MP开始向目的MP发送数据;
步骤C-3,路径维护:
当一条活跃路径上的MP对数据包经有限次的重传后发送失败,即该MP到下一跳MP的链路已断开,需发送路径错误消息PERR来进行路径维护;PERR中记录了不可达目的MP的个数、所有不可达目的MP的MAC地址及序列号;
在发送PERR消息之前,将路由表中所有不可达目的MP的序列号加1,并将所有不可达目的MP的路由条目标记为无效;发送PERR消息到所有不可达目的MP对应路由表条目中的上一跳MP;收到PERR消息的上一跳MP检查路由表的目的地址表项是否有在PERR消息的不可达目的MP列表中,如果没有,则丢弃该PERR;如果有,则将路由条目中存在在PERR消息不可达目的MP列表中的目的MP序列号更新为PERR中对应的不可达目的MP序列号,并将相应的路由表项标记为无效,根据新的不可达目的MP产生PERR消息,新PERR消息的不可达目的MP是原PERR不可达目的MP的一个子集,继续发送PERR消息到不可达目的MP对应路由表条目的上一跳MP;源MP收到PERR消息后,按照同样的方式更新不可达目的MP的序列号并标记该路由条目无效,重新发起到目的MP的路径建立过程。
本发明的有益效果是:本发明提出了一种基于HWMP的网络编码感知无线Mesh路由协议CAHWMP;所述协议包括一个有网络编码意识的路由判据NCCa,该路由判据综合考虑了链路信道资源消耗和网络编码带来的资源共享增益;给出基于数据流路径的编码判据准则,及使用该准则的编码机会探测算法;设计CAHWMP协议的路径发现过程、路径回复过程以及路径维护过程,使其利用编码机会探测算法,主动的探测节点编码机会,并使用NCCa判据建立有较多编码机会的路径。所述CAHWMP协议能够发现更多的编码机会,进一步提高网络吞吐量、降低平均端到端延迟、提高数据包送达率。
附图说明
图1为COPE编码x型拓扑结构示意图。
图2网络吞吐量随数据流数目变化曲线图。
图3平均端到端延迟随数据流数目变化曲线图。
图4数据包送达率随数据流数目变化曲线图。
具体实施方式
为了更加详细的描述本发明提出的一种基于HWMP的网络编码感知无线Mesh路由协议CAHWMP,结合附图,举例说明如下:
一种基于HWMP的网络编码感知无线Mesh路由协议CAHWMP,使用有网络编码意识的路由判据NCCa,综合考虑链路信道资源消耗量和网络编码带来的资源共享增益,能够反映网络编码对链路资源消耗的影响;在路径发现过程中,CAHWMP协议会启动编码机会探测算法,主动探测节点的编码机会,并根据NCCa判据建立有较多编码机会的路径;具体方法如下:
步骤A,基于数据流路径的编码判断;
定义网络编码集合:设在节点v处,有若干数据流经此节点传输,数据流流经不同的路由路径,这些路由路径对应了n个由上一跳节点和下一跳节点组成的上下跳对,记为(previ,nexti),i=1,2,…,n;如果这些数据流中的数据包在节点v处能够进行COPE机制编码,我们就称这n个上下跳对(previ,nexti)组成了一个编码集合;
基于数据流路径的编码判断准则为:
在节点v处,如果传输数据流中的数据包能够进行COPE机制编码,即对应的n个上下跳对(previ,nexti)能够组成一个编码集合,当且仅当这n个上下跳对(previ,nexti)满足任意一个上下跳对的下一跳节点nexti是其他n-1个上下跳对的上一跳节点prevj(j=1,2,…,n且j≠i)或上一跳节点prevj的邻居节点,所述上一跳节点prevj的邻居节点集合为N(prevj);
本协议中,对基于数据流路径的编码判断准则所需的节点v处正在传输的数据流及对应的上下跳对信息是通过查找节点v维护的路由表来获取的;路由表是由若干到不同目的节点的路由条目信息组成,路由条目中的目的节点地址、目的序列号和目的PREQ ID用来唯一的标识一条路径,跳数域反映到目的节点的跳数信息,Metric域记录路径的有网络编码意识的空时链路判据NCCa,上一跳和下一跳记录该路径的上一跳和下一跳地址信息,生存时间反映该路径的可用的最后时间,重传次数和重传时间是为路由请求的重传设置的阈值,maxCa域记录了路由发现过程编码探测获得的maxCa值,路由标志有5种取值反映该路径不同的状态,只有标志为RTF_ACTUAL的路径是当前有数据流传输的路径;
步骤B,有网络编码意识的空时链路判据NCCa;
IEEE802.11s标准中定义了一个缺省的基于空时的链路判据Ca,用于计算链路传输数据帧消耗的信道资源量;与无线自组网中经常使用的以跳数作为路由判据的机制相比,空时链路判据更能适应无线Mesh网络拓扑结构复杂、链路质量多变的状况;Ca仅反映了链路传输数据帧所消耗的信道资源量,当将网络编码机制应用于网络数据传输时,多个数据包可以编码为一个编码包共享相同的资源进行传输,Ca并不能反映这种信道资源共享所带来的收益;采用综合考虑链路信道资源消耗量和网络编码带来的资源共享增益的有网络编码意识的空时链路判据NCCa;
通过对网络编码机制的描述可知,当若干数据包在某个节点处编码后,编码包是通过一次传输到达所有目的节点。那么,编码包传输的链路资源消耗量和参与编码的每个原始数据包相对应的下一跳链路资源消耗量之间的关系描述如下:如果编码节点处有n个数据包可以编码,参与编码的每个原始数据包的下一跳链路的资源消耗量分别为Ca1,Ca2,...,Can,那么编码包可以共享的链路资源消耗为max{Ca1,Ca2,...,Can},即所有参与编码的原始数据包都可以共享有最大资源消耗量的链路进行传输;
考虑如图1所示的X型编码结构,节点S1通过路径(S1,v,D1)传输数据到节点D1,节点S2通过路径(S2,v,D2)传输数据到节点D2,数据包可以在节点v处进行编码然后向目的节点D1、D2传输编码包;假设(S1,v,D1)是已存在的数据流路径,节点S2通过路由发现过程建立起经过拥有编码机会的节点v,到目的节点D2的路径;当节点D2收到路径请求包后,通过检查请求包的信息发现自己作为下一跳可以使节点v处产生编码机会,并且获知了参与编码的另一数据包的下一跳链路(v,D1)的链路资源消耗Ca(v,D1);参与编码的原始数据包有max{Ca(v,D1),Ca(v,D2)}大小可共享的资源消耗量;如果Ca(v,D2)<Ca(v,D1),原始数据包的传输就可以完全共享链路(v,D1)的资源消耗量,即捎带传输,从而使考虑网络编码后链路(v,D2)的资源消耗量为0;而如果Ca(v,D2)>Ca(v,D1),则考虑网络编码后链路(v,D2)就要有Ca(v,D2)-Ca(v,D1)的资源消耗量。
由路由发现过程找到的路径L上的链路1:(i,j)的NCCa(i,j)计算公式如下:
其中,nk(k=1,2,…,N)表示节点i处参与编码的原始数据包除节点j外的下一跳节点,N为除j外的其他下一跳节点的个数;Ca(i,j)是链路(i,j)的资源消耗量,Ca(i,nk)是参与编码的其他原始数据包下一跳链路的资源消耗量,nk≠j;
当节点i处没有编码机会时,NCCa(i,j)的值就是原本的链路资源消耗量Ca(i,j);当节点i处有编码机会,并且路径(i,j)的链路消耗Ca(i,j)不是参与编码原始数据包下一跳链路资源消耗量的最大值,那么网络编码后编码包就可以共享有最大资源消耗的链路进行捎带传输,NCCa(i,j)的值为0;当节点i处有编码机会,并且链路(i,j)的资源消耗Cv(i,j)是参与编码的数据包下一跳链路消耗量的最大值,那么网络编码后此链路还是要付出一定的差值的资源消耗,即Ca(i,j)-max{Ca(i,n1),Ca(i,n2),…,Ca(i,nN)};
路径L的判据是路径上所有链路判据的总和:
NCCaL=∑l∈LNCCa(i,j)
为获得计算NCCa所需的邻居节点链路的空时链路开销Ca,节点维护一个邻居接收表,存储邻居节点地址、邻居报告和空时链路开销信息;其中,邻居节点地址和邻居报告提供COPE编码所需的信息;
步骤C,路由建立及维护;
本协议包括路径发现、路径回复以及路径维护三个过程;
步骤C-1,路径发现;
源MP需要发送数据到目标MP时,源MP首先检查它的路由表中是否有到达目的MP的有效路径;如果没有,广播一个路由请求PREQ包,CAHWMP协议的路由请求PREQ包添加了Add域和上一跳MP地址域用以存储编码机会检测算法输出的Add集合和上一跳地址信息,Hop Count域、Metric域和Add域都初始化为0,Last Hop Address域写入源MP的MAC地址;
中间MP收到一个PREQ包后,进行如下操作:
Hop Count域加1;
TTL域减1;
更新Metric域;读取Add域信息,若Add域为NULL或Add域中没有此节点信息,则说明以此节点作为下一跳节点没有在上一节点产生编码机会,按照网络编码意识空时链路判据NCCa的计算公式计算此链路的开销NCCa,然后将此值累加到Metric域;若Add域中有此节点信息,则说明产生了编码机会,提取Add域中与此节点相对应的maxCa值,计算此链路的开销NCCa,然后将此值累加到Metric域;
启动编码机会检测算法,将获得的Add集合信息写入Add域,覆盖之前的值,并将maxCa值写入路由表此路由条目的maxCa域;
创建或更新到源MP的反向路径:当此中间MP中没有到源MP的路径时,会新建一条到源MP的路径,相应的目标序列号从源序列号中获得;如果已经存在了一条到达源MP的路径,则检查是否更新;当收到的PREQ的序列号比路由表中现存路径的序列号更大时,则更新当前路径;当新收到的PREQ的序列号和当前已有路径序列号相同,但此PREQ提供了比当前路径更好的Metric时,也会更新当前路径;
更新Last Hop Address域,写入本节点的MAC地址信息;
如果此MP不是目的MP而且PREQ的TTL域值大于0,则当前MP继续转发PREQ包到邻居MP;跟HWMP协议类似,CAHWMP路由协议也使用了序列号机制用来防止环路的产生,如果收到有相同PREQ ID和源MP地址的PREQ包,则选择丢弃;
步骤C-2,路径回复:
目的MP在收到第一个PREQ包之后的一小段时延T内收到的所有PREQ包中,选择Metric域具有最小路径NCCa值的PREQ包生成路径回复消息PREP;假如PREQ包中的序列号等于目的MP本身的序列号加1,则目的MP在产生PREP包之前必须把自己的序列号加1;否则不改变它的序列号;目的MP将其序列号放入PREP的目的节点序列号字段当中,并把Hop Count域和Metric域置0,按照到源MP的反向路径单播此PREP消息到上一跳MP;
中间MP接收到PREP包后,正式建立到目的MP的路径,PREP的Hop Count域加1,提取此路由条目的maxCa域值,根据网络编码意识空时链路判据NCCa计算公式计算出上一跳的NCCa值,累加到PREP的Metric域,并将跳数和Metric值写入路由条目的跳数域和Metric域;继续转发此PREP包至上一跳节点做同样的更新,直至到达源MP,源MP收到PREP包后以同样的方式更新到目的MP的路由条目,并销毁此PREP包;这样源MP到目的MP的路径就建立起来了,源MP开始向目的MP发送数据;
步骤C-3,路径维护:
当一条活跃路径上的MP对数据包经有限次的重传后发送失败,即该MP到下一跳MP的链路已断开,需发送路径错误消息PERR来进行路径维护;PERR中记录了不可达目的MP的个数、所有不可达目的MP的MAC地址及序列号;
在发送PERR消息之前,需将路由表中所有不可达目的MP的序列号加1,并将所有不可达目的MP的路由条目标记为无效;发送PERR消息到所有不可达目的MP对应路由表条目中的上一跳MP;收到PERR消息的上一跳MP检查路由表的目的地址表项是否有在PERR消息的不可达目的MP列表中,如果没有,则丢弃该PERR;如果有,则将路由条目中存在在PERR消息不可达目的MP列表中的目的MP序列号更新为PERR中对应的不可达目的MP序列号,并将相应的路由表项标记为无效,根据新的不可达目的MP产生PERR消息,新PERR消息的不可达目的MP是原PERR不可达目的MP的一个子集,继续发送PERR消息到不可达目的MP对应路由表条目的上一跳MP;源MP收到PERR消息后,按照同样的方式更新不可达目的MP的序列号并标记该路由条目无效,重新发起到目的MP的路径建立过程。
本实施例采用NS2仿真软件来对CAHWMP协议进行仿真实验,对HWMP、COPE-HWMP、CAHWMP三种情况下的网络性能进行比较。
—HWMP:指单纯的使用HWMP协议。
—COPE-HWMP:指在启用网络编码COPE机制的情况下,使用HWMP协议。
—CAHWMP:指在启用网络编码COPE机制的情况下,使用本发明提出的编码感知CAHWMP协议。
场景设置
仿真采用随机网络拓扑模拟无线Mesh网络,在1000×1000m2的区域中随机分布36个静止节点,节点之间的有效传输距离为300m,仿真时间200s。MAC层设置为802.11b标准,信道容量2Mb,任意两个节点之间的封包遗失率随机设置。设置网络传输cbr数据流,CBR封包大小固定为512B,源节点每秒产生20个CBR封包。实验考察网络在建立不同数目数据流的情况下,网络吞吐量、平均端到端延迟以及数据包送达率的变化情况,数据流数目从2条以2为间隔递增到28条,共14个不同的数据流数目值。仿真结果的每个数值取30次实验的平均值。
仿真结果
图2所示为三种情况下,网络吞吐量随数据流数目的变化曲线图。在网络数据流数目少于4条时,网络负载很低,数据包基本都能够成功到达接收端,三种情况下的网络吞吐量没有明显的区别。当数据流数目增加到6条以上时,因为出现了网络拥塞,产生拥塞丢包,三种情况下吞吐量的增加都变缓。COPEHWMP因为启用了COPE机制,网络中产生一定的编码机会,缓和了网络拥塞,进而减少拥塞丢包,吞吐量高于HWMP。CAHWMP的网络吞吐量比COPE-HWMP还要高,这是因为CAHWMP协议能够感知COPE网络编码,数据流路径的建立会选择有更多编码机会的路径,从而使CAHWMP比COPE-HWMP有更多的编码机会,更有效的缓解拥塞,减少拥塞丢包。随着数据流数目的增加,CAHWMP相对COPE-HWMP增加的网络吞吐量越来越多,这是因为每条新数据流路径的建立,CAHWMP都会比COPE-HWMP拥有更多的编码机会。对三种情况下不同数据流数目对应的网络吞吐量取平均值,COPE-HWMP比HWMP高出13.9%,CAHWMP比HWMP高出28.3%,CAHWMP比COPE-HWMP高出12.7%。
图3所示为平均端到端延迟随数据流数目的变化趋势图。由图可以看出,随着数据流数目的增加,网络负载相应增大,数据包需要在接口队列中排队等待的时间也逐渐增大,直到接口队列达到饱和,平均端到端延迟也趋于稳定。COPE机制的应用使得节点发送队列中的多个数据包可以编码为一个数据包进行一次传输,减少了数据包在接口队列中排队等待的时间,所以COPE-HWMP和CAHWMP都能够明显降低平均端到端延迟。对不同数据流数目下网络的平均端到端延迟取平均值,COPE-HWMP比HWMP降低了15.5%,CAHWMP比HWMP降低了26.9%。CAHWMP协议因为可以发现更多的编码机会,使得CAHWMP比COPE-HWMP数据包平均在接口队列中排队的时间进一步减少,平均端到端延迟也进一步降低。对不同数据流数目下网络的平均端到端延迟取平均值,CAHWMP比COPE-HWMP下降了13.6%。
图4所示为数据包送达率随数据流数目变化曲线图。随着数据流数目的增加,网络的拥塞程度逐渐加剧,产生的拥塞丢包也逐渐增多,因此数据包送达率也逐渐的降低。COPE编码机制的运用使得网络拥塞得到缓解,拥塞丢包数也相应的减少,所以COPE-HWMP和CAHWMP的数据包送达率曲线都在HWMP之上。而CAHWMP因为拥有更多的编码机会,拥塞丢包数得到进一步的减少,所以CAHWMP的曲线在COPE-HWMP之上。对不同数据流数目下网络数据包送达率取平均值,COPEHWMP比HWMP高出4.4%,CAHWMP比HWMP高出8.7%,CAHWMP比COPE-HWMP高出4.3%。
Claims (1)
1.一种基于HWMP的网络编码感知无线Mesh路由协议,其特征在于,所述协议使用有网络编码意识的路由判据NCCa,综合考虑链路信道资源消耗量和网络编码带来的资源共享增益;在路径发现过程中,所述协议主动探测节点的编码机会,并根据NCCa判据建立有较多编码机会的路径;具体方法如下:
步骤A,基于数据流路径的编码判断准则;
定义网络编码集合:设在节点v处,有若干数据流经此节点传输,数据流流经不同的路由路径,这些路由路径对应了n个由上一跳节点和下一跳节点组成的上下跳对,记为(previ,exti),i=1,2,…,n;如果这些数据流中的数据包在节点v处能够进行COPE机制编码,则称这n个上下跳对(previ,nexti)组成了一个编码集合;
基于数据流路径的编码判断准则为:
在节点v处,如果传输数据流中的数据包能够进行COPE机制编码,即对应的n个上下跳对(previ,nexti)能够组成一个编码集合,当且仅当这n个上下跳对(previ,nexti)满足任意一个上下跳对的下一跳节点nexti是其他n-1个上下跳对的上一跳节点prevj,j=1,2,…,n且j≠i,或上一跳节点prevj的邻居节点;
所述节点v维护的路由表由若干到不同目的节点的路由条目信息组成,路由条目中的目的节点地址、目的序列号和目的PREQ ID用来唯一的标识一条路径,跳数域反映到目的节点的跳数信息,Metric域记录路径的有网络编码意识的空时链路判据NCCa,上一跳和下一跳记录该路径的上一跳和下一跳地址信息,生存时间反映该路径的可用的最后时间,重传次数和重传时间是为路由请求的重传设置的阈值,maxCa域记录了路由发现过程编码探测获得的maxCa值,路由标志有5种取值反映该路径不同的状态,只有标志为RTF_ACTUAL的路径是当前有数据流传输的路径;
步骤B,建立有网络编码意识的空时链路判据NCCa;
NCCa综合考虑链路信道资源消耗量和网络编码带来的资源共享增益,是有网络编码意识的空时链路判据;
由路由发现过程找到的路径L上的链路1:(i,j)的NCCa(i,j)计算公式如下:
其中,nk,k=1,2,…,N,表示节点i处参与编码的原始数据包除节点j外的下一跳节点,N为除j外的其他下一跳节点的个数;Ca(i,j)是链路(i,j)的资源消耗量,Ca(i,nk)是参与编码的其他原始数据包下一跳链路的资源消耗量,nk≠j;Ca由IEEE802.11s标准定义;
当节点i处没有编码机会时,NCCa(i,j)的值就是原本的链路资源消耗量Ca(i,j);当节点i处有编码机会,并且路径(i,j)的链路消耗Ca(i,j)不是参与编码原始数据包下一跳链路资源消耗量的最大值,那么网络编码后编码包就可以共享有最大资源消耗的链路进行捎带传输,NCCa(i,j)的值为0;当节点i处有编码机会,并且链路(i,j)的资源消耗Ca(i,j)是参与编码的数据包下一跳链路消耗量的最大值,那么网络编码后此链路还是要付出一定的差值的资源消耗,即Ca(i,j)-max{Ca(i,n1),Ca(i,n2),…,Ca(i,nN)};
路径L的NCCa判据是路径上所有链路判据的总和:
NCCaL=∑l∈LNCCa(i,j)
为获得计算NCCa所需的邻居节点链路的空时链路开销Ca,节点维护一个邻居接收表,存储邻居节点地址、邻居报告和空时链路开销信息;其中,邻居节点地址和邻居报告提供COPE编码所需的信息;
步骤C,路由建立及维护;
本协议包括路径发现、路径回复以及路径维护三个过程;
步骤C-1,路径发现;
源MP需要发送数据到目标MP时,源MP首先检查它的路由表中是否有到达目的MP的有效路径;如果没有,广播一个路由请求PREQ包,CAHWMP协议的路由请求PREQ包添加了Add域和上一跳MP地址域用以存储编码机会检测算法输出的Add集合和上一跳地址信息,Hop Count域、Metric域和Add域都初始化为0,Last Hop Address域写入源MP的MAC地址;
中间MP收到一个PREQ包后,进行如下操作:
Hop Count域加1;
TTL域减1;
更新Metric域;读取Add域信息,若Add域为NULL或Add域中没有此节点信息,则说明以此节点作为下一跳节点没有在上一节点产生编码机会,按照网络编码意识空时链路判据NCCa的计算公式计算此链路的开销NCCa,然后将此值累加到Metric域;若Add域中有此节点信息,则说明产生了编码机会,提取Add域中与此节点相对应的maxCa值,计算此链路的开销NCCa,然后将此值累加到Metric域;
启动编码机会检测算法,将获得的Add集合信息写入Add域,覆盖之前的值,并将maxCa值写入路由表此路由条目的maxCa域;
创建或更新到源MP的反向路径:当此中间MP中没有到源MP的路径时,会新建一条到源MP的路径,相应的目标序列号从源序列号中获得;如果已经存在了一条到达源MP的路径,则检查是否更新;当收到的PREQ的序列号比路由表中现存路径的序列号更大时,则更新当前路径;当新收到的PREQ的序列号和当前已有路径序列号相同,但此PREQ提供了比当前路径更好的Metric时,也会更新当前路径;
更新Last Hop Address域,写入本节点的MAC地址信息;
如果此MP不是目的MP而且PREQ的TTL域值大于0,则当前MP继续转发PREQ包到邻居MP;跟HWMP协议类似,CAHWMP路由协议也使用了序列号机制用来防止环路的产生,如果收到有相同PREQ ID和源MP地址的PREQ包,则选择丢弃;
步骤C-2,路径回复:
目的MP在收到第一个PREQ包之后的一小段时延T内收到的所有PREQ包中,选择Metric域具有最小路径NCCa值的PREQ包生成路径回复消息PREP;假如PREQ包中的序列号等于目的MP本身的序列号加1,则目的MP在产生PREP包之前必须把自己的序列号加1;否则不改变它的序列号;目的MP将其序列号放入PREP的目的节点序列号字段当中,并把Hop Count域和Metric域置0,按照到源MP的反向路径单播此PREP消息到上一跳MP;
中间MP接收到PREP包后,正式建立到目的MP的路径,PREP的Hop Count域加1,提取此路由条目的maxCa域值,根据网络编码意识空时链路判据NCCa计算公式计算出上一跳的NCCa值,累加到PREP的Metric域,并将跳数和Metric值写入路由条目的跳数域和Metric域;继续转发此PREP包至上一跳节点做同样的更新,直至到达源MP,源MP收到PREP包后以同样的方式更新到目的MP的路由条目,并销毁此PREP包;这样源MP到目的MP的路径就建立起来了,源MP开始向目的MP发送数据;
步骤C-3,路径维护:
当一条活跃路径上的MP对数据包经有限次的重传后发送失败,即该MP到下一跳MP的链路已断开,需发送路径错误消息PERR来进行路径维护;PERR中记录了不可达目的MP的个数、所有不可达目的MP的MAC地址及序列号;
在发送PERR消息之前,将路由表中所有不可达目的MP的序列号加1,并将所有不可达目的MP的路由条目标记为无效;发送PERR消息到所有不可达目的MP对应路由表条目中的上一跳MP;收到PERR消息的上一跳MP检查路由表的目的地址表项是否有在PERR消息的不可达目的MP列表中,如果没有,则丢弃该PERR;如果有,则将路由条目中存在在PERR消息不可达目的MP列表中的目的MP序列号更新为PERR中对应的不可达目的MP序列号,并将相应的路由表项标记为无效,根据新的不可达目的MP产生PERR消息,新PERR消息的不可达目的MP是原PERR不可达目的MP的一个子集,继续发送PERR消息到不可达目的MP对应路由表条目的上一跳MP;源MP收到PERR消息后,按照同样的方式更新不可达目的MP的序列号并标记该路由条目无效,重新发起到目的MP的路径建立过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562094.2A CN103037436B (zh) | 2012-12-21 | 2012-12-21 | 一种基于HWMP的网络编码感知无线Mesh路由协议 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562094.2A CN103037436B (zh) | 2012-12-21 | 2012-12-21 | 一种基于HWMP的网络编码感知无线Mesh路由协议 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103037436A true CN103037436A (zh) | 2013-04-10 |
CN103037436B CN103037436B (zh) | 2015-07-01 |
Family
ID=48023810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210562094.2A Expired - Fee Related CN103037436B (zh) | 2012-12-21 | 2012-12-21 | 一种基于HWMP的网络编码感知无线Mesh路由协议 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103037436B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113786A (zh) * | 2014-12-31 | 2017-08-29 | 华为技术有限公司 | 一种广播通信方法及用户设备 |
CN108900517A (zh) * | 2018-07-10 | 2018-11-27 | 吉林大学 | 一种基于hwmp协议的安全路由防御方法 |
CN110278594A (zh) * | 2018-03-13 | 2019-09-24 | 重庆邮电大学 | 一种低开销的编码感知无线Mesh网络路由协议设计方法 |
CN112383947A (zh) * | 2020-11-16 | 2021-02-19 | 电子科技大学 | 基于网络环境的无线自组网混合式路由协议方法 |
CN113098524A (zh) * | 2021-03-22 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 信息编码方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157984A1 (en) * | 2007-12-18 | 2009-06-18 | Junichi Hara | Avoiding use of an inter-unit network in a storage system having multiple storage control units |
US20100208621A1 (en) * | 2009-02-13 | 2010-08-19 | Nokia Siemens Networks Oy | Method, System and Nodes for Network Topology Detection in Communication Networks |
-
2012
- 2012-12-21 CN CN201210562094.2A patent/CN103037436B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157984A1 (en) * | 2007-12-18 | 2009-06-18 | Junichi Hara | Avoiding use of an inter-unit network in a storage system having multiple storage control units |
US20100208621A1 (en) * | 2009-02-13 | 2010-08-19 | Nokia Siemens Networks Oy | Method, System and Nodes for Network Topology Detection in Communication Networks |
Non-Patent Citations (2)
Title |
---|
S.M.S.BARI: "Performance Study of Hybrid Wireless Mesh Protocol for IEEE 802.11s WLAN Mesh Networks", 《ICCCE》, 5 July 2012 (2012-07-05) * |
游波: "IEEE 802.11s路由切换分析与改进", 《通信学报》, 30 September 2012 (2012-09-30) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113786A (zh) * | 2014-12-31 | 2017-08-29 | 华为技术有限公司 | 一种广播通信方法及用户设备 |
CN110278594A (zh) * | 2018-03-13 | 2019-09-24 | 重庆邮电大学 | 一种低开销的编码感知无线Mesh网络路由协议设计方法 |
CN108900517A (zh) * | 2018-07-10 | 2018-11-27 | 吉林大学 | 一种基于hwmp协议的安全路由防御方法 |
CN108900517B (zh) * | 2018-07-10 | 2020-09-25 | 吉林大学 | 一种基于hwmp协议的安全路由防御方法 |
CN112383947A (zh) * | 2020-11-16 | 2021-02-19 | 电子科技大学 | 基于网络环境的无线自组网混合式路由协议方法 |
CN113098524A (zh) * | 2021-03-22 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 信息编码方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103037436B (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100442786C (zh) | 基于树形结构的路由方法 | |
CN107846706B (zh) | 一种拥塞避免的编码感知无线mesh网络多路径路由方法 | |
CN103108374B (zh) | 一种混合结构矿井应急救援无线网状网的节能路由算法 | |
CN103037436B (zh) | 一种基于HWMP的网络编码感知无线Mesh路由协议 | |
CN101102283A (zh) | 一种在无线接入点上优化未知单播转发的方法及设备 | |
Chbib et al. | Improvement of olsr protocol by using bacis up mpr and routing table mechanisms | |
Wannawilai et al. | AOMDV with sufficient bandwidth aware | |
Feng et al. | RBMulticast: Receiver based multicast for wireless sensor networks | |
Hussien et al. | Improvement the route discovery mechanism of dynamic source routing protocol in MANET | |
Alghamdi et al. | Energy-efficient adaptive forwarding scheme for MANETs | |
Gu et al. | Network coding-aware routing protocol in wireless mesh networks | |
KR101371651B1 (ko) | 이동성 애드 혹 네트워크에서의 트리 형성 방법 | |
Kumbharey et al. | Renovated Cluster Based Routing Protocol for MANET | |
Kouvatsos et al. | Broadcasting methods in mobile ad hoc networks: an overview | |
CN103581838B (zh) | 一种Ad Hoc网络信息共享方法 | |
Goyal et al. | Improving the MANET routing algorithm by GC-efficient neighbor selection algorithm | |
Rafiq et al. | Comparative analysis of energy efficient routing protocols in manet | |
Ding et al. | Study of Improved OLSR Routing Protocol in UAV Swarm | |
Bosunia et al. | A robust and reliable routing protocol for energy-constrained mobile ad hoc networks | |
Ren et al. | An effective hybrid routing algorithm for opportunistic networks | |
Jemili et al. | An optimized layered cluster-based routing protocol for ad hoc networks | |
Shao et al. | An Adaptive Link-Disjoint Multipath Routing in Ad Hoc Networks | |
Reddy et al. | Effective Video Broadcasting using Wireless Network through EOLSR | |
Srijeevitha et al. | An Efficient Data Transmission using Relay Node Based Opportunistic Routing | |
Al-Ghadanfary et al. | Simulation of some Routing Protocols in a client wireless mesh network for multimedia applications |
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 |
Granted publication date: 20150701 Termination date: 20171221 |
|
CF01 | Termination of patent right due to non-payment of annual fee |