分段arq自动重传方法

文档序号:7972183阅读:247来源:国知局
专利名称:分段arq自动重传方法
技术领域
本发明涉及无线与移动通信技术领域,尤其涉及无线多跳网络中对传输可靠率有一定要求的自动重传机制。
背景技术
ARQ(自动重传请求,Automatic Repeat reQuest),通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一,有时也被称为后向纠错。网络通信中,为了保障传输的可靠性,通常采取端到端的自动重传机制(End to End,E2E)或者点到点的自动重传机制(Hop by Ηορ,ΗΒΗ)。前者由源节点发出的数据包,经过多跳路径,到达目的节点后由目的节点进行确认,对于丢失、出错的数据包,由源节点向目的节点重发。后者在传输路径上,逐跳对收到的数据包进行确认,并重传丢失数据包和出错数据包。无线网络环境下,其信道质量通常远低于有线网络信道。在无线多跳环境中,Ε2Ε 机制下的中间节点只负责转发,不考虑冲突、出错等带来的数据丢失,数据包丢失比例逐跳累积,使得目的节点最终收到的数据包到达率远低于单跳信道可靠性。如图1所示,从源节点发出的报文共经6个中间节点,经7跳到达目的节点,^(1 = 1,2,...,7)表示对应7条路径分别对应的单跳可靠性,Wr1 = T2 = ... =r7 = 90%为例,R表示整条路径可靠性, 则R= (90% )7 47. 83%可以看出,E2E机制下,跳数越多,最终的到达率越低。信道质量可靠性越低,实现可靠传输的成本就会越高。而每次重传都要从源节点开始,也带来了极大的数据延迟。而在HBH机制下,节点逐跳进行确认与重传,引入了更多的数据发送量,对信道负载、节点能耗都带来了严重挑战。同时,每个节点都要缓存数据包以备重传,这也要求所有节点都拥有较高的缓存和配置,必将提升节点成本和网络成本。不仅如此,无论是实用E2E ARQ还是HBH ARQ,在信道质量可靠性相同的条件下,传输可靠率越高,代价也越高,并且这种提高是几何级的,每提高一个百分点所付出的代价, 都会成倍增加。因此,在无线多跳网络中,如何采用合适的ARQ机制,在适当的成本控制、并保证数据包较低延迟和开销的情况下,满足用户对数据的可靠率需求,是一个迫切需要解决的问题。

发明内容
本发明所要解决的技术问题是,在控制节点和网络成本情况下,提供一种既保证较低开销又能获得较高可靠率的ARQ自动重传方法。本发明为解决上述技术问题所采用的技术手段是,分段ARQ自动重传方法,源节点到目的节点的传输路径被分为若干段,每段的端节点为ARQ节点,ARQ节点包括源节点、目的节点与作为ARQ节点的中间节点,传输路径中的除ARQ节点之外的节点为普通中间节占. 在传输数据报文时,普通中间节点仅转发数据报文;作为ARQ节点的中间节点转发并缓存数据报文;ARQ节点接收到数据报文时,对该数据报文进行确认,当存在数据报文丢失、出错,则触发上一个ARQ节点进行重传;ARQ节点被触发进行重传时,在本地缓存中查找相应数据报文并向目的节点方向进行重传。 本发明将传输路径中经过的中间节点分为了 ARQ节点以及普通中间节点。普通中间节点只负责转发,不缓存数据报文,不考虑冲突、出错等带来的报文丢失;作为ARQ节点的中间节点存了转发数据报文外,需要对接收到的数据报文进行确认,当出现丢失、出错数据报文时,触发上一个ARQ节点进行重传。传输路径中一部分中间节点只负责转发,不增加信道负载、节点能耗,另一部分中间节点除了转发数据报文外,还能够进行数据报文的确认与重传,兼顾传输可靠性。具体的,当存在数据报文丢失、出错,通过ARQ机制中的ACK或者SACK方式触发上一个ARQ节点进行重传。本发明的有益效果是,结合了端到端(E2E)自动重传与逐跳(HBH)自动重传机制的优点,实现低成本、低时延以及较高的传输可靠性。


图1是E2E机制下,无线多跳传输的可靠性示意图;图2是无线多跳路径中的分段ARQ ;图3是ARQ节点重传和确认流程;图4是实施例中CLR值的计算示意图;图5是实施例中节点身份判断流程图;图6是实施例的ARQ信息表;图7是实施例的ARQ报文格式。
具体实施例方式如图2所示的无线多跳传输路径,由若干同质的无线节点组成。这种无线传输路径可以是静态路由形成的固定路径,也可以是根据网络状况形成的动态路由。传输路径中包括一个源节点、一个目的节点和若干个中间节点,中间节点负责中继源节点发给目的节点的数据报文。由作为ARQ节点中间节点将多跳的无线传输路径分成若干个段。如图3所示,源节点和目的节点为特殊的ARQ节点,源节点只缓存已发送数据报文以备重传,不需要对接收数据包进行确认;目的节点要对接收数据包进行确认,但不需要为重传缓存数据包。作为ARQ节点的中间节点将转发并缓存转发的数据报文,并且在被触发进行重传时(收到上一个ARQ节点发出的选择性重传请求报文),ARQ节点从缓存区内选择相应序列号的报文向目的节点方向进行重传。除目的节点之外的ARQ节点需缓存转发数据报文,直到收到该数据报文的ACK确认报文(由下一个ARQ节点发出)后,删除缓存区中的此数据报文。普通中间节点只负责报文的中继转发,不做其它处理。图3中,通过SACK方式来实现ARQ机制,当ARQ节点发现接收的数据报文存在丢失、出错,则通过主动向上一个ARQ节点发送选择性重传请求(SACK,selective ACK)来触发上一个ARQ节点进行相应数据报文的重发。可选的,通过ACK方式来实现ARQ机制,当ARQ 节点发现接收的数据报文存在丢失、出错时,不发送针对该数据报文的ACK确认报文,当下一个ARQ节点超时未收到ACK确认报文,则下一个ARQ节点被触发向目的节点方向重传该数据报文及之后本地上缓存的所有数据报文。某个ARQ节点如果多次重传仍未成功(未收到ACK确认报文),则认为该数据报文传输失败,放弃该数据报文传输,删除缓冲区中的该数据报文。数据报文的ACK确认和选择性重传机制只发生在ARQ节点之间。由于ACK方式会引起丢失报文之后所有报文的重传,所以在报文丢失数量较少时,以选择SACK方式为佳。 而在报文丢失数量较多时,每条丢失的报文都需要一条SACK,也会带来较多的SCAK请求报文,故此时最好选择ACK方式。选择中间节点作为ARQ节点的方式可以有多种。如针对静态路由形成的固定路径,可以根据实际网络环境,预先指定固定的某些中间节点为ARQ节点。无论是固定路径还是动态路径,还能以报文所经固定跳数为标准来指定ARQ节点,如设置报文每第3跳时所对应的中间节点为ARQ节点。可选的,根据实际网络环境来建立动态分段的标准,灵活度更
尚ο实施例优选的,本实施例基于数据报文的传输可靠率来进行传输路径的动态分段,能满足用户对数据报文传输的可靠率要求。针对信道质量较差的无线多跳网络,根据用户对数据可靠率的需求,预先设置源节点到目的节点的传输可靠率的最低容忍值Rsd,而不是必须保证100%的可靠传输。在给定的传输可靠率Rsd约束下,采用分段ARQ自动重传机制,将整个源到目的的传输路径分成若干段,即在传输可靠率I SD的约束下,结合链路可靠性确定ARQ节点。当某个中间节点的累积链路可靠性低于传输可靠率Rsd时,该节点自动成为ARQ节点。链路可靠性包括两种LLR(Local Link Rel iability,本地链路可靠性)和 CLR(Cumulative link reliability,累积链路可靠性)。其中,LLR指上一跳邻居中间节点 Ni^1到当前中间节点Ni的链路可靠性,其值用氏,表示;CLR指从源节点Ns到当前中间节点Ni的数据传输可靠率,其值用表示。下标i表示当前计算的“本地链路”为整体路径中的第i段链路。本地链路可靠性通过物理层和数据链路层协同探测获得物理层使用参数RSSI (Received Signal Strength hdication,接收的信号强度指示)进行可靠性监测。设节点Ni接收到上一跳邻居节点N"的RSSI为RSSI^ RSSIh
i可直接从本地物理层获取,并设定RSSI的接收门限值为RSSIthh,则本节点Ni的物理层可靠性氏―L—Phy 为(RSSIi^1 -RSSIthh) / (RSSIi^1 ^RSSIthh);本地链路层可靠性Ri u^采用本节点Ni收到的数据包数量与上一跳邻居节点Nh发送的数据包数量Pi-U相除得到,即Ri—L—DLC = Pi^eev/Pi-Li"其中PH—i为本节点Ni 收到报文占上一跳邻居节点Nh发送总报文的比例。Pp1 i的获得通过节点NH将邻居序列号(NS值)捎带在数据包中发给节点Ni,节点Ni通过获取邻居序列号计算得到Ph i。节点 Ni在向下一跳邻居节点Nw继续转发数据报文时,重新按照本地发送序列,封装NS值。
节点Ni 的本地链路可靠性为=Rllle = P XRlL—phy+(l_P ) X Rlljlc (0 彡 P 彡 1)。其中,权值P用于调节物理层可靠性与链路层可靠性对本地链路可靠性的影响比重。当P为ο时,本地链路可靠性只受链路层可靠性的影响;当P为ι时,本地链路可靠性只受物理层可靠性的影响。具体现实时,可根据不同的网络拓扑结构和应用环境,改变物理层可靠性与链路层可靠性对本地可靠性值的权重,使得网络传输情况满足用户需求。在多跳链路上计算累积链路可靠性的方法如图4所示传输路径中每个节点将计算得到的累积链路可靠性封装在数据包中捎带传送源节点Ns的链路可靠性设为1,即Rsmi= 1(考虑节点编号的统一性,也可以将Rs CLE表示为R。—,并将该链路可靠性Rs—封装到数据报文的头部字段中捎带发送;源节点Ns的下一跳邻居节点N1收到数据报文后,先探测源节点Ns到本节点N1的链路可靠性R1—皿,将本地链路可靠性R1—皿乘以源节点数据包中的累积链路可靠性值Rclm, 计算队―em = RO_clrXRLLLE'并将新的累积链路可靠性队―重新封装在数据包头部相应字段, 替换原来的Rclακ,捎带发送出去,以此类推,第j跳邻居计算累积链路可靠性的方法是
=Rh—aKXRj—ακ。一旦数据报文到达ARQ节点,则ARQ节点将忽略之前的累积链路可靠性值,而将当前的累积链路可靠性置为1,封装在数据报文的头部字段中向下一跳传递。分段的确认与维护机制如下 分段方式是当某中间节点Ni发现本节点计算得出的氏ακ < Rsd,则该节点升级为 ARQ节点,否则继续保持普通中间节点的身份。升级为ARQ节点后,Ni会对在本ARQ段内丢失的数据请求上一个ARQ节点重传,所以此时该ARQ节点将CLR值重置为1,向目的节点方向发出ARQ通告报文,通告自己的ARQ身份和相关信息。可选的,考虑到应用的扩展性,一旦某中间节点升级为ARQ节点时,该中间节点加入ARQ组播组。ARQ组播组中包括有目的节点地址、源节点地址,以及其他作为ARQ节点的中间节点地址。ARQ节点需要在本地的ARQ信息表中维护上一跳ARQ节点的信息,每条ARQ信息内容包括 < 源节点地址,目的节点地址,上一跳ARQ节点地址,生存时间 >,如图6所示。ARQ节点根据源节点地址,目的节点地址唯一确定一条ARQ信息。每条ARQ信息从上一个ARQ节点发出的ARQ通告报文中获得,报文格式如图7所示,此时“报文类型”字段设置为“ARQ通告”。生存时间可以设置为一个值比如90秒,当ARQ节点在本地维护该条ARQ信息时,根据本地时钟,每过一秒将对应的生存时间减1,当生存时间为0时,该条ARQ信息过期。生存时间还可以设置为一个时间点,当ARQ节点的本地时钟到达这个时间点,生存时间到期,该条 ARQ信息过期。一个普通中间节点收到ARQ通告报文,将会沿目的节点方向转发;一个ARQ节点收到ARQ通告报文,将不会再次转发,而是根据ARQ通告报文,更新自己的ARQ信息表。两个邻居ARQ节点间的自动重传行为成功,则对应的那条ARQ记录中生存时间重置为最大值。如果一条ARQ信息过期,则将该条信息从ARQ信息表中删除,向源节点方向发出“上一个ARQ节点”请求报文,报文格式如图7所示,此时“报文类型”字段设置为“ARQ请求”。一个普通中间节点收到ARQ请求报文,将会向源节点方向继续转发;一个ARQ节点收到ARQ请求报文,将不会再次转发,而是根据ARQ请求报文,发出ARQ响应报文,提供自己的地址信息。报文格式如图6所示,此时“报文类型”字段设置为“ARQ响应”。以下更清楚地描述了在传输路径中不同身份的ARQ节点在分段维护中不同的处理过程1) ARQ节点为中间节点当中间节点升级为ARQ节点时,该中间节点向将CLR值重置为1,并加入ARQ组播组,向目的节点方向发出ARQ通告报文;中间节点使用本地的ARQ信息表来维护上一跳ARQ节点的信息,当该中间节点收到ARQ通告报文时,不再转发,根据ARQ通告报文,更新本地ARQ信息表;当该中间节点的 ARQ信息表中一条ARQ信息过期,则将该条信息从ARQ信息表中删除,向源节点方向发出 ARQ请求报文;当中间节点收到ARQ请求报文,不再转发,根据ARQ请求报文,向目的节点方向发出ARQ响应报文;2) ARQ节点为源节点源节点默认CLR值为1,无需发送ARQ通告报文,无需维护 ARQ信息表,无需发送ARQ请求报文;源节点收到ARQ请求报文,不再转发,根据ARQ请求报文,向目的节点方向发出ARQ响应报文;3)ARQ节点为目的节点目的节点无需发送ARQ通告报文;需要使用本地的ARQ信息表来维护上一个ARQ节点的信息,当目的节点收到ARQ通告报文时,不再转发,根据ARQ 通告报文,更新本地ARQ信息表;当目的节点的ARQ信息表中一条ARQ信息过期,则将该条信息从ARQ信息表中删除,同时向源节点方向发出ARQ请求报文;当目的节点收到ARQ请求报文,不转发也不进行处理。上述基于传输可靠率的分段ARQ自动重传方法可在数据链路层、网络层或运输层中实现。
权利要求
1.分段ARQ自动重传方法,其特征在于,源节点到目的节点的传输路径被分为若干ARQ 段,每ARQ段的端节点为ARQ节点,ARQ节点包括源节点、目的节点与作为ARQ节点的中间节点,传输路径中除ARQ节点之外的节点为普通中间节点;在传输数据报文时,普通中间节点仅转发数据报文;作为ARQ节点的中间节点转发并缓存数据报文;ARQ节点接收到数据报文时,对该数据报文进行确认,当存在数据报文丢失、出错,则触发上一个ARQ节点进行重传;ARQ节点被触发进行重传时,在本地缓存中查找相应数据报文并向目的节点方向进行重传。
2.如权利要求1所述分段ARQ自动重传方法,其特征在于,基于数据报文的传输可靠率来进行传输路径的动态分段预先设置源节点到目的节点的传输可靠率的最低容忍值Rsd ;传输路径中每个中间节点计算各自的累积链路可靠性,当其累积链路可靠性低于最低容忍值Rsd时,该中间节点自动成为ARQ节点。
3.如权利要求2所述分段ARQ自动重传方法,其特征在于,当前节点的累积链路可靠性由本地链路可靠性与上一跳邻居节点的累积链路可靠性相乘得到;源节点的本地链路可靠性与累积链路可靠性均为1 ;传输路径中每个节点将计算得到的本节点的累积链路可靠性封装在数据包的头部字段中捎带传送数据报文到达ARQ节点,ARQ节点将直接将本节点的累积链路可靠性设置为1,封装在数据报文的头部字段中向下一跳邻居节点传递。
4.如权利要求3所述分段ARQ自动重传方法,其特征在于,中间节点通过计算物理层可靠性与链路层可靠性来获得本地链路可靠性节点 Ni 的物理层可靠性氏 Ljhy 为(RssiH i-RssithhV(RssiH JRssithh);其中 RSSIthh 为预设置的接收门限值,RSSIh」为节点Ni接收到上一跳邻居节点N"的信号强度指示;节点Ni的链路层可靠性Ri L—DLC为Ri—L—DLC = Pi^vAVu ;其中Prav为本节点Ni收到的数据包数量,Pi-U为本节点Ni收到报文占上一跳邻居节点N"发送总报文的比例;节点Ni的链路可靠性为=Ri LLK = P XRi-L—Phy+a-p ) XRlljlc(0彡P彡1),其中P为可调权值。
5.如权利要求2所述分段ARQ自动重传方法,其特征在于,中间节点升级为ARQ节点后,该中间节点会触发上一个ARQ节点重传在本ARQ段内丢失的数据报文,并向目的节点方向发出ARQ通告报文;除源节点之外的ARQ节点通过本地的ARQ信息表维护上一跳ARQ节点的信息,每条ARQ 信息内容包括源节点地址、目的节点地址、上一跳ARQ节点地址、生存时间;ARQ信息从上一个ARQ节点发出的ARQ通告报文中获得;普通中间节点收到ARQ通告报文,沿目的节点方向转发;ARQ节点收到ARQ通告报文,不再转发,根据ARQ通告报文,更新自己的ARQ信息表。
6.如权利要求3所述分段ARQ自动重传方法,其特征在于,当前ARQ节点与上一个ARQ 节点间的自动重传成功,当前ARQ节点重置对应ARQ信息中生存时间为最大值;当前ARQ节点的本地ARQ信息表中,如一条ARQ信息过期,则将该条信息从ARQ信息表中删除,并向源节点方向发出ARQ请求报文;普通中间节点收到ARQ请求报文,沿源节点方向转发;ARQ节点收到ARQ请求报文,不再转发,根据ARQ请求报文,发出ARQ响应报文,提供自己的地址信息;ARQ节点收到ARQ响应报文,不再转发,根据ARQ响应报文,更新自己的ARQ信息表。
7.如权利要求6所述分段ARQ自动重传方法,其特征在于,所述ARQ通告报文、ARQ请求报文、ARQ响应报文均包括ARQ组播组地址、本节点地址、报文类型、源节点地址、目的节点地址;ARQ组播组地址中包括有目的节点地址、源节点地址,以及其它作为ARQ节点的中间节点地址。
8.如权利要求1所述分段ARQ自动重传方法,其特征在于,通过预先指定固定的中间节点为ARQ节点来进行静态分段。
9.如权利要求1所述分段ARQ自动重传方法,其特征在于,通过以数据报文所经固定跳数为标准来指定ARQ节点,进行分段。
10.如权利要求1所述分段ARQ自动重传方法,其特征在于,所述触发上一个ARQ节点进行重传通过ACK方式或SACK方式实现。
全文摘要
本发明提供一种既保证较低开销又能获得较高可靠率的分段ARQ自动重传方法,源节点到目的节点的传输路径被分为若干段,在传输数据报文时,普通中间节点仅转发数据报文;作为ARQ节点的中间节点转发并缓存数据报文;ARQ节点接收到数据报文时,对该数据报文进行确认,当存在数据报文丢失、出错,则触发上一个ARQ节点进行重传;ARQ节点被触发进行重传时,在本地缓存中查找相应数据报文并向目的节点方向进行重传。传输路径中一部分中间节点只负责转发,不增加信道负载、节点能耗,另一部分中间节点除了转发数据报文外,还能够进行数据报文的确认与重传,兼顾传输可靠性。
文档编号H04W28/04GK102340391SQ20111035996
公开日2012年2月1日 申请日期2011年11月14日 优先权日2011年11月14日
发明者冷甦鹏, 李唯乔, 毛玉明, 韦云凯 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1