CN117255138A - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN117255138A CN117255138A CN202210646233.3A CN202210646233A CN117255138A CN 117255138 A CN117255138 A CN 117255138A CN 202210646233 A CN202210646233 A CN 202210646233A CN 117255138 A CN117255138 A CN 117255138A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- compression
- header
- indication information
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000007906 compression Methods 0.000 claims abstract description 278
- 230000006835 compression Effects 0.000 claims abstract description 276
- 238000012545 processing Methods 0.000 claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 22
- 241000465502 Tobacco latent virus Species 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 230000006837 decompression Effects 0.000 description 11
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据处理方法及相关设备,涉及通信技术领域。该方法包括:获取第一报文,第一报文包括第一报文头与第一数据;根据压缩参数处理第一数据以得到第二数据;根据第一报文头生成第二报文头,第二报文头包括指示信息,指示信息指示压缩参数;向第二设备发送第二报文,第二报文包括第二报文头和第二数据。一方面,通过对第一数据的压缩减少网络的带宽,减少租用网络带宽的费用。另一方面,通过在第二报文头中的指示信息指示压缩参数,使得第二设备能够识别到该指示信息,并根据该指示信息还原报文中的有效载荷数据。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法及相关设备。
背景技术
随着云计算的流行,越来越多的服务和应用被部署到云计算中,同时承载云计算的数据中心也越来越庞大。
数据中心之间往往使用路由器连接,路由器之间的网络带宽一般是租用运营商的虚拟专线,租用费用非常昂贵。因此,如何减少上述网络带宽的租用费是亟待解决的问题。
发明内容
本申请提供了一种数据处理方法。在该方法中,数据的发送方基于压缩参数压缩待传输数据。该方法通过压缩待传输的数据,减少了传输的数据量,可以降低数据发送方的网络带宽租用费。
本申请第一方面提供了一种数据处理方法,该方法可以由第一设备执行,也可以由第一设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取第一报文,第一报文包括第一报文头与第一数据;根据压缩参数处理第一数据以得到第二数据;根据第一报文头生成第二报文头,第二报文头包括指示信息,指示信息指示压缩参数;向第二设备发送第二报文,第二报文包括第二报文头和第二数据。
该方法通过压缩待传输的数据,减少了传输的数据量,降低了数据发送方的网络带宽租用费。
可选地,在第一方面的一种可能的实现方式中,上述的第一报文与第二报文为网际互连协议(Internet Protocol,IP)报文。例如,在第二报文是IPv4报文的情况下,指示信息可以位于第二报文头的选项字段中。又例如,在第二报文是IPv6报文的情况下,指示信息可以位于第二报文的扩展报文头中。
该种可能的实现方式中,在IP网络的场景下,一方面,通过在IP选项字段或扩展报文头中增加用于指示压缩参数的指示信息,可以使得解压缩端(即第二设备)识别该IP选项字段或扩展报文头,根据IP选项字段或扩展报文头中的指示信息还原已经被压缩的数据。另一方面,对于第一设备与第二设备之间的中间设备来说,即使中间设备不能识别该IP选项字段或扩展报文头的含义,也可以正确跳过该IP选项字段或扩展报文头进行正常的转发。即该方案不影响中间设备正常转发报文,也不影响第二设备接收正确的指示信息。进而该种方式可以应用于中间设备为旧设备的场景,提升了该方案的兼容性和易用性。
可选地,在第一方面的一种可能的实现方式中,根据压缩参数处理第一数据以得到第二数据,包括:根据压缩参数压缩第一数据以得到第二数据。
可选地,在第一方面的一种可能的实现方式中,上述的指示信息还指示加密参数,根据压缩参数处理第一数据以得到第二数据,包括:根据压缩参数与加密参数处理第一数据以得到第二数据。
该种可能的实现方式中,对第一数据进行压缩处理与加密处理,并通过指示信息指示加密参数,使得第二设备可以根据该指示信息还原数据。
可选地,在第一方面的一种可能的实现方式中,根据压缩参数与加密参数处理第一数据以得到第二数据,包括:使用压缩参数压缩第一数据以得到第三数据;使用加密参数加密第三数据以得到第二数据。
该种可能的实现方式中,第一设备对第一数据进行压缩处理与加密处理,具体可以是先压缩后加密,使得压缩效果较好,减少网络的带宽与租用网络带宽的费用。
可选地,在第一方面的一种可能的实现方式中,上述的第一报文还包括第三报文头,第二报文包括第三报文头,第三报文头包括源端口和目的端口。
该种可能的实现方式中,直接将源端口与目的端口暴露出来,源端口与目的端口不压缩不加密。在第一设备与第二设备之间包括中间设备的情况下,中间设备可以根据该源端口与目的端口进行其他处理,例如,负载均衡、流量统计等处理。
可选地,在第一方面的一种可能的实现方式中,上述的第一数据包括第一部分和第二部分,第一部分包括源端口和目的端口,根据压缩参数处理第一数据以得到第二数据包括:根据压缩参数处理第二部分,以得到处理后的第二部分,第二数据包括第一部分和处理后的第二部分。
该种可能的实现方式中,仅将其他报文头中的源/目的端口暴露出来,这部分不压缩不加密,压缩/加密其他报文头中的其他字段。其中,其他报文头可以包括:传输控制协议(Transmission Control Protocol,TCP)头/用户数据报协议(User Datyperam Protocol,UDP)头。
本申请第二方面提供了一种数据处理方法,该方法可以由第二设备执行,也可以由第二设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:接收第一设备发送的报文,报文包括报文头和第二数据,报文头包括指示信息,指示信息指示压缩参数;从报文头的指示信息中识别出压缩参数,并根据压缩参数处理第二数据以得到第一数据。
可选地,在第二方面的一种可能的实现方式中,上述的报文为IP报文,指示信息位于报文头的选项字段或者扩展报头中。
可选地,在第二方面的一种可能的实现方式中,根据压缩参数处理第二数据以得到第一数据,包括:根据压缩参数解压缩第二数据以得到第一数据。
可选地,在第二方面的一种可能的实现方式中,上述的指示信息还指示加密参数,根据压缩参数处理第二数据以得到第一数据,包括:根据压缩参数与加密参数处理第二数据以得到第一数据。
该种可能的实现方式中,第二设备识别指示信息中的加密参数,进而可以使用压缩参数与加密参数还原数据。
可选地,在第二方面的一种可能的实现方式中,根据压缩参数与加密参数处理第二数据以得到第一数据,包括:使用加密参数对第二数据进行解密以得到第三数据;使用压缩参数对第三数据进行解压缩以得到第一数据。
该种可能的实现方式中,第二设备对第二数据进行解压缩处理与解密处理,具体可以是先解密后解压缩,使得在减少网络带宽与租用网络带宽费用的同时,还可以加密网络数据,提升数据传输的安全。
本申请第三方面提供了一种第一设备,该第一设备包括:获取单元,用于获取第一报文,第一报文包括第一报文头与第一数据;处理单元,用于根据压缩参数处理第一数据以得到第二数据;生成单元,用于根据第一报文头生成第二报文头,第二报文头包括指示信息,指示信息指示压缩参数;发送单元,用于向第二设备发送第二报文,第二报文包括第二报文头和第二数据。
可选地,在第三方面的一种可能的实现方式中,上述的所述第一报文与所述第二报文为网际互连协议IP报文,所述指示信息位于所述第二报文头的选项字段中(例如,应用于IPv4报文),或者所述第二报文头相比于所述第一报文头增加有扩展报文头,所述指示信息位于所述扩展报文头中(例如,应用于IPv6报文)。
可选地,在第三方面的一种可能的实现方式中,上述的处理单元,具体用于根据压缩参数压缩第一数据以得到第二数据。
可选地,在第三方面的一种可能的实现方式中,上述的指示信息还指示加密参数,处理单元,具体用于根据压缩参数与加密参数处理第一数据以得到第二数据。
可选地,在第三方面的一种可能的实现方式中,上述的处理单元,具体用于使用压缩参数压缩第一数据以得到第三数据;处理单元,具体用于使用加密参数加密第三数据以得到第二数据。
可选地,在第三方面的一种可能的实现方式中,上述的第一报文还包括第三报文头,第二报文包括第三报文头,第三报文头包括源端口和目的端口。
可选地,在第三方面的一种可能的实现方式中,上述的第一数据包括第一部分和第二部分,第一部分包括源端口和目的端口,处理单元,具体用于根据压缩参数处理第二部分,以得到处理后的第二部分,第二数据包括第一部分和处理后的第二部分。
本申请第四方面提供了一种第二设备,该第二设备包括:接收单元,用于接收第一设备发送的报文,报文包括报文头和第二数据,报文头包括指示信息,指示信息指示压缩参数;处理单元,用于从报文头的指示信息中识别出压缩参数,并根据压缩参数处理第二数据以得到第一数据。
可选地,在第四方面的一种可能的实现方式中,上述的报文为IP报文,所述指示信息位于所述报文头的选项字段或扩展报头中。
可选地,在第四方面的一种可能的实现方式中,上述的处理单元,具体用于根据压缩参数解压缩第二数据以得到第一数据。
可选地,在第四方面的一种可能的实现方式中,上述的指示信息还指示加密参数,处理单元,具体用于根据压缩参数与加密参数处理第二数据以得到第一数据。
可选地,在第四方面的一种可能的实现方式中,处理单元,具体用于使用加密参数对第二数据进行解密以得到第三数据;处理单元,具体用于使用压缩参数对第三数据进行解压缩以得到第一数据。
本申请第五方面提供了一种第一设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该第一设备实现上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第六方面提供了一种第二设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该第二设备实现上述第二方面或第二方面的任意可能的实现方式中的方法。
本申请第七方面提供了一种通信系统,该通信系统包括上述第五方面的第一设备,和/或第六方面的第二设备。
本申请第八方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式、第二方面或第二方面的任意可能的实现方式中的方法。
本申请第九方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式、第二方面或第二方面的任意可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的一种应用场景的示意图;
图2为本申请实施例提供的网络设备的一个结构示意图;
图3为本申请实施例提供的数据处理方法的一个流程示意图;
图4为本申请实施例提供的第一报文的一个结构示意图;
图5A为本申请实施例提供的第一报文头的一个结构示意图;
图5B为本申请实施例提供的第一报文头的另一个结构示意图;
图6A为本申请实施例提供的第二报文头的另一个结构示意图;
图6B为本申请实施例提供的第二报文头的另一个结构示意图;
图7A为本申请实施例提供的第二报文头的另一个结构示意图;
图7B为本申请实施例提供的第二报文头的另一个结构示意图;
图8A为本申请实施例提供的第二报文的一个结构示意图;
图8B为本申请实施例提供的第二报文的另一个结构示意图;
图9A为本申请实施例提供的第一报文的另一个结构示意图;
图9B为本申请实施例提供的第二报文的另一个结构示意图;
图10A为本申请实施例提供的第一报文的另一个结构示意图;
图10B为本申请实施例提供的第二报文的另一个结构示意图;
图11为本申请实施例提供的数据处理方法的另一个流程示意图;
图12为本申请实施例提供的第一设备处理第一报文的流程示意图;
图13为本申请实施例提供的第二设备处理第二报文的流程示意图;
图14为本申请实施例提供的第一设备处理多个报文的流程示意图;
图15为本申请实施例提供的第一设备的一个结构示意图;
图16为本申请实施例提供的第二设备的一个结构示意图;
图17为本申请实施例提供的网络设备的一个结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本申请实施例提供的一种应用场景的示意图。如图1所示,该应用场景包括网络设备101至106。网络设备101至106中的任意两个网络设备可以互相通信。本申请后续其他实施例中提及的第一设备与第二设备可以是该应用场景中的任意两个网络设备。进一步的,第一设备与第二设备都具有压缩/解压缩数据的功能。
可选地,该网络设备101至106可分别用于连接一个本地网络,例如,数据中心网络(Data Center network,DCN)、园区网络或城域网等。例如,网络设备101和网络设备104分别为数据中心1和数据中心2的入口设备,数据中心1通过网络设备101与其他设备/网络通信,数据中心2通过网络设备104与其他设备/网络通信。
本申请实施例中的网络设备可以是路由器、交换机(例如:框式交换机、可插拔板卡形式的交换机等)等主要用于路由/转发的设备,也可以是云端的服务器、网关、防火墙等中间设备等等,具体此处不做限定。
本地网络与其他网络之间通常需要传输大量的数据,这使得本地网络的入口设备(例如,网络设备101和网络设备104)需要提供高带宽服务。这对本地网络的提供者带来了高昂的带宽成本。
鉴于此,本申请实施例提供了一种数据处理方法及相关设备。该数据处理方法可以应用于网络设备,例如,本地网络的入口设备。网络设备压缩待发送给其他网络设备或网络的数据,以降低待传输的数据量,从而降低对网络设备的带宽需求。另外,网络设备在压缩报文中新增选项字段携带压缩参数,使得接收压缩数据的网络设备能够获取压缩参数并解压压缩数据。
下面结合附图详细说明本申请实施例提供的数据处理方法及相关设备。
首先,先对网络设备进行描述。为了区分压缩端与解压缩端,下面用第一设备表示压缩端,第二设备表示解压缩端。本申请实施例中的网络设备可以是第一设备或第二设备。
请参考图2,为本申请实施例提供的一种网络设备(即第一设备或第二设备)的结构示意图。该网络设备包括交换网板、主控板、接口板和业务板。
其中,交换网板主要用于网络设备内部的数据交换,也可以理解为是用于传输业务数据。主要是负责跨接口板之间的数据转发交换,负责各接口板之间报文的交换、分发、调度、控制等功能。通常交换网板采用高性能的专用集成电路(Application SpecificIntegrated Circuit,ASIC)芯片,提供线速转发。
主控板主要用于提供网络设备的管理和控制功能以及数据平面的协议处理功能,负责处理各种通信协议;作为用户操作的代理,根据用户的操作指令来管理系统、监视性能,并向用户反馈网络设备的运行情况;对接口板、风扇、电源等进行监控和维护。例如:配置策略下发等。
接口板主要用于提供业务传输的外部物理接口、实现业务数据的接收/发送。例如:接收上一跳设备发送的数据、执行访问控制列表(Access Control List,ACL)策略、向下一跳设备发送数据等。另外,接口板的数量可以是一个或多个,可以根据具体需要设置,此处不做限定。
业务板主要用于对业务数据的处理,该处理包括:压缩/解压缩。在某些场景中,上述的处理还可以包括:加密、解密等等。
本申请实施例中的业务板可以是一个多核处理器的并行架构,可以并发对多个需要压缩/解压缩的报文进行压缩/解压缩。
下面对本申请实施例提供的数据处理方法进行描述。该方法可以由网络设备执行,也可以由网络设备的部件(例如,主控板、接口板或业务板)执行。如图3所示,该数据处理方法可以包括步骤301至步骤305。
步骤301,第一设备获取第一报文。
本申请实施例中,第一设备获取第一报文的方式有多种方式。例如,第一设备可以接收其他网络设备发送的第一报文。又例如,第一设备生成第一报文。在实际应用中,第一设备还可以有其他方式获取第一报文,具体此处不做限定。
可选地,第一设备生成第一报文的方式中,第一设备可以先获取第一数据,并对第一数据进行封装得到第一报文。其中,第一设备可以是从数据库中选取的第一数据,或者第一设备接收用户输入的第一数据等,对于第一数据的获取方式此处不做限定。
第一报文包括第一报文头与第一数据,其中,第一报文头为第一报文的报文头,第一数据可以称为第一报文的有效载荷(payload)。例如,该种情况下的第一报文可以如图4所示。
可选地,第一报文可以是网际互连协议(Internet Protocol,IP)报文。例如,第一报文是网际协议版本4(Internet Protocol version 4,IPv4)报文。相应地,第一报文头为IPv4报头。例如,第一报文是网际协议版本6(Internet Protocol version 6,IPv6)报文。相应地,第一报文头为IPv6报头。
示例性的,以第一报文为IP报文为例,对第一报文头的具体结构进行示例性说明。在第一报文为IPv4报文的情况下,第一报文头的具体结构可以如图5A所示。第一报文头包括:版本号、首部长度、区分服务、总长度、标识、标志、片位移、生存时间、协议号、首部校验和、源IP地址以及目的IP地址。在第一报文为IPv6报文的情况下,第一报文头的具体结构可以如图5B所示。第一报文头包括:版本号、流量类别、流标签、有效载荷长度、下一个报文头、跳数限制、源IP地址以及目的IP地址。
步骤302,第一设备根据压缩参数处理第一数据以得到第二数据。
第一设备获取第一报文之后,根据压缩参数处理第一报文中的第一数据,以得到第二数据。
可选地,第一设备根据压缩参数处理第一报文中的第一数据可以是:第一设备使用压缩参数对第一数据(例如:IP payload)进行压缩以得到第二数据。第一设备根据压缩参数处理第一报文中的第一数据还可以是:第一设备使用压缩参数对第一数据中的部分数据(例如:TCP payload等)进行压缩以得到第二数据。对于后一种部分数据的处理在后续实施例中有所描述(如图9A至图10B对应的描述),此处不再展开。
其中,压缩参数包括压缩算法。该压缩参数可以是预设的压缩参数,具体可以是用户提前设置的,或通过外部控制器/其他设备下发的,又或者是第一设备与第二设备之间协商确定的,本申请实施例对压缩参数的获取或确定不做限定。
上述的压缩算法可以是无损压缩或有损压缩。以无损压缩为例,压缩算法可以是串表压缩算法(Lempel-Ziv-Welch,LZW)、LZO(Lempel-Ziv-Oberhumer)、LZ4(Lempel-Ziv-4)、LZS、LZMA(Lempel-Ziv-Markov chain-Algorithm)、ZSTD(Zstandard)、DEFLATE等等,具体此处不做限定。
另外,该压缩参数还可以包括该压缩算法的压缩等级,不同压缩等级对应该压缩算法的不同压缩速率或效率。其中,压缩等级可以由数字或字母等方式表示。一般情况下,对于同一种压缩算法,压缩等级的数字越大表明该压缩算法的压缩速率越慢。
示例性的,以压缩算法是LZ4为例,压缩等级可以是1或2,该种示例下的压缩参数为LZ4-1或LZ4-2。以压缩算法是ZSTD为例,压缩等级可以是1、3或5,该种示例下的压缩参数为ZSTD-1、ZSTD-3、ZSTD-5。
步骤303,第一设备根据第一报文头生成第二报文头。
第一设备根据压缩参数处理第一数据以得到第二数据之后,可以根据第一报文的第一报文头生成第二报文头。其中,第二报文头包括指示信息,该指示信息指示第二数据所使用的压缩参数。
可选地,在第一报文为IP报文的情况下,基于IP报文所属的版本不同,指示信息在第二报文头中的位置有所不同。例如,在第一报文为IPv4报文的情况下,指示信息位于第二报文头的IP选项字段中。又例如,在第一报文为IPv6报文的情况下,指示信息位于扩展报文头中,该种示例下的第二报文头包括IPv6报文的扩展报文头。
本申请实施例中的报文头也可以称为首部或头部等,具体此处不做限定。例如,第一报文头可以称为第一首部或第一头部。又例如,扩展报文头可以称为扩展首部或扩展头部等。
示例性的,若第一报文头如前述图5A所示,第二报文头的具体结构可以如图6A所示。可以看出,第二报文头相较于第一报文头增加了选项字段。
示例性的,若第一报文头如前述图5B的举例,第二报文头的具体结构可以如图6B所示。可以看出,第二报文头相较于第一报文头增加有扩展报文头。
可选地,第一设备可以在第一报文头的基础上增加选项字段/扩展报文头,并在该选项字段/扩展报文头中增加指示信息,该指示信息用于第二设备确定第二数据所使用的压缩参数,以便于第二设备根据该压缩参数还原出第一数据。进而实现第一设备与第二设备可以传输数据量较小的数据(即压缩后的第二数据)。
在一种可能实现的方式中,第一设备与第二设备默认使用预设的压缩参数进行数据的传输,则该压缩参数可以用1比特位的“1”或“0”表示传输的数据使用预设的压缩参数进行压缩。
在另一种可能实现的方式中,第一设备与第二设备没有默认使用预设的压缩参数进行数据的传输,该压缩参数可以包括具体的压缩算法。进一步的,若该压缩算法包括多个压缩等级,为了第二设备可以使用与第一设备相同的压缩等级进行解压缩,则压缩参数还可以包括该压缩算法的压缩等级。
可选地,上述的指示信息可以使用类型长度取值(type length value,TLV)格式进行封装,TLV格式包括:类型(type)、长度(length)以及数据内容的取值(value)。通常情况下,TLV中的第一个字节代表类型,紧接着的一个字节代表数据内容的长度,后面跟着选项的数据内容。当然,T、L、V各占的字节数可以根据实际需要设置,具体此处不做限定。下面仅以T和L各占一字节为例进行示例性描述。
示例性的,以前述IPv4报文头为例,使用TLV格式的指示信息所在的第二报文头可以如图7A所示。以前述IPv6报文头为例,使用TLV格式的指示信息所在的第二报文头可以如图7B所示。
可选地,以前述IPv4报文头为例,IP选项字段使用TLV表示的方式有多种,下面分别描述。
第一种,T用于指示压缩参数中压缩算法的类型,V用于指示压缩参数中的压缩等级。
可选地,T指示压缩参数中压缩算法的类型ZSTD,V指示该ZSTD的压缩等级为1、3、5中的一种。
示例性的,以压缩参数为ZSTD-1为例,该种情况下TLV的举例可以如表1所示。
表1
T(第一个字节) | L(第二个字节) | V(一个字节) |
00001100 | 00000001 | 00000001 |
其中,T为“00001100”表示压缩参数中压缩算法的数值为12。L为“00000001”表示该选项字段中V的长度为1个字节。V为“00000001”表示该压缩算法对应的压缩等级为1。另外,第一设备与第二设备之间可以存储有对应关系表1,该对应关系表1用于指示T的数值与压缩算法类型的对应关系。示例性的,对应关系表1如表2所示。则T的数值为12表示压缩算法为ZSTD。当然,压缩等级可以基于V中的数值直接确定,也可以通过提前存储的其他对应关系表2(表示V的数值与压缩等级的对应关系)进行确定,此处不再赘述。
表2
数值 | 压缩算法 |
10 | LZ4 |
11 | LZO |
12 | ZSTD |
13 | DEFLATE |
14 | LZS |
15 | LZW |
16 | LZMA |
可以理解的是,上述表1与表2的只是该种情况下的一种示例。
第二种,T用于指示压缩参数中的压缩等级,V用于指示压缩参数中的压缩算法。
可选地,T指示压缩参数中的压缩等级为1或2,V指示该压缩等级对应的压缩参数为LZ4。
示例性的,以压缩参数为LZ4-2为例,该种情况下TLV的举例可以如表3所示。
表3
T(第一个字节) | L(第二个字节) | V(一个字节) |
00000010 | 00000001 | 00001010 |
其中,T为“00000010”表示压缩参数中压缩算法的等级为2。L为“00000001”表示该选项字段中V的长度为1个字节。V为“00001010”表示该压缩等级对应的压缩参数的数值为10。另外,第一设备与第二设备之间可以存储有对应关系表1,该对应关系表用于指示V的数值与压缩算法的对应关系。示例性的,对应关系表1如表2所示。则表3中V的数值为10表示压缩算法为LZ4。当然,压缩等级可以基于T中的数值直接确定,也可以通过提前存储的其他对应关系表3(表示T的数值与压缩等级的对应关系)进行确定,此处不再赘述。
第三种,T用于指示新类型,该新类型用于确定压缩参数。V用于指示压缩参数。
该种情况下,可以通过新增T的类型指示该选项字段用于指示压缩参数,并使用V指示压缩参数。
示例性的,V为一个字节,V中的前4个比特指示压缩算法,V中的后4个比特用于指示该压缩算法的压缩等级。以压缩参数为LZ4-1为例,该种情况下TLV的举例可以如表4所示。
表4
T(第一个字节) | L(第二个字节) | V(一个字节) |
00001111 | 00000001 | 01010001 |
其中,T为“00001111”表示类型15。且15用于指示该选项字段的功能为指示压缩参数。L为“00000001”表示该选项字段中V的长度为1个字节。V为“01010001”表示压缩算法的数值为5,压缩等级为1。第一设备与第二设备之间可以存储有对应关系表4,该对应关系表4用于指示数值与压缩算法的对应关系。示例性的,对应关系表4如表5所示。则V中前四个比特的数值为5表示压缩算法为LZ4,V中后四个比特的数值为1表示压缩等级为1。当然,压缩等级可以基于V中后四个比特的数值直接确定,也可以通过提前存储的其他对应关系表5(表示V中后四个比特的数值与压缩等级的对应关系)进行确定,此处不再赘述。
表5
可以理解的是,上述表4与表5的只是该种情况下的一种示例。
需要说明的是,上述TLV的三种情况只是示例,在实际应用中TLV还可以有其他情况,具体此处不做限定。
步骤304,第一设备向第二设备发送第二报文。相应的,第二设备接收第一设备发送的第二报文。
第一设备获取第二数据与第二报文头之后,可以使用第二报文头对第二数据进行封装得到第二报文,并向第二设备发送第二报文。相应的,第二设备接收第一设备发送的第二报文。该第二报文包括第二报文头与第二数据。
本申请实施例中,第一设备与第二设备可以是相邻的两个设备,也可以是间隔N跳的两个设备,N为正整数。
示例性的,以第二报文为IPv4报文为例,第二报文可以如图8A所示。以第二报文为IPv6为例,第二报文可以如图8B所示。
步骤305,第二设备从第二报文头中识别指示信息,并根据该指示信息中的压缩参数处理第二数据以得到第一数据。
第二设备接收第一设备发送的第二报文之后,可以从第二报文头中识别该指示信息,根据该指示信息确定压缩参数,进而使用该压缩参数处理第二数据得到第一数据。即第二设备使用指示信息中的压缩参数还原出第一数据。
可选地,第二设备接收第二报文之后,基于第二报文的报文头中的版本号字段确定该第二报文是IPv4报文,还是IPv6报文。例如,若第二设备识别到报文头中的版本号为“0100”,则第二设备确定该第二报文是IPv4报文。若第二设备识别到报文头中的版本号为“0110”,则第二设备确定该第二报文是IPv6报文。
在一种可能实现的方式中,第二设备确定第二报文是IPv4报文之后,可以从第二报文的选项字段中识别指示信息。
在另一种可能实现的方式中,第二设备确定第二报文是IPv6报文之后,可以从第二报文的扩展报文头中识别指示信息。
其中,关于指示信息的描述可以参考前述步骤303中的描述,此处不再赘述。
本申请实施例中,第二设备通过指示信息确定压缩参数的方式有多种,例如,可以与前述IP选项字段使用TLV表示的方式有多种对应。
下面以步骤303中IP选项字段使用TLV表示的第三种情况为例,描述第二设备通过指示信息确定压缩参数的具体过程。
示例性的,延续上述表4与表5的举例。第二设备识别到指示信息的T为“00001111”、L为“00000001”、V为“01010001”。则第二设备基于T为15确定该选项字段的功能为指示压缩参数。第二设备基于L为1确定该选项字段中V的长度为1个字节。第二设备确定V中用于表示压缩算法的前四个比特为5,V中用于表示压缩等级的后四个比特为1。进一步的,第二设备基于表5确定压缩算法为5表示LZ4,基于V中后四个比特的数值为1直接确定压缩算法的等级为1。则第二设备确定第二报文所使用的压缩参数为LZ4-1。
在第二设备通过指示信息确定压缩参数之后,可以使用该压缩参数对第二数据进行处理以得到第一数据。可选地,第二设备使用该压缩参数解压缩第二数据以得到第一数据。
可选地,以第二报文为IP报文为例,第二设备在还原出第一数据之后,可以将第一数据转发给目的IP地址指示的接收端。
本实施例中,第一设备压缩待传输数据,并在待传输数据所在的报文中新增选项字段指示压缩参数。一方面,通过压缩待传输数据减少了对网络带宽的需求,降低了租用网络带宽的费用。另一方面,通过待传输数据所在的报文中的选项字段或扩展报头携带指示信息以指示压缩参数,可以使得第二设备能够根据该指示信息还原报文中的有效载荷数据。另一方面,对于第一设备与第二设备之间的中间设备来说,中间设备在转发第一报文的过程中,虽然可能不能识别该选项字段或扩展报头的含义,但是也可以忽略该选项字段或扩展报头。即该种携带压缩参数的方式不影响中间设备对报文的转发,能够兼容网络中大量的转发设备,不需要替换大量的转发设备,节省方案部署成本。
可选地,为使得压缩后的报文支持更多的功能,例如,基于等价多路径路由(equalcost multi-path,ECMP)的负载均衡,基于业务类型的流量统计等,第二报文还可以包括更多的保留数据以供第一设备或后续的网络设备基于保留数据提供其他功能。该保留数据不被压缩,即,第二报文中直接暴露保留数据,第一设备及后续的网络设备均可以获取该保留数据。该保留数据例如为源端口和目的端口。下文以保留数据为源端口和目的端口为例进行说明。
可选地,上述源端口和目的端口可以是传输控制协议(Transmission ControlProtocol,TCP)头中的端口,或者用户数据报协议(User Datagram Protocol,UDP)头中的端口等。
本申请实施例中,将源端口和目的端口暴露出来的方式有多种,下面仅以TCP为例对于多种情况进行描述。该TCP报文头可以包括:源端口、目的端口以及其他字段。其中,其他字段可以包括:TCP序列号字段、确认号字段、首部长度、保留、窗口尺寸、TCP校验和、紧急指针字段等。
第一种,直接将整个TCP报文头暴露出来,即,不压缩TCP报文头。
该种情况下,第一报文包括第三报文头(如图9A所示),第二报文包括第三报文头,该第三报文头包括源端口和目的端口(如图9B所示)。在第二报文包括TCP头的情况下,协议号为17。
可选地,以第三报文头为TCP报文头为例,第三报文头除了包括源端口和目的端口以外,还可以包括其他字段。第一设备可以直接使用压缩参数解压缩第二数据以得到第一数据。
第二种,仅将TCP报文头中的源端口和目的端口暴露出来,即,不压缩源端口和目的端口,压缩TCP报文头中除了源端口和目的端口以外的其他字段。
该种情况下,第一数据包括第一部分和第二部分,第一部分包括源端口和目的端口,第二部分包括其他字段与TCP payload。
示例性的,第一报文可以如图10A所示,第一报文包括第一报文头与第一数据,第一数据包括第一部分与第二部分,第一部分包括源端口与目的端口。第二报文可以如图10B所示,第二报文包括第二报文头、第一部分以及处理后的第二部分。对于第一报文头与第二报文头的描述可以参考前述图3实施例中的描述,此处不再赘述。
该种情况下,上述图3所示实施例中的步骤302具体可以包括:第一设备根据压缩参数处理第二部分,以得到处理后的第二部分,第二数据包括第一部分和处理后的第二部分。即第一设备使用压缩参数对第二部分进行压缩以得到压缩后的第二部分,第二数据包括第一部分与压缩后的第二部分。
第二设备可以先使用压缩参数解压缩第二数据中处理后的第二部分以得到第二部分,再根据第一部分与第二部分还原得到第一数据。
上述的第一种情况可以理解为是将TCP报文头暴露出来,整个TCP报文头不参与压缩处理。即第二设备仅压缩TCP payload,得到第二数据。而第二种情况是将TCP报文头中的源端口和目的端口暴露出来,TCP报文头中除了源端口与目的端口以外的其他字段参与压缩处理。即第二设备压缩不仅压缩TCP payload,还压缩TCP报文头中的其他字段。
需要注意的是,上述两种情况中,由于被压缩数据的不同,导致被压缩数据在第二报文中的位置可能有所不同。为了使得第二设备明确第二报文中被压缩数据的起始位置,指示信息除了包括压缩参数以外,还可以包括位置参数。该位置参数用于指示被压缩数据在第二报文中的起始位置或者用于指示偏移位置。则前述图3所示实施例中的步骤305具体为:第二设备从报文头的指示信息中识别出压缩参数,并根据指示信息中的压缩参数与位置参数处理第二数据以得到第一数据。
本实施例中,通过不压缩保留数据(例如,将源端口和目的端口暴露出来),使得接收到压缩报文的网络设备不需要做任何的修改和配置,也可以正常处理网络设备原有业务功能(例如:ECMP负载均衡、基于业务类型的流量统计等等),进一步增强了该压缩方案的兼容性和易用性。
进一步的,为了保证数据在传输过程中的安全,第一设备还可以对数据进行加密,相应的,第二设备对数据进行解密。
在加密场景中,图3所示实施例中的指示信息还可以包括加密参数。本申请实施例中的加密参数可以包括加密算法与密钥长度(或其他加密参数)。加密算法可以是信息摘要算法、对称加密算法、非对称加密算法等,具体此处不做限定。例如:对称加密算法可以具体是高级加密标准(Advanced Encryption Standard,AES)、SM1等。非对称加密算法可以具体是RSA算法、SM2等。
示例性的,以加密算法是AES为例,密钥长度可以是128或256等,该种示例下的加密参数可以是AES128、AES256。
本实施例中,对于加密参数的密钥可以通过外部控制器统一下发,也可以通过第一设备与第二设备提前协商等方式,具体此处不做限定。
在加密场景中,前述图3所示实施例中的步骤302具体可以为:第一设备根据压缩参数与加密参数处理第一数据以得到第二数据。
其中,加密参数的获取方式与前述压缩参数的获取方式类似,具体可以是用户提前设置的,或通过外部控制器/其他设备下发的,又或者是第一设备与第二设备之间协商确定的,本申请实施例对加密参数的获取或确定不做限定。
本申请实施例中,加密参数的指示方式与前述图3所示实施例中压缩参数的指示方式类似,加密参数的指示方式有多种情况,下面以第一报文与第二报文是IPv4报文为例进行示例性描述。
第一种,该指示信息通过两个TLV表示,其中,一个TLV指示压缩参数,另一个TLV指示加密参数。
该种情况下,用于指示压缩参数的TLV可以参考前述图3所示实施例中步骤303的三种情况,此处不再赘述。用于指示加密参数的TLV可以包括以下几个情况。
1、T用于指示加密参数中加密算法的类型,V用于指示加密参数中的密钥长度。
2、T用于指示加密参数中的密钥长度,V用于指示加密参数中的加密算法。
3、T用于指示新类型,该新类型用于确定加密参数。V用于指示加密参数。
第二种,该指示信息通过一个TLV表示。
该种情况可以结合前述图3所示实施例中步骤303的三种情况。例如,T的一部分比特用于指示加密参数中加密算法的类型,T的另一部分比特用于指示压缩参数中压缩算法的类型。V的一部分比特用于指示加密参数中的密钥长度,V的另一部分比特用于指示压缩参数中的压缩等级。又例如,T的一部分比特用于指示加密参数中的密钥长度,T的另一部分比特用于指示压缩参数中的压缩等级。V的一部分比特用于指示加密参数中加密算法的类型,V的另一部分比特用于指示压缩参数中压缩算法的类型。又例如,T用于指示新类型,该新类型用于确定指示信息。V为两个字节,V的一个字节用于指示压缩参数,V的另一个字节用于指示加密参数。
示例性的,T用于指示新类型,该新类型用于确定指示信息。V为两个字节,V的一个字节用于指示压缩参数,V的另一个字节用于指示加密参数。且V中用于指示加密参数的字节中的前4个比特用于指示加密算法,后4个比特用于指示加密算法的密钥长度。指示信息可以如表6所示。
表6
T(第一个字节) | L(第二个字节) | V(两个字节) |
00001111 | 00000010 | 0101000100100001 |
其中,T为“00001111”表示类型15。且15用于指示该选项字段的功能为指示指示信息。L为“00000010”表示该选项字段中V的长度为2个字节。V的第一个字节为“01010001”,V的第二个字节为“00100001”。另外,第一设备与第二设备之间可以存储有对应关系表4、对应关系表6以及对应关系表7。对应关系表4用于指示数值与压缩算法的对应关系,对应关系表6用于指示数值与加密算法的对应关系,对应关系表7用于指示数值与密钥长度的对应关系。示例性的,对应关系表4可以如前述表5所示,对应关系表6可以如表7所示,对应关系表7可以如表8所示。则该示例下,通过表5与表6可以看出,V的第一个字节为“01010001”表示压缩参数为LZ4-1。通过表5与表7可以看出,V中第二个字节为“00100001”的前4个比特为2用于指示加密算法为AES。通过表5与表8可以看出,V中第二个字节为“00100001”的后4个比特为1用于指示表示密钥长度为128。
表7
数值 | 加密算法 |
1 | SM |
2 | AES |
3 | RSA |
表8
数值 | 密钥长度 |
1 | 128 |
2 | 256 |
可以理解的是,上述表6至表8的只是该种情况下的一种示例。
具体的,第一设备使用压缩参数压缩第一数据以得到第三数据,并使用加密参数加密第三数据以得到第二数据。该过程可以理解为是先压缩处理,后加密处理。
相应的,前述图3所示实施例中的步骤305中:第二设备根据指示信息中的压缩参数处理第二数据以得到第一数据包括:第二设备根据指示信息中的压缩参数与加密参数处理第二数据以得到第一数据。
具体的,第二设备使用加密参数对第二数据进行解密以得到第四数据;再使用压缩参数对第四数据进行解压缩以得到第一数据。该过程可以理解为是先解密处理,后解压缩处理。
示例性的,延续上述举例,若指示信息采用TLV格式进行封装,且指示信息如前述表6所示。则第二设备识别到指示信息的T为“00001111”、L为“00000010”、V为“0101000100100001”。则第二设备基于T为15确定该选项字段的功能为指示解包参数。第二设备基于L为2确定该选项字段中V的长度为2个字节。第二设备确定V的第一个字节为“01010001”,V的第二个字节为“0010001”。在第一个字节中,表示压缩算法的前四个比特为5,V中用于表示压缩等级的后四个比特为1。进一步的,第二设备基于表5确定压缩算法为5表示LZ4。则第二设备确定第二报文所使用的压缩参数为LZ4-1。在第二个字节中,表示加密算法的前四个比特为2,V中用于表示压缩等级的后四个比特为1。进一步的,第二设备基于表7与表8确定加密算法为AES128。
则第二设备可以根据V为“0101000100100001”,确定第一设备使用LZ4-1的压缩参数与AES128的加密参数对第一数据进行的处理。进而第二设备可以使用该LZ4-1与AES128对第二数据进行处理以得到第一数据。
可以理解的是,该加密场景可以应用在前述图3所示实施例中或前述图9A至图10B所示的实施例中。
本实施例中,第一设备对第一数据进行压缩与加密处理,第二设备对第二数据进行解密与解压缩处理。一方面,对第一数据的压缩减少网络的带宽,减少租用网络带宽的费用。另一方面,通过加密可以提升数据在传输过程中的安全。另一方面,通过在第二报文中选项字段的指示信息指示压缩参数与加密参数,可以使得第二设备能够识别到选项字段中的指示信息,并根据该指示信息还原报文中的有效载荷数据。另一方面,对于第一设备与第二设备之间的中间设备来说,即使中间设备不能识别该选项字段或扩展报头的含义,也可以正确地执行转发功能,即,该方案不影响中间设备对报文的处理,也不会影响第二设备对压缩报文、选项信息或扩展报头的接收。进而,该实施方式不要求升级中间设备以支持该方案,可以减少新设备的投入,尽最大可能保护运营商和客户的投资。
可选地,在步骤301之前,用户/管理员可以通过网管/控制终端向网络设备(即第一设备与第二设备)下发配置策略,该配置策略包括:1)是否开启压缩、解压缩功能;2)需要执行压缩的数据流(例如通过五元组、二元组等确定);3)执行压缩所使用的压缩算法;4)压缩算法对应的压缩等级;5)是否开启统计功能(例如是否需要获取后续的第一统计数据与第二统计数据)等等。其中,3)和4)为压缩参数。
图11为网络设备中各硬件使用上述配置策略的流程示意图,网络设备中的主控板接收上述的配置策略。一方面,主控板根据该配置策略生成ACL策略,并向接口板(包括接口板1与接口板2)下发ACL策略,并接收接口板上报的第一统计数据。另一方面,主控板根据配置策略生成压缩策略(例如:压缩参数、如何识别报文中的压缩参数)下发到业务板,接收业务板上报的第二统计数据,根据该第二统计数据更新压缩策略。
其中,第一统计数据与转发的报文相关,例如,第一统计数据可以包括:接口板转发报文的数量、字节数、转发可压缩报文的数量、转发不可压缩报文的数量等。第二统计数据与业务板处理的报文相关,例如,第二统计数据可以包括:业务板压缩的统计数据,如压缩的报文数,压缩前的字节数,压缩后的字节数等。
上述的接口板具体可以为接口板1,另一接口板为接口板2。或者,接口板具体为接口板2,另一接口板为接口板1。
另外,上述的ACL策略可以是针对数据流(包括多个报文),也可以是针对报文的。该ACL策略可以用于指示报文或者数据流是否需要进行压缩。例如,若主控板以报文为粒度指示需压缩报文,则该ACL策略可以用于指示可压缩报文需要经过业务板进行处理后传输,对于不适用于压缩的报文不经过业务板。若主控板以数据流为粒度指示需压缩报文,则该ACL策略可以用于指示可压缩的数据流需要经过业务板进行处理后传输,对于不适用于压缩的数据流不经过业务板。
接口板根据上述的ACL策略收发报文,并将第一统计数据上报到主控板。具体地,一种情况,接口板将可压缩报文(在将命中ACL策略的报文或者选项字段中具有压缩参数的报文)转发到业务板,将不可压缩报文转发到另一接口板。另一种情况,接口板将可压缩数据流的所有报文(在将命中ACL策略的报文或者选项字段中具有压缩参数的报文)转发到业务板,将不可压缩的数据流的报文转发到另一接口板。
本申请中的图11至图13是基于报文粒度作为是否经过业务板的判断依据,图14是基于数据流粒度作为是否经过业务板的判断依据。
业务板根据压缩策略对报文进行压缩/解压缩,并将第二统计数据上报到主控板。其中,第二统计数据与压缩/解压缩报文得到的数据相关,例如,第二统计数据可以包括压缩的报文数量、压缩前报文的字节数、压缩后报文的字节数等等。
下面结合图12与图13对图3所示实施例中第一设备处理第一报文与第二设备处理报文的流程进行描述。图12为图3所示实施例中第一设备对第一报文进行压缩处理的流程示意图。图13为图3所示实施例中第二设备对第二报文进行解压缩处理的流程示意图。
如图12所示,第一设备包括主控板、接口板1、交换网板、业务板以及接口板2。主控板向接口板1下发ACL策略(例如:将需要压缩的数据流报文转发到业务板),一方面,接口板1根据ACL策略将需要执行压缩的报文转发到业务板。另一方面,接口板1根据ACL策略将不需要压缩的报文通过交换网板转发至接口板2。相应的,业务板接收主控板下发的压缩参数,并使用该压缩参数对接口板转发过来的第一报文进行压缩处理得到第二报文(具体流程可以参考前述图3实施例中的描述,此处不再赘述)。业务板再通过交换网板将处理后的报文转发至接口板2。
可选地,接口板2可以更新报文长度、校验和等信息得到第二报文,并向下一跳设备发送该第二报文。
可选地,若是主控板按照数据流作为是否经过业务板的判断依据,则对于适用于压缩的数据流需要经过业务板进行处理后传输,对于不适用于压缩的数据流通过交换网板进行传输(数据流不经过业务板)。如图14所示,同一数据流中的报文有可能出现被压缩(例如:0、2、3、5)或未被压缩(例如:1、4)的情况,为了防止报文的乱序,该报文无论是否被压缩,都增加选项字段。其中,未被压缩报文的选项字段中的指示信息可以用于指示该报文未被压缩,已被压缩报文的选项字段中的指示信息可以用于指示具体使用的压缩参数。
如图13所示,第二设备包括主控板、接口板1、交换网板、业务板以及接口板2。主控板向接口板1下发ACL策略(例如:将携带特定类型的选项或扩展报头的报文转发给业务板)。接口板1收到其他设备(例如第一设备)发送的第二报文。一方面,接口板1根据ACL策略确定接收的报文是否需要解压缩,并将需要解压缩的报文转发到业务板。另一方面,接口板1根据ACL策略将不需要解压缩的报文通过交换网板转发至接口板2。
业务板接收主控板下发的压缩策略(例如:根据选项字段中的指示信息进行解压缩处理),并使用该压缩策略识别第二报文的选项字段中的指示信息,并基于指示信息中的压缩参数对第二报文中的压缩数据进行解压缩(具体流程可以参考前述图3实施例中的描述,此处不再赘述),并删除第二报文中的选项字段,将处理后的报文转发至接口板2。
可选地,接口板2可以更新报文长度、校验和等信息,并根据正常的转发逻辑继续后续的操作(例如转发操作)。
其中,对于上述传输过程中的报文以及报文的处理可以参考前述图3所示实施例中的描述,此处不再赘述。
在上述的硬件架构以及数据处理方法中,一方面,通过对第一数据的压缩减少网络的带宽,减少租用网络带宽的费用。另一方面,通过在第二报文中选项字段或扩展报头的指示信息指示压缩参数,可以使得第二设备能够识别到选项字段或扩展报头中的指示信息,并根据该指示信息还原报文中的有效载荷数据。另一方面,通过将TCP或UDP的源端口与目的端口暴露出来,便于中间设备进行流量统计处理、负载均衡等业务。另一方面,由于不压缩的报文不用进入业务板,可以减少业务板中待处理报文的阻塞,提升网络设备的性能。
上面对本申请中的数据处理方法进行了描述,下面对本申请中的第一设备进行描述,请参阅图15,本申请中第一设备的一个实施例包括:
获取单元1501,用于获取第一报文,第一报文包括第一报文头与第一数据;
处理单元1502,用于根据压缩参数处理第一数据以得到第二数据;
生成单元1503,用于根据第一报文头生成第二报文头。第二报文头包括指示信息,指示信息指示压缩参数;
发送单元1504,用于向第二设备发送第二报文,第二报文包括第二报文头和第二数据。
本实施例中,第一设备中各单元所执行的操作与前述图3至图14所示实施例中描述的类似,此处不再赘述。
本实施例中,减少了传输的数据量,降低了数据发送方的网络带宽租用费。另外,处理单元1502通过在第二报文的选项字段或扩展报头携带包括压缩参数的指示信息,使得第二设备能够识别到指示信息,并根据该指示信息还原报文中的有效载荷数据。进一步地,该方案还可以使得第一设备和第二设备之间的中间设备无需升级即可正常的转发第二报文,提升了该方案的兼容性和易用性。
请参阅图16,本申请中第二设备的一个实施例包括:
接收单元1601,用于接收第一设备发送的第二报文,第二报文包括第二报文头和第二数据,第二报文头包括指示信息,指示信息指示压缩参数;
处理单元1602,用于从报文头的指示信息中识别出压缩参数,并根据压缩参数处理第二数据以得到第一数据。
本实施例中,第二设备中各单元所执行的操作与前述图3至图14所示实施例中描述的类似,此处不再赘述。
本实施例中,减少了传输的数据量,降低了数据发送方的网络带宽租用费。另外,处理单元1602通过识别在第二报文中的选项字段或扩展头报文头识别指示信息,使得第二设备能够基于指示信息确定压缩参数,并根据该压缩参数还原报文中的有效载荷数据。进一步地,该方案还可以使得第一设备和第二设备之间的中间设备无需升级即可正常的转发第二报文,提升了该方案的兼容性和易用性。
参阅图17,本申请提供的一种网络设备的结构示意图。该网络设备可以是前述图3所示实施例中的第一设备或第二设备。该网络设备可以包括处理器1701、存储器1702和通信端口1703。该处理器1701、存储器1702和通信端口1703通过线路互联。其中,存储器1702中存储有程序指令和数据。
存储器1702中存储了前述图3至图14所示对应的实施方式中,由第一设备/第二设备执行的步骤对应的程序指令以及数据。
处理器1701,用于执行前述图3至图14所示实施例中任一实施例所示的由第一设备/第二设备执行的步骤。
通信端口1703可以用于进行数据的接收和发送,用于执行前述图3至图14所示实施例中任一实施例中与获取、发送、接收相关的步骤。
一种实现方式中,网络设备可以包括相对于图17更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (27)
1.一种数据处理方法,其特征在于,所述方法应用于第一设备,所述方法包括:
获取第一报文,所述第一报文包括第一报文头与第一数据;
根据压缩参数处理所述第一数据以得到第二数据;
根据所述第一报文头生成第二报文头,所述第二报文头包括指示信息,所述指示信息指示所述压缩参数;
向第二设备发送第二报文,所述第二报文包括所述第二报文头和所述第二数据。
2.根据权利要求1所述的方法,其特征在于,所述第一报文与所述第二报文为网际互连协议IP报文,所述指示信息位于所述第二报文头的选项字段或扩展报头中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据压缩参数处理所述第一数据以得到第二数据,包括:
根据所述压缩参数压缩所述第一数据以得到所述第二数据。
4.根据权利要求1至3中任一所述的方法,其特征在于,所述指示信息还指示加密参数,所述根据压缩参数处理所述第一数据以得到第二数据,包括:
根据所述压缩参数与所述加密参数处理所述第一数据以得到所述第二数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述压缩参数与所述加密参数处理所述第一数据以得到所述第二数据,包括:
使用所述压缩参数压缩所述第一数据以得到第三数据;
使用所述加密参数加密所述第三数据以得到所述第二数据。
6.根据权利要求1至5任一所述的方法,其特征在于,所述第一报文还包括第三报文头,所述第二报文包括所述第三报文头,所述第三报文头包括源端口和目的端口。
7.根据权利要求1至5任一所述的方法,其特征在于,所述第一数据包括第一部分和第二部分,所述第一部分包括源端口和目的端口,所述根据压缩参数处理所述第一数据以得到第二数据包括:
根据所述压缩参数处理所述第二部分,以得到处理后的第二部分,所述第二数据包括所述第一部分和所述处理后的第二部分。
8.一种数据处理方法,其特征在于,所述方法应用于第二设备,所述方法包括:
接收第一设备发送的报文,所述报文包括报文头和第二数据,所述报文头包括指示信息,所述指示信息指示压缩参数;
从所述报文头的指示信息中识别出所述压缩参数,并根据所述压缩参数处理所述第二数据以得到第一数据。
9.根据权利要求8所述的方法,其特征在于,所述报文为网际互连协议IP报文,所述指示信息位于所述报文头的选项字段或扩展报头中。
10.根据权利要求8或9所述的方法,其特征在于,所述根据所述压缩参数处理所述第二数据以得到第一数据,包括:
根据所述压缩参数解压缩所述第二数据以得到所述第一数据。
11.根据权利要求8至10中任一项所述的方法,其特征在于,所述指示信息还指示加密参数,所述根据所述压缩参数处理所述第二数据以得到第一数据,包括:
根据所述压缩参数与所述加密参数处理所述第二数据以得到第一数据。
12.根据权利要求11所述的方法,其特征在于,所述根据所述压缩参数与所述加密参数处理所述第二数据以得到第一数据,包括:
使用所述加密参数对所述第二数据进行解密以得到第三数据;
使用所述压缩参数对所述第三数据进行解压缩以得到所述第一数据。
13.一种第一设备,其特征在于,所述第一设备包括:
获取单元,用于获取第一报文,所述第一报文包括第一报文头与第一数据;
处理单元,用于根据压缩参数处理所述第一数据以得到第二数据;
生成单元,用于根据所述第一报文头生成第二报文头,所述第二报文头包括指示信息,所述指示信息指示所述压缩参数;
发送单元,用于向第二设备发送第二报文,所述第二报文包括所述第二报文头和所述第二数据。
14.根据权利要求13所述的第一设备,其特征在于,所述第一报文与所述第二报文为网际互连协议IP报文,所述指示信息位于所述第二报文头的选项字段或者扩展报头中。
15.根据权利要求13或14所述的第一设备,其特征在于,所述处理单元,具体用于根据所述压缩参数压缩所述第一数据以得到所述第二数据。
16.根据权利要求13至15中任一项所述的第一设备,其特征在于,所述指示信息还指示加密参数,所述处理单元,具体用于根据所述压缩参数与所述加密参数处理所述第一数据以得到所述第二数据。
17.根据权利要求16所述的第一设备,其特征在于,所述处理单元,具体用于使用所述压缩参数压缩所述第一数据以得到第三数据;
所述处理单元,具体用于使用所述加密参数加密所述第三数据以得到所述第二数据。
18.根据权利要求13至17任一所述的第一设备,其特征在于,所述第一报文还包括第三报文头,所述第二报文包括所述第三报文头,所述第三报文头包括源端口和目的端口。
19.根据权利要求13至17任一所述的第一设备,其特征在于,所述第一数据包括第一部分和第二部分,所述第一部分包括源端口和目的端口,所述处理单元,具体用于根据所述压缩参数处理所述第二部分,以得到处理后的第二部分,所述第二数据包括所述第一部分和所述处理后的第二部分。
20.一种第二设备,其特征在于,所述第二设备包括:
接收单元,用于接收第一设备发送的报文,所述报文包括报文头和第二数据,所述报文头包括指示信息,所述指示信息指示压缩参数,所述指示信息位于所述第二报文头的选项字段;
处理单元,用于从所述报文头的指示信息中识别出所述压缩参数,并根据所述压缩参数处理所述第二数据以得到第一数据。
21.根据权利要求20所述的第二设备,其特征在于,所述报文为网际互连协议IP报文,所述指示信息位于所述报文头的选项字段或扩展报头中。
22.根据权利要求20或21所述的第二设备,其特征在于,所述处理单元,具体用于根据所述压缩参数解压缩所述第二数据以得到所述第一数据。
23.根据权利要求20至22中任一项所述的第二设备,其特征在于,所述指示信息还指示加密参数,所述处理单元,具体用于根据所述压缩参数与所述加密参数处理所述第二数据以得到第一数据。
24.根据权利要求23所述的第二设备,其特征在于,所述处理单元,具体用于使用所述加密参数对所述第二数据进行解密以得到第三数据;
所述处理单元,具体用于使用所述压缩参数对所述第三数据进行解压缩以得到所述第一数据。
25.一种网络设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序或指令,所述处理器用于执行所述计算机程序或指令,使得权利要求1至12中任一项所述的方法被执行。
26.一种计算机可读存储介质,其特征在于,所述介质存储有指令,当所述指令被计算机执行时,实现权利要求1至12中任一项所述的方法。
27.一种计算机程序产品,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646233.3A CN117255138A (zh) | 2022-06-09 | 2022-06-09 | 一种数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646233.3A CN117255138A (zh) | 2022-06-09 | 2022-06-09 | 一种数据处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117255138A true CN117255138A (zh) | 2023-12-19 |
Family
ID=89133659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210646233.3A Pending CN117255138A (zh) | 2022-06-09 | 2022-06-09 | 一种数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117255138A (zh) |
-
2022
- 2022-06-09 CN CN202210646233.3A patent/CN117255138A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Deering et al. | RFC 8200: Internet protocol, version 6 (ipv6) specification | |
Deering et al. | Internet protocol, version 6 (IPv6) specification | |
US7948921B1 (en) | Automatic network optimization | |
WO2018175140A1 (en) | Hardware-accelerated secure communication management | |
US20050198492A1 (en) | System and method for secure data transfer over a network | |
US20220174051A1 (en) | Packet transmission method and apparatus and computer storage medium | |
Peuhkuri | A method to compress and anonymize packet traces | |
EP1926245A1 (en) | Method and system for obtaining ssh host key of managed device | |
US8249107B2 (en) | Method and apparatus for frame relay | |
JP2010259081A (ja) | IPSecを用いたネットワーク処理 | |
CN110535748B (zh) | 一种vpn隧道模式优化方法及系统 | |
CN111787025B (zh) | 加解密处理方法、装置、系统以及数据保护网关 | |
CN110912859B (zh) | 发送报文的方法、接收报文的方法及网络设备 | |
Restuccia et al. | Low-power IoT communication security: On the performance of DTLS and TLS 1.3 | |
KR100748698B1 (ko) | 보안 통신 시스템의 패킷 처리 방법 및 그 장치 | |
EP3413533B1 (en) | Data transmission method and system | |
CN113726795B (zh) | 报文转发方法、装置、电子设备及可读存储介质 | |
EP3419238B1 (en) | Method, apparatus, and system for transmitting data | |
US20050198498A1 (en) | System and method for performing cryptographic operations on network data | |
CN107528923B (zh) | 一种网络适配器的数据传输方法及网络适配器 | |
KR100415554B1 (ko) | 정보 보호 인터넷 프로토콜 패킷의 송수신 방법 | |
EP3605963B1 (en) | Data processing method and apparatus | |
US7564976B2 (en) | System and method for performing security operations on network data | |
US6963568B2 (en) | Method for transmitting data packets, method for receiving data packets, data packet transmitter device, data packet receiver device and network including such devices | |
CN111464550B (zh) | 一种用于报文处理设备的https透明防护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |