一种基于编码感知的在线机会式路由方法

文档序号:7799836阅读:306来源:国知局
一种基于编码感知的在线机会式路由方法
【专利摘要】本发明公开了一种基于编码感知的在线机会式路由方法,其实现步骤包括:在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码的节点和路径;源节点根据目的节点的反馈来滑动编码窗口并对窗口内的数据包进行在线网络编码,中间节点根据编码机会对接收到的数据包做编译码操作,生成相应的流内包或混合包并发送到目的节点,目的节点利用高斯约当消去法对接收到的数据包化简并解码出原始数据包。本发明通过采用编码感知算法减少传输次数,并利用在线机会式路由算法对抗质量较差链路,可以有效降低传输时延,提高网路吞吐量和可靠性。
【专利说明】一种基于编码感知的在线机会式路由方法
【技术领域】
[0001]本发明属于无线网络领域,涉及一种路由方法,特别是无线网络中一种基于编码感知的在线机会式路由方法。
【背景技术】
[0002]随着越来越多的移动产品的出现,人们对无线网络的依赖不断增加。然而无线网络中的节点具有移动性且信道不可靠,因此需要设计一种高效可靠的路由方法来保证无线网络中数据传输的可靠性。
[0003]网络编码是一种融合了编码和路由的信息交换技术,它通过在网络的中间节点对接收到的信息进行处理并转发给下游节点,改变了传统路由中节点只对接收到的数据进行存储转发操作的工作方式。研究表明,网络编码技术可以在很大程度上提高网络的吞吐量和可靠性。
[0004]根据编码是否发生在同一个数据流之间可以将网络编码分为流内网络编码和流间网络编码。
[0005]编码感知路由算法是流间网络编码方法中的一种,它通过主动选择一条或多条能对不同数据流进行网络编码的路径进行传输,可以减少传输次数,提高网络吞吐量。但是,编码感知路由算法需要利用ACK信号和重传确保下一跳节点收到编码包,从而使目的节点成功译码。当无线网络中链路丢包率较高时,重传和ACK信号会浪费大量的带宽资源,同时也会增大传输时延。
[0006]在线机会式路由算法是流内网络编码方法中的一种,不同于传统的流内网络编码方法一在 MAC 层独立的机会路由(MAC-1ndependence OpportunisticRouting, MORE)算法中,源节点根据目的节点的反馈从编码窗口中移除已经“看到”的数据包,从而无需等到同一段的数据包全部译码就可以发送下一段的数据,能够减小传输时延;另外,在线机会式路由算法无需事先确定固定的转发节点集,而是通过将数据广播给多个转发节点以避免复杂的调度,同时转发节点可以根据一定的策略自主智能地选择下一跳节点,进而有效地利用了无线网络的广播环境,即使链路质量较差,该算法也能以很高的概率完成数据传输的任务,提高传输效率。但是,在线机会式路由算法在某些节点需要承载多条数据流的转发任务时,易造成链路拥塞和调度困难,从而导致传输性能下降。

【发明内容】

[0007]针对上述问题,本发明提出了一种基于编码感知的在线机会式路由方法,通过编码感知(流间网络编码)减少传输次数,同时利用在线机会式路由方法(流内网络编码在)对抗质量较差的链路并提高传输效率,有效地结合了流内网络编码和流间网络编码的优点,可以有效提高网络吞吐量并降低传输时延。
[0008]为实现上述目的,本发明所述的一种基于编码感知的在线机会式路由方法,包括如下步骤:[0009](I)在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码的节点和路径,并在这些路径上的编码节点对来自不同流的数据进行网络编码;
[0010]编码机会定义如下:当数据流A, f2,…,fn在节点c相交时,若节点c是编码节点(即节点c存在编码机会),则任意两条数据流fk(k = I, 2,…,η)和fj(j = I, 2,…,n, j ^k)满足以下条件I)或条件2)。
[0011]条件I):存在节点a,b,满足
[0012]a e D (c, fk),a e U (c, fj) Π b e D (c, f j), b e U (c, fk)
[0013]条件2):存在节点a1; a2, b” b2,满足
[0014]B1 e D (c, fk), B1 e N ^1),h e U (c, fj) n
[0015]b2 e D (c, fj),b2 e N ^1),a2 e U (c, fk)[0016]其中a”a2 e fkAA e fj.[0017]其中,N(a)表示节点a的一跳邻居节点集;a e f表示节点a在数据流f上;U(a, f)表示节点a在数据流f上的所有上游节点的集合;D (a, f)表示节点a在数据流f上的所有下游节点的集合;
[0018](2)源节点准备发送的数据包称作原始数据包,源节点根据目的节点的反馈来滑动编码窗口,对窗口内的数据包进行在线网络编码,添加包头生成流内包并广播给其他节
占.[0019]2a)确定编码窗口 W以及滑动步长η的大小;
[0020]2b)根据目的节点反馈的希望发送的下一个数据包的序列号S,判断是否滑动编码窗口,当1+n < = s时,编码窗口向前滑动η个大小,否则不滑动,其中,当前编码窗口的起始序列号为1,即源节点对第I个到第1+W-1个原始数据包进行编码;
[0021]2c)对当前滑动窗口内的原始数据包进行随机线性网络编码并添加包头信息生成流内包,该包头信息包括数据包类型、源节点地址和目的节点地址、数据流ID、编码系数、起始序列号、编码窗口的大小、转发节点列表:
[0022]X = CCjEj
[0023]其中是序列号为j的原始数据包,a j是从有限域Fq上随机选择的网络编码系数;
[0024](3)中间节点根据编码机会对接收到的数据包做编译码操作,生成相应的流内包并发送到目的节点,或者将不同数据流的流内包进行流间网络编码后生成相应的混合包并发送到目的节点;其中,将不同数据流的流内包进行流间网络编码后得到的数据包称作混合包;混合包的头部包含三个部分,第一部分指明数据包类型;第二部分指出参与流间网络编码的数据包和它们的下一跳节点集,包括参与编码包中流内包的数目、编码包的源地址、编码包的目的地址、流内网络编码中数据包的最小序列号、相应编码窗口的大小、编码包应该被转发的下一跳节点集;第三部分为接收报告,包括接收报告的个数、每个报告的源地址、从源节点接收到的最新数据包的IP序列号以及最近接收到的数据包的位图;
[0025]3a)根据接收到的数据包头中的下一跳节点集信息,判断自己是否在转发节点列表中,不是的话丢弃该数据包,否则接收此数据包;
[0026]3b)根据数据包头中的数据包类型信息判断该数据包是混合包还是流内包;[0027]3ba)如果数据包为混合包,则判断是否可以译码该混合包,如果不能译码,则将此数据包直接存储转发给下一跳节点;
[0028]3bb)如果可以译码,则将此混合包解码并分离出译码所需数据流的流内包;
[0029]3c)如果接收到的数据包是流内包,将流内包中的编码向量和中间节点缓存中的编码向量矩阵组成一个临时矩阵,如果临时矩阵的秩和原编码矩阵的秩相等,则该数据包和中间结点缓存中已有的数据包线性相关,否则不相关;中间节点判断该数据包是否与缓存中已有的数据包线性相关,如果不相关,则将此数据包标记为创新包,并将其放入节点缓存中,否则,丢弃该数据包;
[0030]3d)对中间节点缓存中的数据包做随机线性网络编码并添加包头信息生成流内包;
[0031]3e)根据编码条件判断节点是否可以进行流间网络编码;
[0032]3ea)如果满足流间网络编码条件,则对来自不同流的数据包进行编码并添加包头信息,生成混合包并转发给下一跳节点;
[0033]3eb)如果不满足流间网络编码条件,则将此流内包广播出去;
[0034](4)目的节点利用高斯-约当消去法对接收到的流内包和混合包化简并解码出原始数据包:
[0035]4a)根据接收到的数据包头中的数据包类型信息判断该数据包是混合包还是流内包;
[0036]4b)如果是混合包,则利用缓存中其余数据流的信息将该混合包解码,分离出译码所需数据流的流内包;
[0037]4c)如果是流内包,包括从混合包中分离出的流内包,判断该数据包是否与缓存中已有的数据包线性相关,如果不相关,则将此数据包标记为创新包,并将其放入节点缓存中,否则,丢弃该数据包;
[0038]4d)对目的节点缓存中的编码向量采用高斯-约当消元法进行化简,编码矩阵的秩即为目的节点“看到”的包的最大序列号S,目的节点希望下次接收到的原始数据包的最小序列号为s+1 ;
[0039]其中目的节点“看到”一个原始包pk,则意味着目的节点中有足够多的编码包信息可以得到如下的线性组合:
[0040]pk+q
[0041]其中,q代表序列号大于k的原始包的线性组合;
[0042]4e)沿着最短路径向源节点反馈希望下次接收到的原始数据包的最小序列号s+1 ;
[0043]4f)如果目的端的接收矩阵满秩,则利用简单的矩阵求逆即可进行解码:
[0044]
【权利要求】
1.一种基于编码感知的在线机会式路由方法,其特征在于,包括如下步骤: (1)在网络中进行编码感知路由发现,根据编码条件寻找进行流间网络编码的节点和路径,并在这些路径上的编码节点对来自不同流的数据进行网络编码; (2)源节点准备发送的数据包称作原始数据包,源节点根据目的节点的反馈来滑动编码窗口,对窗口内的数据包进行 在线网络编码,添加包头生成流内包并广播给其他节点; (3)中间节点根据编码机会对接收到的数据包做编译码操作,生成相应的流内包并发送到目的节点;或者将不同数据流的流内包进行流间网络编码后生成相应的混合包并发送到目的节点; (4)目的节点利用高斯-约当消去法对接收到的流内包和混合包化简并解码出原始数据包。
2.如权利要求1所述网络编码路由方法,其特征在于,所述步骤(1)是: 1a)源节点发送一条路由请求消息,路由请求消息中包含源节点的一跳邻居节点集以及经过该节点的路径信息; 1b)当中间节点接收到路由请求消息时,它将首先检查是否已经收过该路由请求消息,如果是,则丢弃该请求消息以避免形成环路;如果不是,则节点将进行以下工作: 1ba)暂时储存包含“可进行监听节点”新路径信息的路由请求消息,即节点储存上游节点传输时可以执行机会式监听的节点列表; 1bb)更新“可进行监听节点”信息,节点将它的一跳邻居节点信息附加到路由请求消息上; 1bc)将节点添加到该数据流经过的路径上; 1bd)发送该路由请求消息; 1c)当路由请求消息被目的节点接收到时,目的节点将发送路由应答消息,路由应答消息已经包含了所需的路径信息; 1d)当中间节点接收到一条路由应答消息时,它会比较路由应答消息中包含的上游路径和之前暂时储存的路由请求消息中包含的路径;如果有相符的,那节点就可以获得新路径的路径信息和“可进行监听节点”信息,每个节点都会保存所有流经自身的数据流的上述两个信息,当有新的数据流经过节点时,节点可以利用以上信息判断新的流是否可以和已经存在的数据流进行编码,如果满足编码条件,则节点将在路由应答消息中把该链路标记为“可以编码”; 1e)当源节点收到路由应答消息后,源节点将根据潜在的流间网络编码机会选择路径并开始发送数据包; 1f)当第一个数据包到达中间节点后,该节点将保存所选择的新路径的路径信息和“可进行监听节点”监听信息,同时丢弃之前暂时保存的其余信息。
3.如权利要求1所述网络编码路由方法,其特征在于,所述步骤(2)是: 2a)源节点确定编码窗口 W和滑动步长n的大小; 2b)源节点根据目的节点的反馈的希望发送的下一个数据包序列号S,判断是否滑动编码窗口;当1+n < = s时,编码窗口向前滑动n个大小,否则不滑动;其中,当前编码窗口的起始序列号为1,即源节点对第I个到第1+W-1个原始数据包进行编码; 2c)对当前滑动窗口内的原始数据包进行随机线性网络编码并添加包头信息生成流内包,该包头信息包括数据包类型、源节点地址和目的节点地址、数据流ID、编码系数、起始序列号、编码窗口的大小、转发节点列表: XOrEj 其中是序列号为j的原始数据包,a j是从有限域Fq上随机选择的网络编码系数。
4.如权利要求1所述网络编码路由方法,其特征在于,所述步骤(3)中,将不同数据流的流内包进行流间网络编码后得到的数据包称作混合包;混合包的头部包含三个部分,第一部分指明数据包类型;第二部分指出参与流间网络编码的数据包和它们的下一跳节点集,包括参与编码包中流内包的数目、编码包的源地址、编码包的目的地址、流内网络编码中数据包的最小序列号、相应编码窗口的大小、编码包应该被转发的下一跳节点集;第三部分为接收报告,包括接收报告的个数、每个报告的源地址、从源节点接收到的最新数据包的IP序列号以及最近接收到的数据包的位图; 3a)根据接收到的数据包头中的下一跳节点集信息,判断自己是否在转发节点列表中,不是的话丢弃该数据包,否则接收此数据包; 3b)根据数据包头中的数据包类型信息判断该数据包是混合包还是流内包; 3ba)如果数据包为混合包,则判断是否可以译码该数据包,如果不能译码,则将此数据包直接存储转发给下一跳节点; 3bb)如果可以译码,则将此混合包解码并分离出译码所需数据流的流内包; 3c)如果接收到的数据 包是流内包,中间节点判断该数据包是否与缓存中已有的数据包线性相关,如果不相关,则将此数据包标记为创新包,并将其放入节点缓存中,否则,丢弃该数据包; 3d)对中间节点缓存中的数据包做随机线性网络编码并添加包头信息生成流内包; 3e)根据编码条件判断节点是否可以进行流间网络编码; 3ea)如果满足流间网络编码条件,则对来自不同流的数据包进行编码并添加包头信息,生成混合包并转发给下一跳节点; 3eb)如果不满足流间网络编码条件,则将此流内包广播出去。
5.如权利要求1所述网络编码路由方法,其特征在于,所述步骤(4)中: 4a)根据接收到的数据包头中的数据包类型信息判断该数据包是混合包还是流内包;4b)如果是混合包,则利用缓存中其余数据流的信息将该混合包解码,分离出译码需要的数据流的流内包; 4c)如果是流内包,包括从混合包中分离出的流内包,判断该数据包是否与缓存中已有的数据包线性相关,如果不相关,则将此数据包标记为创新包,并将其放入节点缓存中,否贝U,丢弃该数据包; 4d)对目的节点缓存中的编码向量采用高斯-约当消元法进行化简,编码矩阵的秩即为目的节点“看到”的包的最大序列号s,目的节点希望下次接收到的原始数据包的最小序列号为s+1 ; 4e)沿着最短路径向源节点反馈希望下次接收到的原始数据包的最小序列号s+1 ; 4f)如果目的端的接收矩阵满秩,则利用简单的矩阵求逆即可进行解码:
【文档编号】H04W40/04GK103906165SQ201410114029
【公开日】2014年7月2日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】肖嵩, 吴欣伟, 芦存博, 杜建超, 牛惠 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1