CN103560966A - 基于网络编码和复制的机会网络混合路由方法 - Google Patents
基于网络编码和复制的机会网络混合路由方法 Download PDFInfo
- Publication number
- CN103560966A CN103560966A CN201310571189.5A CN201310571189A CN103560966A CN 103560966 A CN103560966 A CN 103560966A CN 201310571189 A CN201310571189 A CN 201310571189A CN 103560966 A CN103560966 A CN 103560966A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- data
- request
- information
- 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
本发明公开了一种基于网络编码和复制的机会网络混合路由方法,通过主动寻求异或网络编码机会、通过SV消息和Request消息来分别获取和传递已达目的节点的数据消息信息、优化数据消息的发送顺序以及优先传送目的地址为自己当前一跳邻居节点的数据消息4种新机制,解决现有技术中仅考虑节点之间的两两数据交互,未考虑多邻居节点情况下的数据通信,拓扑信息利用不足;缺乏对自己当前一跳邻居信息的维护、更新以及运用,拓扑信息利用不足;节点对SV消息的利用率低;节点对Request消息的利用率低;节点对待发送的数据消息缺乏发送优先级的考虑,数据投递效率低等问题。在不增加控制开销的前提下,减少了数据消息的发送次数,降低节点的网络开销和存储开销,缩短投递时延,提高了投递效率及路由算法的有效性和可扩展性。
Description
技术领域
本发明属于网络路由方法技术领域,涉及一种基于网络编码和复制的机会网络混合路由方法,特别涉及采用基于感染(epidemic)机制的路由技术和基于网络编码机制的路由技术。
背景技术
机会网络是一种具有间断或部分连接的网络拓扑、利用节点移动带来的相遇机会来实现通信的时延和断裂可容忍的无线移动自组织网络;机会网络是当前无线网络研究领域最新的热点之一,它既是一种具体的网络形式,也是一种极具挑战性的通信网络技术,对于实现未来普适计算具有深远意义。
机会网络体系架构的一个核心组成部分就是路由技术。机会网络采用“存储-携带-转发”的路由模式来实现不同网络区域间的互相通信。当前,根据数据转发特性的不同,可以将现有路由算法划分为多种类型,包括直接传送、基于复制的、基于预测的、基于上下文的和基于编码的方案等。其中,应用和研究较为广泛的是基于复制的路由算法,并且以Epidemic路由算法最为典型。该算法因其较高的投递率和较低的时延特性而备受关注。Epidemic路由算法的主要思想是利用节点的随机移动产生的相遇机会实现节点间的两两信息互换,进而实现消息的最终投递,其基本步骤如下:
1)网络中各节点(如节点A)都周期性的广播Hello消息进行邻居发现。邻居节点(如节点B)收到该Hello消息后,将自己存储的消息(message,指用于传送业务数据的独立完整的信息单元)的索引矢量SV(Summary Vector,一种二进制矢量,矢量中每一位的位置通过哈希映射与一个消息的源节点和序列号相关联,其值代表当前节点的缓存区中是否存储该消息)装入一个SV消息(SV message,指装载索引矢量的控制信息单元)并向A发送。
2)A收到B发来的SV消息后用其中的索引矢量SVB与自己所存消息的索引矢量SVA进行按位运算,确定出自己尚未存有的消息所对应的矢量-请求矢量,记为RequestA,即:
RequestA=SVB&~SVA
3)A将RequestA装入1个Request消息(Request message,指装载请求矢量的控制信息单元),并将其发送给B,请求B发送自己没有的消息。
4)B收到A发来的Request消息后,根据其中的请求矢量RequestA找到自己存有而A没有的消息,然后发送给A。
5)类似地,以节点A为SV消息的发起者,A、B重复步骤(1)~(4)的操作。
基于复制的机会网络节点采用“存储-携带-转发”的路由模式,在未将消息传送到目的节点时,不会删除消息,而是携带着它们一起运动。基于复制的基本思想最初由Demers等人提出,用于网络中不同节点的数据库信息的管理和维护。其后,Vahdat和Becker改进了原有的复制机制使之适合机会网络拓扑间断连接的特点,并以此为基础提出了感染路由(Epidemic Routing)算法,在节点相遇时通过索引矢量消息和请求消息的交换实现数据在网络中的逐跳传递,能够在机会网络中可靠地传输数据而不需要先验拓扑信息的帮助,确保了网络中有足够数量的随机数据交互以及网络中所有节点都能够最终接收到所有消息,消息的投递率较高且端到端时延较小。Spyropoulos等人提出了Spray and Wait路由算法,该算法结合了Epidemic路由算法的快速性和直接传输的简单性和简洁性,可在时延和资源开销之间进行有效折中。该路由算法由Spray和Wait两个阶段构成。在Spray阶段,将消息复制成L个副本,由多个节点携带并参与转发;在Wait阶段,包含该数据分组副本的节点以直接传输的方式将数据分组传送到目的节点。该算法较ER(Epidemic Routing)算法能够显著降低网络开销,但合理副本数L值的选定比较困难。取值较大,则开销增加;取值较小,则分组投递率降低,时延增大。Binary Spray and Wait算法是对Spray and Wait路由算法的改进,能够获取更佳的网络性能。在该算法中,源节点发送一半的数据分组副本给新遇到的中继节点,自己则缓存剩余的一半数据分组副本。源节点和中继节点重复该Spray过程,直到节点仅剩余一份数据分组副本。此时,节点进入Wait阶段,转为直接传输模式。Harras等人提出了Controlled Flooding路由算法,该算法假定每个节点只知道自身以及自己携带的消息信息,并且能够完全自主作出转发决策。该算法通过意愿概率、生存时间(Time-To-Send,TTS)和死亡时间(Time-To-Live,TTL)三个参数来控制消息泛洪。此外,通过广播免疫信息来及时删除已达目的节点的数据分组。该算法在保证可靠投递的同时显著减少了网络开销。
Yu等人提出了MRRMR(Message Redundancy Removal of Multi-copy Routing)算法,在Epidemic路由算法的基础上为每一个网络节点增加一个相遇计数器。该计数器记录节点遇到的带有相同消息拷贝的不同节点的数目。如果计数器的值达到了所设置的门限值,则节点将该消息拷贝从缓存中移除,并且之后不再接收该消息拷贝。通过设置合理的门限值,可以在保证消息投递成功率和不增加控制分组开销的同时,将冗余拷贝高效的控制在一个相对低的水平并且可以显著减少节点缓存占用。但是,由于节点移动的随机性,合理门限值的选定比较困难。并且,消息拷贝的过早移除,还会导致传输时延的增加。Lu等人提出n-epidemic路由算法,仅当节点当前拥有的邻居节点个数达到一个特定的门限值时,才进行数据传输,这就可以使用较少的传输次数获取较多的接收,减少数据传输次数。但是,由于未能充分利用节点之间短暂的相遇机会,导致数据分组不能及时传递,投递时延增加。孙践知等提出了Waitand Epidemic路由算法,将数据分组的转发过程分为Wait和Epidemic两个阶段。Wait阶段,采用直接传输路由策略,由源节点将数据分组直接转发给目的节点,而中继节点不参与转发;Epidemic阶段,源节点将Wait阶段未能送达目的节点的数据分组按照有限度泛洪策略进行转发。该算法仍然未能充分利用节点之间短暂的相遇机会,导致数据分组不能通过中继节点及时传递,投递时延增加。
但是,Epidemic算法类似于泛洪机制,对网络资源的要求比较高,在苛刻的机会网络环境中,算法性能的提升受到限制。由于网络编码技术能够有效解决多种使用单一路由所无法解决的问题,可以充分利用无线网络的广播特性来传输组合后的数据分组给网络中所有的邻居节点,在改善网络容量、可靠性和网络环境等方面表现出强大的优越性,故将其应用于Epidemic算法备受研究与关注。
网络编码的思想最初是由Ahlswede等人于2000年提出的,并且证明了:通过网络编码可获取更大的网络吞吐量。Widmer等人提出了基于网络编码的概率路由算法,中继节点收到编码分组后,并不是简单地转发该分组,而是将已接收到的多个编码分组进行线性组合,生成一个新的编码分组并按照概率d转发给邻居节点。目的节点收到足够多的编码分组后,就可以解码出多个原始数据分组。Lin等人将随机线性网络编码应用于Epidemic路由算法,在带宽和节点缓存大小受限的移动传感器网络环境中建立了一种分析模型,分别计算基于复制和基于网络编码的Epidemic路由算法传输时延。研究结果表明,当带宽和节点缓存受限时,基于网络编码的Epidemic路由算法可以显著缩短数据投递时延。Small和Haads建立了Epidemic路由算法的马尔科夫模型,研究结果表明马尔科夫模型可以精确评估Epidemic路由算法的性能。但是,即使是针对简单的Epidemic路由算法,该模型也已经相当复杂。随着节点数目的增多,复杂度不断增大,因此该模型不适用于大型传感器网络。赵炜等建立了基于常微分方程的Epidemic路由算法分析模型,用于分析比较基于网络编码的Epidemic路由算法和基于复制的Epidemic路由算法的传输时延和冗余度等。结果显示,基于网络编码的Epidemic路由算法的传输时延与缓存大小并没有直接的关联。并且,在受限网络中使用网络编码可明显缩短网络传输时延,提高网络的鲁棒性等。
从上述文献内容和研究现状来看,自从Epidemic路由算法提出以后,人们对其加以改进和拓展的研究一直在进行,在消息转发、节点缓存管理、节点相遇感知以及与其它转发方式的结合等方面已取得一定进展,但在SV消息和Request消息的利用以及局部拓扑信息的利用等方面,仍然存在利用率低的问题,导致冗余的通信和存储开销等。此问题到目前为止未得到有效解决,而它对采用感染机制的路由方法的效率和可扩展性等性能具有重要影响,因此存在进一步研究和解决的需要,本发明针对该问题提出一种创新性的解决方法。
现有基于复制的机会网络路由算法存在以下5个问题:
1)仅考虑节点之间的两两数据交互,未考虑多邻居节点情况下的数据通信,拓扑信息利用不足;
2)缺乏对自己当前一跳邻居信息的维护、更新以及运用,拓扑信息利用不足;
3)节点对SV消息的利用率较低;
4)节点对Request消息的利用率较低;
5)节点对待发送的数据消息缺乏发送优先级的考虑,数据投递效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种基于网络编码和复制的机会网络混合路由方法,该方法采用了基于感染(epidemic)机制的路由技术和基于网络编码机制的路由技术,并且为网络中的每个节点及其产生的消息分配了唯一标识的机会网络。
本发明提出了主动寻求异或网络编码机会、通过SV消息和Request消息来分别获取和传递已达目的节点的数据消息信息、优化数据消息的发送顺序以及优先传送目的地址为自己当前一跳邻居节点的数据消息等4种新机制,减少冗余数据消息在网络中的继续扩散和节点缓存占用,降低机会网络节点的网络开销和存储开销,缩短平均端到端时延,提高投递率,增强路由算法的有效性和可扩展性。
为达到上述目的,本发明提供如下技术方案:
一种基于网络编码和复制的机会网络混合路由方法,包括在逻辑上具有先后关系的节点相遇感知、SV消息的接收及处理、Request消息的接收及处理和数据消息的接收及处理4个阶段内的14个操作步骤;其中,节点相遇感知阶段包含4个步骤:11)节点周期性地广播Hello消息;12)记录相遇节点信息;13)发送自己的SV消息;14)确定两节点间链路断开的最短时间间隔;SV消息的接收及处理阶段包含3个步骤:21)确定待发送给对方节点的Request消息;22)添加部分数据消息到达信息至Request消息并发送给对方节点;23)删除缓存中部分已达目的节点的数据消息并更新Reach列表;Request消息的接收及处理阶段包含4个步骤:31)更新自己的SV列表和Reach列表;32)确定待发送的数据消息并按照设定的发送优先级排序;33)未发现网络编码机会,立即发送待发送的数据消息;34)发现网络编码机会,执行网络编码操作;数据消息的接收及处理阶段包含3个步骤:41)获取原始数据消息;42)判断目的地址是否为自身节点;43)判断目的地址是否为自己当前一跳邻居节点。
进一步,所述步骤14)确定两节点间链路断开的最短时间间隔的具体操作为:节点根据接收的邻居节点广播的Hello消息,通过RSSI(Received Signal Strength Indicator)测距机制测出当前两节点之间的距离d;再结合节点的通信半径R和最大移动速度Vmax,通过运算:确定两节点间链路断开的最短时间间隔Tinterval。
进一步,所述步骤22)添加部分数据消息到达信息至Request消息并发送给对方节点的具体思路和方法为:当节点A收到节点B发送的SVB,进行运算:RequestA=SVB&~SVA,比特矢量RequestA显示的是节点B中存有而节点A中没有的数据消息信息。节点A之后做如下位运算:Request'A=RequestA|(ReachA&~SVB),并发送RequestA’消息给对方节点,其中包含了待请求的数据消息信息以及部分数据消息到达信息。
进一步,所述步骤23)删除缓存中部分已达目的节点的数据消息并更新Reach列表的具体思路和方法为:当节点A收到节点B发送的SVB,进行如下位运算:SVC=SVB&SVA,矢量SVC显示的是当前节点A、B的缓存中都存有的数据消息;之后节点A遍历SVC中显示的数据消息,查询各数据消息所对应的目的节点是否为B,如果是,则删除该数据消息(节点B中已存有该消息副本,即该消息已达目的节点B,无需在网络中继续扩散)并且更新其消息已达信息列表ReachA(该列表与SV类似,用于标示数据消息到达信息)。
进一步,所述步骤31)更新自己的SV列表和Reach列表的具体操作为:节点A收到任意邻居节点B发送的控制分组RequestB后,启动等待时间T,并进行如下位运算:Reach'A=ReachA|(RequestB&~SVA),(1)和SVA'=SVA|RequestB,(2);式(1)通过将节点B请求的而节点A缓存中没有的数据分组信息(该部分数据分组已达目的节点)并入自己的分组已达信息列表ReachA;式(2)对SVA比特矢量做了相应的更新,从而避免部分冗余数据分组在网络中的扩散;上述两式分别实现了节点A维护的分组已达信息列表ReachA和分组索引信息SVA的更新。
进一步,所述步骤32)确定待发送的数据消息并按照设定的发送优先级排序的具体思路和方法为:节点根据收到的Request消息确定缓存中待发送的数据消息并按照设定的发送优先级排序,生成相应的初始编码矩阵;该发送优先级根据数据分组的目的地址和效用值以及生成时间,对其发送次序作出调整:目的地址为对方节点的,效用值高的优先发送;目的地址为对方节点且效用值相同的,生成时间短的优先发送;目的地址非对方节点的,效用值高的优先发送;目的地址非对方节点且效用值相同的,生成时间短的优先发送。
进一步,所述步骤33)未发现网络编码机会,立即发送待发送的数据消息的具体操作为:如果在等待时间T内,节点A没有收到另一个邻居节点C发送的RequestC,则根据编码矩阵中各数据消息的排列顺序依次发送各数据消息。
进一步,所述步骤34)发现网络编码机会,执行网络编码操作的具体思路和方法为:如果在等待时间T内,节点A收到另一个邻居节点C发送的RequestC,则执行类似操作,再次更新自己的ReachA和SVA;同时,确定待发送给节点C的数据消息集合,记为MC,并结合发送优先级更新编码矩阵;之后,节点A根据调整后的编码矩阵,对待发送的数据消息执行网络编码操作。
进一步,所述步骤41)获取原始数据消息的具体思路和方法为:如果节点收到的是编码消息,则通过自己缓存中的原始数据消息解码出自己需要的原始数据消息并更新SV;如果编码消息不可解码,则删除该消息;如果接收到的是原始数据消息,则更新SV;所述步骤42)判断目的地址是否为自身节点的具体思路和方法为:节点查找所接收的或者解码出的原始数据消息所对应的目的地址,如果是自己,则更新Reach并将其上传到应用层,提取相关信息后将其销毁;否则,将其放入缓存区。
进一步,所述步骤43)判断目的地址是否为自己当前一跳邻居节点的具体思路和方法为:节点查找所接收的或者解码出的原始数据消息所对应的目的地址以及自己当前的一跳邻居信息表,如果目的地址为自己当前一跳邻居节点并且根据步骤14)判断出当前两节点仍然处于连通状态,节点与该节点的相遇时间间隔小于Tinterval,则将该数据消息的副本直接发送给该一跳邻居节点。
本发明中提出的4种新机制的原理和优越性具体如下:
主动寻求异或网络编码机会:
传统的基于复制的路由算法中,仅考虑节点之间的两两数据交互,未考虑多邻居节点情况下的数据通信,拓扑信息利用不足。而在本发明中,当节点A收到RequestB后,不是立即发送节点B所需数据消息给节点B,而是通过等待一段时间(时间长度阈值T根据网络条件确定),主动地寻求网络编码机会。如果在T内,节点A收到了节点C发来的RequestC,则将需要分别传送给B和C的数据消息进行异或网络编码后将编码消息同时发送给B和C,从而有效减少数据消息发送次数,提高消息投递效率等。
通过SV消息和Request消息来分别获取和传递已达目的节点的数据消息信息:
传统的基于复制的机会网络路由算法中,节点对SV消息和Request消息的利用率均较低。使用本发明提出的通过SV消息和Request消息来分别获取和传递已达目的节点的数据消息信息的机制,能够在不增加控制开销的前提下,有效减少节点缓存占用以及部分已达目的节点的数据消息在网络中的继续扩散,降低节点的网络开销和存储开销,提高投递率,缩短投递时延等,同时提高了路由算法的有效性和可扩展性。
优化数据消息的发送顺序:
传统的基于复制的机会网络路由算法中,节点收到Request消息后,采取随机发送的方式投递这些数据消息给对应的节点,投递效率较低;本发明根据数据消息的目的地址和效用值以及生成时间,对其发送次序作出调整:目的地址为对方节点的,效用值高的优先发送;目的地址为对方节点且效用值相同的,生成时间短的优先发送;目的地址非对方节点的,效用值高的优先发送;目的地址非对方节点且效用值相同的,生成时间短的优先发送。因此,本发明能够有效提高数据投递效率,缩短投递时延等。
优先传送目的地址为自己当前一跳邻居节点的数据消息:
本发明中,当节点A接收到(或者解码出)某一原始数据消息后,更新自己的SV索引信息。若该数据消息的目的地址(记为D)为自己,则将其上传并销毁,同时更新自己的数据消息已达信息列表ReachA。否则,查找自己的一跳邻居信息表,若存在D,并且满足如下条件:
TC-TL<Tinterval
即当前时刻TC与该节点和节点D上次相遇的时刻TL的时间间隔小于最短时间间隔阈值Tinterval(此时认为两节点仍然处于接触状态并且能够成功投递该数据消息),则将该数据消息副本直接转发给节点D;否则,放入自己的缓存区,进行携带、转发。因此,本发明能够有效提高投递率,缩短投递时延以及减少网络开销等。
本发明的有益效果在于:本发明所述方法能够减少网络开销和存储开销,提高投递率,缩短投递时延以及降低和均衡节点能耗等,从而增强路由算法的有效性和可扩展性。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明提出的路由方法的组成框图;
图2为传统的基于复制的路由算法与本发明中路由方法的主要操作的对比示意图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
图2为传统的基于复制的路由算法与本发明中路由方法的主要操作的对比示意图,如图所示:
(a)为传统的基于复制的路由算法。节点A和节点B通过节点相遇感知,确定彼此相遇(即处于连通状态)后,节点A发送自己维护的SVA消息给节点B。节点B收到该消息后,通过与自己维护的SVB作比较,获取当前节点A缓存中存有而自己没有的数据消息信息,并向节点A发送Request消息,请求发送这些数据消息。节点A收到该消息后,逐条发送所请求的数据消息给节点B,发送顺序为随机发送。节点B收到数据消息后,更新自己的SV列表;同时,查找所接收的原始数据消息所对应的目的地址,如果是自己,则更新Reach列表并将其上传到应用层,提取相关信息后将其销毁;否则,将其放入缓存区,进行携带、转发。
(b)为本发明的路由方法。节点B收到节点A发送的SV消息后,首先通过与自己的SV列表作对比,确定需要向节点A请求的数据消息信息;之后,再结合自己的Reach列表,确定需要添加的部分数据消息到达信息;最后,将这两部分信息装载到Request消息中并发送给节点A。此外,通过与节点A发送的SV消息作对比,节点B获取当前A、B两节点的缓存中共同存有的数据消息,并逐一查询自己缓存中这些数据消息所对应的目的节点是否为A,如果是,则删除该数据消息(节点A中已存有该数据消息副本,即该消息已被送达目的节点A,无需在网络中继续扩散)并且更新其消息已达信息列表Reach,从而达到清理节点缓存、减少存储开销和资源消耗的效果。
(c)为本发明的路由方法。节点A收到节点B发送的RequestA消息后,首先启动等待时间T,通过与自己的SV列表作对比,提取出其中装载的数据消息到达信息,并更新自己的SV列表和Request列表;此外,确定待发送的数据消息,并将这些数据消息按照设定的发送优先级进行排序;最后,等待另一邻居节点C发送的RequestC消息,寻求网络编码机会,直至等待时间阈值T到达。如果在等待时间T内,节点B没有收到另一个邻居节点C发送的RequestC,则根据编码矩阵中各数据消息的排列顺序依次发送各数据消息。如果在等待时间T内,节点B收到另一个邻居节点C发送的RequestC,则执行类似操作,再次更新自己的ReachB和SVB;同时,确定待发送给节点C的数据消息集合(记为MC),并结合发送优先级更新编码矩阵;之后,节点B根据调整后的编码矩阵,对待发送的数据消息执行网络编码操作。
(d)为本发明的路由方法。节点B收到节点A发送的数据消息后,如果节点收到的是编码消息,则通过自己缓存中的原始数据消息解码出自己需要的原始数据消息并更新SV;如果编码消息不可解码,则删除该消息;如果接收到的是原始数据消息,则更新SV。之后,节点查找所接收的(或者解码出的)原始数据消息所对应的目的地址,如果是自己,则更新Reach并将其上传到应用层,提取相关信息后将其销毁;否则,将其放入缓存区并执行下一步操作。最后,节点查找所接收的(或者解码出的)原始数据消息所对应的目的地址(记为C)以及自己当前的一跳邻居信息表,如果目的地址为自己当前一跳邻居节点且处于连通状态(节点与该节点的相遇时间间隔小于Tinterval),则将该数据消息的副本直接发送给该一跳邻居节点(节点C),从而有效提高投递率,缩短投递时延等。
图1为本发明提出的路由方法的组成框图,如图所示,本发明所述的基于网络编码和复制的机会网络混合路由方法由节点相遇感知、SV消息的接收及处理、Request消息的接收及处理和数据消息的接收及处理4个阶段内的14个操作步骤组成,这14个步骤是:(1)节点周期性地广播Hello消息;(2)记录相遇节点信息;(3)发送自己的SV消息;(4)确定两节点间链路断开的最短时间间隔;(5)确定待发送给对方节点的Request消息;(6)添加部分数据消息到达信息至Request消息并发送给对方节点;(7)删除缓存中部分已达目的节点的数据消息并更新Reach列表;(8)更新自己的SV列表和Reach列表;(9)确定待发送的数据消息并按照设定的发送优先级排序;(10)未发现网络编码机会,立即按序发送待发送的数据消息;(11)发现网络编码机会,执行网络编码操作;(12)获取原始数据消息;(13)判断其目的地址是否为自身节点;(14)判断其目的地址是否为自己当前一跳邻居节点。
基于网络编码和复制的机会网络混合路由方法的具体操作如下:
阶段1.节点相遇感知
包含如下4个步骤:
步骤1.节点周期性地广播Hello消息。
每个节点都以一定的周期重复广播Hello消息,Hello消息包含节点的标识(唯一标示节点的符号集合,如节点地址等)。
步骤2.记录相遇节点信息。
收到对方节点广播的Hello消息后,将相遇节点的标识存入邻居表。
步骤3.发送自己的SV消息。
节点根据收到的Hello消息,发送自己的SV消息给对方节点。
步骤4.确定两节点间链路断开的最短时间间隔。
节点根据收到的Hello消息,使用RSSI(Received Signal Strength Indicator)机制测出当前两节点之间的距离d;再结合节点的通信半径R和最大移动速度Vmax,确定两节点间链路断开的最短时间间隔Tinterval,即
阶段2.SV消息的接收及处理
步骤1.确定待发送给对方节点的Request消息。
当节点A收到节点B发送的SVB,进行如下位运算:
RequestA=SVB&~SVA (2)
比特矢量RequestA显示的是节点B中存有而节点A中没有的数据消息信息。
步骤2.添加部分数据消息到达信息至Request消息并发送给对方节点。
节点A之后做如下位运算:
Request'A=RequestA|(ReachA&~SVB) (3)
节点A发送RequestA’消息给对方节点,其中包含了待请求的数据消息信息以及部分数据消息到达信息。该机制能够在未增加控制开销的条件下,实现消息已达信息的通告,提高缓存管理效率,降低网络开销和缓存占用等。
步骤3.删除缓存中部分已达目的节点的数据消息并更新Reach列表。
当节点A收到节点B发送的SVB,进行如下位运算:
SVC=SVB&SVA (4)
矢量SVC显示的是当前节点A、B的缓存中都存有的数据消息。之后节点A遍历SVC中显示的数据消息,查询各数据消息所对应的目的节点是否为B,如果是,则删除该数据消息(节点B中已存有该消息副本,即该消息已达目的节点B,无需在网络中继续扩散)并且更新其消息已达信息列表ReachA(该列表与SV类似,用于标示数据消息到达信息);从而达到清理节点缓存、减少存储开销和资源消耗的效果。
阶段3.Request消息的接收及处理
具体步骤为:
步骤1.更新自己的SV列表和Reach列表。
节点A收到任意邻居节点B发送的控制分组RequestB后,启动等待时间T(该值的含义与前一章中的T一致)并进行如下位运算:
Reach'A=ReachA|(RequestB&~SVA) (5)
SVA'=SVA|RequestB (6)
上述两式分别实现了节点A维护的分组已达信息列表ReachA和分组索引信息SVA的更新。式(5)通过将节点B请求的而节点A缓存中没有的数据分组信息(该部分数据分组已达目的节点)并入自己的分组已达信息列表ReachA,在未增加控制开销的条件下,有效实现了分组已达信息的通告。式(6)对SVA比特矢量做了相应的更新,从而避免部分冗余数据分组在网络中的扩散。
步骤2.确定待发送的数据消息并按照设定的发送优先级排序。
节点根据收到的Request消息确定缓存中待发送的数据消息并按照设定的发送优先级排序,生成相应的初始编码矩阵。该发送优先级根据数据分组的目的地址和效用值以及生成时间,对其发送次序作出调整:目的地址为对方节点的,效用值高的优先发送;目的地址为对方节点且效用值相同的,生成时间短的优先发送;目的地址非对方节点的,效用值高的优先发送;目的地址非对方节点且效用值相同的,生成时间短的优先发送。从而能够有效提高数据投递效率,缩短投递时延等。
步骤3.未发现网络编码机会,立即发送待发送的数据消息。
如果在等待时间T内,节点A没有收到另一个邻居节点C发送的RequestC,则根据编码矩阵中各数据消息的排列顺序依次发送各数据消息。
步骤4.发现网络编码机会,执行网络编码操作。
如果在等待时间T内,节点A收到另一个邻居节点C发送的RequestC,则执行类似操作,再次更新自己的ReachA和SVA;同时,确定待发送给节点C的数据消息集合(记为MC),并结合发送优先级更新编码矩阵;之后,节点A根据调整后的编码矩阵,对待发送的数据消息执行网络编码操作。
阶段4.数据消息的接收及处理
步骤1.获取原始数据消息。
如果节点收到的是编码消息,则通过自己缓存中的原始数据消息解码出自己需要的原始数据消息并更新SV;如果编码消息不可解码,则删除该消息;如果接收到的是原始数据消息,则更新SV并执行下一步操作。
步骤2.判断目的地址是否为自身节点。
节点查找所接收的(或者解码出的)原始数据消息所对应的目的地址,如果是自己,则更新Reach并将其上传到应用层,提取相关信息后将其销毁;否则,将其放入缓存区并执行下一步操作。
步骤3.判断目的地址是否为自己当前一跳邻居节点。
节点查找所接收的(或者解码出的)原始数据消息所对应的目的地址以及自己当前的一跳邻居信息表,如果目的地址为自己当前一跳邻居节点且处于连通状态(节点与该节点的相遇时间间隔小于Tinterval),则将该数据消息的副本直接发送给该一跳邻居节点,从而有效提高投递率,缩短投递时延等。
在本发明具体应用的过程中,可以按照上文所述4个阶段14个步骤所确定的方法,通过结合硬件条件的软件编程来实现本发明提出的基于网络编码和复制的机会网络混合路由方法。
本发明所述方法适用于采用基于复制的路由技术和基于网络编码的路由技术的机会网络领域。一个具体实施的方式为:在节点数不小于3的机会网络中,节点处于间歇或持续的运动状态,它们之间有消息需要传送,可以使用本发明提出的基于网络编码和复制的机会网络混合路由方法,通过采用“存储-携带-转发”的路由模式,借助节点相遇的机会,以较小的开销和时延,一步步地将消息从源节点逐跳传送到目的节点。通过本发明设计的主动寻求异或网络编码机会、通过SV消息和Request消息来分别获取和传递已达目的节点的数据消息信息、优化数据消息的发送顺序以及优先传送目的地址为自己当前一跳邻居节点的数据消息等4种新机制,在不增加控制开销的前提下,减少数据消息的发送次数,降低节点的网络开销和存储开销,提高投递率,缩短投递时延,从而提高路由算法的有效性和可扩展性。
在本发明中Hello消息的广播周期THello的值可以根据机会网络的具体条件进行设置,参照现有的IETF(Internet Engineering Task Force)国际标准文稿RFC3561(Ad-hoc On-demandDistance Vector(AODV)Routing)的内容,THello的缺省值可以设置为1秒。等待时间阈值T为经验值,设置为0.5毫秒,同样可以根据机会网络的具体条件来对其作出适当调整。
最后需要说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (10)
1.基于网络编码和复制的机会网络混合路由方法,其特征在于:包括在逻辑上具有先后关系的节点相遇感知、SV消息的接收及处理、Request消息的接收及处理和数据消息的接收及处理4个阶段内的14个操作步骤;其中,节点相遇感知阶段包含4个步骤:11)节点周期性地广播Hello消息;12)记录相遇节点信息;13)发送自己的SV消息;14)确定两节点间链路断开的最短时间间隔;SV消息的接收及处理阶段包含3个步骤:21)确定待发送给对方节点的Request消息;22)添加部分数据消息到达信息至Request消息并发送给对方节点;23)删除缓存中部分已达目的节点的数据消息并更新Reach列表;Request消息的接收及处理阶段包含4个步骤:31)更新自己的SV列表和Reach列表;32)确定待发送的数据消息并按照设定的发送优先级排序;33)未发现网络编码机会,立即发送待发送的数据消息;34)发现网络编码机会,执行网络编码操作;数据消息的接收及处理阶段包含3个步骤:41)获取原始数据消息;42)判断目的地址是否为自身节点;43)判断目的地址是否为自己当前一跳邻居节点。
3.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤22)添加部分数据消息到达信息至Request消息并发送给对方节点的具体思路和方法为:当节点A收到节点B发送的SVB,进行运算:RequestA=SVB&~SVA,比特矢量RequestA显示的是节点B中存有而节点A中没有的数据消息信息。节点A之后做如下位运算:Request'A=RequestA|(ReachA&~SVB),并发送RequestA’消息给对方节点,其中包含了待请求的数据消息信息以及部分数据消息到达信息。
4.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤23)删除缓存中部分已达目的节点的数据消息并更新Reach列表的具体思路和方法为:当节点A收到节点B发送的SVB,进行如下位运算:SVC=SVB&SVA,矢量SVC显示的是当前节点A、B的缓存中都存有的数据消息;之后节点A遍历SVC中显示的数据消息,查询各数据消息所对应的目的节点是否为B,如果是,则删除该数据消息并且更新其消息已达信息列表ReachA。
5.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤31)更新自己的SV列表和Reach列表的具体操作为:节点A收到任意邻居节点B发送的控制分组RequestB后,启动等待时间T,并进行如下位运算:Reach'A=ReachA|(RequestB&~SVA),(1)和SVA'=SVA|RequestB,(2);式(1)通过将节点B请求的而节点A缓存中没有的数据分组信息并入自己的分组已达信息列表ReachA;式(2)对SVA比特矢量做了相应的更新,从而避免部分冗余数据分组在网络中的扩散;上述两式分别实现了节点A维护的分组已达信息列表ReachA和分组索引信息SVA的更新。
6.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤32)确定待发送的数据消息并按照设定的发送优先级排序的具体思路和方法为:节点根据收到的Request消息确定缓存中待发送的数据消息并按照设定的发送优先级排序,生成相应的初始编码矩阵;该发送优先级根据数据分组的目的地址和效用值以及生成时间,对其发送次序作出调整:目的地址为对方节点的,效用值高的优先发送;目的地址为对方节点且效用值相同的,生成时间短的优先发送;目的地址非对方节点的,效用值高的优先发送;目的地址非对方节点且效用值相同的,生成时间短的优先发送。
7.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤33)未发现网络编码机会,立即发送待发送的数据消息的具体操作为:如果在等待时间T内,节点A没有收到另一个邻居节点C发送的RequestC,则根据编码矩阵中各数据消息的排列顺序依次发送各数据消息。
8.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤34)发现网络编码机会,执行网络编码操作的具体思路和方法为:如果在等待时间T内,节点A收到另一个邻居节点C发送的RequestC,则执行类似操作,再次更新自己的ReachA和SVA;同时,确定待发送给节点C的数据消息集合,记为MC,并结合发送优先级更新编码矩阵;之后,节点A根据调整后的编码矩阵,对待发送的数据消息执行网络编码操作。
9.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤41)获取原始数据消息的具体思路和方法为:如果节点收到的是编码消息,则通过自己缓存中的原始数据消息解码出自己需要的原始数据消息并更新SV;如果编码消息不可解码,则删除该消息;如果接收到的是原始数据消息,则更新SV;所述步骤42)判断目的地址是否为自身节点的具体思路和方法为:节点查找所接收的或者解码出的原始数据消息所对应的目的地址,如果是自己,则更新Reach并将其上传到应用层,提取相关信息后将其销毁;否则,将其放入缓存区。
10.根据权利要求1所述的基于网络编码和复制的机会网络混合路由方法,其特征在于:所述步骤43)判断目的地址是否为自己当前一跳邻居节点的具体思路和方法为:节点查找所接收的或者解码出的原始数据消息所对应的目的地址以及自己当前的一跳邻居信息表,如果目的地址为自己当前一跳邻居节点并且根据步骤14)判断出当前两节点仍然处于连通状态,节点与该节点的相遇时间间隔小于Tinterval,则将该数据消息的副本直接发送给该一跳邻居节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310571189.5A CN103560966B (zh) | 2013-11-13 | 2013-11-13 | 基于网络编码和复制的机会网络混合路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310571189.5A CN103560966B (zh) | 2013-11-13 | 2013-11-13 | 基于网络编码和复制的机会网络混合路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103560966A true CN103560966A (zh) | 2014-02-05 |
CN103560966B CN103560966B (zh) | 2016-08-31 |
Family
ID=50015118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310571189.5A Active CN103560966B (zh) | 2013-11-13 | 2013-11-13 | 基于网络编码和复制的机会网络混合路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103560966B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124735A (zh) * | 2017-03-10 | 2017-09-01 | 重庆邮电大学 | 基于投递概率sv捎带的机会网络低开销路由方法 |
CN108282400A (zh) * | 2018-03-05 | 2018-07-13 | 中科边缘智慧信息科技(苏州)有限公司 | 基于合作博弈论的dtn路由方法 |
CN109862548A (zh) * | 2019-03-06 | 2019-06-07 | 乐鑫信息科技(上海)股份有限公司 | 用于在蓝牙Mesh网络中的节点处对数据包进行处理的方法 |
CN110312209A (zh) * | 2019-08-12 | 2019-10-08 | 航天科工网络信息发展有限公司 | 一种定位信息辅助的移动自组织网路由方法 |
CN112398737A (zh) * | 2020-10-30 | 2021-02-23 | 中电海康集团有限公司 | 一种基于动态副本数和传输优先级的机会路由方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101784067A (zh) * | 2010-01-14 | 2010-07-21 | 重庆邮电大学 | 机会网络中基于跨层触发的相遇节点快速感知方法 |
CN101895954A (zh) * | 2010-08-24 | 2010-11-24 | 重庆邮电大学 | 一种基于分组索引增量传送的机会网络路由方法 |
US20110164621A1 (en) * | 2010-01-05 | 2011-07-07 | In Sun Lee | Communication method for relay node and next node of the relay node for network coding |
CN102438276A (zh) * | 2011-12-31 | 2012-05-02 | 重庆邮电大学 | 基于自适应索引矢量压缩的机会网络高效路由方法 |
-
2013
- 2013-11-13 CN CN201310571189.5A patent/CN103560966B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110164621A1 (en) * | 2010-01-05 | 2011-07-07 | In Sun Lee | Communication method for relay node and next node of the relay node for network coding |
CN101784067A (zh) * | 2010-01-14 | 2010-07-21 | 重庆邮电大学 | 机会网络中基于跨层触发的相遇节点快速感知方法 |
CN101895954A (zh) * | 2010-08-24 | 2010-11-24 | 重庆邮电大学 | 一种基于分组索引增量传送的机会网络路由方法 |
CN102438276A (zh) * | 2011-12-31 | 2012-05-02 | 重庆邮电大学 | 基于自适应索引矢量压缩的机会网络高效路由方法 |
Non-Patent Citations (4)
Title |
---|
HAOJIE ZHUANG等: "Opportunistic XOR Network Coding for Multihop Data Delivery in Underwater Acoustic Networks", 《OCEANS,2011 IEEE-SPAIN》, 9 June 2011 (2011-06-09), pages 1 - 6 * |
KOUTSONIKOLAS,D.等: "CCACK: Efficient Network Coding Based Opportunistic Routing Through Cumulative Coded Acknowledgments", 《INFOCOM,2010 PROCEEDINGS IEEE》, 19 March 2010 (2010-03-19), pages 1 - 9, XP031675012 * |
任智等: "基于网络编码的机会网络高效路由算法", 《通信学报》, vol. 34, no. 9, 25 September 2013 (2013-09-25), pages 16 - 23 * |
黄勇: "机会网络中基于复制的路由算法研究", 《重庆邮电大学硕士论文》, 1 April 2011 (2011-04-01) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124735A (zh) * | 2017-03-10 | 2017-09-01 | 重庆邮电大学 | 基于投递概率sv捎带的机会网络低开销路由方法 |
CN107124735B (zh) * | 2017-03-10 | 2020-07-17 | 重庆邮电大学 | 基于投递概率sv捎带的机会网络低开销路由方法 |
CN108282400A (zh) * | 2018-03-05 | 2018-07-13 | 中科边缘智慧信息科技(苏州)有限公司 | 基于合作博弈论的dtn路由方法 |
CN108282400B (zh) * | 2018-03-05 | 2020-10-13 | 中科边缘智慧信息科技(苏州)有限公司 | 基于合作博弈论的dtn路由方法 |
CN109862548A (zh) * | 2019-03-06 | 2019-06-07 | 乐鑫信息科技(上海)股份有限公司 | 用于在蓝牙Mesh网络中的节点处对数据包进行处理的方法 |
CN109862548B (zh) * | 2019-03-06 | 2021-01-26 | 乐鑫信息科技(上海)股份有限公司 | 用于在蓝牙Mesh网络中的节点处对数据包进行处理的方法 |
CN110312209A (zh) * | 2019-08-12 | 2019-10-08 | 航天科工网络信息发展有限公司 | 一种定位信息辅助的移动自组织网路由方法 |
CN112398737A (zh) * | 2020-10-30 | 2021-02-23 | 中电海康集团有限公司 | 一种基于动态副本数和传输优先级的机会路由方法及装置 |
CN112398737B (zh) * | 2020-10-30 | 2022-05-17 | 中电海康集团有限公司 | 一种基于动态副本数和传输优先级的机会路由方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103560966B (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jain et al. | Geographical routing using partial information for wireless ad hoc networks | |
JP6323856B2 (ja) | 通信制御方法および移動端末 | |
CN101489276B (zh) | 一种移动Ad Hoc网络多播路由方法 | |
KR20080066622A (ko) | 이동 애드 혹 네트워크에서의 그룹 통신 시스템 및 방법 | |
CN103560966A (zh) | 基于网络编码和复制的机会网络混合路由方法 | |
CN103118412A (zh) | Ad Hoc网络中基于信任的按需多路径矢量路由算法 | |
CN101895954B (zh) | 一种基于分组索引增量传送的机会网络路由方法 | |
CN101686521B (zh) | 基于网络编码的无线自组网路由查找方法 | |
CN106034322A (zh) | 一种移动自组网中基于链路质量的路由切换方法 | |
CN101179501A (zh) | 一种移动ad hoc网络按需类路由的局部路由发现方法 | |
CN101827421A (zh) | 基于信道状态信息的dsr协作路由方法及路由器 | |
CN106686680B (zh) | 一种用于车联网的路由优化系统及方法 | |
CN103391595A (zh) | 基于跨层链路状态反馈的矿井应急救援无线网状网路由方法 | |
CN108135020A (zh) | 一种基于网络编码的无线传感器网络机会路由协议设计方法 | |
CN103037436B (zh) | 一种基于HWMP的网络编码感知无线Mesh路由协议 | |
JP2006050461A (ja) | マルチホップ型無線システムの構成方法及び無線ノード装置 | |
KR100955246B1 (ko) | 무선 이동 애드혹 네트워크를 위한 동적 그룹 소스 라우팅방법 | |
Al Sawafi et al. | Toward hybrid RPL based IoT sensing for smart city | |
Feng et al. | RBMulticast: Receiver based multicast for wireless sensor networks | |
Kouvatsos et al. | Broadcasting methods in mobile ad hoc networks: an overview | |
CN102438276B (zh) | 基于自适应索引矢量压缩的机会网络高效路由方法 | |
CN106973422B (zh) | 一种dsr协议的改进算法 | |
Shelke et al. | Energy saving techniques in wireless sensor networks | |
Menon | Review on opportunistic routing protocols for dynamic Ad hoc networks: taxonomy, applications and future research directions | |
Paul et al. | Self-adjusting transmission range control of mobile hosts in ad hoc wireless networks for stable communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |