CN105846968A - 一种实现重传的方法和装置、发送设备和接收设备 - Google Patents
一种实现重传的方法和装置、发送设备和接收设备 Download PDFInfo
- Publication number
- CN105846968A CN105846968A CN201510018566.1A CN201510018566A CN105846968A CN 105846968 A CN105846968 A CN 105846968A CN 201510018566 A CN201510018566 A CN 201510018566A CN 105846968 A CN105846968 A CN 105846968A
- Authority
- CN
- China
- Prior art keywords
- data message
- esp
- window
- esp data
- message
- 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.)
- Pending
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种实现重传的方法和装置、发送设备和接收设备,包括:发送端将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文。本发明提高了丢包反馈的速度。
Description
技术领域
本发明涉及家庭基站(HeNB,Home Evolution Node B)通信网络技术,尤指一种实现重传的方法和装置、发送设备和接收设备。
背景技术
目前,HeNB已经逐步应用到第三代移动通信(3G,3rd-Generation)网络和长期演进(LTE,Long Term Evolution)网络中,HeNB一般位于因特网(Internet)中,而HeNB的网关和核心网设备位于运营商的专网中。为了保证通信的安全,需要在Internet和运营商的专网之间加入安全网关(SeGW,Security Gateway),在HeNB和SeGW之间的数据包采用因特网安全协议(IPSec,Internet Protocol Security)进行保护。
IPSec是互联网工程任务组(IETF,Internet Engineering Task Force)指定的三层隧道加密协议,该协议给出了应用于IP层上网络数据安全的一整套提醒结构。它为Internet上传播的数据提供安全服务数据机密性、数据完整性、数据源认证、防重放等功能。
图1为LTE的家庭基站网络的结构组成示意图。如图1所示,目前用户设备(UE,User Equipment)和HeNB之间的空口无线的速率已经大大提高,最大上行速率可以达到50兆(M),最大下行速率可以达到100M。但是对于回传网络(即HeNB和SeGW之间的网络),由于走的是Internet,而Internet是个复杂多变的环境,导致延迟大、丢包率高,极大地影响了数据的传输。进行网络测试时,最大下行速率可以达到80M。而当回传网络的丢包率在0.01%时,最大下行速率下降到60M;当回传网络的丢包率达到0.1%时,最大下行速率下降到30M。由此可见,在HeNB和SeGW之间的网络的丢包严重影响了UE的速率。
针对家庭基站网络的丢包现象,现有的重传机制大致包括:
在UE和HeNB之间的空口传输采用无线链路控制(RLC,Radio LinkControl)协议进行快速反馈和重传;而在HeNB和SeGW之间的数据包发生丢包时,需要依靠UE和应用服务器之间的上层的传输控制协议(TCP,Transmission Control Protocol)层进行检测并重传。
现有的重传机制中,由于UE和应用服务器之间的网元和网络不具备TCP层,而SeGW和应用服务器之间跨越了多个网元和网络,因此,进行丢包反馈的速度非常慢,从而导致UE速率急剧下降。
发明内容
为了解决上述问题,本发明提出了一种实现重传的方法和装置、发送设备和接收设备,能够提高丢包反馈的速度。
为了达到上述目的,本发明提出了一种实现重传的方法,包括:
发送端将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;
发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;
发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文。
优选地,该方法还包括:
所述发送端根据所述接收到的状态报告报文删除SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
优选地,该方法还包括:
所述发送端周期性和/或在判断出所述SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阈值时向所述接收端发送轮询报文。
优选地,所述轮询报文至少包括报文类型。
优选地,所述轮询报文还包括以下的一个或多个:
安全参数索引SPI、所述SA的对数、预先设置的序列号。
优选地,所述发送端为家庭基站或安全网关。
本发明还提出了一种实现重传的方法,包括:
接收端接收来自发送端的AH/ESP数据报文,当判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
接收端根据接收窗口向发送端发送状态报告报文。
优选地,当所述接收端判断出所述接收到的AH/ESP数据报文的序列号小于或等于所述SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值时,该方法还包括:
所述接收端丢弃所述接收到的AH/ESP数据报文。
优选地,所述将接收到的AH/ESP数据报文保存到SA对应的接收窗口包括:
所述接收端在判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值时,将所述接收窗口中的所有AH/ESP数据报文向左移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将所述接收窗口中的所有AH/ESP数据报文向右移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最左端;
其中,M1为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文的序列号的最大值之间的差值。
优选地,当所述接收端判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值和所述接收窗口的长度之间的差值,且小于所述接收窗口中的AH/ESP数据报文的序列号的最大值时,所述将接收到的AH/ESP数据报文保存到SA对应的接收窗口还包括:
将所述接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前或之后的第M2位;其中,M2为所述接收窗口中AH/ESP数据报文的序列号的最大值和所述接收到的AH/ESP数据报文的序列号之间的差值。
优选地,所述状态报告报文包括报文类型、一对或一对以上SA对应的状态报告参数;其中,所述状态报告参数至少包括接收窗口长度、接收窗口中的AH/ESP数据报文的序列号的最大值、接收窗口的比特位图。
优选地,所述状态报告参数还包括以下的一个或多个:
所述接收窗口中AH/ESP数据报文的个数、SPI、SA的对数。
优选地,所述接收端在接收到来自所述发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据所述接收窗口向所述发送端发送所述状态报告报文。
优选地,所述接收端为家庭基站HeNB或安全网关SeGW。
本发明还提出了一种发送设备,至少包括:
第一存储模块,用于将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;
第一发送模块,用于将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文;
第一接收模块,用于接收来自接收端的状态报告报文。
优选地,还包括:
删除模块,用于根据所述接收到的状态报告报文删除SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
优选地,所述第一发送模块还用于:
周期性或判断出所述SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阈值时向所述接收端发送所述轮询报文。
本发明还提出了一种接收设备,至少包括:
第二接收模块,用于接收来自发送端的AH/ESP数据报文;
判断模块,用于判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
第二存储模块,用于将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
第二发送模块,用于根据接收窗口向发送端发送状态报告报文。
优选地,所述判断模块还用于:
判断出所述接收到的AH/ESP数据报文的序列号小于或等于所述SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
还包括:
丢弃模块,用于丢弃所述接收到的AH/ESP数据报文。
优选地,所述判断模块还用于:
判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值;
所述第二存储模块具体用于:
将所述接收窗口中的所有AH/ESP数据报文向左移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将所述接收窗口中的所有AH/ESP数据报文向右移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最左端;
其中,M1为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文的序列号的最大值之间的差值。
优选地,所述判断模块还用于:
判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值和所述接收窗口的长度之间的差值,且小于所述接收窗口中的AH/ESP数据报文的序列号的最大值;
所述第二存储模块具体用于:
将所述接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前或之后的第M2位;其中,M2为所述接收窗口中AH/ESP数据报文的序列号的最大值和所述接收到的AH/ESP数据报文的序列号之间的差值。
优选地,所述第二发送模块具体用于:
在接收到来自所述发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据接收窗口向发送端发送SA对应的状态报告报文。
本发明还提出了一种实现重传的装置,至少包括:
本发明任意一个发送设备中的所有模块和本发明任意一个接收设备中的所有模块。
与现有技术相比,本发明包括:发送端将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文。通过本发明的方案,发送端将SA的发送队列中被标记为已发送的AH/ESP数据报文中,接收端未接收到的AH/ESP数据报文进行重新发送,提高了丢包反馈的速度。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为现有的LTE的家庭基站网络的结构组成示意图
图2为本发明实现重传的方法的流程图;
图3为本发明另一种实现重传的方法的流程图;
图4为本发明第一实施例实现重传的方法的流程图;
图5为本发明第一实施例中HeNB和SeNB之间的SA的示意图;
图6为本发明第二实施例实现重传的方法的流程图;
图7为本发明第二实施例中HeNB和SeNB之间的SA的示意图;
图8为本发明发送设备的组成示意图;
图9为本发明接收设备的组成示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。
参见图2,本发明提出了一种实现重传的方法,包括:
步骤200、发送端将认证头(AH,Authentication Head)/封装安全有效载荷(ESP,Encapsulating Security Payload)数据报文保存到对应的一对安全关联(SA,Security Association)对应的发送队列。
本步骤中,发送端可以是HeNB或SeGW。如果发送端为HeNB,则接收端为SeGW;如果发送端为SeGW,则接收端为HeNB。
步骤201、发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文。
本步骤中,发送端依次将SA对应的发送队列中的AH/ESP报文发送给接收端后,将AH/ESP数据报文保留在SA对应的发送队列中。
步骤202、发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文。
本步骤中,还可以包括:发送端根据接收到的状态报告报文删除SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
本步骤中,已被接收端成功接收的AH/ESP数据报文包括序列号小于状态报告报文中的序列号的AH/ESP数据报文,和状态报告报文的位图中指示的已被接收端成功接收的AH/ESP数据报文,接收端未接收到的AH/ESP数据报文包括状态报告报文的位图中指示的未被接收端成功接收的AH/ESP数据报文。
该方法还包括:发送端可以周期性,和/或判断出SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阈值时向接收端发送轮询报文。
其中,发送端可以在其中一对SA中发送各SA对应的轮询报文,也可以在每一对SA中发送对应的轮询报文。
当发送端在其中一对SA中发送各SA对应的轮询报文时,该对SA不传输AH/ESP数据报文;当发送端在每一对SA中发送对应的轮询报文时,各SA还用于传输AH/ESP数据报文。
其中,轮询报文至少包括报文类型。
其中,轮询报文还可以包括以下中的一个或多个:
SA对应的SPI、SA的对数、预先设置的序列号。
表1为轮询报文的示意表。如表1所示,轮询报文包括:SA对应的SPI,序列号(可以以0表示),报文类型(可以自由定义,例如,可以定义报文类型为1时,表示轮询报文),填充字段和填充长度字段根据安全算法字段填充(安全算法为现有技术),下一个头可以不关注,可以取值为255,验证数据。
表1
表2为另一种轮询报文的示意表。如表2所示,轮询报文包括:序列号、报文类型、SA的对数、各SA对应的SPI、填充字段、填充长度字段、下一个头、验证数据。
表2
参见图3,本发明还提出了一种实现重传的方法,包括:
步骤300、接收端接收来自SA的AH/ESP数据报文,当判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口。
本步骤中,接收窗口为预先定义,接收窗口的长度小于抗重播窗口的长度。
本步骤中,将接收到的AH/ESP数据报文保存到SA对应的接收窗口包括:
接收端在判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数据报文的序列号的最大值时,将接收窗口中的所有AH/ESP数据报文向左移动M1位,并将接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将接收窗口中的所有AH/ESP数据报文向右移动M1位,并将接收到的AH/ESP数据保存保存到接收窗口的最左端。
其中,M1为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文的序列号的最大值之间的差值。
其中,当接收端判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口的长度之间的差值,且小于接收窗口中的AH/ESP数据报文的序列号的最大值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口还包括:
将接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前或之后的第M2位。其中,M2为接收窗口中AH/ESP数据报文的序列号的最大值和接收到的AH/ESP数据报文的序列号之间的差值。
本步骤中,当接收端判断出接收到的AH/ESP数据报文的序列号小于或等于接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口的长度之间的差值时,接收端丢弃接收到的AH/ESP数据报文。
步骤301、接收端根据接收窗口向发送端发送的状态报告报文。
本步骤中,接收端可以在其中一对SA中发送各SA对应的状态报告报文,也可以在每一对SA中发送对应的状态报告报文。
当接收端在其中一对SA中发送各SA对应的状态报告报文时,该对SA不传输AH/ESP数据报文;当接收端在每一对SA中发送对应的状态报告报文时,各SA还用于传输AH/ESP数据报文。
本步骤中,状态报告报文可以包括报文类型、一对或一对以上SA对应的状态报告参数。其中,状态报告参数至少包括接收窗口长度、接收窗口中的AH/ESP数据报文的序列号的最大值、接收窗口的比特位图。其中,接收窗口的比特位图的第N位表示序列号为接收窗口中AH/ESP数据报文的序列号的最大值和接收窗口长度之间的差值和N之间的和的AH/ESP数据报文是否已被成功接收,其中,N为大于或等于1的整数。
其中,状态报告参数还可以包括以下的一个或多个:
接收窗口中AH/ESP数据报文的个数、安全参数索引(SPI,SecurityParameters Index)、SA的对数。
例如,SPI为0x00000001,接收窗口长度为8,接收窗口最左侧位置的AH/ESP数据报文的序列号为1,接收窗口中的AH/ESP数据报文个数为2,接收窗口的比特位图为11000001(表示序列号为1、2和8的AH/ESP数据报文已被成功接收,二序列号为3到7的AH/ESP数据报文未被成功接收)。
表3为状态报告报文的示意表。如表3所示,状态报告报文包括:报文类型、一对SA对应的状态报告参数、填充、填充长度、下一个头(可以不关注,可以取值为255)、验证数据,状态报告参数包括SA的SPI、接收窗口中的AH/ESP数据报文的序列号的最大值、接收包数(即接收窗口中AH/ESP报文的个数)、比特位图。
其中,填充字段和填充长度字段根据安全算法填充(安全算法为现有技术)。
表3
表4为另一种状态报告报文的示意表。如表4所示,状态报告报文包括:报文类型、n对SA对应的状态报告参数、填充、填充长度、下一个头(可以不关注,可以取值为255)、验证数据,每一对SA对应的状态报告参数包括SA的SPI、接收窗口中的AH/ESP数据报文的序列号的最大值、接收包数(即接收窗口中AH/ESP报文的个数)、比特位图和保留字段。
表4
本步骤中,接收端在接收到来自发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据接收窗口向发送端发送状态报告报文。
其中,接收端可以根据接收窗口中的AH/ESP数据报文的序列号判断是否有丢包。如果接收窗口中的AH/ESP数据报文的序列号是连续的,则判断出没有丢包;如果接收窗口中的AH/ESP数据报文的序列号是不连续的,则判断出有丢包。
下面通过具体实施例详细说明本发明的方法。
以下各实施例中,预先为发送端的每一对SA设置对应的发送队列,为接收端的每一对SA设置对应的接收窗口。
第一实施例,该实施例中以发送端的其中一对SA进行说明,其他对SA方法类似。参见图4,该方法包括:
步骤400、发送端接收到来自应用层的数据包,确定数据包是否应用安全策略,如果不是,则执行步骤401,如果是,则执行步骤402。
本步骤中,可以通过查询安全策略数据(SPD,Security policy Data)库的方式确定数据包是否应用安全策略,具体实现属于本领域技术人员的公知常识,并不用于限定本发明的保护范围,这里不再赘述。
步骤401、发送端直接转发数据包并结束本流程。
步骤402、发送端查询安全联盟数据(SAD,Security Association Data)库,查找数据包对应的SA,根据SA的参数将数据包封装成AH/ESP数据报文。
本步骤中,AH/ESP数据报文的序列号从1开始递增。
步骤403、发送端将AH/ESP数据报文保存到SA对应的发送队列,启动SA对应的周期性定时器。
本步骤中,每一对SA对应的周期性定时器的周期可以相同,也可以不同。
步骤404、发送端将发送队列中的AH/ESP数据报文逐个取出发送给接收端,同时将AH/ESP数据报文打上已发送的标记。
步骤405、接收端判断接收到AH/ESP数据报文,判断接收到的AH/ESP数据报文的序列号是否大于SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值,如果不是,则执行步骤406;如果是,则执行步骤407。
步骤406、接收端丢弃接收到的AH/ESP数据报文,并执行步骤410。
步骤407、接收端判断接收到的AH/ESP数据报文的序列号是否大于接收窗口中的AH/ESP数据报文的序列号的最大值,如果是,则执行步骤408,如果不是,则执行步骤409。
步骤408、接收端将接收窗口中的所有AH/ESP数据报文向左移动M1位,并将接收到的AH/ESP数据保存保存到接收窗口的最右端,并执行步骤410。
步骤409、接收端将接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前的第M2位,并执行步骤410。
步骤410、发送端在周期性定时器超时或判断出发送队列中AH/ESP数据报文是数量大于或等于发送队列的80%时向接收端发送轮询报文。
步骤411、接收端根据接收窗口通过SA向发送端发送该SA对应的状态报告报文。
步骤412、发送端根据状态报告报文,从发送队列中被标记为已发送的AH/ESP数据报文中,删除已被接收端成功接收的AH/ESP数据报文,重新发送未被接收端接收的AH/ESP数据报文后删除。
第二实施例,该实施例中轮询报文和状态报告报文固定在一对SA中进行传输。图5为HeNB和SeNB之间的SA的示意图。如图5所示,假设HeNB和SeNB之间配置一对单独的SA,分别为SA1,SA2,专门用于传输轮询报文或状态报告报文,假设SA1的方向为HeNB到SeNB,SA2的方向为SeNB到HeNB。另外,实际传输AH/ESP数据报文的一对SA,分别为SA3,SA4,假设SA3的方向为HeNB到SeNB,SA4的方向为SeNB到HeNB。
参见图6,该方法包括:
步骤600、发送端接收到来自应用层的数据包,确定数据包是否应用安全策略,如果不是,则执行步骤601,如果是,则执行步骤602。
步骤601、发送端直接转发数据包并结束本流程。
步骤602、发送端查询SAD库,查找数据包对应的SA(为SA3),根据SA3的参数将数据包封装成AH/ESP数据报文。
本步骤中,AH/ESP数据报文的序列号从1开始递增。
步骤603、发送端将AH/ESP数据报文保存到SA3对应的发送队列,启动SA3对应的周期性定时器。
步骤604、发送端将SA3对应的发送队列中的AH/ESP数据报文逐个取出发送给接收端,同时将AH/ESP数据报文打上已发送的标记。
步骤605、接收端判断接收到AH/ESP数据报文,判断接收到的AH/ESP数据报文的序列号是否大于SA3对应的接收窗口中的AH/ESP数据报文的序列号的最大值和SA3对应的接收窗口之间的差值,如果不是,则执行步骤606;如果是,则执行步骤607。
步骤606、接收端丢弃接收到的AH/ESP数据报文,并执行步骤610。
步骤607、接收端判断接收到的AH/ESP数据报文的序列号是否大于SA3对应的接收窗口中的AH/ESP数据报文的序列号的最大值,如果是,则执行步骤608,如果不是,则执行步骤609。
步骤608、接收端将SA3对应的接收窗口中的所有AH/ESP数据报文向左移动M1位,并将接收到的AH/ESP数据保存保存到SA3对应的接收窗口的最右端,并执行步骤610。
步骤609、接收端将接收到的AH/ESP数据报文保存到SA3对应的接收窗口中序列号最大的AH/ESP数据报文之前的第M2位,并执行步骤610。
步骤610、发送端在周期性定时器超时或判断出发送队列中AH/ESP数据报文是数量大于或等于发送队列的80%时通过SA1向接收端发送轮询报文。
步骤611、接收端根据接收窗口通过SA2向发送端发送该SA3对应的状态报告报文。
步骤612、发送端根据状态报告报文,从SA3对应的发送队列中被标记为已发送的AH/ESP数据报文中,删除已被接收端成功接收的AH/ESP数据报文,重新发送未被接收端接收的AH/ESP数据报文后删除。
第三实施例,该实施例与第二实施例相同,唯一的差别在于,首先,如图7所示,该实施例中包括一对用于传输轮询报文和状态报告报文的SA,即SA1和SA2,还包括两对用于传输AH/ESP数据报文的SA,即S3、S4和S5、S6。其次,发送端在发送轮询报文时,采用表4所示的格式,接收端在发送状态报告报文时,采用表2的格式。
参见图8,本发明还提出了一种发送设备,至少包括:
第一存储模块,用于将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;
第一发送模块,用于将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文;
第一接收模块,用于接收来自接收端的状态报告报文。
本发明的发送设备中,还包括:
删除模块,用于根据接收到的状态报告报文删除SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
本发明的发送设备中,第一发送模块还用于:
周期性或判断出SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阈值时向接收端发送轮询报文。
参见图9,本发明还提出了一种接收设备,至少包括:
第二接收模块,用于接收来自SA的AH/ESP数据报文;
判断模块,用于判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
第二存储模块,用于将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
第二发送模块,用于根据接收窗口向发送端发送状态报告报文。
本发明的接收设备中,判断模块还用于:
判断出接收到的AH/ESP数据报文的序列号小于或等于SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
还包括:
丢弃模块,用于丢弃接收到的AH/ESP数据报文。
本发明的接收设备中,判断模块还用于:
判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数据报文的序列号的最大值;
第二存储模块具体用于:
将接收窗口中的所有AH/ESP数据报文向左移动M1位,并将接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将接收窗口中的所有AH/ESP数据报文向右移动M1位,并将接收到的AH/ESP数据保存保存到接收窗口的最左端;
其中,M1为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文的序列号的最大值之间的差值。
本发明的接收设备中,判断模块还用于:
判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口的长度之间的差值,且小于接收窗口中的AH/ESP数据报文的序列号的最大值;
第二存储模块具体用于:
将接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前或之后的第M2位;其中,M2为接收窗口中AH/ESP数据报文的序列号的最大值和接收到的AH/ESP数据报文的序列号之间的差值。
本发明的接收设备中,第二发送模块具体用于:
在接收到来自发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据接收窗口向发送端发送SA对应的状态报告报文。
本发明的发送设备和接收设备可以设置在同一实体中。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (23)
1.一种实现重传的方法,其特征在于,包括:
发送端将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;
发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;
发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
所述发送端根据所述接收到的状态报告报文删除SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
所述发送端周期性和/或在判断出所述SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阈值时向所述接收端发送轮询报文。
4.根据权利要求3所述的方法,其特征在于,所述轮询报文至少包括报文类型。
5.根据权利要求4所述的方法,其特征在于,所述轮询报文还包括以下的一个或多个:
安全参数索引SPI、所述SA的对数、预先设置的序列号。
6.根据权利要求1或2所述的方法,其特征在于,所述发送端为家庭基站或安全网关。
7.一种实现重传的方法,其特征在于,包括:
接收端接收来自发送端的AH/ESP数据报文,当判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
接收端根据接收窗口向发送端发送状态报告报文。
8.根据权利要求7所述的方法,其特征在于,当所述接收端判断出所述接收到的AH/ESP数据报文的序列号小于或等于所述SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值时,该方法还包括:
所述接收端丢弃所述接收到的AH/ESP数据报文。
9.根据权利要求7或8所述的方法,其特征在于,所述将接收到的AH/ESP数据报文保存到SA对应的接收窗口包括:
所述接收端在判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值时,将所述接收窗口中的所有AH/ESP数据报文向左移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将所述接收窗口中的所有AH/ESP数据报文向右移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最左端;
其中,M1为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文的序列号的最大值之间的差值。
10.根据权利要求9所述的方法,其特征在于,当所述接收端判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值和所述接收窗口的长度之间的差值,且小于所述接收窗口中的AH/ESP数据报文的序列号的最大值时,所述将接收到的AH/ESP数据报文保存到SA对应的接收窗口还包括:
将所述接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前或之后的第M2位;其中,M2为所述接收窗口中AH/ESP数据报文的序列号的最大值和所述接收到的AH/ESP数据报文的序列号之间的差值。
11.根据权利要求1或2所述的方法,其特征在于,所述状态报告报文包括报文类型、一对或一对以上SA对应的状态报告参数;其中,所述状态报告参数至少包括接收窗口长度、接收窗口中的AH/ESP数据报文的序列号的最大值、接收窗口的比特位图。
12.根据权利要求11所述的方法,其特征在于,所述状态报告参数还包括以下的一个或多个:
所述接收窗口中AH/ESP数据报文的个数、SPI、SA的对数。
13.根据权利要求7或8所述的方法,其特征在于,所述接收端在接收到来自所述发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据所述接收窗口向所述发送端发送所述状态报告报文。
14.根据权利要求7或8所述的方法,其特征在于,所述接收端为家庭基站HeNB或安全网关SeGW。
15.一种发送设备,其特征在于,至少包括:
第一存储模块,用于将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;
第一发送模块,用于将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文;
第一接收模块,用于接收来自接收端的状态报告报文。
16.根据权利要求15所述的发送设备,其特征在于,还包括:
删除模块,用于根据所述接收到的状态报告报文删除SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
17.根据权利要求15或16所述的发送设备,其特征在于,所述第一发送模块还用于:
周期性或判断出所述SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阈值时向所述接收端发送所述轮询报文。
18.一种接收设备,其特征在于,至少包括:
第二接收模块,用于接收来自发送端的AH/ESP数据报文;
判断模块,用于判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
第二存储模块,用于将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
第二发送模块,用于根据接收窗口向发送端发送状态报告报文。
19.根据权利要求18所述的接收设备,其特征在于,所述判断模块还用于:
判断出所述接收到的AH/ESP数据报文的序列号小于或等于所述SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
还包括:
丢弃模块,用于丢弃所述接收到的AH/ESP数据报文。
20.根据权利要求18或19所述的接收设备,其特征在于,所述判断模块还用于:
判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值;
所述第二存储模块具体用于:
将所述接收窗口中的所有AH/ESP数据报文向左移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将所述接收窗口中的所有AH/ESP数据报文向右移动M1位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最左端;
其中,M1为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文的序列号的最大值之间的差值。
21.根据权利要求18或19所述的接收设备,其特征在于,所述判断模块还用于:
判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数据报文的序列号的最大值和所述接收窗口的长度之间的差值,且小于所述接收窗口中的AH/ESP数据报文的序列号的最大值;
所述第二存储模块具体用于:
将所述接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之前或之后的第M2位;其中,M2为所述接收窗口中AH/ESP数据报文的序列号的最大值和所述接收到的AH/ESP数据报文的序列号之间的差值。
22.根据权利要求18或19所述的接收设备,其特征在于,所述第二发送模块具体用于:
在接收到来自所述发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据接收窗口向发送端发送SA对应的状态报告报文。
23.一种实现重传的装置,其特征在于,至少包括:
权利要求15~17任意一项所述的发送设备中的所有模块和权利要求18~22任意一项所述的接收设备中的所有模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510018566.1A CN105846968A (zh) | 2015-01-14 | 2015-01-14 | 一种实现重传的方法和装置、发送设备和接收设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510018566.1A CN105846968A (zh) | 2015-01-14 | 2015-01-14 | 一种实现重传的方法和装置、发送设备和接收设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105846968A true CN105846968A (zh) | 2016-08-10 |
Family
ID=56580746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510018566.1A Pending CN105846968A (zh) | 2015-01-14 | 2015-01-14 | 一种实现重传的方法和装置、发送设备和接收设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105846968A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311725A (zh) * | 2019-07-26 | 2021-02-02 | 华为技术有限公司 | 一种数据处理方法、装置及终端 |
WO2022056791A1 (zh) * | 2020-09-17 | 2022-03-24 | 华为技术有限公司 | 一种报文重传方法和装置 |
US12126702B2 (en) | 2019-07-26 | 2024-10-22 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and terminal |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047484A (zh) * | 2006-06-21 | 2007-10-03 | 华为技术有限公司 | 一种传输层重传方法和系统 |
CN101159711A (zh) * | 2007-11-27 | 2008-04-09 | 航天东方红卫星有限公司 | 自适应的实时消息订阅与发布系统及方法 |
CN101212283A (zh) * | 2006-12-25 | 2008-07-02 | 华为技术有限公司 | 通信系统中传输确认/非确认信息的方法 |
CN101217351A (zh) * | 2007-12-28 | 2008-07-09 | 中国科学院计算技术研究所 | 一种通信网络及其自动重传机制实现方法 |
CN101521635A (zh) * | 2009-04-10 | 2009-09-02 | 杭州华三通信技术有限公司 | 一种报文传输方法及装置 |
US20090328191A1 (en) * | 2008-06-26 | 2009-12-31 | Samsung Electronics Co. Ltd. | Apparatus and method for synchronizing security association state in mobile communication terminal |
CN101714915A (zh) * | 2009-11-02 | 2010-05-26 | 清华大学 | 一种数据重传方法及系统 |
CN101924620A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 报文重传方法和装置 |
CN102075427A (zh) * | 2011-01-18 | 2011-05-25 | 中兴通讯股份有限公司 | 基于安全联盟的IPSec报文处理方法及装置 |
CN102137027A (zh) * | 2011-05-03 | 2011-07-27 | 厦门市美亚柏科信息股份有限公司 | 数据的可靠传输方法和装置 |
CN102970277A (zh) * | 2012-09-29 | 2013-03-13 | 国家计算机网络与信息安全管理中心 | 一种多源安全关联建立方法及系统 |
-
2015
- 2015-01-14 CN CN201510018566.1A patent/CN105846968A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047484A (zh) * | 2006-06-21 | 2007-10-03 | 华为技术有限公司 | 一种传输层重传方法和系统 |
CN101212283A (zh) * | 2006-12-25 | 2008-07-02 | 华为技术有限公司 | 通信系统中传输确认/非确认信息的方法 |
CN101159711A (zh) * | 2007-11-27 | 2008-04-09 | 航天东方红卫星有限公司 | 自适应的实时消息订阅与发布系统及方法 |
CN101217351A (zh) * | 2007-12-28 | 2008-07-09 | 中国科学院计算技术研究所 | 一种通信网络及其自动重传机制实现方法 |
US20090328191A1 (en) * | 2008-06-26 | 2009-12-31 | Samsung Electronics Co. Ltd. | Apparatus and method for synchronizing security association state in mobile communication terminal |
CN101521635A (zh) * | 2009-04-10 | 2009-09-02 | 杭州华三通信技术有限公司 | 一种报文传输方法及装置 |
CN101924620A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 报文重传方法和装置 |
CN101714915A (zh) * | 2009-11-02 | 2010-05-26 | 清华大学 | 一种数据重传方法及系统 |
CN102075427A (zh) * | 2011-01-18 | 2011-05-25 | 中兴通讯股份有限公司 | 基于安全联盟的IPSec报文处理方法及装置 |
CN102137027A (zh) * | 2011-05-03 | 2011-07-27 | 厦门市美亚柏科信息股份有限公司 | 数据的可靠传输方法和装置 |
CN102970277A (zh) * | 2012-09-29 | 2013-03-13 | 国家计算机网络与信息安全管理中心 | 一种多源安全关联建立方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311725A (zh) * | 2019-07-26 | 2021-02-02 | 华为技术有限公司 | 一种数据处理方法、装置及终端 |
CN112311725B (zh) * | 2019-07-26 | 2022-01-11 | 华为技术有限公司 | 一种数据处理方法、装置及终端 |
US12126702B2 (en) | 2019-07-26 | 2024-10-22 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and terminal |
WO2022056791A1 (zh) * | 2020-09-17 | 2022-03-24 | 华为技术有限公司 | 一种报文重传方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180098241A1 (en) | Method and apparatus for ordering of protocol data unit delivery | |
US9559930B2 (en) | Method and apparatus for measuring a packet throughput in wireless communication system | |
KR101577451B1 (ko) | Rlc 무한 재전송 오류를 검출하고 처리하는 방법 | |
JP4625044B2 (ja) | ウィンドウ制御及び再送制御方法、及び、送信側装置 | |
JP6262991B2 (ja) | ユーザ装置及び方法 | |
US20110019756A1 (en) | Method of transmitting rlc data | |
US10979934B2 (en) | System and method for maintaining synchronization in connectionless transmissions | |
US20200045766A1 (en) | Wireless node communication method and apparatus in wireless communication system | |
CN101652949A (zh) | 分组通信方法以及接收端装置 | |
CN104486051A (zh) | 一种数据重传方法及装置 | |
KR102654118B1 (ko) | 무선 통신 시스템에서 데이터를 송수신하는 방법 및 장치 | |
CN101621832B (zh) | 向上层传送pdcp数据单元的方法 | |
JP5147983B1 (ja) | 基地局及び通信制御方法 | |
CN107005341A (zh) | 无线电设备中的sdu的失序递送 | |
CN102739349A (zh) | 一种用于帧确认的方法和装置 | |
KR101532222B1 (ko) | 통신 시스템 및 그의 rrc 접속 방법 | |
CN105846968A (zh) | 一种实现重传的方法和装置、发送设备和接收设备 | |
TW201019645A (en) | System and method for data transmission | |
KR102656608B1 (ko) | 무선 통신 시스템에서 무선 노드 통신 방법 및 장치 | |
CN107959554B (zh) | 一种数据的重传方法及装置 | |
CN116963175A (zh) | 数据传输方法、装置及系统 | |
CN103312449A (zh) | Ap组网场景下的下行数据包传输方法及rnc | |
JP2017143396A (ja) | ユーザ装置及び無線通信方法 | |
KR100856244B1 (ko) | 이동통신 시스템에서 자동 재전송 요구 패킷 송수신 장치및 방법 | |
Sayenko et al. | Performance comparison of retransmission mechanisms for multi-hop relay networks |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160810 |