掌桥专利:专业的专利平台
掌桥专利
首页

报文处理方法及系统

文献发布时间:2023-06-19 11:27:38


报文处理方法及系统

技术领域

本申请涉及通信设备技术领域,具体而言,涉及一种报文处理方法及系统。

背景技术

路由器是一种通信设备,它主要工作在传输控制协议/网际协议(TransferControl Protocol/Internet Protocol,TCP/IP)的网络层,其大致的工作流程为:针对待转发的报文,首先解析出该报文中的目的IP地址,然后根据路由表,确定出与目的端设备连接的路由器,最后将该报文转发给所述与目的端设备连接的路由器,最终该报文会被转发至所述目的IP地址对应的目的设备。

随着互联网技术的飞速发展,需要利用路由器转发的报文数量越来越多,然而,现有技术中与源端设备连接的路由器,在接收到待转发的报文之后,直接将其转发至与目的端设备连接的路由器,继而在网络带宽有限的情况下,会存在报文传输效率低的弊端。

发明内容

鉴于此,本申请实施例的目的在于提供一种报文处理方法及系统,以在网络带宽一定的情况下,提高报文的传输效率。

第一方面,本申请实施例提供一种报文处理方法,所述方法包括:与源端设备连接的源路由器接收所述源端设备发送的待转发报文;对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文;将所述压缩后的报文转发至与目的端设备连接的目的路由器;所述目的路由器接收所述压缩后的报文,对所述压缩后的报文解压缩后,得到所述待转发报文,将所述待转发报文发送到所述目的端设备。

在上述实现过程中,与源端设备连接的源路由器在接收到待转发报文之后,通过对待转发报文中的有效载荷进行压缩,并将压缩后的报文转发至与目的端设备连接的目的路由器,由于压缩后的报文的大小明显小于待转发报文,继而使得报文传输效率得到有效提高;目的路由器将压缩后的报文解压缩后再发送给目的端设备,以使目的端设备无需对接收到的报文进行解压,就能从接收到的报文中快速提取出有效载荷。

基于第一方面,在一种可能的设计中,在对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文之前,所述方法还包括:所述源路由器确定所述待转发报文满足预设的匹配规则;和/或确定所述有效载荷的长度的值大于等于预设长度。

在有效载荷比较小的情况下,对其进行压缩,压缩前后的数据大小不会相差太多;其次,若对不需要被压缩的报文进行压缩会增加路由器的压力,因此,在上述实现过程中,只将需要被压缩的报文进行压缩,继而避免压缩不需要被压缩的报文而增加路由器的压力的弊端,以及在确定报文中的有效载荷的长度大于等于预设长度时,才会对报文中的有效载荷进行压缩,继而避免对较小的有效载荷进行压缩,从而在保证报文传输效率的基础上,降低路由器的处理压力。

基于第一方面,在一种可能的设计中,所述对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文,包括:从所述待转发报文中,提取出所述有效载荷;对所述有效载荷进行压缩,得到压缩后的数据;利用所述压缩后的数据和压缩标记,替换所述待转发报文中的有效载荷,得到所述压缩后的报文。

在上述实现过程中,利用压缩后的数据和压缩标记,替换待转发报文中的有效载荷,以便于接收到压缩后的报文的路由器能根据该压缩标记,快速、且准确地确定压缩后的报文为需要被解压的报文。

基于第一方面,在一种可能的设计中,在得到压缩后的报文之后,所述方法还包括:所述源路由器确定出所述压缩后的报文的长度的值;所述源路由器将所述压缩后的报文中的第一长度字段的值,重置为所述压缩后的报文的长度的值,得到初步重置后的报文;其中,所述第一长度字段为所述压缩后报文中的IP首部中的字段;所述第一长度字段用于记录所述压缩后的报文的长度;所述将所述压缩的后报文转发至与目的端设备连接的目的路由器,包括:将所述初步重置后的报文转发至所述目的路由器。

在上述实现过程中,将压缩后的报文中的第一长度字段的值,重置为压缩后的报文的长度的值,得到初步重置后的报文,继而保证路由器在对待转发报文对应的报文(即初步重置后的报文)进行转发时,即使路由器中还存储有其它待转发的报文,也不会错误地将与待转发报文无关的报文一并转发至与目的端设备连接的目的路由器,从而保证报文转发的准确性。

基于第一方面,在一种可能的设计中,在得到初步重置后的报文之后,所述方法还包括:所述源路由器对所述初步重置后的报文进行校验计算,得到第一校验值;所述源路由器将所述初步重置后的报文中的IP首部的校验字段的值,重置为所述第一校验值,得到再次重置后的报文;所述将所述初步重置后的报文转发至所述目的路由器,包括:将所述再次重置后的报文转发至所述目的路由器。

在上述实现过程中,对初步重置后的报文进行校验计算,得到第一校验值,并将初步重置后的报文中的IP首部的校验字段的值,重置为第一校验值,以对校验字段的值进行更新,保证校验字段的值的准确性,继而保证再次重置后的报文能成功通过与目的端设备连接的路由器的校验,不会被与目的端设备连接的路由器丢弃,从而保证报文的正常转发。

基于第一方面,在一种可能的设计中,所述初步重置后的报文属于用户数据报协议UDP报文,所述源路由器对所述初步重置后的报文进行校验计算,得到第一校验值,包括:所述源路由器将所述初步重置后的报文中的第二长度字段的值,重置为所述压缩报文中与所述有效载荷对应的压缩数据的长度的值与8之和,得到中间报文;其中,所述第二长度字段为所述初步重置后的报文中的UDP首部中的字段;所述第二长度字段用于记录所述压缩数据和所述UDP首部的总长度;所述源路由器对所述中间报文进行校验计算,得到所述第一校验值;所述源路由器将所述初步重置后的报文中的IP首部的校验字段的值,重置为所述第一校验值,得到再次重置后的报文,包括:所述源路由器将所述中间报文中的IP首部的所述校验字段的值,重置为所述第一校验值,得到所述再次重置后的报文。

由于UDP报文中的UDP首部中的第二长度字段会记录报文中的数据部分和UDP首部的总长度,值得一提的是,UDP首部的总长度为8,因此,在上述实现过程中,在初步重置后的报文属于UDP报文时,通过将初步重置后的报文中的第二长度字段的值,重置为压缩后的数据的长度的值与8之和,继而保证第一校验值的准确性,从而保证报文的正常转发。

基于第一方面,在一种可能的设计中,所述方法包括:从所述压缩的报文中,提取出压缩后的数据;将所述压缩后的数据进行解压,得到所述有效载荷;利用所述有效载荷,替换所述压缩后的报文中的所述压缩后的数据,得到所述待转发报文。

在上述实现过程中,通过对压缩后的报文中的压缩后的数据进行解压,得到有效载荷,并利用有效载荷替换压缩后的报文中的压缩后的数据,得到待转发报文,最后将待转发报文转发至目的端设备,以使目的端设备无需对接收到的报文进行解压,就能从接收到的报文中快速提取出有效载荷。

基于第一方面,在一种可能的设计中,所述利用所述有效载荷,替换所述压缩后的报文中的所述压缩后的数据,得到所述待转发报文,包括:利用所述有效载荷,替换所述压缩后的报文中的所述压缩后的数据,得到解压后的报文;确定出所述解压后的报文的长度的值;将所述解压后的报文中的第三长度字段的值,重置为所述解压后的报文的长度的值,得到所述待转发报文;其中,所述第三长度字段为所述解压后报文中的IP首部中的字段;所述第三长度字段用于记录所述解压后的报文的长度。

在上述实现过程中,通过将解压后的报文中的第三长度字段的值,重置为解压缩后的报文的长度的值,得到待转发的报文,继而保证路由器在对压缩后的报文对应的报文(即待转发报文)进行转发时,不会将与压缩后的报文无关的报文一并转发,保证报文转发的准确性。

基于第一方面,在一种可能的设计中,将所述解压后的报文中的第三长度字段的值,重置为所述解压后的报文的长度的值,得到所述待转发报文,包括:将所述解压后的报文中的所述第三长度字段的值,重置为所述解压后的报文的长度的值,得到初步处理后的报文;对所述初步处理后的报文进行校验计算,得到第二校验值;将所述初步处理后的报文中的IP首部的校验字段的值,重置为所述第二校验值,得到所述待转发报文。

在上述实现过程中,通过对初步处理后的报文进行校验计算,得到第二校验值,并将初步处理后的报文中的IP首部的校验字段的值,重置为第二校验值,得到待转发报文,继而保证待转发报文能够成功通过目的端设备的校验,从而避免目的端丢弃再次处理后的报文,保证报文的正常转发。

基于第一方面,在一种可能的设计中,所述初步处理后的报文属于用户数据报协议UDP报文,所述对所述初步处理后的报文进行校验计算,得到第二校验值,包括:将所述初步处理后的报文中的第四长度字段的值,重置为所述有效载荷的长度的值与8之和,得到修改后的报文;其中,所述第四长度字段为所述初步处理后的报文中的UDP首部中的字段;所述第四长度字段用于记录所述有效载荷和所述UDP首部的总长度;对所述修改后的报文进行校验计算,得到所述第二校验值;所述将所述初步处理后的报文中的IP首部的校验字段的值,重置为所述第二校验值,得到所述待转发报文,包括:将所述修改后的报文中的IP首部的所述校验字段的值,重置为所述第二校验值,得到所述待转发报文。

由于UDP报文中的UDP首部中的第四长度字段会记录报文中的数据部分和UDP首部的总长度,值得一提的是,UDP首部的总长度为8,因此,在上述实现过程中,在初步处理后的报文属于UDP报文时,通过将初步处理后的报文中的第四长度字段的值,重置为解压后的数据的长度的值与8之和,继而保证第二校验值的准确性,从而保证报文的正常转发。

第二方面,本申请实施例提供一种报文处理系统,所述系统包括:与源端设备连接的源路由器,以及与目的端设备连接的目的路由器;所述源路由器接收源端设备发送的待转发报文;对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文;将所述压缩后的报文转发至所述目的路由器;所述目的路由器接收所述压缩后的报文,对所述压缩后的报文解压缩后,得到所述待转发报文,将所述待转发报文发送到所述目的端设备。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种报文处理系统的结构示意图。

图2为本申请实施例提供的一种报文处理方法的流程示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1为本申请实施例提供的一种报文处理系统的结构示意图,所述系统包括:与源端设备连接的源路由器,与目的端设备连接的目的路由器,所述源路由器和所述目的路由器通信连接。

所述源路由器接收所述源端设备发送的待转发报文;对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文;将所述压缩后的报文转发至所述目的路由器。

所述目的路由器接收所述压缩后的报文,对所述压缩后的报文解压缩后,得到所述待转发报文,将所述待转发报文发送到所述目的端设备。

请参照图2,图2为本申请实施例提供的一种报文处理方法的流程图,所述方法应用于图1所述的系统,下面将对图2所示的流程进行详细阐述,所述方法包括步骤S21-S22。

S21:与源端设备连接的源路由器接收所述源端设备发送的待转发报文;对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文;将所述压缩后的报文转发至与目的端设备连接的目的路由器。

S22:所述目的路由器接收所述压缩后的报文,对所述压缩后的报文解压缩后,得到所述待转发报文,将所述待转发报文发送到所述目的端设备。

下面对上述方法进行详细介绍。

S21:与源端设备连接的源路由器接收所述源端设备发送的待转发报文;对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文;将所述压缩后的报文转发至与目的端设备连接的目的路由器。

具体地,为了方便,可以通过步骤A1-A3对步骤S21进行展开阐述。

A1:源路由器接收所述源端设备发送的待转发报文。

A2:源路由器对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文。

A3:源路由器将所述压缩后的报文转发至与目的端设备连接的目的路由器。

下面对步骤A1-A3进行详细阐述。

A1:源路由器接收所述源端设备发送的待转发报文。

在实际实施过程中,A1可以按照如下方式实施,源路由器实时或者不定时地接收源端设备发送的待转发报文。

其中,待转发报文的协议类型可以为传输控制协议(Transfer ControlProtocol,TCP)、用户数据报协议(User Datagram Protocol,UDP)或者其他协议类型。

其中,源端设备为生成待转发报文的设备,待转发报文中的源IP地址为源端设备的网际协议(Internet Protocol,IP)地址。

在接收到待转发报文之后,执行步骤A2。

A2:源路由器对所述待转发报文中的有效载荷进行压缩,得到压缩后的报文。

为了便于接收到源路由器发送的报文的路由器,能快速、且准确地确定接收到的报文是否为需要被解压的报文,因此,作为一种实施方式,A2包括步骤A21-A23。

A21:源路由器从所述待转发报文中,提取出所述有效载荷。

在实际实施过程中,A21可以按照如下方式实施,根据待转发报文的数据结构,从待转发报文的数据部分字段中,提取出有效载荷。

值一提的是,待转发报文的数据部分字段中的内容为有效载荷。

在提取出有效载荷之后,执行步骤A22。

A22:源路由器对所述有效载荷进行压缩,得到压缩后的数据。

其中,对有效载荷进行压缩的具体实施方式为本领域熟知技术,因此,在此不再赘述。

在得到压缩后的数据之后,执行步骤A23。

A23:源路由器利用所述压缩后的数据和压缩标记,替换所述待转发报文中的有效载荷,得到所述压缩后的报文。

其中,压缩标记可以为0,1,a等字符,压缩标记根据实际需求设定,不做具体限制。

在实际实施过程中,A23可以按照如下方式实施,根据待转发报文的数据结构,确定出数据部分字段的位置,继而利用压缩后的数据和预先确定的压缩标记,替换待转发报文中的数据部分字段中的内容,得到压缩后的报文。其中,在本实施例中,压缩标记位于压缩后的数据的左侧,在其他实施例中,压缩标记也可也位于压缩后的数据的右侧。

其中,源路由器也可以在步骤A22之后,才生成步骤A23中所提到的压缩标记。

作为一种实施方式,A2可以按照如下方式实施,根据待转发报文的数据结构,从待转发报文的数据部分字段中,提取出有效载荷,继而对有效载荷进行压缩,得到压缩后的数据,继而利用压缩后的数据,替换待转发报文中的有效载荷,得到压缩后的报文。

在得到压缩后的报文之后,执行步骤A3。

A3:源路由器将所述压缩后的报文转发至与目的端设备连接的目的路由器。

在实际实施过程中,A3按照如下方式实施,根据压缩后的报文的数据结构,从压缩后的报文中,确定出目的IP地址;继而根据目的IP地址和预先存储的路由表,确定出与目的端设备连接的路由器的IP地址;最后根据与目的端设备连接的路由器的IP地址,实时或者不定时地将压缩后的报文转发至与目的端设备连接的目的路由器。

在有效载荷比较小的情况下,对其进行压缩,压缩前后的数据大小不会相差太多,因此,为了在保证报文传输效率的基础上,降低路由器的压缩处理压力,作为一种实施方式,在步骤A2之前,所述方法还包括:确定所述有效载荷的长度的值大于等于预设长度。

其中,预设长度根据实际需求设定,在本实施例中,预设长度的值的取值范围可以为64-1024字节。

值得一提的是,在源路由器转发的报文的数量一定的情况下,预设长度的值越大,需要被源路由器压缩的报文的数量会相对较少,反之较多。

具体地,在获得有效载荷之后,确定出有效载荷的长度的值,继而将有效载荷的长度的值与预设长度的值进行比较,在比较结果表征有效载荷的长度的值大于等于预设长度时,才会执行步骤A2;

反之,在比较结果表征有效载荷的长度的值小于预设长度时,源路由器直接将待转发的报文转发至与目的端设备连接的目的路由器,不会执行步骤A2,以降低源路由器的处理压力。

为了避免压缩不需要被压缩的报文而增加路由器的压力的弊端,因此,作为一种实施方式,在步骤A2之前,所述方法还包括:源路由器确定所述待转发报文满足预设的匹配规则。

具体地,确定所述待转发报文满足预先存储的访问控制列表(Access ControlList,ACL)中的规则;其中,所述ACL用于筛选出需要被压缩的报文。

其中,ACL中的规则根据用户需求设定,其中,用户需求中包括:源IP地址、目的IP地址、源端口、目的端口、TCP标志等中的至少一种信息。

具体地,源路由器在接收到待转发报文之后,根据待转发报文中的目的IP地址和预先存储的路由表,从源路由器的端口中确定出与目的IP地址对应的发送端口,根据发送端口的标识,获取预先存储的与发送端口的标识对应的传输层载荷压缩(TransportPayload Compression,TPC)结构表中的ACL中的规则,继而根据ACL中的规则和待转发报文的数据结构,将待转发报文中的相应内容与ACL中的规则进行比较,在待转发报文中的相应内容与ACL中的规则一致时,确定待转发报文满足预先存储的ACL中的规则;反之,确定待转发报文不满足预先存储的ACL中的规则。

作为一种实施方式,在源路由器中只存储一个ACL中的规则时,则直接获取预先存储的TPC结构表中的ACL中的规则。

值得一提的是,在确定待转发报文不满足预先存储的ACL中的规则时,源路由器直接将待转发报文转发至与目的端设备连接的目的路由器,不会执行步骤A2,以避免对不需要被压缩的报文进行压缩而增加路由器的压力的弊端。

在源路由器中还存储有其它待转发的报文时,为了避免错误地将与待转发报文无关的报文一并转发至与目的端设备连接的目的路由器,以保证报文转发的准确性,因此,作为一种实施方式,在步骤A2之后,所述方法还包括步骤B1-B2。

B1:所述源路由器确定出所述压缩后的报文的长度。

可以理解的是,压缩后的报文的长度的值小于待转发报文的长度的值。

在确定出压缩后的报文的长度的值之后,执行步骤B2。

B2:所述源路由器将所述压缩后的报文中的第一长度字段的值,重置为所述压缩后的报文的长度的值,得到初步重置后的报文;其中,所述第一长度字段为所述压缩后报文中的IP首部中的字段;所述第一长度字段用于记录所述压缩后的报文的长度。

在实际实施过程中,B2可以按照如下方式实施,根据压缩后的报文的数据结构,确定出压缩报文中的第一长度字段的位置,继而利用压缩后的报文的长度的值替换第一长度字段中的内容,得到初步重置后的报文。

步骤A3包括:将所述初步重置后的报文转发至所述与目的端设备连接的目的路由器。

其中,初步重置后的报文和待转发报文中的目的IP地址相同。

为了保证待转发报文中的有效载荷能够正常转发,因此,作为一种实施方式,在步骤B2之后,所述方法还包括步骤C1-C2。

C1:所述源路由器对所述初步重置后的报文进行校验计算,得到第一校验值。

其中,计算报文的检验和的具体实施方式为本领域熟知技术,因此,在此不再赘述。

若初步重置后的报文属于IP报文,则直接对初步重置后的报文进行校验计算,得到第一校验值。

由于UDP报文中的UDP首部中的第二长度字段会记录报文中的数据部分和UDP首部的总长度,因此,在初步重置后的报文属于UDP报文的情况下,为了保证的正常转发,那么,作为一种实施方式,步骤C1包括步骤C11-C12。

C11:所述源路由器将所述初步重置后的报文中的第二长度字段的值,重置为所述压缩报文中与所述有效载荷对应的压缩数据的长度的值与8之和,得到中间报文。其中,所述第二长度字段为所述初步重置后的报文中的UDP首部中的字段;所述第二长度字段用于记录所述压缩数据和所述UDP首部的总长度。

在实际实施过程中,C11可以按照如下方式实施,确定出压缩后的报文中与有效载荷对应的压缩数据的长度的值,其中,压缩数据为步骤A2的实施方式中所提到的压缩后的数据;同时,由于初步重置后的报文中的UDP首部的长度的值为8,继而确定压缩数据的长度的值与8之和,并根据初步重置后的报文的数据结构,确定出初步重置后的报文中的第二长度字段的位置;从而利用压缩数据的长度的值与8之和,替换第二长度字段中的内容,得到中间报文。

在得到中间报文之后,执行步骤C12。

C12:所述源路由器对所述中间报文进行校验计算,得到所述第一校验值。

在得到第一检验和的值之和,执行步骤C2。

C2:所述源路由器将所述初步重置后的报文中的IP首部的校验字段的值,重置为所述第一校验值,得到再次重置后的报文。

若初步重置后的报文属于TCP报文,则C2可以按照如下方式实施,根据初步重置后的报文的数据结构,确定出初步重置后的报文中的IP首部的校验字段的位置;从而利用第一检验和的值替换校验字段中的内容,得到再次重置后的报文。

所述初步重置后的报文属于UDP报文,作为一种实施方式,C2包括:将所述中间报文中的IP首部的所述校验字段的值,重置为所述第一校验值,得到所述再次重置后的报文。

所述将所述初步重置后的报文转发至所述目的路由器,包括:将所述再次重置后的报文转发至所述目的路由器。

其中,值得一提的是,再次重置后的报文和待转发报文中的目的IP地址相同。

为了避免压缩不需要压缩的报文而增加路由器的压力的弊端,因此,作为一种实施方式,在步骤A2之前,所述方法还包括:根据所述待转发报文的协议字段中记载的内容,确定所述待转发报文的协议类型属于预设协议。

其中,所述预设协议根据用户需求设定,在本实施例中,预设协议包括:TCP协议和UDP协议;在其他实施例中,预设协议也可以只包括TCP协议。

具体地,确定出待转发报文的协议类型,继而确定协议类型是否属于预设协议,并在确定协议类型属于TCP协议或者UDP协议时,确定协议类型属于预设协议;反之,确定协议类型不属于预设协议。

值得一提的是,在确定协议类型不属于预设协议时,直接将待转发报文转发至与目的端设备连接的路由器,不会执行步骤A2,以避免压缩不需要压缩的报文而增加路由器的压力的弊端。

作为一种实施方式,在确定所述待转发报文满足预先存储的ACL中的规则之前,所述方法还包括:确定自身已存储所述ACL中的规则。

具体地,源路由器在接收到待转发报文之后,根据待转发报文中的目的IP地址和预先存储的路由表,从源路由器的端口中确定出与目的IP地址对应的发送端口,根据发送端口的标识,获取预先存储的与发送端口的标识对应的存储地址,根据对应的存储地址,查找到TPC结构表中的ACL中的规则时,确定自身已存储ACL中的规则;否则,确定自身未存储ACL中的规则。

在路由器只有一个发送端口的情况下,直接确定自身是否存储有ACL中的规则。

作为一种实施方式,在确定所述待转发报文满足预先存储的ACL中的规则之前,所述方法还包括:确定自身已存储TPC结构表。

具体地,源路由器在接收到待转发报文之后,根据待转发报文中的目的IP地址和预先存储的路由表,从源路由器的端口中确定出与目的IP地址对应的发送端口,根据发送端口的标识,获取预先存储的与发送端口的标识对应的存储地址,根据对应的存储地址,查找到TPC结构表时,确定自身已存储TPC结构表;否则,确定自身未存储TPC结构表。

在源路由器只有一个发送端口的情况下,直接确定自身是否存储有TPC结构表。

作为一种实施方式,在步骤A2之前,所述方法还包括:根据所述待转发报文的数据结构,确定所述待转发报文不为分片报文。

其中,确定待转发报文是否为分片报文的具体实施方式为本领域熟知技术,因此,在此不再赘述。

在源路由器将压缩后的报文转发至与目的端设备连接的目的路由器之后,执行步骤S22。

S22:所述目的路由器接收所述压缩后的报文,对所述压缩后的报文解压缩后,得到所述待转发报文,将所述待转发报文发送到所述目的端设备。

具体地,为了方便,可以通过步骤D1-D3对步骤S22进行展开阐述。

D1:目的路由器接收所述压缩后的报文。

D2:目的路由器对所述压缩后的报文解压缩后,得到所述待转发报文。

D3:目的路由器将所述待转发报文发送到所述目的端设备。

下面对步骤D1-D3进行详细阐述。

D1:目的路由器接收所述压缩后的报文。

在实际实施过程中,D1可以按照如下方式实施,实时或者不定时地接收源路由器发送的压缩后的报文。

在接收到压缩后的报文之后,执行步骤D2。

D2:目的路由器对所述压缩后的报文解压缩后,得到所述待转发报文。

作为一种实施方式,D2包括步骤D21-D23。

D21:从所述压缩的报文中,提取出压缩后的数据。

在实际实施过程中,D21可以按照如下方式实施,根据压缩后的报文的数据结构,确定出数据部分字段在压缩后的报文中的位置,继而根据数据部分字段的位置,继而从压缩后的报文中提取出数据部分字段中的压缩后的数据。

在得到压缩后的数据之后,执行步骤D22。

D22:将所述压缩后的数据进行解压,得到所述有效载荷。

在得到有效载荷之后,执行步骤D23。

D23:利用所述有效载荷,替换所述压缩后的报文中的所述压缩后的数据,得到所述待转发报文。

在实际实施过程中,D23可以按照如下方式实施,根据压缩后的报文的数据结构,确定出数据部分字段在压缩后的报文中的位置,继而利用所述有效载荷,替换所述压缩后的报文中的数据部分字段中的全部内容,得到待转发报文。

作为一种实施方式,D23包括步骤E1-E3。

E1:利用所述有效载荷,替换所述压缩后的报文中的所述压缩后的数据,得到解压后的报文。

在实际实施过程中,E1可以按照如下方式实施,根据所述压缩后的报文的数据结构,确定出数据部分字段在压缩后的报文中的位置,继而利用所述有效载荷,替换压缩后的报文中的数据部分字段中的全部内容,得到解压后的报文。

在得到解压后的报文之后,执行步骤E2。

E2:确定出所述解压后的报文的长度的值。

在确定出解压后的报文的长度的值之后,执行步骤E3。

E3:将所述解压后的报文中的第三长度字段的值,重置为所述解压后的报文的长度的值,得到所述待转发报文;其中,所述第三长度字段为所述解压后报文中的IP首部中的字段;所述第三长度字段用于记录所述解压后的报文的长度。

在实际实施过程中,E3可以按照如下方式实施,根据解压后的报文的数据结构,确定出解压报文中的第三长度字段的位置,继而利用解压后的报文的长度的值替换第三长度字段中的内容,得到待转发报文。

作为一种实施方式,步骤E3包括步骤:E11-E13。

E11:将所述解压后的报文中的所述第三长度字段的值,重置为所述解压后的报文的长度的值,得到初步处理后的报文。

在得到初步处理后的报文之后,执行步骤E12。

E12:对所述初步处理后的报文进行校验计算,得到第二校验值。

所述初步处理后的报文属于用户数据报协议UDP报文,作为一种实施方式,E12包括步骤:E121-E122。

E121:将所述初步处理后的报文中的第四长度字段的值,重置为所述有效载荷的长度的值与8之和,得到修改后的报文;其中,所述第四长度字段为所述初步处理后的报文中的UDP首部中的字段;所述第四长度字段用于记录所述有效载荷和所述UDP首部的总长度。

E122:对所述修改后的报文进行校验计算,得到所述第二校验值。

E13:将所述初步处理后的报文中的IP首部的校验字段的值,重置为所述第二校验值,得到所述待转发报文。

在E12包括步骤:E121-E122的情况下,作为一种实施方式,E13包括:将所述修改后的报文中的IP首部的所述校验字段的值,重置为所述第二校验值,得到所述待转发报文。

其中,步骤E12-E13的具体实施方式请参照步骤C1-C2,因此,在此不再赘述。

D3:目的路由器将所述待转发报文发送到所述目的端设备。

在实际实施过程中,D3按照如下方式实施,根据待转发报文中的目的IP地址,将待转发报文转发至与目的IP地址对应的目的端设备。

综上所述,本申请各实施例提出的报文处理方法及系统,与源端设备连接的源路由器在接收到待转发报文之后,通过对待转发报文中的有效载荷进行压缩,并将压缩后的报文转发至与目的端设备连接的目的路由器,由于压缩后的报文的大小明显小于待转发报文,继而使得报文传输效率得到有效提高;目的路由器将压缩后的报文解压缩后再发送给目的端设备,以使目的端设备无需对接收到的报文进行解压,就能从接收到的报文中快速提取出有效载荷。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

相关技术
  • 发报文处理方法、转发器、报文处理设备、报文处理系统
  • 报文的处理方法、装置及报文的封装方法、装置和系统
技术分类

06120112935510