应用于智能电网的多通道TCP/IP头压缩的同步方法转让专利

申请号 : CN201510416506.5

文献号 : CN106714294B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝宇博王颖

申请人 : 普天信息技术有限公司

摘要 :

本发明提供了一种应用于智能电网的多通道TCP/IP头压缩的同步方法,包括:发送syn报文时,根据UE侧上下文信息查看是否有可用的第一链路;将查找到的第一链路的标识添加到syn报文中,根据所述syn报文的端口信息确定第一链路的端口信息,并将该端口信息保存到UE侧上下文信息;将UE侧上下文信息中第一链路的状态更新为已使用状态;将syn报文发送到eNB,以使eNB根据该syn报文中携带的链路标识更新eNB侧的上下文信息;接收eNB返回的syn ack报文,将所述第一链路的状态更新为有效状态,实现UE和eNB两个网元的链路信息对应关系一致,保证在无线链路上传输的处于活跃状态的链路上的头压缩的同步,从而提高无线链路的使用效率。

权利要求 :

1.一种应用于智能电网的多通道TCP/IP头压缩的同步方法,其特征在于,所述方法包括:发送用于建立TCP连接的syn报文时,根据UE侧上下文信息查看当前是否有可用的第一链路;

若查找到可用的第一链路,将第一链路的链路标识添加到syn报文中,得到第一syn报文;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述UE侧上下文信息;

以及将UE侧上下文信息中第一链路的状态更新为已使用状态;

将所述第一syn报文发送到基站eNB;

接收eNB返回的syn ack报文,查看所述syn ack报文是否携带第一链路的链路标识;

若没有携带第一链路的链路标识,则当发送用于建立TCP连接的ack报文时,将所述第一链路的状态更新为有效状态,并对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;

采用有效状态的第一链路进行TCP/IP头压缩报文的交互;

若所述syn ack报文携带有第一链路的链路标识时,所述方法还包括:根据UE侧上下文信息查找第二链路;以及根据所述syn ack报文的端口信息确定所述第二链路的端口信息,并将确定的第二链路的端口信息保存到所述UE侧上下文信息;

以及将UE侧上下文信息中第二链路的状态更新为已使用状态;

删除所述syn ack报文中携带的第一链路的链路标识;

当发送用于建立TCP连接的ack报文时,将所述第二链路的状态更新为有效状态,并对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;

采用有效状态的第二链路进行TCP/IP头压缩报文的交互。

2.根据权利要求1所述的方法,其特征在于,在根据UE侧上下文信息查看当前是否有可用的第一链路之前,所述方法还包括:接收智能电网设备发送的用于建立TCP连接的syn报文;

将接收到的syn报文向eNB发送。

3.根据权利要求1所述的方法,其特征在于,若没有查找到可用的第一链路,所述方法还包括:直接将所述syn报文发送到eNB。

4.根据权利要求1或3所述的方法,其特征在于,当收到TCP连接的断开报文,或,发送TCP连接的断开报文时,所述方法还包括:将UE侧上下文信息中当前TCP连接的链路的状态更新为无效状态。

5.根据权利要求1所述的方法,其特征在于,所述将第一链路的链路标识添加到syn报文中,具体为将所述第一链路的链路标识添加到syn报文的TCP头中的16位紧急指针的低4位。

6.一种应用于智能电网的多通道TCP/IP头压缩的同步方法,其特征在于,所述方法包括:接收UE发送的用于建立TCP连接的第一syn报文,判断所述syn报文中是否携带第一链路的链路标识;所述第一syn报文为添加有第一链路的链路标识的syn报文;

若携带第一链路的链路标识,则根据eNB侧上下文信息查找所述链路标识对应的第一链路;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述eNB侧上下文信息;

以及将eNB侧上下文信息中第一链路的状态更新为已使用状态;

删除所述syn报文中携带的第一链路的链路标识,得到第二syn报文,并将所述第二syn报文发送到核心网网元;

接收核心网网元返回的syn ack报文,根据eNB上下文信息查找当前处于已使用状态的链路中是否有与所述syn ack报文具有相同端口信息的第一链路;

当查找到与所述syn ack报文具有相同端口信息的所述第一链路时,直接将所述syn ack报文发送到UE;

接收UE发送的压缩后的用于建立TCP连接的ack报文,并将解压后的ack报文发送到核心网网元;以及将所述第一链路的状态更新为有效状态,完成TCP连接的建立;

当没有查找到与所述syn ack报文具有相同端口信息的所述第一链路时,所述方法还包括:根据eNB侧上下文信息查看当前是否有可用的第二链路;

若查找到可用的第二链路,将第二链路的链路标识添加到syn ack报文中,得到第一syn ack报文;以及根据所述syn ack报文的端口信息确定所述第二链路的端口信息,并将确定的第二链路的端口信息保存到所述eNB侧上下文信息;

以及将eNB侧上下文信息中第二链路的状态更新为已使用状态;

将所述第一syn ack报文发送到UE。

7.根据权利要求6所述的方法,其特征在于,当所述syn报文中没有携带链路标识时,所述方法还包括:直接将所述syn报文发送到核心网网元。

8.根据权利要求6所述的方法,其特征在于,

当收到TCP连接的断开报文时,所述方法还包括:

将eNB侧上下文信息中当前TCP连接的链路的状态更新为无效状态;

当没有查找到可用的第二链路时,所述方法还包括:

根据eNB侧上下文信息查找各个链路的末次数据传输时间,选择将距当前时间的间隔的空闲时间最长的链路作为可用的第二链路。

说明书 :

应用于智能电网的多通道TCP/IP头压缩的同步方法

技术领域

[0001] 本发明涉及网络通信技术领域,尤其涉及一种应用于智能电网的多通道TCP/IP头压缩的同步方法。

背景技术

[0002] 无线宽带通信系统网络架构主要包括用户设备UE(User Equipment)、演进基站eNB(Evolved NodeB)、核心网EPC(Evolved Packet Core)。eNB通过空中接口和UE进行信令和用户面数据的交互,功能包括接收来自UE的信令和上行数据,以及发送信令响应和下行数据到UE。EPC对外呈现为三个接口,S1-MME接口是EPC与eNB之间的信令接口,S1-U接口是EPC与eNB之间的用户面接口,SGI接口是EPC与分组数据网PDN(Packet Data Network)之间的接口。
[0003] 部分智能电网的应用需要为每一种业务建立一条终端到主站或主站到终端的TCP连接,存在同时维护多条TCP连接的可能。目前宽带无线系统使用的头压缩方式只支持单链路,在某些需要多链路的网络中只能压缩一条链路上的数据,无法根本上解决空口资源紧张的问题。只有对每条链路上的数据都进行压缩,或者保证活跃的链路上的数据得到压缩才能最大限度的节约空口资源,减少传输的数据量。
[0004] TCP协议是计算机通信中最常见的传输控制协议,它可以为用户提供可靠的通信连接,并且适用于传输大批数据。在智能电网环境下,通常需要为每一种业务类型建立一条TCP连接,用于传输业务数据,为节约无线链路资源,业务数据传输完成会断开连接,也就是说会有多条链路同时存在的情况,并且TCP链路建立删除较为频繁。多链路TCP压缩/解压缩在无线环境下会遇到以下问题:
[0005] 1)多链路环境下如何保证UE和eNB两个网元的链路信息对应关系一致;
[0006] 2)频繁的TCP建立和删除以及无线链路不稳定性导致的TCP建立和断开的关键信息丢失,使得UE和eNB上下文中的链路状态不一致,并且可用的链路上下文资源迅速被占用;
[0007] 3)在上下文全部被占满时,有新的TCP链路要建立连接,如何合理选择占用哪条已使用的链路。

发明内容

[0008] 鉴于上述问题,本发明提出了一种克服上述问题或者至少部分地解决或者减缓上述问题的应用于智能电网的多通道TCP/IP头压缩的同步方法,实现UE和eNB两个网元的链路信息对应关系一致,保证在无线链路上传输的处于活跃状态的链路上的头压缩上下文的同步,提高无线链路的使用效率。
[0009] 根据本发明的一个方面,提供了一种应用于智能电网的多通道TCP/IP头压缩的同步方法,该方法包括:
[0010] 发送用于建立TCP连接的syn报文时,根据UE侧上下文信息查看当前是否有可用的第一链路;
[0011] 若查找到可用的第一链路,将第一链路的链路标识添加到syn报文中,得到第一syn报文;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述UE侧上下文信息;
[0012] 以及将UE侧上下文信息中第一链路的状态更新为已使用状态;
[0013] 将所述第一syn报文发送到基站eNB;
[0014] 接收eNB返回的syn ack报文,查看所述syn ack报文是否携带第一链路的链路标识;
[0015] 若没有携带第一链路的链路标识,则当发送用于建立TCP连接的ack报文时,将所述第一链路的状态更新为有效状态,并对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;
[0016] 采用有效状态的第一链路进行TCP/IP头压缩报文的交互。
[0017] 其中,在根据UE侧上下文信息查看当前是否有可用的第一链路之前,所述方法还包括:
[0018] 接收智能电网设备发送的用于建立TCP连接的syn报文;
[0019] 将接收到的syn报文向eNB发送。
[0020] 其中,若没有查找到可用的第一链路,所述方法还包括:
[0021] 直接将所述syn报文发送到eNB。
[0022] 其中,若所述syn ack报文携带有第一链路的链路标识时,所述方法还包括:
[0023] 根据UE侧上下文信息查找所述第一链路的链路标识对应的第二链路;以及根据所述syn ack报文的端口信息确定所述第二链路的端口信息,并将确定的第二链路的端口信息保存到所述UE侧上下文信息;
[0024] 以及将UE侧上下文信息中第二链路的状态更新为已使用状态;
[0025] 删除所述syn ack报文中携带的链路标识;
[0026] 当发送用于建立TCP连接的ack报文时,将所述第二链路的状态更新为有效状态,并对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;
[0027] 采用有效状态的第二链路进行TCP/IP头压缩报文的交互。
[0028] 其中,当收到TCP连接的断开报文,或,发送TCP连接的断开报文时,所述方法还包括:
[0029] 将UE侧上下文信息中当前TCP连接的链路的状态更新为无效状态。
[0030] 其中,所述将第一链路的链路标识添加到syn报文中,具体为将所述第一链路的链路标识添加到syn报文的TCP头中的16位紧急指针的低4位。
[0031] 根据本发明的另一个方面,提供了一种应用于智能电网的多通道TCP/IP头压缩的同步方法,该方法包括:
[0032] 接收UE发送的用于建立TCP连接的syn报文,判断所述syn报文中是否携带第一链路的链路标识;
[0033] 若携带第一链路的链路标识,则根据eNB侧上下文信息查找所述第一链路的链路标识对应的第一链路;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述eNB侧上下文信息;
[0034] 以及将eNB侧上下文信息中第一链路的状态更新为已使用状态;
[0035] 删除所述syn报文中携带的第一链路的链路标识,得到第二syn报文,并将所述第二syn报文发送到核心网网元;
[0036] 接收核心网网元返回的syn ack报文,根据eNB上下文信息查找当前处于已使用状态的链路中是否有与所述syn ack报文具有相同端口信息的第一链路;
[0037] 当查找到与所述syn ack报文具有相同端口信息的所述第一链路时,直接将所述syn ack报文发送到UE;
[0038] 接收UE发送的压缩后的用于建立TCP连接的ack报文,并将解压后的ack报文发送到核心网网元;以及将所述第一链路的状态更新为有效状态,完成TCP连接的建立。
[0039] 其中,当所述syn报文中没有携带第一链路的链路标识时,所述方法还包括:
[0040] 直接将所述syn报文发送到核心网网元。
[0041] 其中,当没有查找到与所述syn ack报文具有相同端口信息的所述第一链路时,所述方法还包括:
[0042] 根据eNB侧上下文信息查看当前是否有可用的第二链路;
[0043] 若查找到可用的第二链路,将第二链路的链路标识添加到synack报文中,得到第一syn ack报文;以及根据所述syn ack报文的端口信息确定所述第二链路的端口信息,并将确定的第二链路的端口信息保存到所述eNB侧上下文信息;
[0044] 以及将eNB侧上下文信息中第二链路的状态更新为已使用状态;
[0045] 将所述第一syn ack报文发送到UE。
[0046] 其中,当收到TCP连接的断开报文时,所述方法还包括:
[0047] 将eNB侧上下文信息中当前TCP连接的链路的状态更新为无效状态。
[0048] 其中,当没有查找到可用的第二链路时,所述方法还包括:
[0049] 根据eNB侧上下文信息查找各个链路的末次数据传输时间,选择将距当前时间的间隔的空闲时间最长的链路作为可用的第二链路。
[0050] 本发明的有益效果为:
[0051] 本发明实施例提供的应用于智能电网的多通道TCP/IP头压缩的同步方法,在TCP连接的建立过程中,压缩模块所属的设备通过在用于建立TCP连接的前两条握手消息时选取可用链路,通过TCP建立报文中紧急指针的低4比特把链路标识携带给解压缩模块所在的设备,解压缩模块处理携带链路标识的TCP建立报文后直接更新本地上下文,实现UE和eNB两个网元的链路信息对应关系一致,保证在无线链路上传输的处于活跃状态的链路上的压缩数据的同步传输,从而提高无线链路的使用效率。

附图说明

[0052] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0053] 图1为本发明实施例提供的一种应用于智能电网的多通道TCP/IP头压缩的同步方法的流程图;
[0054] 图2为本发明实施例中TCP/IP压缩头文件的字段示意图;
[0055] 图3是本发明另一实施例提供的一种应用于智能电网的多通道TCP/IP头压缩的同步方法的流程图;
[0056] 图4是本发明实施例中TCP链路的四种链路状态的迁移关系示意图;
[0057] 图5是本发明实施例中UE根据UE侧上下文信息找到可用的链路时的数据交互示意图;
[0058] 图6是本发明实施例中UE根据UE侧上下文信息找不到可用的链路时的数据交互示意图;
[0059] 图7是本发明实施例中当TCP连接断开时的数据交互示意图。

具体实施方式

[0060] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
[0062] 本发明实现了一种应用于无线宽带智能电网环境的多通道TCP/IP头压缩的同步方法。适用于电力行业中有多链路要求的应用中,不同的业务数据分别承载在多条TCP连接上,并且TCP和IP头中都不包含可选项的情况。
[0063] 本发明中,使用四种状态表示TCP链路的使用情况,分别是:未使用(UNUSED):上下文内容为初始值;无效(INVALID):已经处理过TCP断开指令;已使用(USED):TCP链路开始建立,但是还没有建立成功;有效(VALID):TCP建立成功,正在压缩/解压缩。
[0064] 其中,查找可用链路时的优先级如下:
[0065] 未使用>无效>已使用>有效,链路选取时如果有处于未使用和无效状态的链路则可以直接使用,已使用状态的链路要想重新被启用,必须为预设时间内TCP连接未建立成功,所述预设时间可选3s,本发明对此不做具体限定。如果全部为“有效”状态的链路,则在处理TCP建立的第二条握手消息时选取最近报文接收时间最长的一条链路使用,以保证活跃链路上的数据都能够得到压缩。
[0066] 图1为本发明实施例提供的一种应用于智能电网的多通道TCP/IP头压缩的同步方法的流程图。
[0067] 参见图1,本发明实施例提供的应用于智能电网的多通道TCP/IP头压缩的同步方法包括以下步骤:
[0068] S11、发送用于建立TCP连接的syn报文时,根据UE侧上下文信息查看当前是否有可用的第一链路;
[0069] S12、若查找到可用的第一链路,将第一链路的链路标识添加到syn报文中,得到第一syn报文;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述UE侧上下文信息;
[0070] S13、以及将UE侧上下文信息中第一链路的状态更新为已使用状态;
[0071] S14、将所述第一syn报文发送到基站eNB。
[0072] 本发明实施例中,UE通过将所述第一syn报文发送到基站eNB,以使eNB根据所述第一syn报文中携带的第一链路的链路标识更新eNB侧的上下文信息,保证在无线链路上传输的处于活跃状态的链路上的头压缩上下文的同步。
[0073] S15、接收eNB返回的syn ack报文,查看所述syn ack报文是否携带第一链路的链路标识;
[0074] S16、若没有携带第一链路的链路标识,则当发送用于建立TCP连接的ack报文时,将所述第一链路的状态更新为有效状态,并对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;
[0075] 本发明实施例中,当发送用于建立TCP连接的第三条握手报文即ack报文时,才会更新第一链路的状态到有效状态,并对这条报文进行压缩发送。
[0076] S17、采用有效状态的第一链路进行TCP/IP头压缩报文的交互。
[0077] 具体的,所述将第一链路的链路标识添加到syn报文中,具体为将所述第一链路的链路标识添加到syn报文的TCP头中的16位紧急指针的低4位。
[0078] 本发明实施例中,如图2所示,在TCP建立的前两条握手报文中,有可能会利用16位紧急指针的低4bit来携带压缩端选择的链路标识,为了和紧急指针的常规数值相互区分,链路标识的取值为从1~8的数值。
[0079] 本发明实施例提供的应用于智能电网的多通道TCP/IP头压缩的同步方法,在TCP连接的建立过程中,压缩模块所属的设备通过在用于建立TCP连接的前两条握手消息时选取可用链路,通过TCP建立报文中紧急指针的低四比特把链路标识携带给解压缩模块所在的设备,解压缩模块处理携带链路标识的TCP建立报文后直接更新本地上下文,实现UE和eNB两个网元的链路信息对应关系一致,保证在无线链路上传输的处于活跃状态的链路上的压缩数据的同步传输,从而提高无线链路的使用效率。
[0080] 本实施例中,在步骤S11中的根据UE侧上下文信息查看当前是否有可用的第一链路之前,所述方法还包括以下图中未示出的步骤:
[0081] 接收智能电网设备发送的用于建立TCP连接的syn报文;
[0082] 将接收到的syn报文向eNB发送。
[0083] 本实施例中,在步骤S11中,若没有查找到可用的第一链路,该方法进一步包括以下步骤:
[0084] 直接将所述syn报文发送到eNB。
[0085] 其中,在步骤S15中,若所述syn ack报文携带有第一链路的链路标识时,该方法进一步包括以下步骤:
[0086] 根据UE侧上下文信息查找所述第一链路的链路标识对应的第二链路;以及根据所述syn ack报文的端口信息确定所述第二链路的端口信息,并将确定的第二链路的端口信息保存到所述UE侧上下文信息;
[0087] 以及将UE侧上下文信息中第二链路的状态更新为已使用状态;
[0088] 删除所述syn ack报文中携带的第一链路的链路标识;
[0089] 当发送用于建立TCP连接的ack报文时,将所述第二链路的状态更新为有效状态,并对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;
[0090] 采用有效状态的第二链路进行TCP/IP头压缩报文的交互。
[0091] 本发明实施例提出的应用于智能电网的多通道TCP/IP头压缩的同步方法,当收到TCP连接的断开报文,或,发送TCP连接的断开报文时,进一步包括以下步骤:
[0092] 将UE侧上下文信息中当前TCP连接的链路的状态更新为无效状态。
[0093] 图3为本发明另一实施例提供的一种应用于智能电网的多通道TCP/IP头压缩的同步方法的流程图。
[0094] 参见图3,本发明实施例提供的应用于智能电网的多通道TCP/IP头压缩的同步方法包括以下步骤:
[0095] S21、接收UE发送的用于建立TCP连接的syn报文,判断所述syn报文中是否携带第一链路的链路标识;
[0096] S22、若携带第一链路的链路标识,则根据eNB侧上下文信息查找所述第一链路的链路标识对应的第一链路;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述eNB侧上下文信息;
[0097] S23、以及将eNB侧上下文信息中第一链路的状态更新为已使用状态;
[0098] S24、删除所述syn报文中携带的第一链路的链路标识,得到第二syn报文,并将所述第二syn报文发送到核心网网元;
[0099] S25、接收核心网网元返回的syn ack报文,根据eNB上下文信息查找当前处于已使用状态的链路中是否有与所述syn ack报文具有相同端口信息的第一链路;
[0100] S26、当查找到与所述syn ack报文具有相同端口信息的所述第一链路时,直接将所述syn ack报文发送到UE;
[0101] S27、接收UE发送的压缩后的用于建立TCP连接的ack报文,并将解压后的ack报文发送到核心网网元;以及将所述第一链路的状态更新为有效状态,完成TCP连接的建立。
[0102] 具体的,所述将第二链路的第一链路的链路标识添加到syn ack报文中,具体为将所述第二链路的第一链路的链路标识添加到synack报文的TCP头中的16位紧急指针的低4位。
[0103] 本发明实施例提供的应用于智能电网的多通道TCP/IP头压缩的同步方法,在TCP连接的建立过程中,当处理TCP建立的第一条握手消息的网元无法决策出可用的空闲链路时,把决策工作交给另一个网元,有效避免无线链路丢包造成的两个网元上下文不一致的影响。实现UE和eNB两个网元的链路信息对应关系一致,保证在无线链路上传输的处于活跃状态的链路上的压缩数据的同步传输,从而提高无线链路的使用效率。
[0104] 其中,在步骤S21中,若所述syn报文中没有携带第一链路的链路标识时,该方法进一步包括以下步骤:
[0105] 直接将所述syn报文发送到核心网网元。
[0106] 其中,在步骤S25中,若没有查找到与所述syn ack报文具有相同端口信息的所述第一链路时,该方法进一步包括以下步骤:
[0107] 根据eNB侧上下文信息查看当前是否有可用的第二链路;
[0108] 若查找到可用的第二链路,将第二链路的链路标识添加到synack报文中,得到第一syn ack报文;以及根据所述syn ack报文的端口信息确定所述第二链路的端口信息,并将确定的第二链路的端口信息保存到所述eNB侧上下文信息;
[0109] 以及将eNB侧上下文信息中第二链路的状态更新为已使用状态;
[0110] 将所述第一syn ack报文发送到UE。
[0111] 进一步地,当没有查找到可用的第二链路时,所述方法还包括:
[0112] 根据eNB侧上下文信息查找各个链路的末次数据传输时间,选择将距当前时间的间隔的空闲时间最长的链路作为可用的第二链路。
[0113] 本发明实施例中,当处理TCP建立的第一条握手消息的网元无法决策出可用的空闲链路时,把决策工作交给另一个网元,由另一个网元在选择链路时根据我们设定的四种链路状态,选择出一条空闲链路,如果没有空闲链路则根据末次数据距当前的时长找到空闲时间最长的一条链路进行替换,保证活跃链路上的数据都能够压缩。
[0114] 上下文中TCP链路的四种链路状态的迁移关系,如图4所示:
[0115] 1、当链路状态为未使用(UNUSED)时,处理过TCP建立的前两条握手消息后,链路状态变为已使用(USED);
[0116] 2、当链路状态为已使用(USED)时,处理过TCP建立的第三条握手消息后,链路状态变为有效(VALID);
[0117] 3、当链路状态为有效(VALID)时,处理过TCP断开(fin或reset)报文后,链路状态变为无效(INVALID);
[0118] 4、6、当链路状态为无效(INVALID)或者有效(VALID)时,UE重新附着后,链路状态变为未使用(UNUSED);
[0119] 5、当链路状态为已使用(USED)时,UE重新附着或者处理过TCP断开(reset)报文后,链路状态变为未使用(UNUSED)。
[0120] 本发明实施例提出的应用于智能电网的多通道TCP/IP头压缩的同步方法,当收到TCP连接的断开报文时,进一步包括:
[0121] 将eNB侧上下文信息中当前TCP连接的链路的状态更新为无效状态。
[0122] 下面将结合具体的实例对本发明在不同应用场景下的实施例的实现过程进行详细描述。
[0123] 实施例1
[0124] 本发明实施例以UE或UE外接设备作为TCP客户端为例进行说明,UE或UE外接设备作为服务端的情况与此类似。
[0125] 本发明实施例,如图5所示,TCP连接建立过程中,当UE根据UE侧上下文信息找到可用的链路时,数据交互如下:
[0126] 1、UE的压缩模块接收到TCP建立的第一条握手报文时,搜索本地上下文,根据链路搜索规则找到可用链路,保存该链路的信息并设置链路状态为已使用(USED),把第一链路的链路标识携带到该报文中发送到无线链路上;
[0127] 2、eNB的解压缩模块接收到携带第一链路的链路标识的TCP建立的第一次握手报文时,在本地上下文中查找该第一链路的链路标识所对应的上下文,更新上下文内容和链路状态到已使用(USED),同时去掉握手报文中携带的第一链路的链路标识,发送到网络中;
[0128] 3、eNB的压缩模块收到TCP建立的第二条握手报文时,搜索本地上下文,发现已有处于已使用(USED)状态的链路信息,不对这条报文进行处理,直接发送给UE;
[0129] 4、UE的解压缩模块接收到TCP建立的第二条握手报文时,发现该报文中没有携带第一链路的链路标识,则不对该报文进行处理,发送到UE协议栈或外部设备;
[0130] 5、UE的压缩模块接收到TCP建立的第三条握手报文时,查找对应上下文设置链路状态为有效(VALID),压缩这条报文,从这条报文开始该链路上所有报文都进行压缩,直到TCP链路断开;
[0131] 6、eNB的解压缩模块接收到压缩的TCP建立的第三条握手报文时,解压缩该报文,设置本地上下文中的链路状态为有效(VALID);
[0132] 7、UE的压缩模块接收到业务数据,查找到对应的上下文,压缩该报文,发送到无线链路;
[0133] 8、eNB的解压缩模块接收到压缩后的数据,查找到对应的上下文,解压缩该报文;
[0134] 实施例2
[0135] 本实施例以UE或UE外接设备作为TCP客户端为例进行说明,UE或UE外接设备作为服务端的情况与此类似。
[0136] 本发明实施例,如图6所示,TCP连接建立过程中,当UE根据UE侧上下文信息无法找到可用的链路时,数据交互如下:
[0137] 1、UE的压缩模块接收到TCP建立的第一条握手报文时,搜索本地上下文,根据链路搜索规则没有找到可用链路,即所有链路的状态都是有效(VALID),不对这条报文进行处理,直接发送到无线链路上;
[0138] 2、eNB的解压缩模块接收到不携带第一链路的链路标识的TCP建立的第一次握手报文时,不对该报文进行处理,发送到网络中;
[0139] 3、eNB的压缩模块收到TCP建立的第二条握手报文时,搜索本地上下文,根据链路搜索规则找到可用链路,保存该链路的信息并设置链路状态为已使用(USED),把第一链路的链路标识携带到该报文中发送到无线链路上;
[0140] 4、UE的解压缩模块接收到TCP建立的第二条握手报文时,发现该报文中携带了第一链路的链路标识,在本地上下文中查找该第一链路的链路标识所对应的上下文,更新上下文内容和链路状态到已使用(USED),同时去掉握手报文中携带的第一链路的链路标识,发送到UE协议栈或外部设备;
[0141] 5、UE的压缩模块接收到TCP建立的第三条握手报文时,查找到对应上下文并设置链路状态为有效(VALID),压缩这条报文,从这条报文开始该链路上所有报文都进行压缩,直到TCP链路断开;
[0142] 6、eNB的解压缩模块接收到压缩的TCP建立的第三条握手报文时,解压缩该报文,设置本地上下文中的链路状态为有效(VALID);
[0143] 7、UE的压缩模块接收到业务数据,查找到对应的上下文,压缩该报文,发送到无线链路;
[0144] 8、eNB的解压缩模块接收到压缩后的数据,查找到对应的上下文,解压缩该报文;
[0145] 实施例3
[0146] 本发明实施例,如图7所示,TCP连接断开流程如下:
[0147] 本发明实施例以UE或UE外接设备发起TCP断开为例进行说明,eNB侧的外部设备发起TCP断开的情况与此类似。
[0148] 1、UE的压缩模块接收到TCP连接断开的报文(fin)时,搜索本地上下文,找到对应链路设置链路状态为无效(INVALID),不对这条报文进行任何处理直接发送到无线链路上,从该报文开始,该链路上的报文不再进行压缩;
[0149] 2、eNB的解压缩模块接收到TCP连接断开的报文(fin)时,搜索本地上下文,找到对应链路设置链路状态为无效(INVALID);
[0150] 3、当链路发生异常时,TCP连接的任何一方都可以通过reset报文复位TCP连接,当reset报文经过压缩/解压缩模块的处理后,如果TCP链路的当前状态是已使用(USED)则状态改变为未使用(UNUSED),如果TCP链路的当前状态是其他值则状态改变为无效(INVALID),同样从该报文开始,该链路上的报文不再进行压缩。
[0151] 本发明实施例中,在UE和eNB上分别维护一套压缩解压缩上下文,用于压缩数据的恢复。只有当UE和eNB的上下文完全一致时才能保证压缩解压缩的正确性。在TCP链路建立过程中,压缩模块处理TCP建立的前两条握手消息时选取可用链路,通过TCP建立报文中紧急指针的低四比特把链路标识携带给解压缩模块,解压缩模块处理携带链路标识的TCP建立报文后直接更新本地上下文的对应位置。当处理TCP建立的第一条握手消息的网元无法决策出可用的空闲链路时,把决策工作交给另一个网元,有效避免无线链路丢包造成的两个网元上下文不一致的影响。在选择链路时根据我们设定的四种链路状态,选择出一条空闲链路,如果没有空闲链路则根据末次数据距当前的时长找到空闲时间最长的一条链路进行替换,保证活跃链路上的数据都能够压缩。
[0152] 本发明实施例中,由压缩模块根据链路选择规则选取出可用的链路,并通知解压缩模块,解压缩模块不参与决策,只是被动的接受压缩模块的决策结果,从而避免发送和接收端两侧同时决策产生的不一致的可能性。
[0153] 本发明实施例中,两个网元的压缩端分别可以根据不同的情况参与可用链路的决策,当第一条握手消息的压缩端在一个网元的上下文中无法找到可用链路时,交由第二条握手消息的压缩端在另一个网元上寻找可用链路,避免无线链路丢包导致的UE和eNB上下文链路状态不一致,最大限度保证空闲链路选取的有效性。
[0154] 本发明实施例中,仅使用TCP建立前两条握手消息中的一条进行链路标识的决策,避免两个网元同时决策可能产生的不一致问题。
[0155] 此外,本发明还提供的一种UE,实现应用于智能电网的多通道TCP/IP头压缩的同步,本发明实施例提供的UE包括:
[0156] 查找模块,用于发送用于建立TCP连接的syn报文时,根据UE侧上下文信息查看当前是否有可用的第一链路;
[0157] 上下文信息更新模块,用于当查找到可用的第一链路时,将第一链路的链路标识添加到syn报文中,得到第一syn报文;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述UE侧上下文信息;以及将UE侧上下文信息中第一链路的状态更新为已使用状态;
[0158] 通信模块,用于将所述第一syn报文发送到基站eNB,以使eNB根据所述第一syn报文中携带的第一链路的链路标识更新eNB侧的上下文信息;
[0159] 所述通信模块,还用于接收eNB返回的syn ack报文;
[0160] 所述查找模块,还用于查看所述syn ack报文是否携带第一链路的链路标识;
[0161] 所述上下文信息更新模块,还用于当syn ack报文中没有携带第一链路的链路标识时,将所述第一链路的状态更新为有效状态;
[0162] 压缩模块,用于对用于建立TCP连接的ack报文进行压缩后发送到eNB,完成TCP连接的建立;
[0163] 所述通信模块,还用于采用有效状态的第一链路进行TCP/IP头压缩报文的交互。
[0164] 需要说明的是,本发明实施例提出的UE的具体实现方式与本发明实施例的应用于智能电网的多通道TCP/IP头压缩的同步方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,不做赘述。
[0165] 此外,本发明还提供的一种基站,实现应用于智能电网的多通道TCP/IP头压缩的同步,本发明实施例提供的基站包括:
[0166] 通信模块,用于接收UE发送的用于建立TCP连接的syn报文;
[0167] 判断模块,用于判断所述syn报文中是否携带第一链路的链路标识;
[0168] 上下文信息更新模块,用于当携带第一链路的链路标识时,根据eNB侧上下文信息查找所述第一链路的链路标识对应的第一链路;以及根据所述syn报文的端口信息确定所述第一链路的端口信息,并将确定的第一链路的端口信息保存到所述eNB侧上下文信息;以及将eNB侧上下文信息中第一链路的状态更新为已使用状态;
[0169] 所述通信模块,还用于删除所述syn报文中携带的链路标识,得到第二syn报文,并将所述第二syn报文发送到核心网网元;
[0170] 查找模块,用于接收核心网网元返回的syn ack报文,根据eNB上下文信息查找当前处于已使用状态的链路中是否有与所述syn ack报文具有相同端口信息的第一链路;
[0171] 所述通信模块,还用于当查找到与所述syn ack报文具有相同端口信息的所述第一链路时,直接将所述syn ack报文发送到UE;
[0172] 所述通信模块,还用于接收UE发送的压缩后的用于建立TCP连接的ack报文,并将解压后的ack报文发送到核心网网元;
[0173] 上下文信息更新模块,用于将所述第一链路的状态更新为有效状态,完成TCP连接的建立。
[0174] 需要说明的是,本发明实施例提出的基站的具体实现方式与本发明实施例的应用于智能电网的多通道TCP/IP头压缩的同步方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,不做赘述。
[0175] 采用本发明提出的应用于智能电网的多通道TCP/IP头压缩的同步方法,本发明实施例提供的应用于智能电网的多通道TCP/IP头压缩的同步方法,在TCP连接的建立过程中,压缩模块所属的设备通过在用于建立TCP连接的前两条握手消息时选取可用链路,通过TCP建立报文中紧急指针的低4比特把链路标识携带给解压缩模块所在的设备,当处理TCP建立的第一条握手消息的网元无法决策出可用的空闲链路时,把决策工作交给另一个网元,由另一个网元在选择链路时根据我们设定的四种链路状态,选择出一条空闲链路,如果没有空闲链路则根据末次数据距当前的时长找到空闲时间最长的一条链路进行替换,保证活跃链路上的数据都能够压缩。
[0176] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0177] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0178] 本领域技术人员可以理解实施例中的系统中的模块可以按照实施例描述进行分布于实施例的系统中,也可以进行相应变化位于不同于本实施例的一个或多个系统中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0179] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。