CN110868744A - 一种前转数据的处理方法和装置 - Google Patents
一种前转数据的处理方法和装置 Download PDFInfo
- Publication number
- CN110868744A CN110868744A CN201810991113.0A CN201810991113A CN110868744A CN 110868744 A CN110868744 A CN 110868744A CN 201810991113 A CN201810991113 A CN 201810991113A CN 110868744 A CN110868744 A CN 110868744A
- Authority
- CN
- China
- Prior art keywords
- message
- base station
- target
- source base
- teid
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/02—Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种前转数据的处理方法和装置,其中所述方法包括:确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;将所述目标前转报文发送至目标基站侧,以此实现将源基站侧的TEID携带到目标基站侧,便于目标基站针对TCP代理报文可以回ACK,实现TCP代理数据的可靠前转。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种前转数据的处理方法和一种前转数据的处理装置。
背景技术
在LTE(Long Term Evolution,长期演进)数据传输网络中,主要采用TCP(Transmission Control Protocol传输控制协议)协议来完成数据业务的传输,而目前LTE无线网络数据处理的机制包括最大程度重传、RLC(Radio Link Control,无线通信系统中的无线链路控制层协议)按序发送数据等。由于TCP协议是基于有线网络的协议,其并未考虑无线特征,无线侧为了不丢弃数据,使用最大限度的重传,这会导致TCP层的超时,从而引起TCP传输时延拉大,而TCP传输时延拉大会引起下载速率低和感知差等现象,为了克服上述缺陷,在LTE移动无线网的接入设备eNodeB中引入加速下载功能的“TCP代理”。
“TCP代理”用于尽最大可能的减少无线环境波动对于用户感知造成的干扰,其主要通过基站侧对TCP/IP包进行解析和处理,采用下行数据缓存排序,分裂ACK(Acknowledgement,确认字符)、复制DupACK(重复确认字符)以及基站侧本地重传等TCP性能优化技术,加速下行数据传输过程中服务器的慢启动和快速重传。
在进行X2切换时,TCP代理若要进行数据的无损切换,则需要可靠的前转数据。目前数据包前转的策略为:下行数据在下行前转链路上传输,且目标基站每收到一个TCP代理的数据包时给源基站侧返回ACK,源基站对未收到ACK的数据包进行重传。其中,下行前转链路的两端接续关系2元组:{(源基站本端对外IP、源基站本端对外TEID),(目标基站对外IP、目标基站本端对外TEID)}。目前只有目标基站TEID(Tunnel Endpoint Identifier,隧道端点标识符)通过控制面信令切换请求应答消息(HANDOVER REQUEST ACKNOWLEDGE),将目标基站分配的IP和TEID通过局向信令通知给源基站。在目标基站给源基站发送ACK数据包时,由于源基站的隧道标识TEID对目标侧基站而言是未知的,导致目标基站无法将ACK发送给源侧基站。
针对上述问题,在现有技术中,有如下解决方法:
1、扩展控制面消息:在HandOverRequest(切换请求)消息中增加非标准的IE,将源基站的TEID在切换准备阶段携带给目标基站。但其存在的缺点是:需要修改标准的X2协议,修改HandOverRequest消息的ASN1结构,牵扯到源基站和目标基站的ASN1结构的编解码,且部署时需要考虑异厂家的协议兼容性问题,目标基站可能由于解包失败丢弃HandOverReques消息,导致切换掉话。
2、扩展业务面数据包:在GTPU头中增加自定义扩展头,将源侧基站的TEID携带到目标基站。但其存在的缺点是:由于GTPU头中Next Extension Header Type(下一个扩展头类型)需要新定义,从而GTPU头产生变化,牵扯到源基站和目标基站的需要同步升级GTPU协议程序,且部署时需要考虑异厂家和同厂家不同软件版本的协议兼容性问题,目标基站可能由于解包失败丢弃数据包产生异常。
发明内容
本发明实施例所要解决的技术问题是提供一种前转数据的处理方法,以解决将源基站侧TEID携带到目标基站侧的问题。
相应的,本发明实施例还提供了一种前转数据的处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种前转数据的处理方法,所述方法包括:
确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;
若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;
将所述目标前转报文发送至目标基站侧。
优选地,所述在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文,包括:
将用户面通用分组无线业务隧道协议GTPU数据包的头部信息中的,所述前转报文的长度增加源基站的TEID长度;
将所述源基站的TEID添加到所述前转报文的指定位置,生成目标前转报文。
优选地,所述指定位置包括所述前转报文的尾部。
本发明还公开了一种前转数据的处理方法,所述方法包括:
接收源基站发送的目标前转报文;
判断所述目标前转报文是否为TCP代理报文;
若所述目标前转报文为TCP代理报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID;
基于所述源基站的TEID,向所述源基站回复确认报文。
优选地,所述目标前转报文封装在用户面通用分组无线业务隧道协议GTPU数据包中;
所述判断所述目标前转报文是否为TCP代理报文,包括:
从所述GTPU数据包的头部信息中确定所述目标前转报文的长度;
获取所述目标前转报文中,TCP报文的长度;
计算所述目标前转报文的长度与所述TCP报文的长度的差值;
若所述差值为源基站的TEID长度,则判定所述目标前转报文为TCP代理报文。
优选地,所述若所述目标前转报文为TCP报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID,包括:
获取所述TCP报文后紧挨着的源基站的TEID长度的报文,作为源基站的TEID。
优选地,所述基于所述源基站的TEID,向所述源基站回复确认报文,包括:
按照GTPU格式组装确认报文,其中,GTPU头中第5/6/7/8字节用于填写所述源基站的TEID。
本发明还公开了一种前转数据的处理装置,所述装置包括:
TCP代理报文确定模块,用于确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;
目标前转报文生成模块,用于若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;
报文发送模块,用于将所述目标前转报文发送至目标基站侧。
优选地,所述目标前转报文生成模块包括:
长度添加子模块,用于将用户面通用分组无线业务隧道协议GTPU数据包的头部信息中的,所述前转报文的长度增加源基站的TEID长度;
TEID添加子模块,用于将所述源基站的TEID添加到所述前转报文的指定位置,生成目标前转报文。
优选地,所述指定位置包括所述前转报文的尾部。
本发明还公开了一种前转数据的处理装置,所述装置包括:
报文接收模块,用于接收源基站发送的目标前转报文;
TCP代理报文判断模块,用于判断所述目标前转报文是否为TCP代理报文;
TEID获取模块,用于若所述目标前转报文为TCP代理报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID;
确认报文回复模块,用于基于所述源基站的TEID,向所述源基站回复确认报文。
优选地,所述目标前转报文封装在用户面通用分组无线业务隧道协议GTPU数据包中;
所述TCP代理报文判断模块包括:
目标前转报文长度确定子模块,用于从所述GTPU数据包的头部信息中确定所述目标前转报文的长度;
TCP报文长度确定子模块,用于获取所述目标前转报文中,TCP报文的长度;
差值计算子模块,用于计算所述目标前转报文的长度与所述TCP报文的长度的差值;
TCP代理报文判定子模块,用于若所述差值为源基站的TEID长度,则判定所述目标前转报文为TCP代理报文。
优选地,所述TEID获取模块还用于:
获取所述TCP报文后紧挨着的源基站的TEID长度的报文,作为源基站的TEID。
优选地,所述确认报文回复模块还用于:
按照GTPU格式组装确认报文,其中,GTPU头中第5/6/7/8字节用于填写所述源基站的TEID。
与现有技术相比,本发明实施例包括以下优点:
在本发明实施例中,在开启TCP代理功能时,当源基站需要向目标基站发送前转报文时,若该前转报文为针对进行了TCP代理的TCP代理报文,则在该前转报文中添加源基站的TEID,生成目标前转报文,并将该目标前转报文发送至目标基站侧,以此实现将源基站侧的TEID携带到目标基站侧,便于目标基站针对TCP代理报文可以回ACK,实现TCP代理数据的可靠前转。源基站的TEID传递的过程无需修改X2协议或者扩展X2协议中的已有字段含义,也无需增加新的GTPU协议扩展头,使得源基站侧未升级不会影响目标基站的解析包功能,避免了跨厂家部署或者同厂家不同软件版本基站间兼容性问题。
另外,当目标基站接收到源基站发送的目标前转报文时,首先可以判断该目标前转报文是否为TCP代理报文,若该目标前转报文为TCP代理报文,则可以从目标前转报文中获得源基站的TEID,并基于该源基站的TEID,向源基站回复确认报文,实现TCP代理数据的可靠前转。目标基站侧接收到的数据包为按照协议格式规定的前转包,因此,源基站未升级不会影响目标基站的解析包的功能,目标基站未升级也不会影响前转包的解析,避免了解析包失败引起切换失败或者前转数据包被丢弃的问题,以及,避免了跨厂家部署或者同厂家不同软件版本基站间兼容性问题。
附图说明
图1是本发明一种前转数据的处理方法实施例的步骤流程图;
图2是本发明一种前转数据的处理方法另一实施例的步骤流程图;
图3是本发明一种前转数据的处理装置实施例的结构框图;
图4是本发明一种前转数据的处理装置另一实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例可以应用于X2切换流程中,在具体实现中,X2切换流程可以包括如下过程:
1:源eNode B(Evolved Node B,演进型Node B,LTE中基站的名称,即本发明实施例后面所称的源基站)对UE(UserEquipment,用户设备)进行测量配置,UE的测量结果将用于辅助源eNode B进行切换判决。
2:UE根据测量配置,进行测量上报。
3:源eNode B参考UE的测量上报结果,根据自身的切换算法,进行切换判决。
4:源eNode B向目标eNode B发送切换请求消息(HANDOVER REQUEST),该消息包含切换准备的相关信息,以及TNL(Transport Network Layrer,传输网络层)的寻址信息等。
5:目标eNode B根据收到的E-RAB(Evolved Radio Access Bearer,演进的无线接入承载)QoS(Quality of Service,服务质量)信息进行接纳控制。
6:目标eNode B进行L1/L2的切换准备,同时向源eNode B发送切换请求ACK消息(HANDOVER REQUEST ACKNOWLEDGE)。该消息中包含一个RRC(Radio Resource Control,无线资源控制)container(容器),其具体内容是触发UE进行切换的切换命令。如果有必要,切换请求ACK消息中还有可能携带RNL(Radio Network Layrer,无线网络层)/TNL信息,用于数据前转。当源eNode B收到切换请求ACK消息或者是向UE转发了切换命令之后,则可以开始数据前转。
切换请求ACK消息中携带数据前转的上下行链路信息,该链路信息中必须的TEID相关信息在切换请求ACK消息的IE(Information Element,信息元素)中携带,从而源基站可知道前转报文发送的目标地址。
7:切换命令(携带了移动性控制信息的RRC连接重配置消息)是由目标eNode B生成的,通过源eNode B将其透传给UE。当UE收到该消息之后,就会利用该消息中的相关参数发起切换过程。UE不需要等待低层向源eNode B发送的HARQ(Hybrid Automatic RepeatreQuest,混合自动重传请求)/ARQ(Automatic Repeat reQuest,自动重传请求)响应,就可以发起切换过程。
8:源eNode B发送SN(Sequence Number,序列号)状态传输消息到目标eNode B,传送E-RAB(仅那些需要保留PDCP(Packet Data Convergence Protocol,分组数据汇聚协议)状态的E-RAB需要执行SN状态的转发,对应于RLC(Radio Link Control,无线链路控制层)AM模式(Acknowledged mode,确认模式))的上行PDCP SN接收状态和下行PDCP SN发送状态。上行PDCP SN接收状态至少包含了按序接收的最后一个上行SDU(Service Data Unit,服务数据单元,又叫业务数据单元)的PDCP SN,也可能包含以比特映射的形式表示的那些造成接收乱序的丢失的上行SDU的SN(如果有这样的SDU的话,这些SDU可能需要UE在目标小区进行重传)。下行PDCP SN发送状态指示了在目标eNode B应该分配的下一个SDU序号。
9:UE收到切换命令以后,执行与目标小区的同步。
10:网络回复上行资源分配指示和UE定时提前。
11:当UE成功接入目标小区后,UE向目标eNode B发送RRC连接重配置完成消息,向目标eNode B确认切换过程完成。目标eNode B通过接收RRC连接重配置完成消息,确认切换成功。至此,目标eNode B可以开始向UE发送数据。
12:目标eNode B向MME(Mobility Management Entity,移动管理节点)发送一个路径转换请求消息来告知UE更换了小区。此时空口的切换已经成功完成。
13:MME向S-GW(Serving GateWay,服务网关)发送用户平面更新请求消息。
14:S-GW将下行数据路径切换到目标eNode B侧。S-GW在旧路径上发送一个或多个“end marker(结束标记)包”到源eNode B,然后就可以释放源eNode B的用户平面资源。
15:S-GW向MME发送用户平面更新响应消息。
16:MME向目标eNode B发送路径转换请求ACK消息。
步骤12~16完成了路径转换过程,该过程的目的是将用户平面的数据路径从源eNode B转到目标eNode B。在S-GW转换了下行路径以后,前转路径和新路径的下行包在目标eNode B可能会交替到达。目标eNode B应该首先传递所有的前转数据包给UE,然后再传递从新路径接收的包。在目标eNode B使用这一方法可以强制性保证正确的传输顺序。为了辅助在目标eNode B的重排功能,S-GW在E-RAB转换路径以后,立即在旧路径发送一个或者多个“end marker包”。“end marker包”内不含用户数据,由GTP(GPRS TunnellingProtocol,通用分组无线服务隧道协议)头指示。在完成发送含有标志符的包以后,S-GW不应该在旧路径发送任何数据包。在收到“end marker包”以后,如果前转对这个承载是激活的,源eNode B应该将此包发送给目标eNode B。在察觉了“end marker包”以后,目标eNodeB应该丢弃“end marker包”并发起任何必要的流程来维持用户的按序递交,这些数据是通过X2口前转的或者路径转换以后从S-GW通过S1口接收的。
17:目标eNode B向源eNode B发送UE上下文释放消息,通知源eNode B切换的成功并触发源eNode B的资源释放。目标eNode B在收到从MME发回的路径转换ACK消息以后发送这条消息。
18:收到UE上下文释放消息之后,源eNode B可以释放无线承载和与UE上下文相关的控制平面资源。
至此完成X2切换流程。
为了克服最大限度重传导致的TCP传输时延拉大,而引起下载速率低和感知差等现象,在上述源eNode B以及目标eNode B中部署具有加速下载功能的“TCP代理”。
TCP代理通过eNodeB缓存数据,将正常的服务器端(即核心网)和UE端的TCP连接分为两段:一段连接服务器和基站,另一段连接基站和UE,向服务器屏蔽无线环境传输特性差异。由于在基站侧实现ACK数据包的复制和组装、数据包的本地缓存和重传等功能,当开启TCP代理功能后,由于基站侧对UE屏蔽掉网络服务器,即TCP代理能够提前从服务器获取数据,而不管UE是否已经应答,从而能保证空口总有数据发送,从而降低重传时间和重传次数,减少UE访问时延,避免由于无线环境变化进入拥塞限流。
在X2切换流程中,针对AM承载实现无损切换,对于源基站发送给UE以及未发送给UE的数据,需要在切换中转移到目标基站,称为数据前转(data forwarding)。但当开启TCP代理功能后,由于源基站已经提前给Server返回ACK,即Server认为数据已经成功发送,而UE没有收到该数据,这些缓存在源基站的数据需要保证可靠前转到目标基站。一旦源基站的TCP代理缓存的数据出现丢失,由于Server上数据已经删除,会导致切换后目标基站不能从服务器获取到该数据包,数据访问断流,出现无法恢复拖死终端的问题。因此,前转的数据需要在源基站和目标基站间进行可靠传递。在前转数据时,依靠控制面建立的接续关系,源基站可以明确知道目标基站的IP地址以及分配的隧道标识TEID,并通过组装GTPU数据包将源基站缓存的数据包发送给目标基站。在目标基站收到GTPU前转报文后,根据报文中TEID信息可以找到对应的UE上行文信息,从而将前转的报文发送给UE。
3GPP TS 29.281协议5.1章节定义GTPU数据包的头格式如下表1所示:
在表1中,Octets表示8位字节;Bits表示“位”或“比特”;
Version标识GTP协议版本;PT表示协议类型;
E标识Extension Header(拓展头部)字段;
S标识GTP Sequence Number(序列编号)字段;
PN标识N-PDU Number(N-PDU号)字段;
Message Type表示消息类型;Length(1st Octet)表示第1位八位字节长度;Length(2nd Octet)表示第二位八位字节长度;Tunnel Endpoint Identifier标识隧道标识TEID。
表1
TCP代理数据的无损切换需要可靠的前转数据,一般数据包前转的策略为:下行数据在下行前转链路上传输,且目标基站每收到一个TCP代理的数据包时给源基站侧返回ACK,源基站对未收到ACK的数据包进行重传。然而,在目标基站给源基站发送ACK数据包时,由于源基站的隧道标识TEID目标侧基站未知,导致无法将ACK发送给源侧基站
对此,本发明实施例提出一种将源基站分配的前转链路对应的源基站的TEID携带到目标基站的机制,便于目标基站针对TCP代理的报文可以回ACK,保证源基站将缓存的数据发送给目标基站后,目标基站可以通知源基站前转数据包接收情况,从而保证收发包数目一致,从而在源基站和目标基站间可靠传递前转数据,避免上述问题的发生。
以下对本发明实施例进行具体说明:
参照图1,示出了本发明一种前转数据的处理方法实施例的步骤流程图,本发明实施例从源基站侧进行描述,具体可以包括如下步骤:
步骤101,确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;
具体的,源基站可以将前转报文区分为进行过TCP代理的报文(TCP功能开启后处理的报文)和未进行过TCP代理的报文(TCP功能关闭时处理的报文)两大类。如果该前转报文为进行过TCP代理的报文,则该前转报文可以为TCP代理报文,如果该前转报文为未进行过TCP代理的报文,则该前转报文可以不为TCP代理报文。
步骤102,若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;
针对前转报文为源基站侧进行过TCP代理的报文,则可以在该前转报文中添加源基站的TEID,生成携带源基站的TEID的目标前转报文。
针对前转报文为源基站侧未进行过TCP代理的报文,则无需在该前转报文中添加源基站的TEID。
在本发明实施例的一种优选实施例中,步骤102进一步可以包括如下子步骤:
子步骤S11,将用户面通用分组无线业务隧道协议GTPU数据包的头部信息中的,所述前转报文的长度增加源基站的TEID长度;
根据3GPP TS 36.300协议10.1.2.1.2章节的规定,源基站缓存的数据需要通过下行前转链路传到目标基站时,这些数据包需要封装为GTPU数据包。在上述表1定义的GTPU数据包的头部信息中,第3、4个字节指示前转报文的大小,即Length(1st Octet)和Length(2ndOctet)。
针对前转报文为源基站侧进行过TCP代理的报文(TCP代理报文),可以将上述头部信息中第3、4个字节填写为前转报文的长度+源基站的TEID长度。在实际中,源基站的TEID长度一般为4个字节,则上述头部信息中第3、4个字节填写为前转报文的长度+4字节。
针对前转报文为源基站侧未进行过TCP代理的报文(非TCP代理报文),则上述头部信息中第3、4个字节填写为前转报文的长度。
子步骤S12,将所述源基站的TEID添加到所述前转报文的指定位置,生成目标前转报文。
在具体实现中,前转报文为完整的TCP报文,符合TCP报文的帧格式,针对TCP代理报文,可以在该报文指定位置添加源基站的TEID。
作为一种示例,该指定位置可以包括前转报文的尾部,例如,在TCP报文的后边4字节上携带源侧基站的TEID,生成目标前转报文。
另一方面,针对非TCP报文,则直接将TCP报文作为目标前转报文。
步骤103,将所述目标前转报文发送至目标基站侧。
得到目标前转报文以后,源基站可以将该目标前转报文封装成GTPU报文,将此GTPU报文发送至目标基站侧。
在本发明实施例中,在开启TCP代理功能时,当源基站需要向目标基站发送前转报文时,若该前转报文为针对进行了TCP代理的TCP代理报文,则在该前转报文中添加源基站的TEID,生成目标前转报文,并将该目标前转报文发送至目标基站侧,以此实现将源基站侧的TEID携带到目标基站侧,便于目标基站针对TCP代理报文可以回ACK,实现TCP代理数据的可靠前转。源基站的TEID传递的过程无需修改X2协议或者扩展X2协议中的已有字段含义,也无需增加新的GTPU协议扩展头,使得源基站侧未升级不会影响目标基站的解析包功能,避免了跨厂家部署或者同厂家不同软件版本基站间兼容性问题。
参照图2,示出了本发明一种前转数据的处理方法另一实施例的步骤流程图,本发明实施例从目标基站侧进行描述,具体可以包括如下步骤:
步骤201,接收源基站发送的目标前转报文;
具体的,源基站传递到目标基站处的目标前转报文为GTPU报文,封装在GTPU数据包中。
步骤202,判断所述目标前转报文是否为TCP代理报文;
在具体实现中,目标基站接收到目标前转报文以后,可以根据该报文的内容,判断该目标前转报文是否为TCP代理报文,即进行过TCP代理的报文。
在本发明实施例的一种优选实施例中,步骤202进一步可以包括如下子步骤:
子步骤S21,从所述GTPU数据包的头部信息中确定所述目标前转报文的长度;
在具体实现中,可以从GTPU数据包的头部信息中第3、4个字节,读取目标前转报文的长度LENGTHgtpu,即GTPU数据包的长度。
子步骤S22,获取所述目标前转报文中,TCP报文的长度;
在具体实现中,TCP报文格式可以包括IPv4和IPv6两种格式。
IPv6格式如下:
IPv4和IPv6报文中都会携带长度字段,其中,IPv4中字段Packet Length为IP报文总长度,IPv6中字段Payload Length为除掉IPv6报文头的净荷长度(即TCP报文的长度LENGTHtcp)。即,对于IPv4,LENGTHtcp=Packet Length-IPv4头长度,对于Ipv6,LENGTHtcp=Payload Length。
子步骤S23,计算所述目标前转报文的长度与所述TCP报文的长度的差值;
子步骤S24,若所述差值为源基站的TEID长度,则判定所述目标前转报文为TCP代理报文。
得到LENGTHgtpu以及LENGTHtcp以后,可以计算两者的差值,如果LENGTHgtpu-LENGTHtcp=源基站的TEID长度,例如,LENGTHgtpu-LENGTHtcp=4,则可以判定当前目标前转报文为TCP代理报文。
如果LENGTHgtpu-LENGTHtcp=0,则可以判定当前目标前转报文不为TCP代理报文,则可以按照现有技术中的流程进行处理。
步骤203,若所述目标前转报文为TCP代理报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID;
如果判定该目标前转报文为TCP代理报文,则目标基站可以从目标前转报文中提取源基站的TEID。
在本发明实施例的一种优选实施例中,步骤203进一步可以包括如下子步骤:
获取所述TCP报文后紧挨着的源基站的TEID长度的报文,作为源基站的TEID。
在具体实现中,目标基站可以根据IP报文的长度字段,推测出目标前转报文中TCP报文结束的位置,如果在TCP报文结束的位置后存在源基站的TEID长度的报文,则可以判定该目标前转报文携带源基站的TEID,并在紧挨着的TCP报文结束的位置后的4个字节中获得源基站的TEID。
步骤204,基于所述源基站的TEID,向所述源基站回复确认报文。
当目标基站获得源基站的TEID以后,则可以向源基站回复确认报文TCP ACK。
在本发明实施例的一种优选实施例中,步骤204进一步可以包括如下子步骤:
按照GTPU格式组装确认报文,其中,GTPU头中第5/6/7/8字节用于填写所述源基站的TEID。
当目标基站获得源基站的TEID以后,目标基站可以按GTPU格式组装TCP ACK数据包发给源基站,从而实现TCP代理数据的可靠前转。其中,GTPU头中第5/6/7/8字节填写为源基站的TEID。
在本发明实施例中,当目标基站接收到源基站发送的目标前转报文时,首先可以判断该目标前转报文是否为TCP代理报文,若该目标前转报文为TCP代理报文,则可以从目标前转报文中获得源基站的TEID,并基于该源基站的TEID,向源基站回复确认报文,实现TCP代理数据的可靠前转。目标基站侧接收到的数据包为按照协议格式规定的前转包,因此,源基站未升级不会影响目标基站的解析包的功能,目标基站未升级也不会影响前转包的解析,避免了解析包失败引起切换失败或者前转数据包被丢弃的问题,以及,避免了跨厂家部署或者同厂家不同软件版本基站间兼容性问题。
参照图3,示出了本发明一种前转数据的处理装置实施例的结构框图,本发明实施例的装置部署在源基站侧,具体可以包括如下模块:
TCP代理报文确定模块301,用于确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;
目标前转报文生成模块302,用于若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;
报文发送模块303,用于将所述目标前转报文发送至目标基站侧。
在本发明实施例的一种优选实施例中,所述目标前转报文生成模块302进一步可以包括如下子模块:
长度添加子模块,用于将用户面通用分组无线业务隧道协议GTPU数据包的头部信息中的,所述前转报文的长度增加源基站的TEID长度;
TEID添加子模块,用于将所述源基站的TEID添加到所述前转报文的指定位置,生成目标前转报文。
在本发明实施例的一种优选实施例中,所述指定位置包括所述前转报文的尾部。
参照图4,示出了本发明一种前转数据的处理装置另一实施例的结构框图,本发明实施例的装置部署在目标基站侧,具体可以包括如下模块:
报文接收模块401,用于接收源基站发送的目标前转报文;
TCP代理报文判断模块402,用于判断所述目标前转报文是否为TCP代理报文;
TEID获取模块403,用于若所述目标前转报文为TCP代理报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID;
确认报文回复模块404,用于基于所述源基站的TEID,向所述源基站回复确认报文。
在本发明实施例的一种优选实施例中,所述目标前转报文封装在用户面通用分组无线业务隧道协议GTPU数据包中;
所述TCP代理报文判断模块402进一步可以包括如下子模块:
目标前转报文长度确定子模块,用于从所述GTPU数据包的头部信息中确定所述目标前转报文的长度;
TCP报文长度确定子模块,用于获取所述目标前转报文中,TCP报文的长度;
差值计算子模块,用于计算所述目标前转报文的长度与所述TCP报文的长度的差值;
TCP代理报文判定子模块,用于若所述差值为源基站的TEID长度,则判定所述目标前转报文为TCP代理报文。
在本发明实施例的一种优选实施例中,所述TEID获取模块403还用于:
获取所述TCP报文后紧挨着的源基站的TEID长度的报文,作为源基站的TEID。
在本发明实施例的一种优选实施例中,所述确认报文回复模块404还用于:
按照GTPU格式组装确认报文,其中,GTPU头中第5/6/7/8字节用于填写所述源基站的TEID。
对于装置实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种前转数据的处理方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种前转数据的处理方法,其特征在于,所述方法包括:
确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;
若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;将用户面通用分组无线业务隧道协议GTPU数据包的头部信息中的,所述前转报文的长度增加源基站的TEID长度;将所述源基站的TEID添加到所述前转报文的指定位置,生成目标前转报文;
将所述目标前转报文发送至目标基站侧。
2.根据权利要求1所述的方法,其特征在于,所述指定位置包括所述前转报文的尾部。
3.一种前转数据的处理方法,其特征在于,所述方法包括:
接收源基站发送的目标前转报文;
判断所述目标前转报文是否为TCP代理报文;
若所述目标前转报文为TCP代理报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID;
基于所述源基站的TEID,向所述源基站回复确认报文。
4.根据权利要求3所述的方法,其特征在于,所述目标前转报文封装在用户面通用分组无线业务隧道协议GTPU数据包中;
所述判断所述目标前转报文是否为TCP代理报文,包括:
从所述GTPU数据包的头部信息中确定所述目标前转报文的长度;
获取所述目标前转报文中,TCP报文的长度;
计算所述目标前转报文的长度与所述TCP报文的长度的差值;
若所述差值为源基站的TEID长度,则判定所述目标前转报文为TCP代理报文。
5.根据权利要求4所述的方法,其特征在于,所述若所述目标前转报文为TCP报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID,包括:
获取所述TCP报文后紧挨着的源基站的TEID长度的报文,作为源基站的TEID。
6.根据权利要求3或4或5所述的方法,其特征在于,所述基于所述源基站的TEID,向所述源基站回复确认报文,包括:
按照GTPU格式组装确认报文,其中,GTPU头中第5/6/7/8字节用于填写所述源基站的TEID。
7.一种前转数据的处理装置,其特征在于,所述装置包括:
TCP代理报文确定模块,用于确定待发送至目标基站中的前转报文是否为传输控制协议TCP代理报文;
目标前转报文生成模块,用于若所述前转报文为TCP代理报文,则在所述前转报文中添加源基站的用户面隧道终端标识TEID,生成目标前转报文;
报文发送模块,用于将所述目标前转报文发送至目标基站侧。
8.根据权利要求7所述的装置,其特征在于,所述目标前转报文生成模块包括:
长度添加子模块,用于将用户面通用分组无线业务隧道协议GTPU数据包的头部信息中的,所述前转报文的长度增加源基站的TEID长度;
TEID添加子模块,用于将所述源基站的TEID添加到所述前转报文的指定位置,生成目标前转报文。
9.根据权利要求8所述的装置,其特征在于,所述指定位置包括所述前转报文的尾部。
10.一种前转数据的处理装置,其特征在于,所述装置包括:
报文接收模块,用于接收源基站发送的目标前转报文;
TCP代理报文判断模块,用于判断所述目标前转报文是否为TCP代理报文;
TEID获取模块,用于若所述目标前转报文为TCP代理报文,则从所述目标前转报文中获得源基站的用户面隧道终端标识TEID;
确认报文回复模块,用于基于所述源基站的TEID,向所述源基站回复确认报文。
11.根据权利要求10所述的装置,其特征在于,所述目标前转报文封装在用户面通用分组无线业务隧道协议GTPU数据包中;
所述TCP代理报文判断模块包括:
目标前转报文长度确定子模块,用于从所述GTPU数据包的头部信息中确定所述目标前转报文的长度;
TCP报文长度确定子模块,用于获取所述目标前转报文中,TCP报文的长度;
差值计算子模块,用于计算所述目标前转报文的长度与所述TCP报文的长度的差值;
TCP代理报文判定子模块,用于若所述差值为源基站的TEID长度,则判定所述目标前转报文为TCP代理报文。
12.根据权利要求11所述的装置,其特征在于,所述TEID获取模块还用于:
获取所述TCP报文后紧挨着的源基站的TEID长度的报文,作为源基站的TEID。
13.根据权利要求10或11或12所述的装置,其特征在于,所述确认报文回复模块还用于:
按照GTPU格式组装确认报文,其中,GTPU头中第5/6/7/8字节用于填写所述源基站的TEID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810991113.0A CN110868744B (zh) | 2018-08-28 | 2018-08-28 | 一种前转数据的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810991113.0A CN110868744B (zh) | 2018-08-28 | 2018-08-28 | 一种前转数据的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110868744A true CN110868744A (zh) | 2020-03-06 |
CN110868744B CN110868744B (zh) | 2021-01-22 |
Family
ID=69651492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810991113.0A Active CN110868744B (zh) | 2018-08-28 | 2018-08-28 | 一种前转数据的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110868744B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111615148A (zh) * | 2020-05-18 | 2020-09-01 | 京信通信系统(中国)有限公司 | 基站tcp数据传输处理方法、装置和基站 |
CN111935020A (zh) * | 2020-09-22 | 2020-11-13 | 四川科道芯国智能技术股份有限公司 | 报文生成方法及电路及存储介质 |
CN113766580A (zh) * | 2020-06-03 | 2021-12-07 | 大唐移动通信设备有限公司 | 4g与5g网络互切换的实现方法、装置及存储介质 |
WO2022028242A1 (zh) * | 2020-08-04 | 2022-02-10 | 大唐移动通信设备有限公司 | 基于mbms业务的切换方法、装置及计算机可读存储介质 |
WO2022033349A1 (zh) * | 2020-08-10 | 2022-02-17 | 华为技术有限公司 | 序列号的指示、确定方法及装置 |
CN114337936A (zh) * | 2020-09-30 | 2022-04-12 | 上海华为技术有限公司 | 确定收发窗口不一致的方法,装置以及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132630A (zh) * | 2006-08-22 | 2008-02-27 | 北京三星通信技术研究有限公司 | 基站资源释放的方法 |
CN102595532A (zh) * | 2011-01-07 | 2012-07-18 | 中兴通讯股份有限公司 | 无线中继系统中切换类型选择方法及系统 |
US20160156753A1 (en) * | 2013-04-30 | 2016-06-02 | Nokia Solutions And Networks Oy | Enhanced gprs tunnel protocol tunnel endpoint identifier |
CN106792933A (zh) * | 2015-11-25 | 2017-05-31 | 中国移动通信集团公司 | 一种链路建立方法、基站、网关及系统 |
WO2018139888A1 (ko) * | 2017-01-29 | 2018-08-02 | 엘지전자 주식회사 | 단말 컨텍스트의 관리 방법 및 이를 지원하는 장치 |
-
2018
- 2018-08-28 CN CN201810991113.0A patent/CN110868744B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132630A (zh) * | 2006-08-22 | 2008-02-27 | 北京三星通信技术研究有限公司 | 基站资源释放的方法 |
CN102595532A (zh) * | 2011-01-07 | 2012-07-18 | 中兴通讯股份有限公司 | 无线中继系统中切换类型选择方法及系统 |
US20160156753A1 (en) * | 2013-04-30 | 2016-06-02 | Nokia Solutions And Networks Oy | Enhanced gprs tunnel protocol tunnel endpoint identifier |
CN106792933A (zh) * | 2015-11-25 | 2017-05-31 | 中国移动通信集团公司 | 一种链路建立方法、基站、网关及系统 |
WO2018139888A1 (ko) * | 2017-01-29 | 2018-08-02 | 엘지전자 주식회사 | 단말 컨텍스트의 관리 방법 및 이를 지원하는 장치 |
Non-Patent Citations (2)
Title |
---|
HUAWEI: ""Impact of Stand-alone L-GW support"", 《3GPP TSG SA WG2 MEETING #80,S2-103495》 * |
NOKIA, ALCATEL-LUCENT SHANGHAI BELL: ""Discussion on solutions for TCP optimization"", 《3GPP TSG-RAN WG3 MEETING #95,R3-170567》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111615148A (zh) * | 2020-05-18 | 2020-09-01 | 京信通信系统(中国)有限公司 | 基站tcp数据传输处理方法、装置和基站 |
CN111615148B (zh) * | 2020-05-18 | 2023-09-26 | 京信网络系统股份有限公司 | 基站tcp数据传输处理方法、装置和基站 |
CN113766580A (zh) * | 2020-06-03 | 2021-12-07 | 大唐移动通信设备有限公司 | 4g与5g网络互切换的实现方法、装置及存储介质 |
CN113766580B (zh) * | 2020-06-03 | 2022-06-21 | 大唐移动通信设备有限公司 | 4g与5g网络互切换的实现方法、装置及存储介质 |
WO2022028242A1 (zh) * | 2020-08-04 | 2022-02-10 | 大唐移动通信设备有限公司 | 基于mbms业务的切换方法、装置及计算机可读存储介质 |
WO2022033349A1 (zh) * | 2020-08-10 | 2022-02-17 | 华为技术有限公司 | 序列号的指示、确定方法及装置 |
CN111935020A (zh) * | 2020-09-22 | 2020-11-13 | 四川科道芯国智能技术股份有限公司 | 报文生成方法及电路及存储介质 |
CN114337936A (zh) * | 2020-09-30 | 2022-04-12 | 上海华为技术有限公司 | 确定收发窗口不一致的方法,装置以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110868744B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110868744B (zh) | 一种前转数据的处理方法和装置 | |
US10129795B2 (en) | Data transfer management in a radio communications network | |
JP4991011B2 (ja) | 無線装置とネットワーク間のデータユニットのシーケンスの送信のための無線通信方法 | |
TWI342139B (en) | Method and network node for data transfer management in a radio communications network | |
JP5174922B2 (ja) | 移動通信システムにおけるハンドオーバのための方法及び装置 | |
KR101387475B1 (ko) | 복수의 네트워크 엔터티를 포함하는 이동 통신시스템에서의 데이터 처리 방법 | |
EP2225902B1 (en) | Mobile communication system and method for processing handover procedure thereof | |
JP5099383B2 (ja) | ハンドオーバ処理 | |
KR100802619B1 (ko) | 무선 링크 제어 프로토콜에 따르는 수신기에서의 알엘씨데이터 수신 윈도우 처리 방법 | |
US8797998B2 (en) | Method and device for indicating data re-transmission when area switching in LTE system | |
US8155083B2 (en) | Technique for configuring link layer entities for a handover | |
US8391151B2 (en) | Inter-network-nodes flow control | |
EP2026618B1 (en) | method and apparatus for handover with data forwarding from source to target evolved node-b in a wireless telecommunications network | |
JP4978141B2 (ja) | 無線通信システム及び無線基地局及び無線通信制御方法 | |
US8588784B2 (en) | Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data | |
KR101233171B1 (ko) | 무선 네트워크에서의 제어 정보 송수신 방법 | |
US20100091734A1 (en) | Packet forwarding method in the case of the handover between base stations | |
EP3614733A1 (en) | Switching method, access network device and terminal device | |
EP2026611A1 (en) | Handover method and apparatus in a wireless telecommunications network | |
EP2026620A1 (en) | Handover method and apparatus in a wireless telecommunications network | |
CN110719614B (zh) | 一种数据传输方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |