一种无线网络中基于网络编码的机会路由选择方法与流程

文档序号:24497776发布日期:2021-03-30 21:25阅读:105来源:国知局
一种无线网络中基于网络编码的机会路由选择方法与流程

本发明涉及网络编码下的机会路由选择技术领域,具体涉及一种无线网络中基于网络编码的机会路由选择方法。



背景技术:

无线多跳网络是一种由带有无线收发设备的节点,以自组织的方式构建的无线通信系统。网络中每个节点功能与地位对等,没有中心化节点,也不需要任何网络基础设施,无线多跳网络可以在极端环境下快速部署网络,且网络具有组网灵活、部署快速、成本低廉、可扩展性强、抗毁性和健壮性强等优势。尽管无线网络易于组织,转移位置方便,但还存在一些限制性的特征,例如多径效应、信道冲突、信号衰落、网络环境不稳定等相关问题都会使得无线网络的性能大打折扣。

ahlswede等人在2000年首先提出网络编码(networkcoding,nc)的概念,它改变了传统通信网络中信息的处理和传输方式,允许网络中间节点对接收到的信息进行编码处理后再转发。而在传统的网络中,其编码机会主要来源于多条数据流的交会获得,而这种方式是被动的。因此为了获得更多的编码机会,就需要重新设计路由选择规则,从而感知路由就应运而生。而感知路由根据其选择方式的不同又分为确定式路由和机会式路由。确定式路由在路由发现过程中通过交换路由表来寻找端到端的最优路径,而在多流的情况下就是通过不同流的综合考量而非单链路的最优链路改变其路由链路使其获得更多的相交机会也就是编码机会。而与之对应的就是机会式路由,在机会式路由协议中在发起数据传输前,无需事先建立从源节点到目的节点的确定路径。而是直接由源节点发送广播数据,接收到数据的所有下一跳节点根据已有信息选择其中能最优到达目的节点的节点继续转发数据,直到目的节点接收到数据。在网络环境不稳定的情况下,机会式路由通过主动探索编码机会能更加适应感知路由的要求。

在现在大部分机会式感知路由中,以编码机会作为其转发优先级的评判标准,而对数据包的大小并没有做过多的考虑。而在数据包编码的过程中大小不一的数据包编码在一起是按照数据量大的数据包作为基准,然后把数据量小的数据包进行编码,而多余的数据量就是以填充0的方式进行编码。这种填充方式将会导致网络中存在大量的无效传输数据,使得传输单位数据包的时间变长,带来了更多不必要的时延,同时这些无效传输数据还造成系统的整体吞吐量降低。



技术实现要素:

基于现有技术存在的问题,为了减少无效传输数据,本发明在路由选择方式中提出新的转发优先级设定方法,通过综合编码数据包的大小和编码机会的所提供的编码收益大小来选择转发节点,从而通过增加有效传输数据来提升整体网络中的吞吐量。本发明提出了一种无线网络中基于网络编码的机会式路由选择方法。通过在机会式路由中转发优先级的设定中提出一种新的路由度量,而该度量根据预期传输次数和有效编码率计算得到,然后根据其优先级设置转发集合中节点的转发倒计时,从而达到协调转发的目的。而通过此方法可以提升网络中的有效数据的传输,从而提升网络吞吐量。

本发明采用如下技术方案解决上述技术问题:

一种无线网络中基于网络编码的机会路由选择方法,所述方法包括:

s1、源节点发送数据流,根据通信距离和下游节点的预期传输次数选择出候选转发集合;

s2、所述候选转发集合中的节点根据侦听到的下游节点的信息,得到编码机会和数据包长度,按照数据包长度计算出节点的有效编码率;

s3、按照节点的预期传输次数和有效编码率计算得到路由度量,并按照所述路由度量为所述候选转发集合中的节点设置转发优先级;

s4、按照所述转发优先级从高到低的顺序对数据包进行转发,若所述数据包有编码机会则进行异或编码后转发给下游节点,否则直接转发给下游节点,直至转发到目的节点,完成路由选择。

本发明的有益效果:

1.本发明考虑到无线网络中网络场景变化无常,固定性路由的最优路线容易变化,而重新建立最优路由花费较大,所以采取机会式路由将避免这一劣势。

2.本发明基于网络编码的应用场景,通过转发集合中的路由选择来主动提升编码机会,从而减少数据包的预期传输次数。

3.本发明考虑用于编码数据包大小不同导致有效传输数据不同,而当数据包大小越接近则表示有效传输数据越多,因此通过有效传输率来提升网络中的吞吐量。

附图说明

图1是本发明的一种无线网络中基于网络编码的机会式路由选择方法流程图;

图2为本发明实施例的网络拓扑中的链路丢包率示例图;

图3为本发明实施例的网络拓扑中的链路预期传输数etx示例图;

图4为本发明实施例的编码条件示例图;

图5为本发明实施例中按照优先级进行数据包转发的流程图;

图6为本发明优选实施例中的数据包转发的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明在机会式感知路由中,通过预期传输次数etx来确定候选转发集合,源节点通过上述候选转发集合向下游节点发送数据包,上述候选转发集合中的节点利用缓存数据包提供编码机会,下游节点利用缓存数据包提供解码机会。而转发候选集的优先级则根据编码机会提供的增益和有效编码率综合计算得到的路由度量所提供。进而根据其候选转发集合中节点优先级设置转发倒计时来协调转发数据包。下游节点在接受到数据包之后根据其缓存的数据包对其进行解码,然后再进行下一跳的编码传输。

在上述设计下,本发明包括如下假设条件:

(1)节点可周期性获得链路的丢包率;

(2)节点能时刻侦听到邻居节点的传输情况。

对上述假设条件稍加调整,可以在实际的通信系统进行具体的应用。

图1是本发明提出的一种无线网络中基于网络编码的机会路由选择方法流程图,如图1所示,所述路由选择方法包括以下步骤:

s1、源节点发送数据流,根据通信距离和下游节点的预期传输次数选择出候选转发集合;

源节点发送数据流时,先将其通信半径内的节点加入到一个预期转发的集合中作为其可转发集合。然后计算该可转发集合中的每一个节点到目的节点的预期传输次数etx,如果该节点的预期传输次数小于源节点的预期传输次数则将该节点加入到候选转发集合中,当遍历完整个可转发集合之后就得到了源节点的候选转发集合。

其中,预期传输次数的具体计算方式包括:源节点发送数据流时,向候选转发集合中节点周期性地相互ping并估计出每条链路的发送概率,然后计算每个节点向目的节点发送数据包的预期传输次数。

具体的,图2给出了本发明实施例的网络拓扑中的链路丢包率示例图;如图2所示,源节点a到节点b的发送概率为0.9,节点b到节点c的发送概率为0.9,节点c到目的节点e的发送概率为0.85,源节点a向节点d发送概率为0.7,节点d到目的节点e的发送概率为0.7,源节点a向目的节点的发送概率为0.1,节点d向节点c的发送概率为0.3。通过预期传输计算可以得到节点d向目的节点e的预期传输次数为1.42,其计算过程为1/0.7。

候选转发集合的选择方法:按照源节点的通信半径选择出比源节点更接近于目的节点的各个节点,对各个节点的预期传输跳次分别进行量化,若量化后的节点预期传输跳次小于源节点的预期传输跳次,则将小于源节点的预期传输跳次的节点集合作为最终的候选转发集合。

图3为本发明实施例的网络拓扑中的链路预期传输数etx示例图;如图3所示,同上述计算方式可得节点c向目的节点e的预期传输次数为1.17,节点b向目的节点e的传输次数为2.28,节点a向目的节点的预期传输次数为2.85。通过预期传输次数的计算可以得到节点b,节点c,节点d的预期传输次数都小于源节点a的预期传输次数,因此转发候选集为b,c,d。

s2、所述候选转发集合中的节点根据侦听到的下游节点的信息,得到编码机会和数据包长度;

当候选转发集合确定后,集合中节点根据该节点存储的数据包信息和侦听到的该节点的转发候选集的数据包信息来寻找编码机会以及需要转发编码数据包长度的匹配度,按照数据包长度可以计算出节点的有效编码率,所述有效编码率即为两个编码数据包的长度比值。

s3、按照节点的预期传输次数和有效编码率计算得到路由度量,并按照所述路由度量为所述候选转发集合中的节点设置转发优先级;

转发候选集中节点根据侦听到下游节点的信息,得到了编码机会和数据包长度匹配度之后,通过本方案提供的计算规则得到该节点转发优先级,并根据转发优先级设置转发倒计时。

本发明的转发优先级的计算是由编码机会和编码数据包的长度共同决定的。而编码机会所提供的编码增益由源数据包p0携带其他数据包的前进距离表示。假设源数据包p0可编码发送的n个数据包p1,p2…pn,对应的数据包中的转发候选集为gp1,gp2…gpn。因为转发候选集的选择规则可知,各节点的etx度量满足如下关系:

etx(gp1,d)<=etx(gp2,d)<=...<=etx(gpn,d)(1)

则源数据包p0由编码机会所提供的收益为:

其中,etxpi表示数据包pi被源数据包p0携带前进的距离,

p(i,gpl,k)表示的是数据包pl的候选转发集合中的节点k可以编码转发的概率。

而由数据包的长度提供的收益为:

其中,lpi表示的数据包pi的长度,lpmax表示的可编码的最长数据包长度,n表示数据包总数。

则本发明的综合收益表示为:

r=αu+βv(5)

其中,α+β=1,α表示第一权重因子,β表示第二权重因子;α,β的值由网络中的具体环境所决定,如节点的距离,分布情况等等;本领域技术人员可以实际需要进行相应的设置,本发明对其具体的数值不作限定。

本发明的路由度量为:

rm=|etx(i,d)-etx(u,d)|+a*r(6)

其中,etx(i,d)表示数据包从源节点到目标节点的预期传输次数的期望;etx(u,d)表示数据包从转发节点到目的节点的预期传输次数的期望;更为具体的,第一项表示数据报文从上一跳节点u到当前节点i前进的etx距离,前进距离越大则说明i距离目的节点d越近;第二项是综合收益r其中符号α是报文编码属性的表征因子,若报文满足编码条件则α=1,否则α=0。根据该效用函数,转发候选节点将接收的报文与发送队列的前k个报文进行不同的编码组合计算,并从中选取编码收益最大化的组合方式。

路由度量的具体计算规则:

图4为本发明实施例的编码条件示例图,如图4所示,节点a向已经明确的候选转发集合b,c,d进行转发长度为100的数据包,其中节点b中可用以编码的数据包长度为90,节点c中可用于编码的数据包的长度为10。则节点b的路由度量值rm=1+0.5*2.28+0.5*1.1,则rm为2.69,同理计算得到节点c的路由度量值为6.71。

通过计算得到候选转发集合中的每一个节点的路由度量之后,需要根据其大小设置其优先级,所述转发优先级为所述路由度量的倒数,所述转发优先级表示为转发优先级等于1/rm。

仍然参考如图4为例,节点b的路由度量为2.69,其设置的转发优先级则为1/2.69,而节点c的转发优先级就为1/6.71。而在转发设置中会根据其转发优先级的不同来设置不同转发倒计时,如在t时隙中,节点b的转发倒计时为t/2.69,节点c的转发倒计时为t/6.71。

s4、按照所述转发优先级从高到低的顺序对数据包进行转发,若所述数据包有编码机会则进行异或编码后转发给下游节点,否则直接转发给下游节点,直至转发到目的节点,完成路由选择。

图5给出了本发明实施例中按照优先级进行数据包转发的流程图,如图5所示,所述数据包转发包括:

s41、当所述候选转发集合中优先级最高的节点收到数据包后,判断所述数据包是否拥有编码机会,若拥有则进行异或编码后将其转发给下游节点,否则直接转发给下游节点;

s42、当其他优先级的节点接收到数据包后,判断该数据包是否被其他优先级更高的节点转发,若有则丢弃该数据包,否则按照步骤s41进行判断转发;

s43、下游节点接收到数据包后,判断所述数据包是否为编码数据包,若是则先解码然后按照步骤s41或步骤s42进行判断转发,否则直接按照步骤s41或步骤s42进行判断转发,直至转发至目的节点完成路由选择。

在一些优选实施例中,节点对数据包进行转发时,所述节点会反馈ack给上游节点,所述候选转发集合中的其他节点侦听所述ack进行协调转发,用于判断所述数据包是否被其他优先级更高的节点转发,也就是步骤s42中判断该数据包是否被其他优先级更高的节点转发时根据是否侦听到其他节点的ack来进行判断。

在一些实施例中,设置完毕候选转发集合中每个节点的转发倒计时之后,当源节点向候选转发集合中的节点发送数据包时,集合中的节点收到数据包会先判断当前数据包是编码数据包还是非编码数据包,如果是编码数据包则会查看节点中存储来用于解码的数据包队列,如能进行解码则会先将其解码再与其转发队列中可用于编码的数据包进行编码传输。反之如果不能进行解码则该节点会直接向下游节点转发数据包。如果当前数据包是非编码数据包则会与当前节点的转发队列中的可用于编码的数据包进行编码然后根据其优先级进行转发。

在一些优选实施例中,对于一些中间节点,图6给出了本发明优选实施例的数据包转发流程图,如图6所示,节点首先检查接收到的数据包的格式,判断所述数据包是否为编码数据包,如果是编码数据包则由该节点转发数据包到下一跳,反馈ack并解码,否则先获取候选转发集合,计算出所述候选转发集合中的节点的路由度量,判断该节点的优先级是否最高,若为最高的优先级,则由该节点转发数据包到下一跳,反馈ack并解码,否则直接结束转发过程,完成路由选择。

对于数据包编码的具体方法:

仍然参考如图4为例,源节点a向转发集合发送数据包p1,转发集合中节点接收到数据包之后,每个节点会根据其转发队列中数据包是否可以和数据包p1进行编码。而其编码规则为当前数据包p1和可编码数据包p2互为向下游节点的数据包。换而言之节点a向转发集合中的节点b发送数据包p1,而节点b中的转发队列中的数据包p2的上游节点为数据包p1的下游节点,而数据包p2的下游节点为节点a。根据cope的编码规则可得知,数据包p1和数据包p2可以进行编码,且节点a和节点c可以对其编码的数据包进行解码获得自己需要的数据包p2和p1。

仍然参考如图4为例,将数据包编码之后则会根据其候选转发集合中的节点的优先级进行协调转发。如节点b中的数据包p2和节点c中的p3数据包都可以进行编码,而计算得到的优先级节点b的优先级大于节点c的优先级。当节点b与c都接收到数据包p1之后,根据其转发优先级的先后,节点b的转发倒计时先于节点c触发。则节点b中的数据包p2会与节点p1进行编码然后向下游节点进行转发,同时节点b会向其上游节点a发送反馈ack,而同一转发候选集中的节点c也会侦听到节点b的ack,这时候节点c就会明确数据包p1已经由节点b进行转发了,节点c不需要再转发数据包p1,因此节点c会丢弃数据包p1。

由于本发明的路由选择方法是逐跳路由的,在下游节点获得转发集合中向其转发的数据包之后,先会解码数据包然后再根据上述的规则进行下一跳的编码转发,逐跳的向目的节点进行转发,最终到达目的节点。

在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1