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

一种报文压缩方法、装置及设备

文献发布时间:2023-06-19 19:00:17


一种报文压缩方法、装置及设备

技术领域

本申请涉及数据压缩技术领域,尤其涉及一种报文压缩方法、装置及设备。

背景技术

对于传输控制协议(transmission control protocol,TCP)网络或网际互连协议(internet protocol,IP)网络,数据传输以IP数据包为单位。在数据传输中,为了消减传输冗余、减少传输消耗的时间,通常采用数据包压缩技术,常用的数据压缩技术为IP有效载荷压缩协议(IP payload compression protocol,简称IPComp或IPPCP)。

IPComp是面向IP数据包的一个底层压缩协议,IPComp原理是将IP报文的负荷部分进行压缩,报文头部分不压缩,可参见图1所示。

IP报文压缩前,IP报文的负荷中包括一些重要信息,比如源端口、目的端口,压缩后,这些重要信息也被压缩了,相当于压缩报文对外屏蔽了这些重要信息,导致网络中基于这些重要信息的处理无法实施,比如,基于五元组的网络服务质量(quality of service,QoS)分析、流量分析等都无法计算,其中五元组指的是源地址、目的地址、源端口、目的端口、负荷协议类型,其中,源端口和目的端口位于负荷中。

发明内容

本申请提供了一种报文压缩方法、装置及设备,所述报文压缩方法使得压缩报文中的保留数据可以对外显示,保证基于保留数据的分析处理操作可以实施。

第一方面,本申请提供了一种报文压缩方法,从第一网络设备侧描述,包括:获取第一报文;压缩所述第一报文,获得第二报文;所述第二报文中包括保留数据和压缩数据,所述保留数据为所述第一报文的负荷中的第一数据,所述第一数据是所述第一报文的负荷的一部分,所述压缩数据为所述第一报文的负荷中的第二数据的压缩结果。

可以看到,压缩后的报文中包括保留数据和压缩数据,保留数据可以对外显示,因此基于保留数据的一些处理,比如服务质量、流量分析等,可以实现。另外,可以根据需求确定保留数据,能够满足不同的应用场景和业务需求。

基于第一方面,在可能的实现方式中,所述第二报文还包括压缩元数据,所述压缩元数据包括压缩参数,所述压缩参数包括所述压缩数据所使用的压缩算法和所述压缩算法使用的参数。

可以看到,在进行压缩时,可以根据实际情况确定压缩算法,并将压缩算法和压缩算法所使用的参数存储至压缩元数据中,压缩元数据也可以对外显示,便于解压缩端设备根据压缩算法和压缩算法所使用的参数确定解压缩算法及参数。

基于第一方面,在可能的实现方式中,所述压缩元数据还包括压缩偏移;所述压缩偏移指示所述压缩数据的起始位置,所述起始位置位于所述保留数据之后。

可以理解,在可能的实现方式中,压缩元数据中还可以包括压缩偏移,压缩偏移指示压缩数据的起始位置,第一网络设备根据压缩偏移对第一报文中的负荷进行压缩。根据实际业务需求确定出保留数据后,根据保留数据确定压缩偏移的大小,保证负荷中的保留数据不被压缩,从负荷中位于保留数据之后的数据开始压缩。

基于第一方面,在可能的实现方式中,所述第二数据为所述第一报文的负荷中的全部。

可以理解,在可能的实现方式中,第二数据为第一报文的负荷的全部数据,这种情况下,可以将位于第一报文的负荷中的保留数据备份出来,置于第一报文的负荷的外部,在压缩时,直接对第一报文的负荷进行压缩,也可以保证保留数据可以对外显示,基于保留数据的分析处理可以实施。

基于第一方面,在可能的实现方式中,所述压缩元数据位于所述保留数据之后。

可以理解,在可能的实现方式中,可以将压缩元数据作为一个旗帜,从压缩元数据之后开始压缩,这种情况下,需要将压缩元数据置于保留数据之后,以保证负荷中的保留数据不被压缩。

基于第一方面,在可能的实现方式中,所述保留数据包括所述第一报文中的传输层端口号。

可以理解,保留数据可以包括第一报文中的传输层端口号,即源端口和目的端口,在对第一报文压缩后,获得的第二报文中的源端口和目的端口可以对外显示,能够实现网络基于源端口和目的端口的分析处理。

基于第一方面,在可能的实现方式中,所述压缩元数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

可以理解,压缩元数据可以为TLV类型,可以将压缩元数据直接存储至报文的自定义TLV字段中,例如,IP选项字段。

基于第一方面,在可能的实现方式中,所述保留数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

可以理解,保留数据可以为TLV类型,可以将保留数据存储至报文的自定义TLV字段中,例如,IP选项字段。

第二方面,本申请还提供了一种报文解压缩方法,从第二网络设备侧描述,包括:第二网络设备接收第二报文;所述第二报文中包括保留数据和压缩数据;解压所述压缩数据,获得第二数据;根据所述第二数据和所述保留数据,生成第一报文的负荷;其中,所述保留数据为所述第一报文的负荷的一部分。

可以看到,第二网络设备接收到的压缩报文中包括:保留数据和压缩数据,第二网络设备对压缩数据进行解压,根据保留数据和解压后的数据,生成第一报文的负荷,其中,第一报文为压缩前的报文。另外,第二报文中包括保留数据,可以对外显示,通过网络将第二报文传输至第二网络设备的过程中,可以基于保留数据进行某些处理操作,比如流量分析、服务质量等。

基于第二方面,在可能的实现方式中,所述第二报文还包括压缩元数据,所述压缩元数据包括压缩参数,所述压缩参数包括所述压缩数据所使用的压缩算法和所述压缩算法使用的参数。

可以理解,压缩参数的设置,便于第二网络设备根据压缩参数确定解压缩算法。

基于第二方面,在可能的实现方式中,所述压缩元数据中还包括压缩偏移;所述压缩偏移指示所述压缩数据的起始位置,所述起始位置位于所述保留数据之后;相应地,所述根据所述第二数据和所述保留数据,生成第一报文的负荷,包括:所述第一报文的负荷由所述保留数据和所述第二数据组成。

可以理解,压缩偏移便于第二网络设备确定解压缩的起始位置。在这种实现方式中,第二数据为第一报文的负荷的一部分,保留数据和第二数据组成第一报文的负荷的全部。

基于第二方面,在可能的实现方式中,所述根据所述第二数据和所述保留数据,生成第一报文的负荷,包括:删除所述保留数据;所述第二数据即为所述第一报文的负荷。

可以理解,在可能的实现方式中,第二数据为第一报文的负荷中的全部,因此,需要将保留数据删除。

基于第二方面,在可能的实现方式中,所述压缩元数据位于所述保留数据之后;所述根据所述第二数据和所述保留数据,生成第一报文的负荷,包括:所述第一报文的负荷由所述保留数据和所述第二数据组成。

基于第二方面,在可能的实现方式中,所述保留数据包括所述第一报文中的传输层端口号。

基于第二方面,在可能的实现方式中,所述压缩元数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

基于第二方面,在可能的实现方式中,所述保留数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

第三方面,本申请提供了一种报文压缩装置,包括:通信单元,用于获取第一报文;压缩单元,用于压缩所述第一报文,获得第二报文;所述第二报文中包括保留数据和压缩数据,所述保留数据为所述第一报文的负荷中的第一数据,所述第一数据是所述第一报文的负荷的一部分,所述压缩数据为所述第一报文的负荷中的第二数据的压缩结果。

基于第三方面,在可能的实现方式中,所述第二报文还包括压缩元数据,所述压缩元数据包括压缩参数,所述压缩参数包括所述压缩数据所使用的压缩算法和所述压缩算法使用的参数。

基于第三方面,在可能的实现方式中,所述压缩元数据还包括压缩偏移;所述压缩偏移指示所述压缩数据的起始位置,所述起始位置位于所述保留数据之后。

基于第三方面,在可能的实现方式中,所述第二数据为所述第一报文的负荷中的全部。

基于第三方面,在可能的实现方式中,所述压缩元数据位于所述保留数据之后。

基于第三方面,在可能的实现方式中,所述保留数据包括所述第一报文中的传输层端口号。

基于第三方面,在可能的实现方式中,所述压缩元数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

基于第三方面,在可能的实现方式中,所述保留数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

上述第三方面装置中的各个功能单元用于实现第一方面及第一方面的任一可能的实现方式中所描述的方法。

第四方面,本申请还提供了一种报文解压缩装置,包括:通信单元,用于接收第二报文;所述第二报文中包括保留数据和压缩数据;解压单元,用于解压所述压缩数据,获得第二数据;生成单元,用于根据所述第二数据和所述保留数据,生成第一报文的负荷;其中,所述保留数据为所述第一报文的负荷的一部分。

基于第四方面,在可能的实现方式中,所述第二报文还包括压缩元数据,所述压缩元数据包括压缩参数,所述压缩参数包括所述压缩数据所使用的压缩算法和所述压缩算法使用的参数。

基于第四方面,在可能的实现方式中,所述压缩元数据中还包括压缩偏移;所述压缩偏移指示所述压缩数据的起始位置,所述起始位置位于所述保留数据之后;所述生成单元用于生成所述第一报文的负荷,所述第一报文的负荷由所述保留数据和所述第二数据组成。

基于第四方面,在可能的实现方式中,所述生成单元用于,删除所述保留数据;所述生成单元用于,生成所述第一报文的负荷,所述第二数据即为所述第一报文的负荷。

基于第四方面,在可能的实现方式中,所述压缩元数据位于所述保留数据之后;所述生成单元用于,生成所述第一报文的负荷,所述第一报文的负荷由所述保留数据和所述第二数据组成。

基于第四方面,在可能的实现方式中,所述保留数据包括所述第一报文中的传输层端口号。

基于第四方面,在可能的实现方式中,所述压缩元数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

基于第四方面,在可能的实现方式中,所述保留数据位于所述第二报文的报文头中的自定义类型-长度-值TLV字段中。

上述第四方面装置中的各个功能单元用于实现第二方面及第二方面的任一可能的实现方式中所描述的方法。

第五方面,本申请提供了一种系统,包括第一网络设备和第二网络设备,所述第一网络设备用于执行上述第一方面或第一方面的任一可能的实现方式所述的方法,所述第二网络设备用于执行上述第二方面或第二方面的任一可能的实现方式所述的方法。

第六方面,本申请提供了一种网络设备,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令执行上述第一方面或第一方面的任一可能的实现方式所述的方法。

第七方面,本申请提供了又一种网络设备,包括收发器和压缩电路,所述压缩电路用于压缩第一报文,以获得第二报文,所述第二报文中包括保留数据和压缩数据,所述保留数据为所述第一报文的负荷中的第一数据,所述第一数据是所述第一报文的负荷的一部分,所述压缩数据为所述第一报文的负荷中的第二数据的压缩结果,所述收发器用于发送所述第二报文。具体的,收发器和压缩电路协同作用,用于实现上述第一方面或第一方面的任一可能的实现方式所述的方法。

第八方面,本申请提供了一种可读存储介质,包括程序指令,当所述程序指令在第一网络设备上运行时,使得所述第一网络设备执行上述第一方面或第一方面的任一可能的实现方式所述的方法。

第九方面,本申请提供了又一种网络设备,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令执行上述第二方面或第二方面的任一可能的实现方式所述的方法。

第十方面,本申请提供了又一种网络设备,包括收发器和解压缩电路,所述收发器用于接收第二报文,所述第二报文中包括保留数据和压缩数据;所述解压缩电路用于解压所述压缩数据,获得第二数据;所述解压缩电路还用于根据所述第二数据和所述保留数据,生成第一报文的负荷;其中,所述保留数据为所述第一报文的负荷的一部分。具体的,收发器和解压缩电路协同作用,用于实现上述第二方面或第二方面的任一可能的实现方式所述的方法。

第十一方面,本申请提供了一种可读存储介质,包括程序指令,当所述程序指令在第一网络设备上运行时,使得所述第一网络设备执行上述第二方面或第二方面的任一可能的实现方式所述的方法。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种报文压缩示意图;

图2为本申请提供的一种报文压缩、解压缩方法的流程示意图;

图3为本申请提供的一种IPv4报文示意图;

图4为本申请提供的第一种压缩元数据的示意图;

图5A为本申请提供的插入第一种压缩元数据之后的报文示意图;

图5B为本申请提供的第一种压缩报文的示意图;

图6A为本申请提供的第二种压缩元数据的示意图;

图6B为本申请提供的第二种压缩报文的示意图;

图7为本申请提供的第三种压缩元数据的示意图;

图8A为本申请提供的插入第三种压缩元数据之后的报文示意图;

图8B为本申请提供的第三种压缩报文的示意图;

图9A为本申请提供的第四种压缩元数据的示意图;

图9B为本申请提供的第四种压缩报文的示意图;

图10A为本申请提供的一种场景下的报文示意图;

图10B为本申请提供的一种场景下的压缩报文的示意图;

图11A为本申请提供的又一种场景下的报文示意图;

图11B为本申请提供的又一种场景下的压缩报文的示意图;

图12为本申请提供的一种报文压缩装置示意图;

图13为本申请提供的一种报文解压缩装置示意图;

图14为本申请提供的一种网络设备的结构示意图;

图15为本申请提供的又一种网络设备的结构示意图;

图16为本申请提供的一种网络设备的结构示意图;

图17为本申请提供的又一种网络设备的结构示意图;

图18为本申请提供的一种系统架构示意图。

具体实施方式

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

为了克服报文压缩过程中,负荷中的重要信息被压缩后不能对外显示的弊端,本申请提供了一种报文压缩、解压缩方法,参见图2所示,图2为本申请提供的一种报文压缩、解压缩方法的流程示意图,该方法包括但不限于以下内容的描述。

S101、第一网络设备获取第一报文。

第一网络设备指的是具有报文压缩能力的设备,用于对报文进行压缩,例如第一网络设备可以是路由器、交换机、防火墙等电子设备。

第一报文可以是IP报文,例如IPv4报文或IPv6报文,第一报文包括报文头和负荷。例如,参见图3所示,图3为本申请提供的一种IPv4报文的示意图,如图3标注所示报文包括报文头和负荷,这里的负荷中包括用户数据报协议(user datagram protocol,UDP)报文头和纯负荷,其中UDP报文头包括源端口、目的端口、UDP长度和UDP校验和,纯负荷指的是UDP报文中的数据。图3所示的报文仅仅是一种示例,并不构成对第一报文的限定,第一报文还可以是TCP类型的IPv4报文、TCP类型的IPv6报文、UDP类型的IPv6报文等。

若第一网络设备是转发设备,第一网络设备获取第一报文,可理解为,第一网络设备接收其他网络设备发送的第一报文;若第一网络设备是原始发送端设备,第一网络设备获取第一报文,可理解为,第一网络设备生成第一报文。

S102、第一网络设备确定第一报文的负荷中的保留数据以及确定压缩元数据,并将压缩元数据插入第一报文中。

保留数据,指的是第一报文的负荷中的第一数据,第一数据是第一报文的负荷的一部分。第一网络设备可以根据具体业务需求来确定保留数据,例如,业务需求是基于报文中的五元组信息分析网络服务质量,则报文中的五元组信息需要对外显示,由于五元组信息中的源端口和目的端口不能对外显示,因此保留数据包括位于负荷中的源端口和目的端口。第一网络设备也可以通过人工静态配置的方式确定保留数据。

下面介绍压缩元数据的几种实现方式,以及如何将压缩元数据插入第一报文中。

第一种实现方式,参见图4所示,图4为本申请提供的一种压缩元数据示意图,压缩元数据包括压缩参数、压缩偏移和压缩数据的协议类型。其中,压缩参数包括压缩数据所使用的压缩算法和压缩算法中所使用的参数。压缩偏移用于指示压缩起始位置,其中压缩起始位置位于保留数据之后,例如,在图3所示的报文中,若保留数据为源端口和目的端口,则需要从目的端口之后的数据开始压缩,则压缩偏移指示压缩起始位置位于目的端口之后,更具体的,源端口占用负荷中的第0字节和第1字节,目的端口占用负荷中的第2字节和第3字节,则压缩起始位置从第4字节开始,若用Comp_Clear_Offset表示压缩偏移,则Comp_Clear_Offset=4,表示从负荷中的第4字节开始压缩。压缩数据的协议类型指示负荷的协议类型是什么,比如,负荷协议类型可以是TCP或用于表示TCP的协议号,负荷协议类型还可以是UDP或用于表示UDP的协议号,等等。

其中,第一网络设备是根据第一网络设备所支持的压缩算法和第二网络设备所支持的解压缩算法确定的压缩算法,其中,第二网络设备指的是具有解压缩能力的设备,第二网络设备可以是路由器、交换机、防火墙等电子设备。举例来说,第一网络设备支持的压缩算法包括A算法、B算法和C算法,第二网络设备支持的解压缩算法包括a算法和d算法,其中a算法是对应于A算法的解压缩算法,d算法是对应于D算法的解压缩算法,d算法不能解析B算法和C算法,因此,根据第一网络设备所支持的压缩算法和第二网络设备所支持的解压缩算法确定使用A算法作为压缩算法;又比如,第一网络设备支持的压缩算法包括A算法、B算法和C算法,第二网络设备支持的解压缩算法包括a算法和b算法,其中a算法是对应于A算法的解压缩算法,b算法是对应于B算法的解压缩算法,则第一网络设备使用的压缩算法可以是A算法,也可以是B算法,或者,可以设置优先级,当有多个压缩算法可使用时,根据预先设置的优先级,选择优先级高的算法作为压缩算法,或者也可以,从多个可使用的算法中随机选择一个算法作为压缩算法,等等,本申请对如何确定压缩算法不做具体限定。

其中,第二网络设备支持的解压缩算法,可以是由控制器下发至第一网络设备的,具体的,第二网络设备将自身支持的算法上报至控制器,控制器再将第二网络设备支持的算法下发至第一网络设备;还可以是第二网络设备将自身支持的算法发送至第一网络设备的;还可以是人工在第一网络设备上静态配置第二网络设备支持的算法。

其中,第一网络设备中存储有本设备所支持的算法及每个算法对应的参数,在确定所使用的压缩算法后,压缩算法的参数也就确定了。可选的,压缩参数还可以是,包括压缩数据所使用的压缩算法的索引或名称或表示压缩算法的编号,以及压缩算法中所使用的参数。

在确定出压缩元数据后,将压缩元数据插入第一报文中。具体的,在此实现方式中,可以将压缩元数据插入第一报文的报文头与负荷之间,例如,可以将图4所示的压缩元数据插入图3所示的报文中,得到图5A所示的报文。具体的,图5A中,若用Comp_Clear_Offset表示压缩偏移,当Comp_Clear_Offset=4时,表示从第4字节开始压缩,即目的端口之后开始压缩,因此,源端口和目的端口不会被压缩。本实现方式中,当第一网络设备对第一报文进行压缩时,根据压缩元数据中的压缩偏移对负荷进行压缩,从而保留了保留数据,使得保留数据可以对外显示。

第二种实现方式,参见图6A所示,压缩元数据可以为类型-长度-值(即type-length-value),即TLV类型,值(value)子字段中用于存储压缩偏移和压缩参数,长度(length)子字段表示值的长度。可选的,压缩元数据中还可以包括压缩数据的协议类型。在该实现方式中,可以将压缩元数据存储至第一报文的报文头中的自定义TLV字段中,比如,可以将压缩元数据存储至图3所示的报文中的IP选项字段中。本实现方式中,在对第一报文进行压缩时,同第一实现方式相同,第一网络设备根据压缩元数据中的压缩偏移对负荷进行压缩,从而保留了保留数据,使得保留数据可以对外显示。

第三种实现方式,压缩元数据包括压缩参数和压缩数据的协议类型,可选的,压缩元数据还可以包括保留字段,在未来对报文的研究中,保留字段可用于存储其他信息,以指示某个功能或作用。在该实现方式中,可以将压缩元数据插入第一报文的报文头和负荷之间,并将保留数据从负荷中拷贝出来,置于压缩元数据之后,例如,若保留数据是源端口和目的端口,则将图7所示的压缩元数据插入图3所示报文的报文头与负荷之间,并将源端口和目的端口拷贝至压缩元数据之后,可以获得如图8A所示的报文。需要说明的是,本实现方式,是将保留数据从负荷中拷贝出来置于压缩元数据之后,第一报文的负荷中的数据未发生变化,例如,图8A中,是将源端口和目的端口拷贝至压缩元数据之后,图8A所示报文的负荷中的数据未发生变化。本实现方式中,在对第一报文进行压缩时,直接对第一报文的负荷进行压缩,保留数据仍然可以对外显示。

第四种实现方式,压缩元数据包括压缩参数,压缩元数据可以为TLV类型,如图9A所示,值(value)子字段中用于存储压缩参数。可选的,压缩元数据中还可以包括压缩数据的协议类型。本实现方式中,可以将压缩元数据存储至第一报文的报文头中的自定义TLV字段中,并将保留数据拷贝至自定义TLV字段中,例如,将压缩元数据和保留数据均存储至图3所示报文的IP选项字段中,需要说明的是,第一报文的IP选项字段为TLV字段,该TLV字段中包括多个子TLV字段,压缩元数据和保留数据可以分别存储在不同的子TLV字段中,也可以存储在同一子TLV字段中。本实现方式,在对第一报文进行压缩时,直接对负荷中的数据进行压缩,由于第一报文的报文头的自定义TLV字段中包括保留数据,报文头不会被压缩,因此保留数据可以对外显示。

第五种实现方式,压缩元数据包括压缩参数和压缩数据的协议类型,可选的,压缩元数据还可以包括保留字段,在未来对报文的研究中,保留字段可用于存储其他信息,以指示某个功能或作用。本实现方式中,将压缩元数据置于负荷中的保留数据之后,从压缩元数据之后开始压缩,这里可以将压缩元数据理解为一个旗帜,压缩起始位置位于该旗帜之后。例如,图3中若保留数据为源端口和目的端口,则将压缩元数据置于目的端口之后,如图10A所示,压缩时,从压缩元数据之后开始压缩,这样保留数据就不会被压缩,可以对外显示。又例如,若图3中保留数据为UDP报文头,则将压缩元数据置于UDP报文头之后,如图11A所示,压缩时,从压缩元数据之后压缩,这样UDP报文头就不会被压缩,可以对外显示。这种实现方式中,第一网络设备会在报文中添加报文标志字段,其中,报文标志字段的一个作用是指示压缩元数据的位置,第一网络设备根据报文标志字段,将压缩元数据插入报文中对应的位置。关于报文标志字段的含义,可参见下文步骤S103中的相关描述,在此不再赘述。

S103、第一网络设备压缩第一报文,获得第二报文,其中,第二报文中包括压缩元数据、保留数据和压缩数据。

第一网络设备压缩第一报文,具体的:在第一种实现方式和第二种实现方式中,第一网络设备根据压缩偏移进行压缩;在第三种实现方式和第四种实现方式中,第一网络设备直接对第一报文的负荷进行压缩;在第五种实现方式中,第一网路设备对位于压缩元数据之后的数据进行压缩。

第二报文指的是压缩后的报文,压缩后的报文中包括压缩元数据、保留数据和压缩数据,压缩数据是第一报文的负荷中的第二数据的压缩结果,具体的:在第一种实现方式、第二种实现方式和第五种实现方式中,第二数据为第一报文的负荷中的部分数据,第二数据和保留数据共同组成第一报文的负荷中的全部数据;在第三种实现方式和第四种实现方式中,第二数据为第一报文的负荷中的全部数据,保留数据为第一报文的负荷中的部分数据,保留数据是从第一报文的负荷中拷贝获得的。

为了便于理解本实施例,下面分别以上述的五种实现方式为例,参考附图进行解释说明。

在第一种实现方式中,第一网络设备根据压缩元数据中的压缩偏移进行压缩,例如,若图5A中压缩偏移用Comp_Clear_Offset表示,且Comp_Clear_Offset=4,即从负荷的第4字节开始压缩,即从目的端口之后开始压缩,则压缩后获得的第二报文如图5B所示,保留数据源端口和目的端口未被压缩,压缩数据中包括UDP长度、UDP校验和以及纯负荷。

在第二种实现方式中,压缩元数据存储于第一报文的自定义TLV字段(IP选项)中,第一网络设备根据压缩偏移进行压缩,例如,压缩偏移Comp_Clear_Offset=4,则压缩后获得的报文如图6B所示,保留数据源端口和目的端口未被压缩,压缩数据中包括UDP长度、UDP校验和以及纯负荷。

在第三种实现方式中,第一网络设备直接对负荷进行压缩,例如图8A中保留数据为源端口和目的端口,对图8A的报文进行压缩,获得如图8B所示的压缩报文,从图8B可以看到,保留数据源端口和目的端口可以对外显示,压缩数据中包括第一报文的负荷中的全部数据。

在第四种实现方式中,保留数据存储于第一报文的自定义TLV字段(IP选项)中,可选的,压缩元数据也可以位于第一报文的自定义TLV字段(IP选项)中,例如,图3中保留数据为源端口和目的端口,将压缩元数据和保留数据均存储至IP选项中,第一网络设备对第一报文的负荷进行压缩,得到如图9B所示的压缩报文,图9B中,保留数据源端口和目的端口可以对外显示,压缩数据中包括第一报文的负荷中的全部数据。

在第五种实现方式中,图10A中,保留数据为源端口和目的端口,从压缩元数据之后开始压缩,获得压缩报文如图10B所示,图10B中,压缩数据包括UDP长度、UDP校验和和纯负荷。图11A中,保留数据为UDP报文头,从压缩元数据之后开始压缩,获得压缩报文如图11B所示,图11B中,压缩数据包括纯负荷。

需要说明的是,第二报文(压缩后的报文)的报文头与第一报文的报文头存在差别:第一报文的报文头中的“协议”字段,例如图3中的“协议”字段,用于指示负荷协议类型;压缩后,第二报文的报文头中更新为报文标志字段,具体的,在第一种实现方式、第二种实现方式、第三种实现方式和第四种实现方式中,该报文标志字段均用于指示所述报文为压缩报文,在第五种实现方式中,报文标志字段不仅用于指示所述报文为压缩报文,还用于指示压缩元数据的位置。例如,图5B、图6B、图8B和图9B中,可以用“108”作为报文标志字段,用于指示该报文为压缩报文,图10B和图11B中,可以分别用不同的编号或字符作为报文标志字段,来指示该报文为压缩报文,且指示压缩元数据的位置。

S104、第一网络设备将第二报文发送至第二网络设备,相应地,第二网络设备接收第一网络设备发送的第二报文。

S105、第二网络设备根据压缩元数据,解压压缩数据,获得第二数据。

S106、第二网络设备根据第二数据和保留数据,生成第一报文的负荷。

第二网络设备根据压缩元数据解压压缩数据,获得第二数据,再根据第二数据和保留数据生成第一报文的负荷。具体为:

在第一种实现方式中,压缩元数据中包括压缩偏移、压缩参数和压缩数据的协议类型,第二网络设备根据压缩偏移确定压缩/解压缩的起始位置,根据压缩参数,确定解压缩算法,利用解压缩算法解压第二报文中的压缩数据,获得第二数据,第二数据为第一报文的负荷中的部分数据;第一报文的负荷由第二数据和保留数据组成。

在第二种实现方式中,压缩元数据位于第二报文的报文头的自定义TLV字段中,压缩元数据中包括压缩偏移和压缩参数,第二网络设备根据压缩偏移和压缩参数,解压第二报文中的压缩数据,获得第二数据,第二数据为第一报文的负荷中的部分数据;第一报文的负荷由第二数据和保留数据组成。

在第三种实现方式中,压缩元数据中包括压缩参数和压缩数据的协议类型,可选的,还可以包括保留字段,在未来对报文的研究中,保留字段可用于存储其他信息,以指示某个功能或作用。第二网络设备直接根据压缩参数对压缩数据进行解压,获得第二数据,第二数据即为第一报文的负荷中的全部数据;删除保留数据,获得第一报文的负荷。

在第四种实现方式中,压缩元数据中包括压缩参数,第二网络设备根据压缩参数对压缩数据进行解压,获得第二数据,第二数据即为第一报文的负荷中的全部数据;删除保留数据,获得第一报文的负荷。

在第五种实现方式中,压缩元数据中包括压缩参数和压缩数据的协议类型,可选的,还可以包括保留字段,在未来对报文的研究中,保留字段可用于存储其他信息,以指示某个功能或作用。第二网络设备根据压缩参数对压缩数据进行解压,获得第二数据,第二数据为第一报文的负荷中的部分数据,保留数据和第二数据共同组成第一报文的负荷中的全部数据。

可选的,第二网络设备解压缩时,将第二报文的报文头中的报文标志字段更新为负荷的协议类型,其中,负荷的协议类型与第二报文中压缩数据的协议类型相同。并删除第二报文中的压缩元数据,最后得到第一报文,第一报文包括报文头和第一报文的负荷。

可以看到,通过添加压缩偏移,压缩偏移指示压缩起始位置,根据压缩偏移压缩报文,以保证保留数据不被压缩,可以对外显示,或者,将压缩元数据作为旗帜,从压缩元数据之后开始压缩,将压缩元数据置于保留数据之后,以保证保留数据不被压缩,可以对外显示,或者,从负荷中将保留数据拷贝出来,置于负荷之前,对负荷进行压缩,以保证拷贝出来的保留数据可以对外显示,从而基于保留数据的分析处理操作可以实施。另外,可以根据第一网络设备和第二网络设备均支持的算法,确定压缩数据所使用的压缩算法,将压缩算法及压缩算法所使用的参数存储至压缩元数据中,便于第二网络设备根据压缩算法及压缩算法所使用的参数确定解压缩算法。

参见图12,图12为本申请提供的报文压缩装置200的结构示意图,包括:通信单元201,用于获取第一报文,具体可用于执行图2实施例的步骤S101;压缩单元202,用于压缩第一报文,获得第二报文;第二报文中包括压缩元数据、保留数据和压缩数据,压缩元数据包括压缩参数,压缩参数包括压缩数据所使用的压缩算法和压缩算法使用的参数,保留数据为第一报文的负荷的一部分,具体可用于执行图2实施例的步骤S102和S103;通信单元201还用于,将第二报文发送至第二网络设备,可用于执行图2实施例的步骤S104。

报文压缩装置200对应于上述方法实施例中的第一网络设备,报文压缩装置200中的各单元用于实现方法实施例中的第一网络设备所实施的各种步骤和方法,具体细节可参见上述方法的描述,为了说明书的简洁,在此不再赘述。

报文压缩装置200在进行报文接收、发送、处理时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要,将上述功能分配给不同的功能单元完成,即可以将报文压缩装置200的内部结构划分成不同的功能单元,以实现方法实施例中描述的全部功能或者部分功能。

参见图13,图13为本申请提供的报文解压缩装置300的结构示意图,包括:通信单元301,用于接收第二报文;第二报文中包括压缩元数据、保留数据和压缩数据,压缩元数据包括压缩参数,压缩参数包括压缩数据所使用的压缩算法和压缩算法使用的参数,可用于执行图2实施例的步骤S104;解压单元302,用于根据压缩元数据,解压压缩数据,获得第二数据,具体可用于执行图2实施例的步骤S105;生成单元303,用于根据第二数据和保留数据,生成第一报文的负荷,具体可用于执行图2实施例的步骤S106。

报文解压缩装置300对应于上述方法实施例中的第二网络设备,报文解压缩装置300中的各单元用于实现方法实施例中的第二网络设备所实施的各种步骤和方法,具体细节可参见上述方法的描述,为了说明书的简洁,在此不再赘述。

报文解压缩装置300在进行报文接收、发送、处理时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要,将上述功能分配给不同的功能单元完成,即可以将报文解压缩装置300的内部结构划分成不同的功能单元,以实现方法实施例中描述的全部功能或者部分功能。

与本申请提供的方法实施例以及虚拟装置实施例相对应,本申请还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。

下面描述中,网络设备400或网络设备500均可以对应于上述虚拟装置实施例中的报文压缩装置200或报文解压缩装置300。网络设备400或网络设备500中的各硬件、模块和上述其他操作和/或功能分别为了实报文压缩装置200或报文解压缩装置300所实施的各种步骤和方法,关于网络设备400或网络设备500如何实现报文处理等详细流程,具体细节可参见上述方法实施例,为了说明书的简洁,在此不再赘述。

其中,上文图2的各步骤通过网络设备400或网络设备500的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法和步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块(软件单元)组合执行完成。软件模块可以位于随机存储器、闪存只读存储器、可编程只读存储器、电可擦写可编程存储器和寄存器等本领域成熟的一种或多种存储介质中。存储介质位于存储器中,处理器读取存储器中的信息,结合硬件执行上述方法中的步骤。为了说明书的简洁,这里不再详细描述。

报文压缩装置200或报文解压缩装置300中的每个功能单元通过网络设备400或网络设备500中的软件实现。换句话说,报文压缩装置200或报文解压缩装置300中包括的功能单元是网络设备400或网络设备500中的处理器读取存储器中存储的程序代码后生成的。

参见图14,图14示出了本申请提供的一种网络设备400的结构示意图,该网络设备400可以配置为第一网络设备,也可以配置为第二网络设备。网络设备400可以由一般性的总线体系结构来实现。

网络设备400包括至少一个处理器401、通信总线402、存储器403以及至少一个通信接口404。

处理器401可以是一个通用CPU、NP、微处理器,或者也可以是一个或多个用于实现本申请方案的集成电路。例如,专用集成电路(application-specific integratedcircuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。其中,PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic arraylogic,GAL)或其任意组合。

通信总线402用于在各个组件之间传送信息。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,也可以是能够用于携带或存储具有指令或数据结构形式的程序代码且能够由计算机存取的任何其它介质,但不限于此。存储器403可以是独立存在,并通过通信总线402与处理器401相连接;存储器403也可以和处理器401集成在一起。

通信接口404用于与其它设备或通信网络进行通信。通信接口404可以包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口,以太网接口可以是光接口、电接口或其组合。无线通信接口可以为无线局域网(wireless localarea networks,WLAN)接口、蜂窝网络通信接口或其组合等。

在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如,图14中所示的CPU0和CPU1。

在具体实现中,作为一种实施例,网络设备400可以包括多个处理器,如图14中所示的处理器401和处理器405。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。

在一些实施例中,存储器403用于存储本申请方案的程序代码410,处理器401用于执行存储器403中存储的程序代码410。也即是,网络设备400可以通过处理器401以及存储器403中的程序代码410,来实现图2方法实施例提供的方法。

本申请实施例的网络设备400可对应于上述各个方法实施例中的第一网络设备或第二网络设备,并且,该网络设备400中的处理器401、通信接口404等可以实现上述各个方法实施例中的设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。

报文压缩装置200中,通信单元201可以位于网络设备400中的通信接口404中;压缩单元202可以位于网络设备400中的处理器401或处理器405中。

报文解压缩装置300中,通信单元301可以位于网络设备400中的通信接口404中;解压单元302和生成单元303可以均位于网络设备400中的处理器401,或均位于网络设备400中的处理器405中,解压单元302和生成单元303也可以分别位于不同的处理器中,例如,解压单元302位于处理器401中,生成单元303位于处理器405中,或者,生成单元303位于处理器401中,解压单元302位于处理器405中。

参见图15,图15为本申请提供的另一种网络设备500的结构示意图,该网络设备500可以配置为第一网络设备或第二网络设备。网络设备500包括:主控板510和接口板530。

主控板510也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板510用于对网络设备500中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板510包括:中央处理器511和存储器512。

接口板530称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板530用于提供各种业务接口并实现数据包的转发。业务接口包括但不限于以太网接口、POS(packet over sonet/SDH)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,flexe clients)。接口板530包括:中央处理器531、网络处理器532、转发表项存储器534和物理接口卡(physical interface card,PIC)533。

接口板530上的中央处理器531,用于对接口板530进行控制管理并与主控板510上的中央处理器511进行通信。

网络处理器532用于实现报文的转发处理,网络处理器532的形态可以是转发芯片。具体而言,网络处理器532用于基于转发表项存储器534保存的转发表转发接收到的报文,如果报文的目的地址为网络设备500的地址,则将该报文上送至CPU(如中央处理器511)处理;如果报文的目的地址不是网络设备500的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。

物理接口卡533用于实现物理层的对接功能,原始的流量由此进入接口板530,以及处理后的报文从该物理接口卡533发出。物理接口卡533也称为子卡,可安装在接口板530上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器532处理。在一些实施例中,中央处理器也可执行网络处理器532的功能,比如基于通用CPU实现软件转发,从而物理接口卡533中不需要网络处理器532。

可选地,网络设备500包括多个接口板,例如,网络设备500还包括接口板540,其中,接口板540包括:中央处理器541、网络处理器542、转发表项存储器544和物理接口卡543。

可选地,网络设备500还包括交换网板520,交换网板520也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板530的情况下,交换网板520用于完成各接口板之间的数据交换,例如,接口板530和接口板540之间可以通过交换网板520通信。

主控板510和接口板530耦合。例如,主控板510、接口板530、接口板540以及交换网板520之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板510和接口板530之间建立进程间通信协议(inter-process communication,IPC)通道,主控板510和接口板530之间通过IPC通道进行通信。

在逻辑上,网络设备500包括控制面和转发面,控制面包括主控板510和中央处理器531,转发面包括执行转发的各个组件,比如转发表项存储器534、物理接口卡533和网络处理器532。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器532基于控制面下发的转发表对物理接口卡533收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器534中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。

例如,如果网络设备500被配置为第一网络设备,物理接口卡533接收到报文,并发送给网络处理器532,网络处理器532经过压缩处理后,将报文从物理接口卡533发送出去。

例如,如果网络设备500被配置为第二网络设备,物理接口卡533接收到第一网络设备发送的压缩报文,然后发送给网络处理器532,网络处理器532进行解压处理,将解压后的报文通过物理接口卡533发送出去。

报文压缩装置200中的通信单元201相当于网络设备500中的物理接口卡533;报文压缩装置200中的压缩单元202可以相当于网络处理器532或中央处理器511。

报文解压缩装置300中的通信单元301相当于网络设备500中的物理接口卡533;报文解压缩装置300中的解压单元302、生成单元303可以相当于网络处理器532或中央处理器511。

本申请实施例中接口板540上的操作与接口板530的操作一致,为了简洁,不再赘述。本实施例的网络设备500可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备500中的主控板510、接口板530和/或540可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。

值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。

本申请还提供了一种网络设备600,参见图16所示,图16为本申请提供的一种网络设备600的结构示意图。网络设备600可以配置为第一网络设备。网络设备600包括收发器610和压缩电路620,收发器610和压缩电路620通过总线630连接。

压缩电路620用于压缩第一报文,以获得第二报文,第二报文中包括保留数据和压缩数据,保留数据为第一报文的负荷中的第一数据,第一数据是第一报文的负荷的一部分,压缩数据为第一报文的负荷中的第二数据的压缩结果,收发器610用于发送第二报文。

可选的,收发器610还用于接收其他终端设备发送的第一报文。

具体的,收发器610可用于执行图2实施例中的步骤S101和步骤S104,压缩电路620可用于执行图2实施例中的步骤S102和步骤S103。

报文压缩装置200中,通信单元201可以位于网络设备600中的收发器610中;压缩单元202可以位于网络设备600中的压缩电路620中。

网络设备600仅仅是一种示例,实际应用中,可以包括更多或更少的器件或电路,本申请不做限定。

本申请还提供了一种网络设备700,参见图17所示,图17为本申请提供的一种网络设备700的结构示意图。网络设备700可以配置为第二网络设备。网络设备700包括收发器710和解压缩电路720,收发器710和解压缩电路720通过总线730连接。

收发器710用于接收第二报文,第二报文中包括保留数据和压缩数据;解压缩电路720用于解压压缩数据,获得第二数据;解压缩电路720还用于根据第二数据和保留数据,生成第一报文的负荷;其中,保留数据为第一报文的负荷的一部分。

可选的,解压缩电路720还用于生成第一报文,收发器710还用于将第一报文发送至其他网络设备。

具体的,收发器710可用于执行图2实施例中的步骤S104,解压缩电路720可用于执行图2实施例中的步骤S105和步骤S106。

报文解压缩装置300中,通信单元301可以位于网络设备700中的收发器710中;解压单元302和生成单元303可以位于网络设备700中的解压缩电路720中。

网络设备700仅仅是一种示例,实际应用中,可以包括更多或更少的器件或电路,本申请不做限定。

在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。

例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtualmachine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可以将虚拟机配置为网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(networkfunctions virtualization,NFV)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备。此处不再赘述。

虚拟化设备可以是容器,容器是一种用于提供隔离的虚拟化环境的实体。例如,容器可以是docker容器,可以将容器配置为第一网络设备或第二网络设备。比如,可以通过对应的镜像来创建出第一网络设备或第二网络设备,例如可以通过提供代理服务的容器proxy-container的镜像,为proxy-container创建2个容器实例,分别是容器实例proxy-container1、容器实例proxy-container2,将容器实例proxy-container1提供为第一网络设备,将容器实例proxy-container2提供为第二网络设备。采用容器技术实现时,第一网络设备或第二网络设备可以利用物理机的内核运行,多个第一网络设备或第二网络设备可以共享物理机的操作系统。通过容器技术可以将不同的第一网络设备或第二网络设备隔离开来。容器化的第一网络设备或第二网络设备可以在虚拟化的环境中运行,例如可以在虚拟机中运行,容器化的第一网络设备或第二网络设备也可以直接在物理机中运行。

例如,虚拟化设备可以是Pod,Pod是Kubernetes(Kubernetes是谷歌开源的一种容器编排引擎,简称为K8s)为部署、管理、编排容器化应用的基本单位,Pod可以包括一个或多个容器。同一个Pod中的每个容器通常部署在同一主机上,因此同一个Pod中的每个容器可以通过该主机进行通信,并且可以共享该主机的存储资源和网络资源。可以将Pod配置为第一网络设备或第二网络设备,例如,具体地,可以指令容器即服务(container as aservice,CaaS,是一种基于容器的PaaS服务)来创建Pod,将Pod提供为第一网络设备或目标设备。

当然,第一网络设备或第二网络设备还可以是其他虚拟化设备,在此不做一一列举。

在一些可能的实施例中,上述第一网络设备或第二网络设备也可以由通用处理器来实现。例如,该通用处理器的形态可以是一种芯片。具体地,实现第一网络设备或第二网络设备的通用处理器包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口,该处理电路用于通过输入接口执行上述各个方法实施例中的报文的生成步骤,该处理电路用于通过输入接口执行上述各个方法实施例中的接收步骤,该处理电路用于通过输出接口执行上述各个方法实施例中的发送步骤。可选地,该通用处理器还可以包括存储介质,该处理电路用于通过存储介质执行上述各个方法实施例中的存储步骤。存储介质可以存储处理电路执行的指令,该处理电路用于执行存储介质存储的指令以执行上述各个方法实施例。

参见图18,本申请实施例提供了一种系统800,系统800包括第一网络设备801和第二网络设备802。可选的,第一网络设备801可以是报文压缩装置200、网络设备400、网络设备500或网络设备600,第二网络设备802可以是报文解压缩装置300、网络设备400、网络设备500或网络设备700。第一网络设备801用于执行上述图2所示的方法实施例中第一网络设备侧所述的方法,具体包括步骤S101、S102、S103和步骤S104,第二网络设备802用于执行上述图2所示的方法实施例中第二网络设备侧所述的方法,具体包括步骤S104、S105和S106。

本申请实施例提供了一种计算机产品,包括程序代码,当程序代码在第一网络设备上运行时,使得第一网络设备执行上述图2所述的方法实施例,或者,当程序代码在第二网络设备上运行时,使得第二网络设备执行上述图2所述的方法实施例。

上述各种产品形态的装置,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digitalvideo disc,DVD)、或者半导体介质(例如固态硬盘)等。

以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种报文压缩的方法、设备、系统和介质
  • 一种报文发送方法、装置、网络设备和计算机可读介质
  • 一种报文处理方法、装置及网络设备
  • 一种神经网络压缩方法、装置、电子设备及存储介质
  • 一种压缩文件管理方法、装置、计算机设备及存储介质
  • 以太网报文头的压缩及解压缩方法、压缩及解压缩设备
  • 一种压缩和解压缩以太网报文的方法及网元设备
技术分类

06120115761626