一种报文处理方法及装置与流程

文档序号:11064774阅读:396来源:国知局
一种报文处理方法及装置与制造工艺

本发明涉及无线通信技术领域,尤其涉及一种报文处理方法及装置。



背景技术:

随着数据业务的不断发展,用户对业务质量的需求越来越高。对于无线领域的分组域数据来说,一般采用TCP(Transmission Control Protocol,传输控制协议)协议进行传输,因此提升TCP协议在无线承载中的性能变得越来越重要。

在TCP协议中,主要是通过采用基于确认的方式来保证传输数据的可靠性。TCP第一设备在发出报文后,会启动重传定时器。如果在重传定时器的RTO(Retransmission Time Out,重传超时时间)到达之前没有收到第二设备的响应,TCP第一设备则需要重发该报文。其中,RTO的大小跟TCP链路的RTT(Round Trip Time,环回时延)有关。

为了精确计算TCP链路的环回时延,TCP协议提供了时间戳选项。具体的,TCP第一设备和第二设备在握手环节协商好双方是否支持时间戳选项。如果双方都支持时间戳选项,TCP第一设备在其发送报文中携带本端的时间戳,TCP第二设备在其响应报文中携带接收的时间戳并发送给TCP第一设备。这样,TCP第一设备根据发送时间戳和收到响应报文的时间,即可得到RTT。

对于无线网络来讲,空口资源十分有限。如果每个TCP报文都携带时间戳选项,尤其是对于长度比较小的TCP报文来讲,这可能是比较大的开销,进而造成了空口资源的浪费。



技术实现要素:

有鉴于此,本发明提供一种报文处理方法及装置,能够节约空口资源。

为解决上述技术问题,本发明提供一种报文处理方法,包括:

接收第一设备发送的传输控制协议TCP报文;

确定所述TCP报文是否包括时间戳信息;

若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息;

向第二设备发送所述重新组装后的TCP报文。

优选的,所述确定所述TCP报文是否包括时间戳信息包括:

确定所述TCP报文是否为TCP握手报文;

若所述报文是TCP握手报文,则确定所述TCP握手报文是否包括时间戳信息;若所述TCP握手报文包括时间戳信息,则确定所述TCP报文包括时间戳信息。

优选的,所述确定所述TCP报文是否为TCP握手报文包括:

获取所述TCP报文的同步标志字段的信息;若根据所述同步标志字段的信息确定所述同步标志字段被标识为有效状态,确定所述TCP报文是TCP握手报文;

所述确定所述TCP握手报文是否包括时间戳信息包括:

获取所述TCP握手报文的选项字段的信息;若根据所述选项字段的信息确定所述选项字段包括时间戳选项,则确定所述TCP握手报文中包括时间戳信息。

优选的,所述若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息包括:

删除所述TCP报文的时间戳选项。

优选的,所述若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息还包括:

对删除了时间戳选项的TCP报文进行循环冗余校验码CRC校验;

根据CRC校验结果获得重新组装后的TCP报文。

优选的,所述TCP握手报文包括:TCP连接报文和/或TCP连接确认报文。

第二方面,本发明的一种报文处理方法,包括:

接收报文处理装置发送的TCP报文;

确定所述TCP报文是否包括时间戳信息;

当确定所述TCP报文不包括时间戳信息时,发送针对所述TCP报文的 TCP响应报文,在所述TCP响应报文中不包括本端的时间戳信息。

优选的,所述确定所述TCP报文是否包括时间戳信息包括:

确定所述TCP报文是否为TCP握手报文;

若所述TCP报文是TCP握手报文,获取所述TCP握手报文的选项字段的信息;若根据所述选项字段的信息确定所述选项字段包括时间戳选项,则确定所述TCP报文包括时间戳信息。

优选的,当所述TCP握手报文是TCP连接报文时,所述TCP响应报文是TCP连接确认报文;当所述TCP握手报文是TCP连接确认报文时,所述TCP响应报文是ACK报文。

第三方面,本发明的一种报文处理装置,包括:

接收单元,用于接收第一设备发送的传输控制协议TCP报文;

确定单元,用于确定所述TCP报文是否包括时间戳信息;

处理单元,用于若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息;

发送单元,用于向第二设备发送所述重新组装后的TCP报文。

优选的,所述确定单元包括:

第一确定模块,用于确定所述TCP报文是否为TCP握手报文;

第二确定模块,用于在所述TCP报文是TCP握手报文时,则确定所述TCP握手报文是否包括时间戳信息;若所述TCP握手报文包括时间戳信息,则确定所述TCP报文包括时间戳信息。

优选的,所述第一确定模块,包括:

获取子模块,用于获取所述TCP报文的同步标志字段的信息;

确定子模块,用于在根据所述同步标志字段的信息确定所述同步标志字段被标识为有效状态时,确定所述TCP报文是TCP握手报文;

所述获取子模块还用于,获取所述TCP握手报文的选项字段的信息;

所述确定子模块还用于,在根据所述选项字段的信息确定所述选项字段包括时间戳选项时,则确定所述TCP握手报文中包括时间戳信息。

优选的,所述处理单元具体用于:

删除所述TCP报文的时间戳选项。

优选的,所述处理单元还用于,

对删除了时间戳选项的TCP报文进行循环冗余校验码CRC校验;根据CRC校验结果获得重新组装后的TCP报文。

第四方面,本发明的一种报文处理装置,包括:

接收单元,用于接收报文处理装置发送的TCP报文;

确定单元,用于确定所述TCP报文是否包括时间戳信息;

发送单元,用于当确定所述TCP报文不包括时间戳信息时,发送针对所述TCP报文的TCP响应报文,在所述TCP响应报文中不包括本端的时间戳信息。

优选的,所述确定单元包括:

获取模块,用于获取所述TCP报文的同步标志字段的信息以及获取所述TCP握手报文的选项字段的信息;

确定模块,用于在根据所述同步标志字段的信息确定所述同步标志字段被标识为有效状态时,确定所述TCP报文是TCP握手报文;在所述报文是TCP握手报文时,若根据所述选项字段的信息确定所述选项字段包括时间戳选项,则确定所述TCP握手报文中包括时间戳信息。

优选的,当所述TCP握手报文是TCP连接报文时,所述TCP响应报文是TCP连接确认报文;当所述TCP握手报文是TCP连接确认报文时,所述TCP响应报文是ACK报文。

本发明的上述技术方案的有益效果如下:

在本发明实施例中,当收到第一设备的TCP报文并确定该报文是否包括时间戳信息。若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息,并向第二设备发送所述重新组装后的TCP报文。因此,当第二设备收到该重新组装后的TCP报文后可确定第一设备不支持时间戳选项,因此,利用本发明实施例的方案第二设备在后续的发送给第一设备的报文中即可不包括时间戳选项,从而避免了现有技术中在每个TCP报文都必须包括时间戳选项的缺陷,因而与现有技术相比本发明实施例的方案节约了空口资源。

附图说明

图1为本发明实施例一的报文处理方法的流程图;

图2为现有技术中TCP报文格式的示意图;

图3为本发明实施例二的报文处理方法的流程图;

图4为本发明实施例三的报文处理方法的流程图;

图5为本发明实施例四的报文处理方法的流程图;

图6为本发明实施例五的报文处理装置的示意图;

图7为本发明实施例六的报文处理装置的示意图。

具体实施方式

下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

如图1所示,本发明实施例一的报文处理方法可由报文处理装置执行。其中所述报文处理装置可以为RNC(Radio Network Controller,无线网络控制器),UE(User Equipment,用户设备)等网络设备。所述方法包括:

步骤11、接收第一设备发送的TCP报文。

根据现有技术的描述,TCP协议是面向连接的可靠传输协议,两个设备或进程互发数据之前需要建立连接。在此,将第一设备和第二设备之间基于TCP协议发送的报文称为TCP报文。其中,所述第一设备和第二设备可以是客户端或者服务器。

步骤12、确定所述TCP报文是否包括时间戳信息。

根据TCP协议的规定,TCP报文格式如图2所示,包括:源端口号、目的端口号、序号、确认序号、偏移、保留、控制位、窗口、校验、紧急指针、选项、填充等字段。在控制位字段中,包括URG(紧急标志)、ACK(确认标志)、PSH(推标志)、RST(复位标志)、SYN(同步标志)、FIN(结束标志)等标志。在选项(Option)字段,包括时间戳选项(timestamps)等选项。

其中,第一设备和第二设备之间建立连接需要经过三次握手:首先,第一设备向第二设备发送TCP连接报文(SYN报文),第二设备收到后向第一设备发送TCP连接确认报文(SYN ACK报文),最后第一设备向第二设备发送TCP 确认报文(ACK报文)。其中,所述TCP连接报文中,根据TCP的报文格式,标志字段中的SYN(同步标志)字段被标记1,表示该字段有效;所述TCP连接确认报文中,根据TCP的报文格式,SYN(同步标志)字段被标记1,表示该字段有效,同时ACK(确认标志)字段也被标记为1,表示该字段有效;所述TCP确认报文中,标志字段不进行设置。

根据现有技术的内容,其中TCP连接报文和TCP连接确认报文具有携带时间戳信息的能力,因此,在本发明实施例中可主要针对这两种类型的报文进行处理。由于这两个报文是发生在两个设备建立连接的过程中,因此,在本发明实施例中,将TCP连接报文和TCP连接确认报文统称为TCP握手报文。

因此,在此步骤中可首先确定所述TCP报文是否为TCP握手报文。根据以上可以看出,在建立连接过程中,在TCP连接报文和TCP连接确认报文中的SYN字段都被标记为1,因此,在本发明实施例中可通过判断SYN字段是否有效来确定第一设备和第二设备之间传输的报文是否为TCP握手报文。具体的,首先获取所述TCP报文的SYN字段的信息,若根据所述同步标志字段的信息确定所述SYN字段被标识为有效状态即标记为1,确定所述TCP报文是TCP握手报文。

参考图2所示的TCP报文格式,在Option(选项)字段中包括时间戳选项(timestamps)。根据现有技术的描述,若第一设备或者第二设备支持时间戳选项,将会设置自身发送的TCP报文的时间戳选项。因此,在此步骤中,可获取所述TCP握手报文的选项字段的信息,若根据所述选项字段的信息确定所述选项字段包括时间戳选项,则确定所述TCP握手报文中包括时间戳信息,否则确定所述TCP握手报文中不包括时间戳信息。

根据以上的描述可以看出,其中第一设备可以作为发送端也可以作为接收端,第二设备也是同样。例如,当TCP握手报文是TCP连接报文时,第一设备是发送端,第二设备是接收端;当TCP握手报文是TCP连接确认报文时,第二设备是发送端,第一设备是接收端。

步骤13、若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息。

当确定了所述TCP报文包括时间戳信息后,通过删除所述TCP报文的时 间戳选项重新组装所述TCP报文。具体的,当确定TCP握手报文中有时间戳信息后,也即包括时间戳选项后,可将所述TCP握手报文中的时间戳选项删除,从而使得重新组装后的TCP握手报文中不包括时间戳信息。

步骤14、向第二设备发送所述重新组装后的TCP报文。

在获得了重新组装后的TCP报文后,即可将第二设备发送重新组装后的TCP报文,使得第二设备在其后续发送的TCP报文不包括时间戳信息。

由上可以看出,在本发明实施例中,当收到第一设备的TCP报文并确定该报文是否包括时间戳信息。若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息,并向第二设备发送所述重新组装后的TCP报文。因此,当第二设备收到该重新组装后的TCP报文后可确定第一设备不支持时间戳选项,因此,利用本发明实施例的方案第二设备在后续的发送给第一设备的报文中即可不包括时间戳选项,从而避免了现有技术中在每个TCP报文都必须包括时间戳选项的缺陷,因而与现有技术相比本发明实施例的方案节约了空口资源。

如图3所示,本发明实施例二的报文处理方法,由客户端或者服务器执行,包括:

步骤21、接收报文处理装置发送的TCP报文。

其中,所述报文处理装置可以是RNC或者UE等网络设备,所述TCP报文的含义可参照前述实施例的描述。

步骤22、确定所述TCP报文是否包括时间戳信息。

同样,在此步骤中,可首先确定所述TCP报文是否为TCP握手报文。若所述TCP报文是TCP握手报文,获取所述TCP握手报文的选项字段的信息;若根据所述选项字段的信息确定所述选项字段包括时间戳选项,则确定所述TCP报文包括时间戳信息。具体的确定该TCP报文是否为TCP握手报文的方式可参照方法实施例一的描述。

步骤23、当确定所述TCP报文不包括时间戳信息时,发送针对所述TCP报文的TCP响应报文,在所述TCP响应报文中不包括本端的时间戳信息。

如前所述,在本发明实施例中主要是针对TCP握手报文的处理,而TCP握手报文可以包括SYN报文或者SYN ACK报文。那么,在此实施例中,当 所述TCP握手报文是TCP连接报文时,所述TCP响应报文是TCP连接确认报文;当所述TCP握手报文是TCP连接确认报文时,所述TCP响应报文是ACK报文。

由上可以看出,在本发明实施例中,当收到第一设备的TCP报文并确定该报文是否包括时间戳信息。若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息,并向第二设备发送所述重新组装后的TCP报文。因此,当第二设备收到该重新组装后的TCP报文后可确定第一设备不支持时间戳选项,因此,利用本发明实施例的方案第二设备在后续的发送给第一设备的报文中即可不包括时间戳选项,从而避免了现有技术中在每个TCP报文都必须包括时间戳选项的缺陷,因而与现有技术相比本发明实施例的方案节约了空口资源。

如图4所示,本发明实施例三的报文处理方法,由RNC执行,包括:

步骤31、建立无线网络连接时,RNC接收上行TCP报文。

步骤32、RNC对该TCP报文头格式进行解析。经解析,若该TCP报文是SYN报文或者SYN ACK报文,则执行步骤33;否则执行步骤36。

在本发明实施例中,解析所述TCP报文的头部信息,在其头部的标志字段中仅当SYN字段为1时,判断该TCP报文是SYN报文;在其头部的标志字段中当SYN字段为1、ACK字段为1时,判断该TCP报文是SYN ACK报文。

步骤33、判断该SYN报文或者SYN ACK报文是否携带有时间戳信息。若是,则执行步骤34,否则执行步骤36。

根据前述实施例的描述,读取SYN报文中的选项字段,若该选项字段包括时间戳选项,则判断该SYN报文携带有时间戳信息。同样的,或者读取SYN ACK报文的选项字段,若该选项字段包括时间戳选项,则判断该SYN ACK报文携带有时间戳信息。

步骤34、重新组装该SYN报文或SYN ACK报文。具体的,包括删除该SYN报文中的时间戳选项中的内容,对该SYN报文的头部重新进行CRC校验等;删除该SYN ACK报文中的时间戳选项中的内容,对该SYN ACK报文的头部重新进行CRC校验等。

步骤35、将重新组装后的SYN报文或SYN ACK报文发送给核心网。

这样,在接收设备收到RNC发送的重新组装后的SYN报文或SYN ACK报文后,在接收设备发送的针对SYN报文或SYN ACK报文的响应报文中将不会包括时间戳信息。

步骤36、将该TCP报文发送给核心网。

由上可以看出,利用本发明实施例的方案,与现有技术相比节约了空口资源,提高了无线传输的性能。

如图5所示,本发明实施例四的报文处理方法,由UE执行,包括:

步骤41、建立无线网络连接时,UE接收到上行TCP报文。

步骤42、UE对该TCP报文头格式进行解析。经解析,若该TCP报文是SYN报文或者SYN ACK报文,则执行步骤43;否则执行步骤46。

在本发明实施例中,解析所述TCP报文的头部信息,在其头部的标志字段中仅当SYN字段为1时,判断该TCP报文是SYN报文;在其头部的标志字段中当SYN字段为1、ACK字段为1时,判断该TCP报文是SYN ACK报文。

步骤43、判断该SYN报文或者SYN ACK报文是否携带有时间戳信息。若是,则执行步骤44,否则执行步骤46。

根据前述实施例的描述,读取SYN报文中的选项字段,若该选项字段包括时间戳选项,则判断该SYN报文携带有时间戳信息。同样的,或者读取SYN ACK报文的选项字段,若该选项字段包括时间戳选项,则判断该SYN ACK报文携带有时间戳信息。

步骤44、重新组装该SYN报文或SYN ACK报文。具体的,包括删除该SYN报文中的时间戳选项中的内容,对该SYN报文的头部重新进行CRC校验等;删除该SYN ACK报文中的时间戳选项中的内容,对该SYN ACK报文的头部重新进行CRC校验等。

步骤45、将重新组装后的SYN报文或SYN ACK从空口接口发送到网络侧。

这样,在接收设备收到重新组装后的SYN报文或SYN ACK报文后,在接收设备发送的针对SYN报文或SYN ACK报文的响应报文中将不会包括时 间戳信息。

步骤46、将该TCP报文发送给网络侧。

由上可以看出,利用本发明实施例的方案,与现有技术相比节约了空口资源,提高了无线传输的性能。

如图6所示,本发明实施例五的报文处理装置,包括:

接收单元61,用于接收第一设备发送的传输控制协议TCP报文;确定单元62,用于确定所述TCP报文是否包括时间戳信息;处理单元63,用于若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息;发送单元64,用于向第二设备发送所述重新组装后的TCP报文。

其中,所述确定单元62包括:第一确定模块,用于确定所述TCP报文是否为TCP握手报文;第二确定模块,用于在所述TCP报文是TCP握手报文时,则确定所述TCP握手报文是否包括时间戳信息;若所述TCP握手报文包括时间戳信息,则确定所述TCP报文包括时间戳信息。

具体的,所述第一确定模块,包括:获取子模块,用于获取所述TCP报文的同步标志字段的信息;确定子模块,用于在根据所述同步标志字段的信息确定所述同步标志字段被标识为有效状态时,确定所述TCP报文是TCP握手报文;所述获取子模块还用于,获取所述TCP握手报文的选项字段的信息;所述确定子模块还用于,在根据所述选项字段的信息确定所述选项字段包括时间戳选项时,则确定所述TCP握手报文中包括时间戳信息。

其中,所述处理单元63具体用于:删除所述TCP报文的时间戳选项。也即在本发明实施例中是删除所述TCP握手报文中的时间戳选项。进一步的,为了提高TCP报文的安全性,所述处理单元63还用于,对删除了时间戳选项的TCP报文进行循环冗余校验码CRC校验;根据CRC校验结果获得重新组装后的TCP报文。也即在本发明实施例中是对删除了时间戳选项的TCP握手报文进行循环冗余校验码CRC校验,然后根据CRC校验结果获得重新组装后的TCP握手报文。

如前所述,在本发明实施例中,所述TCP握手报文包括:TCP连接报文和/或TCP连接确认报文。

其中,本发明实施例装置的工作原理可参照前述方法实施例的描述,该装置可位于RNC或UE等网络设备中。

由上可以看出,在本发明实施例中,当收到第一设备的TCP报文并确定该报文是否包括时间戳信息。若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息,并向第二设备发送所述重新组装后的TCP报文。因此,当第二设备收到该重新组装后的TCP报文后可确定第一设备不支持时间戳选项,因此,利用本发明实施例的方案第二设备在后续的发送给第一设备的报文中即可不包括时间戳选项,从而避免了现有技术中在每个TCP报文都必须包括时间戳选项的缺陷,因而与现有技术相比本发明实施例的方案节约了空口资源。

如图7所示,本发明实施例六的报文处理装置,包括:

接收单元71,用于接收报文处理装置发送的TCP报文;确定单元72,用于确定所述TCP报文是否包括时间戳信息;发送单元73,用于当确定所述TCP报文不包括时间戳信息时,发送针对所述TCP报文的TCP响应报文,在所述TCP响应报文中不包括本端的时间戳信息。

其中,所述确定单元72包括:获取模块,用于获取所述TCP报文的同步标志字段的信息以及获取所述TCP握手报文的选项字段的信息;确定模块,用于在根据所述同步标志字段的信息确定所述同步标志字段被标识为有效状态时,确定所述TCP报文是TCP握手报文;在所述报文是TCP握手报文时,若根据所述选项字段的信息确定所述选项字段包括时间戳选项,则确定所述TCP握手报文中包括时间戳信息。

如前所述,当所述TCP握手报文是TCP连接报文时,所述TCP响应报文是TCP连接确认报文;当所述TCP握手报文是TCP连接确认报文时,所述TCP响应报文是ACK报文。

其中,本发明实施例装置的工作原理可参照前述方法实施例的描述,该装置可位于客户端或者服务器中。

由上可以看出,在本发明实施例中,当收到第一设备的TCP报文并确定该报文是否包括时间戳信息。若所述TCP报文包括时间戳信息,则重新组装所述TCP报文,其中重新组装后的TCP报文不包括时间戳信息,并向第二设 备发送所述重新组装后的TCP报文。因此,当第二设备收到该重新组装后的TCP报文后可确定第一设备不支持时间戳选项,因此,利用本发明实施例的方案第二设备在后续的发送给第一设备的报文中即可不包括时间戳选项,从而避免了现有技术中在每个TCP报文都必须包括时间戳选项的缺陷,因而与现有技术相比本发明实施例的方案节约了空口资源。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1