一种实现重传的方法和装置、发送设备和接收设备的制造方法

文档序号:10491914阅读:343来源:国知局
一种实现重传的方法和装置、发送设备和接收设备的制造方法
【专利摘要】本发明公开了一种实现重传的方法和装置、发送设备和接收设备,包括:发送端将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联SA对应的发送队列;发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP数据报文。本发明提高了丢包反馈的速度。
【专利说明】
-种实现重传的方法和装置、发送设备和接收设备
技术领域
[0001] 本发明设及家庭基站化eNB,化me Evolution Node B)通信网络技术,尤指一种实 现重传的方法和装置、发送设备和接收设备。
【背景技术】
[0002] 目前,HeNB已经逐步应用到第S代移动通信(3G,化d-Generation)网络和长期演 进(XTE,Long Term Evolution)网络中,HeNB -般位于因特网(Internet)中,而 HeNB 的 网关和核屯、网设备位于运营商的专网中。为了保证通信的安全,需要在Internet和运营商 的专网之间加入安全网关(SeGW,Security Gateway),在化NB和SeGW之间的数据包采用 因特网安全协议(IPSec,Internet Protocol Security)进行保护。
[0003] IPSec 是互联网工程任务组(IETF, Internet !Engineering Task !^rce)指定的 =层隧道加密协议,该协议给出了应用于IP层上网络数据安全的一整套提醒结构。它为 Internet上传播的数据提供安全服务数据机密性、数据完整性、数据源认证、防重放等功 能。
[0004] 图1为LTE的家庭基站网络的结构组成示意图。如图1所示,目前用户设备0JE, User Equipment)和化NB之间的空口无线的速率已经大大提高,最大上行速率可W达到50 兆(M),最大下行速率可W达到100M。但是对于回传网络(即化NB和SeGW之间的网络), 由于走的是Internet,而Internet是个复杂多变的环境,导致延迟大、丢包率高,极大地影 响了数据的传输。进行网络测试时,最大下行速率可W达到80M。而当回传网络的丢包率 在0.0 l %时,最大下行速率下降到60M ;当回传网络的丢包率达到0. 1 %时,最大下行速率 下降到30M。由此可见,在化NB和SeGW之间的网络的丢包严重影响了肥的速率。 阳0化]针对家庭基站网络的丢包现象,现有的重传机制大致包括:
[0006] 在肥和化NB之间的空口传输采用无线链路控制巧LC,Radio Link Control)协 议进行快速反馈和重传;而在化NB和SeGW之间的数据包发生丢包时,需要依靠肥和应用 服务器之间的上层的传输控制协议(TCP,Transmission Control Protocol)层进行检测并 重传。 阳007] 现有的重传机制中,由于肥和应用服务器之间的网元和网络不具备TCP层,而 SeGW和应用服务器之间跨越了多个网元和网络,因此,进行丢包反馈的速度非常慢,从而导 致肥速率急剧下降。

【发明内容】

[0008] 为了解决上述问题,本发明提出了一种实现重传的方法和装置、发送设备和接收 设备,能够提高丢包反馈的速度。
[0009] 为了达到上述目的,本发明提出了一种实现重传的方法,包括:
[0010] 发送端将认证头AH/封装安全有效载荷ESP数据报文保存到对应的一对安全关联 SA对应的发送队列;
[0011] 发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接收端,并 在SA对应的发送队列中标记已发送的AH/ESP数据报文;
[0012] 发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应 的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP 数据报文。
[0013] 优选地,该方法还包括:
[0014] 所述发送端根据所述接收到的状态报告报文删除SA对应的发送队列中被标记为 已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
[0015] 优选地,该方法还包括:
[0016] 所述发送端周期性和/或在判断出所述SA对应的发送队列中AH/ESP数据报文的 数量大于或等于预设阔值时向所述接收端发送轮询报文。
[0017] 优选地,所述轮询报文至少包括报文类型。
[0018] 优选地,所述轮询报文还包括W下的一个或多个:
[0019] 安全参数索引SPI、所述SA的对数、预先设置的序列号。
[0020] 优选地,所述发送端为家庭基站或安全网关。
[0021] 本发明还提出了一种实现重传的方法,包括:
[0022] 接收端接收来自发送端的AH/ESP数据报文,当判断出接收到的AH/ESP数据报文 的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接 收窗口之间的差值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
[0023] 接收端根据接收窗口向发送端发送状态报告报文。
[0024] 优选地,当所述接收端判断出所述接收到的AH/ESP数据报文的序列号小于或等 于所述SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值 时,该方法还包括:
[00巧]所述接收端丢弃所述接收到的AH/ESP数据报文。
[0026] 优选地,所述将接收到的AH/ESP数据报文保存到SA对应的接收窗口包括:
[0027] 所述接收端在判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口 中的AH/ESP数据报文的序列号的最大值时,将所述接收窗口中的所有AH/ESP数据报文向 左移动Ml位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将所述 接收窗口中的所有AH/ESP数据报文向右移动Ml位,并将所述接收到的AH/ESP数据保存保 存到接收窗口的最左端;
[002引其中,Ml为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文 的序列号的最大值之间的差值。
[0029] 优选地,当所述接收端判断出所述接收到的AH/ESP数据报文的序列号大于所述 接收窗口中的AH/ESP数据报文的序列号的最大值和所述接收窗口的长度之间的差值,且 小于所述接收窗口中的AH/ESP数据报文的序列号的最大值时,所述将接收到的AH/ESP数 据报文保存到SA对应的接收窗口还包括:
[0030] 将所述接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报 文之前或之后的第M2位;其中,M2为所述接收窗口中AH/ESP数据报文的序列号的最大值 和所述接收到的AH/ESP数据报文的序列号之间的差值。
[0031] 优选地,所述状态报告报文包括报文类型、一对或一对W上SA对应的状态报告参 数;其中,所述状态报告参数至少包括接收窗口长度、接收窗口中的AH/ESP数据报文的序 列号的最大值、接收窗口的比特位图。
[0032] 优选地,所述状态报告参数还包括W下的一个或多个:
[0033] 所述接收窗口中AH/ESP数据报文的个数、SPI、SA的对数。
[0034] 优选地,所述接收端在接收到来自所述发送端的轮询报文时,和/或判断出有丢 包时,和/或周期性根据所述接收窗口向所述发送端发送所述状态报告报文。
[0035] 优选地,所述接收端为家庭基站化NB或安全网关SeQV。
[0036] 本发明还提出了一种发送设备,至少包括:
[0037] 第一存储模块,用于将认证头AH/封装安全有效载荷ESP数据报文保存到对应的 一对安全关联SA对应的发送队列;
[0038] 第一发送模块,用于将每一对SA对应的发送队列中的AH/ESP数据报文依次发送 给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;根据接收到的状态报 告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未 接收到的AH/ESP数据报文;
[0039] 第一接收模块,用于接收来自接收端的状态报告报文。 W40] 优选地,还包括:
[0041] 删除模块,用于根据所述接收到的状态报告报文删除SA对应的发送队列中被标 记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
[0042] 优选地,所述第一发送模块还用于:
[0043] 周期性或判断出所述SA对应的发送队列中AH/ESP数据报文的数量大于或等于预 设阔值时向所述接收端发送所述轮询报文。
[0044] 本发明还提出了一种接收设备,至少包括:
[0045] 第二接收模块,用于接收来自发送端的AH/ESP数据报文;
[0046] 判断模块,用于判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对 应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
[0047] 第二存储模块,用于将接收到的AH/ESP数据报文保存到SA对应的接收窗口;
[0048] 第二发送模块,用于根据接收窗口向发送端发送状态报告报文。
[0049] 优选地,所述判断模块还用于:
[0050] 判断出所述接收到的AH/ESP数据报文的序列号小于或等于所述SA对应的接收窗 口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值;
[00川 还包括:
[0052] 丢弃模块,用于丢弃所述接收到的AH/ESP数据报文。
[0053] 优选地,所述判断模块还用于:
[0054] 判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP数 据报文的序列号的最大值; 阳化5] 所述第二存储模块具体用于:
[0056] 将所述接收窗口中的所有AH/ESP数据报文向左移动Ml位,并将所述接收到的AH/ ESP数据保存保存到接收窗口的最右端;或者,将所述接收窗口中的所有AH/ESP数据报文 向右移动Ml位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最左端; 阳057] 其中,Ml为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文 的序列号的最大值之间的差值。
[0058] 优选地,所述判断模块还用于:
[0059] 判断出所述接收到的AH/ESP数据报文的序列号大于所述接收窗口中的AH/ESP 数据报文的序列号的最大值和所述接收窗口的长度之间的差值,且小于所述接收窗口中的 AH/ESP数据报文的序列号的最大值;
[0060] 所述第二存储模块具体用于:
[0061] 将所述接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报 文之前或之后的第M2位;其中,M2为所述接收窗口中AH/ESP数据报文的序列号的最大值 和所述接收到的AH/ESP数据报文的序列号之间的差值。
[0062] 优选地,所述第二发送模块具体用于:
[0063] 在接收到来自所述发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根 据接收窗口向发送端发送SA对应的状态报告报文。 W64] 本发明还提出了一种实现重传的装置,至少包括: 阳〇化]本发明任意一个发送设备中的所有模块和本发明任意一个接收设备中的所有模 块。
[0066] 与现有技术相比,本发明包括:发送端将认证头AH/封装安全有效载荷ESP数据报 文保存到对应的一对安全关联SA对应的发送队列;发送端将每一对SA对应的发送队列中 的AH/ESP数据报文依次发送给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数 据报文;发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文,从SA对应 的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到的AH/ESP 数据报文。通过本发明的方案,发送端将SA的发送队列中被标记为已发送的AH/ESP数据 报文中,接收端未接收到的AH/ESP数据报文进行重新发送,提高了丢包反馈的速度。
【附图说明】
[0067] 下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一 步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
[0068] 图1为现有的LTE的家庭基站网络的结构组成示意图
[0069] 图2为本发明实现重传的方法的流程图;
[0070] 图3为本发明另一种实现重传的方法的流程图;
[0071] 图4为本发明第一实施例实现重传的方法的流程图;
[0072] 图5为本发明第一实施例中化NB和SeNB之间的SA的示意图; 阳073] 图6为本发明第二实施例实现重传的方法的流程图;
[0074] 图7为本发明第二实施例中化NB和SeNB之间的SA的示意图;
[00巧]图8为本发明发送设备的组成示意图; 阳076] 图9为本发明接收设备的组成示意图。
【具体实施方式】
[0077] 为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不 能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实 施例中的各种方式可W相互组合。 阳07引参见图2,本发明提出了一种实现重传的方法,包括:
[00巧]步骤200、发送端将认证头(AH,Authentication化ad) /封装安全有效载荷巧SP, Encapsulating Security F*a}doad)数据报文保存到对应的一对安全关联(SA,Security Association)对应的发送队列。
[0080] 本步骤中,发送端可W是化NB或SeGW。如果发送端为化NB,则接收端为SeGW ;如 果发送端为SeGW,则接收端为化NB。
[0081] 步骤201、发送端将每一对SA对应的发送队列中的AH/ESP数据报文依次发送给接 收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文。
[0082] 本步骤中,发送端依次将SA对应的发送队列中的AH/ESP报文发送给接收端后,将 AH/ESP数据报文保留在SA对应的发送队列中。
[0083] 步骤202、发送端接收来自接收端的状态报告报文,根据接收到的状态报告报文, 从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未接收到 的AH/ESP数据报文。
[0084] 本步骤中,还可W包括:发送端根据接收到的状态报告报文删除SA对应的发送队 列中被标记为已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
[00化]本步骤中,已被接收端成功接收的AH/ESP数据报文包括序列号小于状态报告报 文中的序列号的AH/ESP数据报文,和状态报告报文的位图中指示的已被接收端成功接收 的AH/ESP数据报文,接收端未接收到的AH/ESP数据报文包括状态报告报文的位图中指示 的未被接收端成功接收的AH/ESP数据报文。
[0086] 该方法还包括:发送端可W周期性,和/或判断出SA对应的发送队列中AH/ESP数 据报文的数量大于或等于预设阔值时向接收端发送轮询报文。
[0087] 其中,发送端可W在其中一对SA中发送各SA对应的轮询报文,也可W在每一对SA 中发送对应的轮询报文。
[0088] 当发送端在其中一对SA中发送各SA对应的轮询报文时,该对SA不传输AH/ESP 数据报文;当发送端在每一对SA中发送对应的轮询报文时,各SA还用于传输AH/ESP数据 报文。
[0089] 其中,轮询报文至少包括报文类型。
[0090] 其中,轮询报文还可W包括W下中的一个或多个: 阳0川 SA对应的SPI、SA的对数、预先设置的序列号。 阳OW] 表1为轮询报文的示意表。如表1所示,轮询报文包括:SA对应的SPI,序列号(可 W W 0表示),报文类型(可W自由定义,例如,可W定义报文类型为1时,表示轮询报文), 填充字段和填充长度字段根据安全算法字段填充(安全算法为现有技术),下一个头可W 不关注,可W取值为255,验证数据。
[0093]
[0094] 表1
[0095] 表2为另一种轮询报文的示意表。如表2所示,轮询报文包括:序列号、报文类型、 SA的对数、各SA对应的SPI、填充字段、填充长度字段、下一个头、验证数据。
[0096]
[0097] 表 2
[0098] 参见图3,本发明还提出了一种实现重传的方法,包括:
[0099] 步骤300、接收端接收来自SA的AH/ESP数据报文,当判断出接收到的AH/ESP数据 报文的序列号大于预先设置的SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值 和接收窗口之间的差值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口。
[0100] 本步骤中,接收窗口为预先定义,接收窗口的长度小于抗重播窗口的长度。 阳101] 本步骤中,将接收到的AH/ESP数据报文保存到SA对应的接收窗口包括: 阳102] 接收端在判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数 据报文的序列号的最大值时,将接收窗口中的所有AH/ESP数据报文向左移动Ml位,并将接 收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将接收窗口中的所有AH/ESP数据 报文向右移动Ml位,并将接收到的AH/ESP数据保存保存到接收窗口的最左端。 阳103] 其中,Ml为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文 的序列号的最大值之间的差值。
[0104] 其中,当接收端判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ ESP数据报文的序列号的最大值和接收窗口的长度之间的差值,且小于接收窗口中的AH/ ESP数据报文的序列号的最大值时,将接收到的AH/ESP数据报文保存到SA对应的接收窗口 还包括:
[01化]将接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之 前或之后的第M2位。其中,M2为接收窗口中AH/ESP数据报文的序列号的最大值和接收到 的AH/ESP数据报文的序列号之间的差值。
[0106] 本步骤中,当接收端判断出接收到的AH/ESP数据报文的序列号小于或等于接收 窗口中的AH/ESP数据报文的序列号的最大值和接收窗口的长度之间的差值时,接收端丢 弃接收到的AH/ESP数据报文。 阳107] 步骤301、接收端根据接收窗口向发送端发送的状态报告报文。
[0108] 本步骤中,接收端可W在其中一对SA中发送各SA对应的状态报告报文,也可W在 每一对SA中发送对应的状态报告报文。 阳109] 当接收端在其中一对SA中发送各SA对应的状态报告报文时,该对SA不传输AH/ ESP数据报文;当接收端在每一对SA中发送对应的状态报告报文时,各SA还用于传输AH/ ESP数据报文。
[0110] 本步骤中,状态报告报文可W包括报文类型、一对或一对W上SA对应的状态报告 参数。其中,状态报告参数至少包括接收窗口长度、接收窗口中的AH/ESP数据报文的序列 号的最大值、接收窗口的比特位图。其中,接收窗口的比特位图的第N位表示序列号为接收 窗口中AH/ESP数据报文的序列号的最大值和接收窗口长度之间的差值和N之间的和的AH/ ESP数据报文是否已被成功接收,其中,N为大于或等于1的整数。 阳111] 其中,状态报告参数还可W包括W下的一个或多个:
[0112] 接收窗口中AH/ESP数据报文的个数、安全参数索引(SPI,Security Parameters Index)、SA 的对数。 阳113] 例如,SPI为0x00000001,接收窗口长度为8,接收窗口最左侧位置的AH/ESP数 据报文的序列号为1,接收窗口中的AH/ESP数据报文个数为2,接收窗口的比特位图为 11000001 (表示序列号为1、2和8的AH/ESP数据报文已被成功接收,二序列号为3到7的 AH/ESP数据报文未被成功接收)。
[0114] 表3为状态报告报文的示意表。如表3所示,状态报告报文包括:报文类型、一对 SA对应的状态报告参数、填充、填充长度、下一个头(可W不关注,可W取值为255)、验证数 据,状态报告参数包括SA的SPI、接收窗口中的AH/ESP数据报文的序列号的最大值、接收包 数(即接收窗口中AH/ESP报文的个数)、比特位图。
[0115] 其中,填充字段和填充长度字段根据安全算法填充(安全算法为现有技术)。 阳116] 阳117] 阳1化]表3
[0119] 表4为另一种状态报告报文的示意表。如表4所示,状态报告报文包括:报文类型、 n对SA对应的状态报告参数、填充、填充长度、下一个头(可W不关注,可W取值为255)、验 证数据,每一对SA对应的状态报告参数包括SA的SPI、接收窗口中的AH/ESP数据报文的序 列号的最大值、接收包数(即接收窗口中AH/ESP报文的个数)、比特位图和保留字段。 阳 120] 阳12U 表4
[0122] 本步骤中,接收端在接收到来自发送端的轮询报文时,和/或判断出有丢包时,和 /或周期性根据接收窗口向发送端发送状态报告报文。 阳123] 其中,接收端可W根据接收窗口中的AH/ESP数据报文的序列号判断是否有丢包。 如果接收窗口中的AH/ESP数据报文的序列号是连续的,则判断出没有丢包;如果接收窗口 中的AH/ESP数据报文的序列号是不连续的,则判断出有丢包。
[0124] 下面通过具体实施例详细说明本发明的方法。
[0125] W下各实施例中,预先为发送端的每一对SA设置对应的发送队列,为接收端的每 一对SA设置对应的接收窗口。
[01%] 第一实施例,该实施例中W发送端的其中一对SA进行说明,其他对SA方法类似。 参见图4,该方法包括:
[0127] 步骤400、发送端接收到来自应用层的数据包,确定数据包是否应用安全策略,如 果不是,则执行步骤401,如果是,则执行步骤402。 阳128] 本步骤中,可W通过查询安全策略数据(SPD,Se州rity policy Data)库的方式确 定数据包是否应用安全策略,具体实现属于本领域技术人员的公知常识,并不用于限定本 发明的保护范围,运里不再寶述。
[0129] 步骤401、发送端直接转发数据包并结束本流程。
[0130] 步骤402、发送端查询安全联盟数据(SAD,Se州rity Association Data)库,查找 数据包对应的SA,根据SA的参数将数据包封装成AH/ESP数据报文。 阳131] 本步骤中,AH/ESP数据报文的序列号从1开始递增。
[0132] 步骤403、发送端将AH/ESP数据报文保存到SA对应的发送队列,启动SA对应的周 期性定时器。 阳133] 本步骤中,每一对SA对应的周期性定时器的周期可W相同,也可W不同。
[0134] 步骤404、发送端将发送队列中的AH/ESP数据报文逐个取出发送给接收端,同时 将AH/ESP数据报文打上已发送的标记。
[0135] 步骤405、接收端判断接收到AH/ESP数据报文,判断接收到的AH/ESP数据报文的 序列号是否大于SA对应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之 间的差值,如果不是,则执行步骤406 ;如果是,则执行步骤407。
[0136] 步骤406、接收端丢弃接收到的AH/ESP数据报文,并执行步骤410。
[0137] 步骤407、接收端判断接收到的AH/ESP数据报文的序列号是否大于接收窗口中的 AH/ESP数据报文的序列号的最大值,如果是,则执行步骤408,如果不是,则执行步骤409。
[0138] 步骤408、接收端将接收窗口中的所有AH/ESP数据报文向左移动Ml位,并将接收 到的AH/ESP数据保存保存到接收窗口的最右端,并执行步骤410。 阳139] 步骤409、接收端将接收到的AH/ESP数据报文保存到接收窗口中序列号最大的 AH/ESP数据报文之前的第M2位,并执行步骤410。
[0140] 步骤410、发送端在周期性定时器超时或判断出发送队列中AH/ESP数据报文是数 量大于或等于发送队列的80%时向接收端发送轮询报文。 阳141] 步骤411、接收端根据接收窗口通过SA向发送端发送该SA对应的状态报告报文。 [0142] 步骤412、发送端根据状态报告报文,从发送队列中被标记为已发送的AH/ESP数 据报文中,删除已被接收端成功接收的AH/ESP数据报文,重新发送未被接收端接收的AH/ ESP数据报文后删除。 阳143] 第二实施例,该实施例中轮询报文和状态报告报文固定在一对SA中进行传输。图 5为化NB和SeNB之间的SA的示意图。如图5所示,假设化NB和SeNB之间配置一对单独 的SA,分别为SA1,SA2,专口用于传输轮询报文或状态报告报文,假设SAl的方向为化NB到 SeNB, SA2的方向为SeNB到HeNBo另外,实际传输AH/ESP数据报文的一对SA,分别为SA3, SA4,假设SA3的方向为HeNB到SeNB, SA4的方向为SeNB到HeNB。
[0144] 参见图6,该方法包括:
[0145] 步骤600、发送端接收到来自应用层的数据包,确定数据包是否应用安全策略,如 果不是,则执行步骤601,如果是,则执行步骤602。 阳146] 步骤601、发送端直接转发数据包并结束本流程。
[0147] 步骤602、发送端查询SAD库,查找数据包对应的SA (为SA3),根据SA3的参数将 数据包封装成AH/ESP数据报文。
[0148] 本步骤中,AH/ESP数据报文的序列号从1开始递增。
[0149] 步骤603、发送端将AH/ESP数据报文保存到SA3对应的发送队列,启动SA3对应的 周期性定时器。
[0150] 步骤604、发送端将SA3对应的发送队列中的AH/ESP数据报文逐个取出发送给接 收端,同时将AH/ESP数据报文打上已发送的标记。 阳151] 步骤605、接收端判断接收到AH/ESP数据报文,判断接收到的AH/ESP数据报文的 序列号是否大于SA3对应的接收窗口中的AH/ESP数据报文的序列号的最大值和SA3对应 的接收窗口之间的差值,如果不是,则执行步骤606 ;如果是,则执行步骤607。 阳152] 步骤606、接收端丢弃接收到的AH/ESP数据报文,并执行步骤610。 阳153] 步骤607、接收端判断接收到的AH/ESP数据报文的序列号是否大于SA3对应的接 收窗口中的AH/ESP数据报文的序列号的最大值,如果是,则执行步骤608,如果不是,则执 行步骤609。 阳154] 步骤608、接收端将SA3对应的接收窗口中的所有AH/ESP数据报文向左移动Ml 位,并将接收到的AH/ESP数据保存保存到SA3对应的接收窗口的最右端,并执行步骤610。 阳155] 步骤609、接收端将接收到的AH/ESP数据报文保存到SA3对应的接收窗口中序列 号最大的AH/ESP数据报文之前的第M2位,并执行步骤610。 阳156] 步骤610、发送端在周期性定时器超时或判断出发送队列中AH/ESP数据报文是数 量大于或等于发送队列的80%时通过SAl向接收端发送轮询报文。
[0157] 步骤611、接收端根据接收窗口通过SA2向发送端发送该SA3对应的状态报告报 文。
[0158] 步骤612、发送端根据状态报告报文,从SA3对应的发送队列中被标记为已发送的 AH/ESP数据报文中,删除已被接收端成功接收的AH/ESP数据报文,重新发送未被接收端接 收的AH/ESP数据报文后删除。
[0159] 第S实施例,该实施例与第二实施例相同,唯一的差别在于,首先,如图7所示,该 实施例中包括一对用于传输轮询报文和状态报告报文的SA,即SAl和SA2,还包括两对用于 传输AH/ESP数据报文的SA,即S3、S4和S5、S6。其次,发送端在发送轮询报文时,采用表4 所示的格式,接收端在发送状态报告报文时,采用表2的格式。
[0160] 参见图8,本发明还提出了一种发送设备,至少包括: 阳161] 第一存储模块,用于将认证头AH/封装安全有效载荷ESP数据报文保存到对应的 一对安全关联SA对应的发送队列;
[0162] 第一发送模块,用于将每一对SA对应的发送队列中的AH/ESP数据报文依次发送 给接收端,并在SA对应的发送队列中标记已发送的AH/ESP数据报文;根据接收到的状态报 告报文,从SA对应的发送队列中被标记为已发送的AH/ESP数据报文中,重新发送接收端未 接收到的AH/ESP数据报文;
[0163] 第一接收模块,用于接收来自接收端的状态报告报文。
[0164] 本发明的发送设备中,还包括: 阳1化]删除模块,用于根据接收到的状态报告报文删除SA对应的发送队列中被标记为 已发送的AH/ESP数据报文中,已被接收端成功接收的AH/ESP数据报文。
[0166] 本发明的发送设备中,第一发送模块还用于:
[0167] 周期性或判断出SA对应的发送队列中AH/ESP数据报文的数量大于或等于预设阔 值时向接收端发送轮询报文。
[0168] 参见图9,本发明还提出了一种接收设备,至少包括:
[0169] 第二接收模块,用于接收来自SA的AH/ESP数据报文;
[0170] 判断模块,用于判断出接收到的AH/ESP数据报文的序列号大于预先设置的SA对 应的接收窗口中的AH/ESP数据报文的序列号的最大值和接收窗口之间的差值; 阳171 ] 第二存储模块,用于将接收到的AH/ESP数据报文保存到SA对应的接收窗口; 阳172] 第二发送模块,用于根据接收窗口向发送端发送状态报告报文。 阳173] 本发明的接收设备中,判断模块还用于:
[0174] 判断出接收到的AH/ESP数据报文的序列号小于或等于SA对应的接收窗口中的 AH/ESP数据报文的序列号的最大值和接收窗口之间的差值; 阳175] 还包括:
[0176] 丢弃模块,用于丢弃接收到的AH/ESP数据报文。 阳177] 本发明的接收设备中,判断模块还用于:
[0178] 判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数据报文的 序列号的最大值;
[01巧]第二存储模块具体用于:
[0180] 将接收窗口中的所有AH/ESP数据报文向左移动Ml位,并将接收到的AH/ESP数 据保存保存到接收窗口的最右端;或者,将接收窗口中的所有AH/ESP数据报文向右移动Ml 位,并将接收到的AH/ESP数据保存保存到接收窗口的最左端; 阳181] 其中,Ml为接收到的AH/ESP数据报文的序列号和接收窗口中的AH/ESP数据报文 的序列号的最大值之间的差值。
[0182] 本发明的接收设备中,判断模块还用于: 阳183] 判断出接收到的AH/ESP数据报文的序列号大于接收窗口中的AH/ESP数据报文的 序列号的最大值和接收窗口的长度之间的差值,且小于接收窗口中的AH/ESP数据报文的 序列号的最大值;
[0184] 第二存储模块具体用于:
[01化]将接收到的AH/ESP数据报文保存到接收窗口中序列号最大的AH/ESP数据报文之 前或之后的第M2位;其中,M2为接收窗口中AH/ESP数据报文的序列号的最大值和接收到 的AH/ESP数据报文的序列号之间的差值。 阳186] 本发明的接收设备中,第二发送模块具体用于: 阳187] 在接收到来自发送端的轮询报文时,和/或判断出有丢包时,和/或周期性根据接 收窗口向发送端发送SA对应的状态报告报文。 阳18引本发明的发送设备和接收设备可W设置在同一实体中。
[0189] 需要说明的是,W上所述的实施例仅是为了便于本领域的技术人员理解而已,并 不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对 本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
【主权项】
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数据报文向左移 动Ml位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最右端;或者,将所述接收 窗口中的所有AH/ESP数据报文向右移动Ml位,并将所述接收到的AH/ESP数据保存保存到 接收窗口的最左端; 其中,Ml为接收到的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数据报文向左移动Ml位,并将所述接收到的AH/ESP 数据保存保存到接收窗口的最右端;或者,将所述接收窗口中的所有AH/ESP数据报文向右 移动Ml位,并将所述接收到的AH/ESP数据保存保存到接收窗口的最左端; 其中,Ml为接收到的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任意一 项所述的接收设备中的所有模块。
【文档编号】H04L1/18GK105846968SQ201510018566
【公开日】2016年8月10日
【申请日】2015年1月14日
【发明人】李姣, 赵明鹤
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1