Communication method and related equipment

By carrying APN information and compression-related fields in the IPv6 expansion header, indicating whether the packet has been compressed, the problem of increasing complexity of the message compression identification method in the prior art is solved, and communication efficiency is improved.

CN119232805APending Publication Date: 2024-12-31HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311188015.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2023-09-13
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In the process of message compression and decompression, the complexity of compressed messages in the forwarding process increases by carrying a specific identification method in the basic header, affecting communication efficiency.

Method used

By carrying application-aware network (APN) information in the IPv6 extension header, the Flags field, APN-Para-Type field, Intent(Optional) field or APN-Para(Optional) field of the APN information is used to indicate whether the packet has been compressed by using the Flags field, APN-Para-Type field, APN-Para(Optional) field of the APN information to indicate whether the packet has been compressed Process and carry compression algorithm and/or compression parameter index information to avoid changing the forwarding information carried by the basic header of the packet.

Benefits of technology

It reduces the complexity of compressed packets in the forwarding process, improves communication efficiency, and reduces the adaptation workload and complexity in the wide area network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232805A_ABST
    Figure CN119232805A_ABST
Patent Text Reader

Abstract

The invention provides a communication method and related equipment, which are used for reducing the complexity of a compressed message in a forwarding process so as to improve the communication efficiency. In the method, a first device receives a first message, the first message comprising a first payload (payload); the first device sends a first message, the first device sends a second message, the second message comprises an internet protocol version 6 (IPv6) extension header and a second payload, and the second payload is obtained through compression processing of the first payload; wherein the IPv6 extension head comprises first information, and the first information is used for indicating that the second payload carried by the second message is the payload which is subjected to compression processing.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of the Chinese patent application filed with the China Patent Office on June 29, 2023, with application number 202310786821.1 and invention name “A method for solving data compression identification based on APN6”, the entire contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a communication method and related equipment. Background Art

[0003] In communication systems, message compression and message decompression are common technologies. Through the processing of message compression and message decompression, the line bandwidth consumption of traffic can be reduced and the line cost can be saved.

[0004] At present, after receiving a message, a message compression device can compress the payload in the message to obtain a compressed message with a smaller data volume. In addition, the basic header of the compressed message can also carry an identifier for identifying the message as a compressed message, and the subsequent message decompression device can decompress the compressed message based on the identifier to restore the payload before compression.

[0005] However, since the above method of carrying a specific identifier in the basic header of the message changes the content of the basic header, it will increase the complexity of the compressed message during forwarding. Summary of the invention

[0006] The present application provides a communication method and related equipment for reducing the complexity of compressed messages during forwarding, thereby improving communication efficiency.

[0007] The first aspect of the present application provides a communication method, which is executed by a first device, or the method is executed by some components (such as a processor, a chip or a chip system, etc.) in the first device, or the method is implemented by a logic module or software that can realize all or part of the functions of the first device. In the first aspect and its possible implementation, the communication method is described as being executed by the first device, wherein the first device can be a router, a switch, a virtual machine and other devices. In the method, the first device receives a first message, and the first message includes a first payload; the first device sends a second message, and the second message includes an Internet Protocol version 6 (IPv6) extension header and a second payload, and the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0008] Based on the above technical solution, after the first device compresses the first payload in the first message to obtain the second payload, the first device sends a second message containing the second payload and the first information, and the first information used to indicate that the second payload carried by the second message is a compressed payload is located in the IPv6 extension header of the second message. Compared with the implementation method of carrying a specific identifier in the basic header of the message to indicate the compressed message, in the above technical solution, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the IPv6 extension header can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0009] In a possible implementation manner of the first aspect, the IPv6 extension header includes application-aware networking (APN) information, and the first information is carried in a Flags field of the APN information.

[0010] Based on the above technical solution, the IPv6 extension header of the second message may include APN information, and the first information may be carried in the Flags field of the APN information, so that the receiver of the second message can clearly know that the second payload carried by the second message is a compressed payload based on the Flags field of the APN information. Thus, the indication of data compression can be achieved by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0011] In a possible implementation manner of the first aspect, the second message is a message in a data stream where application data of the first application is located, and the IPv6 extension header also includes second information, where the second information is used to indicate that the application data of the first application is data that needs to be compressed.

[0012] Based on the above technical solution, the second message can be a message in the data stream where the application data of the first application is located, and the IPv6 extension header in the second message also includes the second information, so that the receiver of the second message can clearly understand from the second information that the application data of the first application is data that needs to be compressed. Thus, the information carried by the IPv6 extension header can implement the indication of message compression in the data stream where the application is located.

[0013] In a possible implementation manner of the first aspect, the IPv6 extension header includes APN information, and the second information is carried in an application-aware networking parameter type (APN-Para-Type) field of the APN information.

[0014] Based on the above technical solution, the IPv6 extension header of the second message may include APN information, and the second information may be carried in the APN-Para-Type field of the APN information, so that the receiver of the second message can clearly know that the application data of the application corresponding to the second message is data that needs to be compressed based on the APN-Para-Type field of the APN information. Thus, the indication of data compression of the application can be realized by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0015] In a possible implementation manner of the first aspect, the IPv6 extension header also includes third information, where the third information is used to indicate a compression algorithm and / or compression parameter index (CPI) information of the compression process.

[0016] Based on the above technical solution, the second payload carried by the second message is a payload obtained by compression processing based on the first payload. Accordingly, the IPv6 extension header in the second message may also include third information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information of the compression processing based on the third information, so that the receiver of the second message can decompress the second payload based on the compression algorithm and / or CPI information.

[0017] Optionally, the compression algorithm and / or CPI information of the compression process may be preconfigured at the receiver of the second message to reduce message overhead. For example, the preconfiguration may include manual configuration, factory configuration, controller configuration, or network management configuration.

[0018] In a possible implementation manner of the first aspect, the IPv6 extension header includes APN information, and the third information is carried in an Intent (Optional) field or an APN-Para (Optional) field of the APN information.

[0019] Based on the above technical solution, the IPv6 extension header of the second message may include APN information, and the third information may be carried in the Intent (Optional) field or APN-Para (Optional) field of the APN information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information corresponding to the second message based on the Intent (Optional) field or APN-Para (Optional) field of the APN information. Thus, the indication of the compression algorithm and / or CPI information can be realized by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0020] In a possible implementation manner of the first aspect, the IPv6 extension header includes a hop byhop options header (HBH Options Header), a destination option header (DOH) or a segment routing header (SRH).

[0021] Based on the above technical solution, the IPv6 extension header in the second message can be implemented through any one of HBH Options Header, DOH or SRH to improve the flexibility of the solution implementation.

[0022] In a possible implementation manner of the first aspect, the first information is included in an option of the IPv6 extension header.

[0023] Based on the above technical solution, in the second message, the first information can be included in the options of the IPv6 extension header, so that the receiver of the second message can clearly know that the second payload carried by the second message is a compressed payload based on the first information in the options of the IPv6 extension header.

[0024] In a possible implementation manner of the first aspect, the IPv6 basic header of the first message is the same as the IPv6 basic header of the second message.

[0025] Based on the above technical solution, the IPv6 basic header of the first message received by the first device and the IPv6 basic header of the second message sent by the first message can be the same, and the second payload carried by the second message is obtained by compression processing based on the first payload carried by the first message, so that the first device does not need to change the basic header of the message during the message forwarding process after the message compression processing, and does not need to change the position of the message forwarding information carried by the basic header of the message in the message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0026] In a possible implementation manner of the first aspect, the first message and the second message are messages in a data stream where application data of a first application is located, wherein the application data of the first application is data that needs to be compressed.

[0027] Based on the above technical solution, the first message and the second message can be messages in the data stream where the application data of the first application is located. Accordingly, the application data of the first application can be indicated as data that needs to be compressed in a pre-configured manner, so that during the message forwarding process, the forwarding device of the first message can clearly identify the first message as data that needs to be compressed, thereby reducing overhead.

[0028] In a possible implementation manner of the first aspect, the first message also includes an identifier of the first application.

[0029] Based on the above technical solution, when the first message is a message in the data stream where the application data of the first application is located, the first message can carry an identifier of the first application, so that the recipient of the first message can clearly identify the first message as data that needs to be compressed based on the identifier of the first application.

[0030] In a possible implementation of the first aspect, the message forwarding information of the first message is the same as one of N message forwarding information included in an access control list (ACL), and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located.

[0031] Based on the above technical solution, when the first message is a message in the data stream where the application data of the first application is located, the first device can clarify in the ACL that the first message is data that needs to be compressed based on the message forwarding information of the first message, and subsequently compress the payload of the first message and then forward it.

[0032] Optionally, the message forwarding information includes five-tuple information (such as source Internet Protocol (IP) address, source port number, destination IP address, destination port number, protocol number, etc.), four-tuple information (such as source IP address, destination IP address, source port, destination port, etc.) or seven-tuple information (such as source IP address, destination IP address, protocol number, source port, destination port, service type and interface index, etc.).

[0033] The second aspect of the present application provides a communication method, which is executed by a second device, or the method is executed by some components in the second device (such as a processor, a chip or a chip system, etc.), or the method is implemented by a logic module or software that can realize all or part of the functions of the second device. In the second aspect and its possible implementation, the communication method is described as being executed by the second device, wherein the second device can be a router, a switch, a virtual machine and other devices. In this method, the second device receives a second message, and the second message includes an IPv6 extension header and a second payload, and the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload; the second device decompresses the second payload.

[0034] Based on the above technical solution, the second message received by the second device includes an IPv6 extension header and a second payload, the second payload is obtained by compressing the first payload, and the IPv6 extension header includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload, so that the second device can decompress the second payload in the second message. Compared with the implementation method of carrying a specific identifier in the basic header of the message to indicate the compressed message, in the above technical solution, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the IPv6 extension header can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0035] It should be understood that the second payload in the second message received by the second device is obtained by the first device performing compression processing based on the first payload in the first message. In other words, the first device can be called a message compression device, a compression device, a compression end, a compression node, etc.; correspondingly, the second device can be called a message decompression device, a decompression device, a decompression end, a decompression node, etc.

[0036] In addition, the first device and the second device may be connected in a variety of ways. For example, the first device may be directly connected to the second device, that is, there is no other forwarding device between the first device and the second device; or the first device may be connected to the second device through one hop or multiple hops.

[0037] Optionally, the first device, the second device and any one of the one-hop or multi-hop device terminals may be a communication device such as a router, a switch, a virtual switch, a virtual router, or a smart network card.

[0038] In a possible implementation manner of the second aspect, the method further includes: the second message sends a third message, and the third message includes a processing result obtained by decompressing the second payload.

[0039] Based on the above technical solution, the second device acts as a decompression end. After the second device decompresses the second payload to obtain a processing result, it can also send a third message carrying the processing result, so that the recipient of the third message can know the processing result.

[0040] Optionally, after the second device decompresses the second payload to obtain a processing result, the second device may also locally parse / use / present the processing result. In other words, the second device may not need to send the third message.

[0041] In a possible implementation manner of the second aspect, the IPv6 extension header includes APN information, and the first information is carried in a Flags field of the APN information.

[0042] Based on the above technical solution, the IPv6 extension header of the second message may include APN information, and the first information may be carried in the Flags field of the APN information, so that the second device can clearly know that the second payload carried by the second message is a compressed payload based on the Flags field of the APN information. Thus, the indication of data compression can be achieved by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0043] In a possible implementation manner of the second aspect, the second message is a message in a data stream where application data of the first application is located, and the IPv6 extension header also includes second information, where the second information is used to indicate that the application data of the first application is data that needs to be compressed.

[0044] Based on the above technical solution, the second message can be a message in the data stream where the application data of the first application is located, and the IPv6 extension header in the second message also includes the second information, so that the second device can clearly understand from the second information that the application data of the first application is data that needs to be compressed. Thus, the information carried by the IPv6 extension header can implement the indication of message compression in the data stream where the application is located.

[0045] In a possible implementation manner of the second aspect, the IPv6 extension header includes APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0046] Based on the above technical solution, the IPv6 extension header of the second message may include APN information, and the second information may be carried in the APN-Para-Type field of the APN information, so that the second device can clearly identify the application data of the application corresponding to the second message as data that needs to be compressed based on the APN-Para-Type field of the APN information. Thus, the indication of data compression of the application can be realized by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0047] In a possible implementation manner of the second aspect, the IPv6 extension header also includes third information, where the third information is used to indicate a compression algorithm and / or CPI information of the compression process.

[0048] Based on the above technical solution, the second payload carried by the second message is a payload obtained by compression processing based on the first payload. Accordingly, the IPv6 extension header in the second message can also include third information, so that the second device can clarify the compression algorithm and / or CPI information of the compression processing based on the third information, so that the second device can decompress the second payload based on the compression algorithm and / or CPI information.

[0049] Optionally, the compression algorithm and / or CPI information of the compression process may be preconfigured on the second device to reduce the message overhead. For example, the preconfiguration may include manual configuration, factory configuration, controller configuration, or network management configuration.

[0050] In a possible implementation manner of the second aspect, the IPv6 extension header includes APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0051] Based on the above technical solution, the IPv6 extension header of the second message may include APN information, and the third information may be carried in the Intent (Optional) field or APN-Para (Optional) field of the APN information, so that the second device can clarify the compression algorithm and / or CPI information corresponding to the second message based on the Intent (Optional) field or APN-Para (Optional) field of the APN information. Thus, the indication of the compression algorithm and / or CPI information can be realized by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0052] In a possible implementation manner of the second aspect, the IPv6 extension header includes HBH Options Header, DOH or SRH.

[0053] Based on the above technical solution, the IPv6 extension header in the second message can be implemented through any one of HBH Options Header, DOH or SRH to improve the flexibility of the solution implementation.

[0054] In a possible implementation manner of the second aspect, the first information is included in an option of the IPv6 extension header.

[0055] Based on the above technical solution, in the second message, the first information can be included in the option of the IPv6 extension header, so that the second device can clearly know that the second payload carried by the second message is a compressed payload based on the first information in the option of the IPv6 extension header.

[0056] In a possible implementation manner of the second aspect, the IPv6 basic header of the first message is the same as the IPv6 basic header of the second message.

[0057] Based on the above technical solution, the IPv6 basic header of the first message received by the first device and the IPv6 basic header of the second message sent by the first message can be the same, and the second payload carried by the second message is obtained by compression processing based on the first payload carried by the first message, so that the first device does not need to change the basic header of the message during the message forwarding process after the message compression processing, and does not need to change the position of the message forwarding information carried by the basic header of the message in the message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0058] In a possible implementation manner of the second aspect, the second message is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

[0059] Based on the above technical solution, the second message can be a message in the data stream where the application data of the first application is located. Accordingly, it can be indicated in a pre-configured manner that the application data of the first application is data that needs to be compressed, so that during the message forwarding process, the forwarding device of the first message can clearly identify the first message as data that needs to be compressed, thereby reducing overhead.

[0060] The third aspect of the present application provides a communication method, which is executed by a first device, or the method is executed by some components in the first device (such as a processor, a chip or a chip system, etc.), or the method is implemented by a logic module or software that can realize all or part of the functions of the first device. In the third aspect and its possible implementation, the communication method is described as being executed by a first device, wherein the first device can be a router, a switch, a virtual machine, and other devices. In the method, the first device receives a first message, and the first message includes a first payload; the first device sends a second message, and the second message includes an option (option(s)) in an Internet Protocol version 4 (IPv4) header and a second payload, and the second payload is obtained by compressing the first payload; wherein the option includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0061] Based on the above technical solution, after the first device compresses the first payload in the first message to obtain the second payload, the first device sends a second message containing the second payload and the first information, and the first information used to indicate that the second payload carried by the second message is a compressed payload is located in the option in the IPv4 header of the second message. Compared with the implementation method of carrying a specific identifier in the basic header of the message to indicate the compressed message, in the above technical solution, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the options in the IPv4 header can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process and thus improve communication efficiency.

[0062] In a possible implementation manner of the third aspect, the options in the IPv4 header include APN information, and the first information is carried in a Flags field of the APN information.

[0063] Based on the above technical solution, the options in the IPv4 header of the second message may include APN information, and the first information may be carried in the Flags field of the APN information, so that the receiver of the second message can clearly know that the second payload carried by the second message is a compressed payload based on the Flags field of the APN information. Thus, the indication of data compression can be achieved by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0064] In a possible implementation of the third aspect, the second message is a message in a data stream where application data of the first application is located, and the options in the IPv4 header also include second information, where the second information is used to indicate that the application data of the first application is data that needs to be compressed.

[0065] Based on the above technical solution, the second message can be a message in the data stream where the application data of the first application is located, and the option in the IPv4 header of the second message also includes the second information, so that the receiver of the second message can clearly understand from the second information that the application data of the first application is data that needs to be compressed. Thus, the information carried by the option in the IPv4 header can realize the indication of message compression of the data stream where the application is located.

[0066] In a possible implementation manner of the third aspect, the options in the IPv4 header include APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0067] Based on the above technical solution, the APN information can be included in the options in the IPv4 header of the second message, and the second information can be carried in the APN-Para-Type field of the APN information, so that the receiver of the second message can clearly know that the application data of the application corresponding to the second message is data that needs to be compressed based on the APN-Para-Type field of the APN information. Therefore, the indication of data compression of the application can be realized by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0068] In a possible implementation manner of the third aspect, the options in the IPv4 header also include third information, where the third information is used to indicate a compression algorithm and / or CPI information of the compression process.

[0069] Based on the above technical solution, the second payload carried by the second message is a payload obtained by compression processing based on the first payload. Accordingly, the options in the IPv4 header in the second message may also include third information, so that the recipient of the second message can clarify the compression algorithm and / or CPI information of the compression processing based on the third information, so that the recipient of the second message can decompress the second payload based on the compression algorithm and / or CPI information.

[0070] Optionally, the compression algorithm and / or CPI information of the compression process may be preconfigured at the receiver of the second message to reduce message overhead. For example, the preconfiguration may include manual configuration, factory configuration, controller configuration, or network management configuration.

[0071] In a possible implementation manner of the third aspect, the options in the IPv4 header include APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0072] Based on the above technical solution, the options in the IPv4 header of the second message may include APN information, and the third information may be carried in the Intent (Optional) field or APN-Para (Optional) field of the APN information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information corresponding to the second message based on the Intent (Optional) field or APN-Para (Optional) field of the APN information. Therefore, the indication of the compression algorithm and / or CPI information can be realized by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0073] In a possible implementation manner of the third aspect, the IPv4 basic header of the first message is the same as the IPv4 basic header of the second message.

[0074] Based on the above technical solution, the IPv4 basic header of the first message received by the first device and the IPv4 basic header of the second message sent by the first message can be the same, and the second payload carried by the second message is obtained by compression processing based on the first payload carried by the first message, so that the first device does not need to change the basic header of the message during the message forwarding process after the message compression processing, and does not need to change the position of the message forwarding information carried by the basic header of the message in the message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0075] In a possible implementation manner of the third aspect, the first message is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

[0076] Based on the above technical solution, the first message and the second message can be messages in the data stream where the application data of the first application is located. Accordingly, the application data of the first application can be indicated as data that needs to be compressed in a pre-configured manner, so that during the message forwarding process, the forwarding device of the first message can clearly identify the first message as data that needs to be compressed, thereby reducing overhead.

[0077] In a possible implementation manner of the third aspect, the first message also includes an identifier of the first application.

[0078] Based on the above technical solution, when the first message is a message in the data stream where the application data of the first application is located, the first message can carry an identifier of the first application, so that the recipient of the first message can clearly identify the first message as data that needs to be compressed based on the identifier of the first application.

[0079] In a possible implementation of the third aspect, the message forwarding information of the first message is the same as one of the N message forwarding information contained in the ACL, and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located.

[0080] Based on the above technical solution, when the first message is a message in the data stream where the application data of the first application is located, the first device can clarify in the ACL that the first message is data that needs to be compressed based on the message forwarding information of the first message, and subsequently compress the payload of the first message and then forward it.

[0081] Optionally, the message forwarding information includes five-tuple information (such as IP address, source port number, destination IP address, destination port number, protocol number, etc.), four-tuple information (such as source IP address, destination IP address, source port, destination port, etc.) or seven-tuple information (such as source IP address, destination IP address, protocol number, source port, destination port, service type and interface index, etc.).

[0082] The fourth aspect of the present application provides a communication method, which is executed by a second device, or the method is executed by some components in the second device (such as a processor, a chip or a chip system, etc.), or the method is implemented by a logic module or software that can realize all or part of the functions of the second device. In the fourth aspect and its possible implementation, the communication method is described as being executed by the second device, wherein the second device can be a router, a switch, a virtual machine and other devices. In this method, the second device receives a second message, and the second message includes an option in an IPv4 header and a second payload, and the second payload is obtained by compressing the first payload; wherein the option includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload; the second device decompresses the second payload.

[0083] Based on the above technical solution, the second message received by the second device includes an option in the IPv4 header and a second payload, the second payload is obtained by compressing the first payload, and the option in the IPv4 header includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload, so that the second device can decompress the second payload in the second message. Compared with the implementation method of carrying a specific identifier in the basic header of the message to indicate a compressed message, in the above technical solution, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the option in the IPv4 header can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0084] It should be understood that the second payload in the second message received by the second device is obtained by the first device performing compression processing based on the first payload in the first message. In other words, the first device can be called a message compression device, a compression device, a compression end, a compression node, etc.; correspondingly, the second device can be called a message decompression device, a decompression device, a decompression end, a decompression node, etc.

[0085] In addition, the first device and the second device may be connected in a variety of ways. For example, the first device may be directly connected to the second device, that is, there is no other forwarding device between the first device and the second device; or the first device may be connected to the second device through one hop or multiple hops.

[0086] Optionally, the first device, the second device and any one of the one-hop or multi-hop device terminals may be a communication device such as a router, a switch, a virtual switch, a virtual router, or a smart network card.

[0087] In a possible implementation manner of the fourth aspect, the method further includes: the second device sending a third message, where the third message includes a processing result obtained by decompressing the second payload.

[0088] Based on the above technical solution, the second device acts as a decompression end. After the second device decompresses the second payload to obtain a processing result, it can also send a third message carrying the processing result, so that the recipient of the third message can know the processing result.

[0089] Optionally, after the second device decompresses the second payload to obtain a processing result, the second device may also locally parse / use / present the processing result. In other words, the second device may not need to send the third message.

[0090] In a possible implementation manner of the fourth aspect, the options in the IPv4 header include APN information, and the first information is carried in a Flags field of the APN information.

[0091] Based on the above technical solution, the options in the IPv4 header of the second message may include APN information, and the first information may be carried in the Flags field of the APN information, so that the second device can clearly know that the second payload carried by the second message is a compressed payload based on the Flags field of the APN information. Thus, the indication of data compression can be achieved by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0092] In a possible implementation of the fourth aspect, the second message is a message in a data stream where application data of the first application is located, and the options in the IPv4 header also include second information, which is used to indicate that the application data of the first application is data that needs to be compressed.

[0093] Based on the above technical solution, the second message can be a message in the data stream where the application data of the first application is located, and the option in the IPv4 header of the second message also includes the second information, so that the second device can use the second information to clearly identify the application data of the first application as data that needs to be compressed. Thus, the information carried by the option in the IPv4 header can implement the indication of message compression in the data stream where the application is located.

[0094] In a possible implementation manner of the fourth aspect, the options in the IPv4 header include APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0095] Based on the above technical solution, the APN information can be included in the options in the IPv4 header of the second message, and the second information can be carried in the APN-Para-Type field of the APN information, so that the second device can clearly identify the application data of the application corresponding to the second message as data that needs to be compressed based on the APN-Para-Type field of the APN information. Therefore, the indication of data compression of the application can be realized by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0096] In a possible implementation manner of the fourth aspect, the options in the IPv4 header also include third information, and the third information is used to indicate the compression algorithm and / or CPI information of the compression processing.

[0097] Based on the above technical solution, the second payload carried by the second message is a payload obtained by compression processing based on the first payload. Accordingly, the options in the IPv4 header in the second message may also include third information, so that the second device can clarify the compression algorithm and / or CPI information of the compression processing based on the third information, so that the second device can decompress the second payload based on the compression algorithm and / or CPI information.

[0098] Optionally, the compression algorithm and / or CPI information of the compression process may be preconfigured on the second device to reduce the message overhead. For example, the preconfiguration may include manual configuration, factory configuration, controller configuration, or network management configuration.

[0099] In a possible implementation manner of the fourth aspect, the options in the IPv4 header include APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0100] Based on the above technical solution, the options in the IPv4 header of the second message may include APN information, and the third information may be carried in the Intent (Optional) field or APN-Para (Optional) field of the APN information, so that the second device can clarify the compression algorithm and / or CPI information corresponding to the second message based on the Intent (Optional) field or APN-Para (Optional) field of the APN information. Thus, the compression algorithm and / or CPI information can be indicated by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0101] In a possible implementation manner of the fourth aspect, the IPv4 basic header of the first message is the same as the IPv4 basic header of the second message.

[0102] Based on the above technical solution, the IPv4 basic header of the first message received by the first device and the IPv4 basic header of the second message sent by the first message can be the same, and the second payload carried by the second message is obtained by compression processing based on the first payload carried by the first message, so that the first device does not need to change the basic header of the message during the message forwarding process after the message compression processing, and does not need to change the position of the message forwarding information carried by the basic header of the message in the message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0103] In a possible implementation manner of the fourth aspect, the second message is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

[0104] Based on the above technical solution, the second message can be a message in the data stream where the application data of the first application is located. Accordingly, it can be indicated in a pre-configured manner that the application data of the first application is data that needs to be compressed, so that during the message forwarding process, the forwarding device of the first message can clearly identify the first message as data that needs to be compressed, thereby reducing overhead.

[0105] In a fifth aspect, the present application provides a communication device, which can implement the method in the first aspect or any possible implementation of the first aspect. The device includes corresponding units or modules for executing the above method. The units or modules included in the device can be implemented by software and / or hardware. For example, the device can be a communication device, or the device can be a component in a communication device (such as a processor, a chip or a chip system, etc.), or the device can also be a logic module or software that can implement all or part of the functions of the communication device.

[0106] The communication device includes a processing unit and a transceiver unit; the transceiver unit is used to receive a first message, the first message includes a first payload; the processing unit is used to determine a second message; the transceiver unit is also used to send the second message, the second message includes an IPv6 extension header and a second payload, the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0107] In a possible implementation manner of the fifth aspect, the IPv6 extension header includes APN information, and the first information is carried in a Flags field of the APN information.

[0108] In a possible implementation of the fifth aspect, the second message is a message in a data stream where application data of the first application is located, and the IPv6 extension header also includes second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed.

[0109] In a possible implementation manner of the fifth aspect, the IPv6 extension header includes APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0110] In a possible implementation manner of the fifth aspect, the IPv6 extension header also includes third information, and the third information is used to indicate a compression algorithm and / or CPI information of the compression process.

[0111] In a possible implementation manner of the fifth aspect, the IPv6 extension header includes APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0112] In a possible implementation manner of the fifth aspect, the IPv6 extension header includes HBH Options Header, DOH or SRH.

[0113] In a possible implementation manner of the fifth aspect, the first information is included in an option of the IPv6 extension header.

[0114] In a possible implementation manner of the fifth aspect, the IPv6 basic header of the first message is the same as the IPv6 basic header of the second message.

[0115] In a possible implementation manner of the fifth aspect, the first message and the second message are messages in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

[0116] In a possible implementation manner of the fifth aspect, the first message also includes an identifier of the first application.

[0117] In a possible implementation of the fifth aspect, the message forwarding information of the first message is the same as one of the N message forwarding information contained in the ACL, and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located.

[0118] In a possible implementation manner of the fifth aspect, the message forwarding information includes quintuple information.

[0119] In the fifth aspect of the present application, the constituent modules of the communication device can also be used to execute the steps performed in each possible implementation method of the first aspect and achieve corresponding technical effects. For details, please refer to the first aspect and will not be repeated here.

[0120] In a sixth aspect of the present application, a communication device is provided, which can implement the method in the second aspect or any possible implementation of the second aspect. The device includes corresponding units or modules for executing the above method. The units or modules included in the device can be implemented by software and / or hardware. For example, the device can be a communication device, or the device can be a component in a communication device (such as a processor, a chip or a chip system, etc.), or the device can also be a logic module or software that can implement all or part of the functions of the communication device.

[0121] The communication device includes a processing unit and a transceiver unit; the transceiver unit is used to receive a second message, the second message includes an IPv6 extension header and a second payload, the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload; the processing unit is used to decompress the second payload.

[0122] In a possible implementation manner of the sixth aspect, the transceiver unit is further used to send a third message, where the third message includes a processing result obtained by decompressing the second payload.

[0123] In a possible implementation manner of the sixth aspect, the IPv6 extension header includes APN information, and the first information is carried in a Flags field of the APN information.

[0124] In a possible implementation of the sixth aspect, the second message is a message in a data stream where application data of the first application is located, and the IPv6 extension header also includes second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed.

[0125] In a possible implementation manner of the sixth aspect, the IPv6 extension header includes APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0126] In a possible implementation manner of the sixth aspect, the IPv6 extension header also includes third information, and the third information is used to indicate the compression algorithm and / or CPI information of the compression processing.

[0127] In a possible implementation manner of the sixth aspect, the IPv6 extension header includes APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0128] In a possible implementation manner of the sixth aspect, the IPv6 extension header includes HBH Options Header, DOH or SRH.

[0129] In a possible implementation manner of the sixth aspect, the first information is included in an option of the IPv6 extension header.

[0130] In a possible implementation manner of the sixth aspect, the IPv6 basic header of the first message is the same as the IPv6 basic header of the second message.

[0131] In a possible implementation manner of the sixth aspect, the second message is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

[0132] In a possible implementation manner of the sixth aspect, the first message also includes an identifier of the first application.

[0133] In a possible implementation of the sixth aspect, the message forwarding information of the first message is the same as one of the N message forwarding information contained in the ACL, and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located.

[0134] In a possible implementation manner of the sixth aspect, the message forwarding information includes quintuple information.

[0135] In the sixth aspect of the present application, the constituent modules of the communication device can also be used to execute the steps performed in each possible implementation method of the second aspect and achieve corresponding technical effects. For details, please refer to the second aspect and will not be repeated here.

[0136] In a seventh aspect of the present application, a communication device is provided, which can implement the method in the third aspect or any possible implementation of the third aspect. The device includes corresponding units or modules for executing the above method. The units or modules included in the device can be implemented by software and / or hardware. For example, the device can be a communication device, or the device can be a component in a communication device (such as a processor, a chip or a chip system, etc.), or the device can also be a logic module or software that can implement all or part of the functions of the communication device.

[0137] The communication device includes a processing unit and a transceiver unit; the transceiver unit is used to receive a first message, the first message includes a first payload; the processing unit is used to determine a second message; the transceiver unit is also used to send a second message, the second message includes an option in an IPv4 header and a second payload, the second payload is obtained by compressing the first payload; wherein the option includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0138] In a possible implementation manner of the seventh aspect, the options in the IPv4 header include APN information, and the first information is carried in a Flags field of the APN information.

[0139] In a possible implementation of the seventh aspect, the second message is a message in a data stream where application data of the first application is located, and the options in the IPv4 header also include second information, which is used to indicate that the application data of the first application is data that needs to be compressed.

[0140] In a possible implementation manner of the seventh aspect, the options in the IPv4 header include APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0141] In a possible implementation manner of the seventh aspect, the options in the IPv4 header also include third information, and the third information is used to indicate the compression algorithm and / or CPI information of the compression processing.

[0142] In a possible implementation manner of the seventh aspect, the options in the IPv4 header include APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0143] In a possible implementation manner of the seventh aspect, the first information is included in an option of an option in the IPv4 header.

[0144] In a possible implementation manner of the seventh aspect, the IPv4 basic header of the first message is the same as the IPv4 basic header of the second message.

[0145] In a possible implementation manner of the seventh aspect, the first message and the second message are messages in a data stream where application data of a first application is located, wherein the application data of the first application is data that needs to be compressed.

[0146] In a possible implementation manner of the seventh aspect, the first message also includes an identifier of the first application.

[0147] In a possible implementation of the seventh aspect, the message forwarding information of the first message is the same as one of the N message forwarding information contained in the ACL, and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located.

[0148] In a possible implementation manner of the seventh aspect, the message forwarding information includes quintuple information.

[0149] In the seventh aspect of the present application, the constituent modules of the communication device can also be used to execute the steps performed in each possible implementation method of the third aspect and achieve corresponding technical effects. For details, please refer to the third aspect and will not be repeated here.

[0150] In an eighth aspect of the present application, a communication device is provided, which can implement the method in the fourth aspect or any possible implementation of the fourth aspect. The device includes corresponding units or modules for executing the above method. The units or modules included in the device can be implemented by software and / or hardware. For example, the device can be a communication device, or the device can be a component in a communication device (such as a processor, a chip or a chip system, etc.), or the device can also be a logic module or software that can implement all or part of the functions of the communication device.

[0151] The communication device includes a processing unit and a transceiver unit; the transceiver unit is used to receive a second message, the second message includes an option in an IPv4 header and a second payload, the second payload is obtained by compressing the first payload; wherein the option includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload; the processing unit is used to decompress the second payload.

[0152] In a possible implementation manner of the eighth aspect, the transceiver unit is further used to send a third message, where the third message includes a processing result obtained by decompressing the second payload.

[0153] In a possible implementation manner of the eighth aspect, the options in the IPv4 header include APN information, and the first information is carried in a Flags field of the APN information.

[0154] In a possible implementation of the eighth aspect, the second message is a message in a data stream where application data of the first application is located, and the options in the IPv4 header also include second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed.

[0155] In a possible implementation manner of the eighth aspect, the options in the IPv4 header include APN information, and the second information is carried in an APN-Para-Type field of the APN information.

[0156] In a possible implementation manner of the eighth aspect, the options in the IPv4 header also include third information, and the third information is used to indicate the compression algorithm and / or CPI information of the compression processing.

[0157] In a possible implementation manner of the eighth aspect, the options in the IPv4 header include APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

[0158] In a possible implementation manner of the eighth aspect, the first information is included in an option in the IPv4 header.

[0159] In a possible implementation manner of the eighth aspect, the IPv4 basic header of the first message is the same as the IPv4 basic header of the second message.

[0160] In a possible implementation manner of the eighth aspect, the second message is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

[0161] In a possible implementation manner of the eighth aspect, the first message also includes an identifier of the first application.

[0162] In a possible implementation of the eighth aspect, the message forwarding information of the first message is the same as one of the N message forwarding information contained in the ACL, and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located.

[0163] In a possible implementation manner of the eighth aspect, the message forwarding information includes quintuple information.

[0164] In the eighth aspect of the present application, the constituent modules of the communication device can also be used to execute the steps performed in each possible implementation method of the fourth aspect and achieve corresponding technical effects. For details, please refer to the fourth aspect and will not be repeated here.

[0165] In a ninth aspect, the present application provides a communication device, comprising at least one processor, which is coupled to a memory; the memory is used to store programs or instructions; the at least one processor is used to execute the program or instructions so that the device implements the method described in the first aspect or any possible implementation method of the first aspect.

[0166] In the tenth aspect of the present application, a communication device is provided, comprising at least one processor, which is coupled to a memory; the memory is used to store programs or instructions; the at least one processor is used to execute the program or instructions so that the device implements the method described in the first aspect or any possible implementation method of the first aspect.

[0167] In an eleventh aspect, the present application provides a communication device, comprising at least one processor, which is coupled to a memory; the memory is used to store programs or instructions; the at least one processor is used to execute the program or instructions so that the device implements the method described in the third aspect or any possible implementation method of the third aspect.

[0168] A twelfth aspect of the present application provides a communication device, comprising at least one processor, which is coupled to a memory; the memory is used to store programs or instructions; the at least one processor is used to execute the program or instructions so that the device implements the method described in the aforementioned fourth aspect or any possible implementation method of the fourth aspect.

[0169] The thirteenth aspect of the present application provides a communication system, which includes the communication device as in the fifth aspect and any possible implementation thereof and the communication device as in the sixth aspect and any possible implementation thereof. And / or, the communication system includes the communication device as in the seventh aspect and any possible implementation thereof and the communication device as in the eighth aspect and any possible implementation thereof. And / or, the communication system includes the communication device as in the ninth aspect and any possible implementation thereof and the communication device as in the tenth aspect and any possible implementation thereof. And / or, the communication system includes the communication device as in the eleventh aspect and any possible implementation thereof and the communication device as in the twelfth aspect and any possible implementation thereof.

[0170] In a fourteenth aspect, the present application provides a computer-readable storage medium, which is used to store one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes a method as described in any possible implementation of any one of the first to fourth aspects above.

[0171] A fifteenth aspect of the present application provides a computer program product (or computer program). When the computer program product is executed by a processor, the processor executes the method described in any possible implementation of any one of the first to fourth aspects above.

[0172] In the sixteenth aspect of the present application, a chip is provided, which includes at least one processor for supporting a first node to implement the method described in any possible implementation of any aspect of the first to fourth aspects. In one possible design, the chip system may also include a memory, which is used to store program instructions and data necessary for the communication device. The chip system may be composed of a chip, or may include a chip and other discrete devices. Optionally, the chip system also includes an interface circuit, which provides program instructions and / or data to the at least one processor.

[0173] Among them, the technical effects brought about by any design method in the fifth to sixteenth aspects can refer to the technical effects brought about by different implementation methods in the first to fourth aspects mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0174] Figure 1a A schematic diagram of an application scenario provided for this application;

[0175] Figure 1b A schematic diagram of the compression algorithm involved in this application;

[0176] Figure 1c Another schematic diagram of the compression algorithm provided for this application;

[0177] Figure 2a A schematic diagram of the message format involved in this application;

[0178] Figure 2b Another schematic diagram of the message format involved in this application;

[0179] Figure 2c Another schematic diagram of the message format involved in this application;

[0180] Figure 2d Another schematic diagram of the message format involved in this application;

[0181] Figure 3 Another schematic diagram of the application scenario provided for this application;

[0182] Figure 4 A schematic diagram of the communication method provided by the present application;

[0183] Figure 5a A schematic diagram of the message format provided for this application;

[0184] Figure 5b Another schematic diagram of the message format provided for this application;

[0185] Figure 6a Another schematic diagram of the application scenario provided for this application;

[0186] Figure 6b Another schematic diagram of the application scenario provided for this application;

[0187] Figure 6c Another schematic diagram of the message format provided for this application;

[0188] Figure 6d Another schematic diagram of the message format provided for this application;

[0189] Figure 7 Another schematic diagram of the communication method provided by the present application;

[0190] Figure 8 A schematic diagram of a communication device provided for this application;

[0191] Fig. 9 Another implementation schematic diagram of the communication device provided in the present application. DETAILED DESCRIPTION

[0192] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.

[0193] The terms "system" and "network" in the embodiments of the present application can be used interchangeably. "At least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B, which can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following (single)" or its similar expression refers to any combination of these items, including any combination of single (single) or plural (single). For example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. And, unless otherwise specified, the ordinal words such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects.

[0194] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0195] It should be understood that in the present application, "when", "if" and "if" all mean that the device will take corresponding actions under certain objective circumstances, and do not limit the time, nor do they require that the device must have a judgment action when it is implemented, nor do they mean that there are other limitations.

[0196] In this application, unless otherwise specified, the same or similar parts between various embodiments or implementations can refer to each other. In each embodiment of this application, and each implementation method / implementation method / implementation method in each embodiment, if there is no special explanation and logical conflict, the terms and / or descriptions between different embodiments and each implementation method / implementation method / implementation method in each embodiment are consistent and can be referenced to each other. The technical features in different embodiments and each implementation method / implementation method / implementation method in each embodiment can be combined to form new embodiments, implementation methods, implementation methods or implementation methods according to their inherent logical relationships. The implementation methods of this application described below do not constitute a limitation on the scope of protection of this application.

[0197] To facilitate understanding of the method provided in the embodiment of the present application, the system architecture of the method provided in the embodiment of the present application is described below. It is understandable that the system architecture described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application.

[0198] See also Figure 1a , is a schematic diagram of the architecture of the communication system provided in the embodiment of the present application. Figure 1a As shown, the system includes multiple customer edge (CE) devices, such as customer edge device 101 and customer edge device 102, and other customer edge devices that may exist; the system also includes multiple network devices, such as network device 103, network device 104, network device 105 and network device 106, and other network devices that may exist.

[0199] exist Figure 1a In the present invention, the user edge device can be used as the entry device of the message flow (or data flow) transmitted by the communication system. In this case, the user edge device can be connected to the sending end of the message flow, that is, the device indicated by the source address information of the message flow; accordingly, the user edge device can be called a source device, a source node, etc. Alternatively, the user edge device can be used as the egress device of the message flow transmitted by the communication system. In this case, the user edge device can be connected to the receiving end of the message flow, that is, the device indicated by the destination address information of the message flow; accordingly, the user edge device can be called a destination device, a destination node, etc. Among them, the sending end of the message flow or the receiving end of the message flow can be a terminal device, a server, a virtual machine, and other devices with data transmission and reception requirements.

[0200] Optionally, in Figure 1a In the example, the network device can also be used as a source device or a destination device. For example, the network device 103 can be used as a source device to send data to the network device 104 as the destination device through forwarding by other devices. For another example, the network device 103 can be used as a source device to send data to the user edge device 102 as the destination device through forwarding by other devices.

[0201] In communication systems (such as Figure 1a In the communication system shown in FIG. 1 , message compression and message decompression are common technologies. By processing message compression and message decompression, network devices can reduce line bandwidth consumption of traffic and save line costs.

[0202] For example, Figure 1a For example, network devices can be routers, switches, firewalls, virtual switches, virtual routers, smart network cards, and other devices. Figure 1aIn the scenario shown, during the transmission of a message flow from one user edge device to another user edge device, a network device close to the user edge device can compress the payload in the received message and transmit the compressed message to other network devices. Thereafter, a network device close to the other user edge device can decompress the received compressed message in order to restore part or all of the content of the payload before compression, and transmit the decompressed message to the other user edge device. Thus, through the processing of message compression and message decompression, the line bandwidth consumption of the traffic can be reduced and the line cost can be saved.

[0203] It should be noted that there are many ways for network devices to compress messages, such as sliding window-based deduplication of repeated character strings, entropy coding-based compression, etc., which are not limited here.

[0204] In an implementation example, Figure 1b As shown in FIG. 1 , an implementation example of a sliding window-based repeated string deduplication algorithm (also known as LZ77, LZ78 algorithm, “LZ” refers to the two creators Jakob Ziv and Abraham Lempel). Figure 1b In , we search forward for repeated strings and use (distance, length) to characterize the repetitions.

[0205] like Figure 1b In case 1, the black frame in bold is a sliding window, and there is a character "AB" in the sliding window. For the characters outside the sliding window, the characters "A" or "AB" adjacent to the right of the sliding window can find the same character in the sliding window, and the characters "ABC" adjacent to the right of the sliding window cannot find the same character in the sliding window; then the longest match is the character "AB", that is, the characters "AB" adjacent to the right of the sliding window can be represented by the characters "AB" in the sliding window. Among them, taking the eight characters framed in the sliding window as "0 / 1 / 2 / 3 / 4 / 5 / 6 / 7" as an example, the character "AB" in the sliding window starts at the index 6 (recorded as "6"), that is, the 7th from the left, the character "AB" is two bits (recorded as "2"), and the next character "AB" outside the sliding window is C (recorded as "C"), so the characters "AB" adjacent to the right of the sliding window can be represented by (6,2,C).

[0206] In addition, Figure 1b The sliding window of case 1 in the example moves to the right, and we get Figure 1bCase 2 in the example. In case 2, the black frame in bold is a sliding window, and the sliding window contains the characters "ABABC". For the adjacent characters outside the sliding window, the adjacent characters "B" or "BA" or "BAB" on the right side of the sliding window can find the same characters in the sliding window, so the longest match is the character "BAB", that is, the adjacent character "BAB" on the right side of the sliding window can be represented by the character "BAB" in the sliding window. Among them, taking the eight characters framed in the sliding window as "0 / 1 / 2 / 3 / 4 / 5 / 6 / 7" as an example, the character "BAB" in the sliding window starts at the index 4 (recorded as "4"), that is, the 5th from the left, the character "BAB" is three bits (recorded as "3"), and the next character "BAB" outside the sliding window is A (recorded as "A"), so the adjacent character "BAB" on the right side of the sliding window can be represented by (4,3,A).

[0207] Similarly, Figure 1b The sliding window of case 2 in the above example moves to the right again, and we get Figure 1b Case 3 in . From the description of Case 1 and Case 2, we can see that in Case 3, the longest match is the adjacent characters "BC" outside the sliding window, and the adjacent characters "BC" on the right side of the sliding window can be represented by (2, 2, A).

[0208] By analogy, in the sliding window-based duplicate string deduplication algorithm, the higher the character repetition rate, the better the compression effect.

[0209] In another implementation example, Figure 1c As shown in FIG. 1 , an implementation example based on an entropy coding compression algorithm is shown. Taking Huffman coding implemented based on an entropy coding compression algorithm as an example, the more frequently appearing characters are assigned shorter codes. Figure 1c In the example above, when encoding the characters "HELLO WORLD HELLO WORLD", the frequency of occurrence of each character is shown in the table in the figure. Figure 1c From the tree diagram decomposition, we can see that characters with higher frequency use short codes, such as the character "L" is encoded with two bits "10"; characters with lower frequency use long codes, such as the character "E" is encoded with four bits "1110". And so on, the encoding results of each character are as follows Figure 1c As shown, this saves characters.

[0210] It should be understood that Figure 1c The implementation shown should meet the longest match principle. For example, the character corresponding to the encoding "1110" is "E" whose encoding result is 1110, rather than "L" whose encoding result is 10.

[0211] At present, the basic header of the compressed message may also carry an identifier for identifying the message as a compressed message, and the subsequent message decompression device can decompress the compressed message based on the identifier to restore the payload before compression. Figure 2a to Figure 2d The message format shown is described as an example.

[0212] In one implementation example, packet compression can be achieved through IPv4 packets, see the following Figure 2a and Figure 2b Related description.

[0213] like Figure 2a As shown, when the message received by the network device for compressing the message is an IPv4 message, the IPv4 message may include Figure 2a The basic header, options and payload are shown in the figure. The basic header includes at least one of the following fields: version, header length, differentiated services (DS) field, explicit congestion notification (ECN), total length, identifier, flag, fragment offset, lifetime, protocol number, header checksum, source IP address and destination IP address. Figure 2a In the packet, the source port number and the destination port number can be carried between the payload and the option(s).

[0214] like Figure 2b As shown, after the network device compresses the IPv4 message, the compressed IPv4 message may include Figure 2b As shown in the figure, the basic header, the next header and the payload. Figure 2b As shown, the protocol number in the basic header will be filled with the "IP payload compression protocol (IPPCP) identifier", for example, the IPPCP identifier can be "108", so that other subsequent network devices can clearly identify the received message as a compressed message based on the IPPCP identifier.

[0215] And, in Figure 2b In comparison with Figure 2a , you need to Figure 2a The protocol number of the basic header is placed in the "Next header" field. Figure 2a The source port number and destination port number of the basic header are reserved in the source port field and destination port field in the Next header.

[0216] Optionally, the Next header may also carry a "Flag" field, which is a reserved field (Reserved for future use) and must be set to zero (MUST be set to zero). The receiving end of the message must ignore this field (MUST beignored by the receiving node). Figure 2b In the example, the value of the "Flag" field is "comp clearoffset". In other words, the reserved field is assigned the value of "comp clear offset" to indicate the offset value of the start position of the Payload compression. Figure 2b In the IPv4 message shown, "comp clear offset = 4" indicates that the source port number and the destination port number are not included in the compression.

[0217] Optionally, in Figure 2b In the Next header, the compression parameter index (CPI) field may also be carried to indicate the compression algorithm used to compress the message.

[0218] In another implementation example, message compression can be achieved through IPv6 messages. Figure 2c and Figure 2d Related description.

[0219] like Figure 2c As shown, when the message received by the network device for compressing the message is an IPv6 message, the IPv6 message may include Figure 2c The basic header and payload are shown in FIG. The basic header includes at least one of the following fields: version, communication class, flow label, payload length, protocol number, hop limit, source IP address, and destination IP address. Figure 2c In the packet, the source port number and the destination port number can be carried between the payload and the basic header.

[0220] like Figure 2d As shown, after the network device compresses the IPv6 message, the compressed IPv6 message may include Figure 2d The basic header and payload are shown in Figure 1. Figure 2d As shown, the protocol number in the basic header will be filled with "IPPCP identifier", for example, the IPPCP identifier can be "108", so that other subsequent network devices can clearly identify the received message as a compressed message based on the IPPCP identifier.

[0221] And, in Figure 2d In comparison with Figure 2c , you need to Figure 2c The protocol number of the basic header is placed in the "Next header" field. Figure 2c The source port number and destination port number of the basic header are reserved in the source port (SourcePort) field and the destination port (Destination Port) field in the Next header.

[0222] Optionally, in Figure 2d In the Next header, the "Flag" field can also be carried. This field is reserved for future use and must be set to zero. The receiving end of the message must ignore this field. Figure 2d In the example, the value of the "Flag" field is "comp clear offset". In other words, the reserved field is assigned the value of "comp clear offset" to indicate the offset value of the start position of the Payload compression. Figure 2b In the IPv6 message shown, the value of "comp clearoffset" can be set according to the position of the transmission control protocol (TCP) / user datagram protocol (UDP) header in the actual message.

[0223] Optionally, in Figure 2d In the Next header, the "compression parameter index" field can also be used to indicate the compression algorithm used to compress the message.

[0224] It can be seen from the above implementation examples that, whether it is an IPv4 communication scenario or an IPv6 communication scenario, the basic header of the message needs to be modified to implement the indication of message compression. However, since the basic header of the message generally needs to carry the forwarding information of the message (such as five-tuple information, including the protocol carried by the "protocol number" field, the source port number and the destination port number, etc.), the above-mentioned method of carrying a specific identifier in the basic header of the message will increase the complexity of the compressed message in the forwarding process. Exemplarily, when the compressed message needs to be transmitted in the wide area network based on the forwarding information of the message for network flow (netstream) sampling or equal-cost multi-path routing (equal-cost multi-path routing, ECMP) and other scenarios, due to the change of the forwarding information carried by the basic header of the message, other network devices in the wide area network need to perform offset identification to realize the forwarding of the compressed message, which increases the complexity and adaptation workload of the wide area network.

[0225] In order to solve the above problems, the present application provides a communication method and related devices, which are used to reduce the complexity of compressed messages in the forwarding process, thereby improving communication efficiency.

[0226] As an example scenario, Figure 3 The shown scenario is a schematic diagram of a scenario of the communication method provided in this application.

[0227] exist Figure 3 In the example, the source device and the destination device are devices that need to communicate with each other in the network, such as personal computers, servers, virtual machines, switches, routers, etc. In addition, the third device / first device / second device are network devices that are interconnected in the network, such as routers, switches, firewalls, virtual switches, virtual routers, smart network cards, etc. The message sent by the source device 1 to the destination device can reach the destination device after being forwarded by the third device / first device / second device.

[0228] Optionally, in Figure 3 In the example, the source device and the destination device may be connected via at least two network devices. The figure takes the number of the at least two network devices as 3 as an example. The number of the at least two network devices may also be greater than 3, for example Figure 3 There may be one or more network devices between the source device and the third device. Figure 3 There may be one or more network devices between the third device and the source device. Figure 3 There may be one or more network devices between the first device and the second device in the embodiment. Figure 3There may be one or more network devices between the second device and the destination device, which is not limited here.

[0229] Optionally, in Figure 3 In the network, the controller (or network management device, network management system, network management software, analyzer, network analyzer, etc.) is a software / hardware system that manages network devices in the network and can send configuration information to network devices according to user settings.

[0230] See also Figure 4 , is a schematic diagram of the communication method provided in this application, and the method includes the following steps.

[0231] S401. A first device receives a first message, wherein the first message includes a first payload.

[0232] It should be understood that in step S401, the first message comes from a device on the message transmission path, which may be a communication device such as a router, a switch, a virtual machine, a virtual switch, an intelligent network card, etc., which is not limited here. Figure 4 The method shown can be applied to Figure 3 In the scenario shown, for example, the third device, the first device and the second device act as forwarding devices to forward the message sent by the source device to the destination device. In this case, the first message comes from the third device on the message transmission path. Figure 3 As shown, the source device of the first message can be a server, a personal computer, a virtual machine, etc. The first message carries a first payload.

[0233] Optionally, the source device of the first message may be the third device, or may be a device directly connected to the third device, or may be a device connected to the third device via one hop or multiple hops, which is not limited here.

[0234] S402. The first device sends a second message, and the second device receives the second message accordingly. The second message includes an Internet Protocol version 6 (IPv6) extension header and a second payload, and the second payload is obtained by compressing the first payload; the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0235] It should be understood that after the first device receives the first message in step S401, the first device may compress the first payload in the first message to obtain the second message, and the second device may subsequently decompress the second message. In other words, the first device may be referred to as a message compression device, a compression device, a compression end, a compression node, etc.; correspondingly, the second device may be referred to as a message decompression device, a decompression device, a decompression end, a decompression node, etc.

[0236] In addition, the first device and the second device may be connected in a variety of ways. For example, the first device may be directly connected to the second device, that is, there is no other forwarding device between the first device and the second device; or the first device may be connected to the second device through one hop or multiple hops.

[0237] In a possible implementation, the second message sent by the first device in step S402 may include an IPv6 extension header, the IPv6 extension header includes application-aware networking (APN) information, and the first information is carried in the Flags field of the APN information. Specifically, the IPv6 extension header of the second message may include APN information, and the first information may be carried in the Flags field of the APN information, so that the receiver of the second message can clearly know that the second payload carried by the second message is a compressed payload based on the Flags field of the APN information. Therefore, the indication of data compression can be achieved by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0238] As an implementation example, Figure 5a As shown, the APN information contained in the IPv6 extension header in the second message may include Figure 5a One or more fields in, such as the application-aware network identification type (APN-ID-Type) field, the Flags field, the APN-Para-Type field, the application-aware network identification (APN-ID) field, the intent optional (Intent (optional)) field, and the application-aware network parameter optional (APN-Para (optional)) field. In the above technical solution, the first information can be carried in Figure 5a The Flags field of the APN information in the second message enables a subsequent receiver of the second message to obtain the first information based on the Flags field in the second message, and then determine through the first information that the second payload carried by the second message is a compressed payload.

[0239] As another implementation example, Figure 5b As shown, Figure 5a The content contained in the APN-ID field in the APN-ID field includes at least one of the following subfields: application group identifier (APP-Group-ID), user group identifier (USER-Group-ID) and reserved (Reserved) field. In the above technical solution, the first information can be carried in Figure 5b One or more fields in the APN-ID information in the second message enable a subsequent receiver of the second message to obtain the first information based on the one or more fields in the second message, and then determine through the first information that the second payload carried by the second message is a compressed payload.

[0240] In a possible implementation, the second message sent by the first device in step S402 is a message in the data stream where the application data of the first application is located, and the IPv6 extension header also includes second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed. Specifically, the second message can be a message in the data stream where the application data of the first application is located, and the IPv6 extension header in the second message also includes second information, so that the receiver of the second message can clearly understand from the second information that the application data of the first application is data that needs to be compressed. Thus, the information carried by the IPv6 extension header can realize the indication of message compression in the data stream where the application is located.

[0241] In a possible implementation, the second message sent by the first device in step S402 may include an IPv6 extension header, the IPv6 extension header includes APN information, and the second information is carried in the APN-Para-Type field of the APN information (for example Figure 5a Specifically, the IPv6 extension header of the second message may include APN information, and the second information may be carried in the APN-Para-Type field of the APN information, so that the receiver of the second message can clearly know that the application data of the application corresponding to the second message is data that needs to be compressed based on the APN-Para-Type field of the APN information. Thus, the indication of data compression of the application can be achieved by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0242] As another implementation example, in the above technical solution, the second information can be carried in Figure 5bOne or more fields of the APN-ID information in the second message enable a subsequent recipient of the second message to obtain the second information based on the one or more fields in the second message, and then determine through the first information that the application data of the first application corresponding to the APN-ID is data that needs to be compressed.

[0243] In a possible implementation, the IPv6 extension header also includes third information, and the third information is used to indicate the compression algorithm and / or compression parameter index (CPI) information of the compression process. Specifically, the second payload carried by the second message is a payload obtained by compression processing based on the first payload. Accordingly, the IPv6 extension header in the second message may also include third information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information of the compression process based on the third information, so that the receiver of the second message can decompress the second payload based on the compression algorithm and / or CPI information.

[0244] Optionally, the compression algorithm and / or CPI information of the compression process may be preconfigured on the first device and the receiver of the second message (e.g., the second device) to reduce the message overhead. For example, the preconfiguration may include manual configuration, factory configuration, controller (e.g., Figure 3 controller) configuration or network management configuration, etc.

[0245] In a possible implementation, the second message sent by the first device in step S402 may include an IPv6 extension header, the IPv6 extension header includes APN information, and the third information is carried in an Intent (Optional) field or an APN parameter optional (APN-Para (Optional)) field of the APN information (such as Figure 5a As shown). Specifically, the APN information may be included in the IPv6 extension header of the second message, and the third information may be carried in the Intent (Optional) field or the APN-Para (Optional) field of the APN information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information corresponding to the second message based on the Intent (Optional) field or the APN-Para (Optional) field of the APN information. Thus, the indication of the compression algorithm and / or CPI information can be achieved by the APN information carried by the IPv6 extension header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0246] As another implementation example, in the above technical solution, the third information can be carried in Figure 5b One or more fields of the APN-ID information in the second message enable a subsequent receiver of the second message to obtain third information based on one or more fields in the second message, and then determine the compression algorithm and / or CPI information of the compression processing through the third information.

[0247] In a possible implementation, the IPv6 basic header of the first message is the same as the IPv6 basic header of the second message. Specifically, the IPv6 basic header of the first message received by the first device and the IPv6 basic header of the second message sent by the first message may be the same, and the second payload carried by the second message is obtained by compression processing based on the first payload carried by the first message, so that the first device does not need to change the basic header of the message during the message forwarding process after the message compression processing, and does not need to change the position of the message forwarding information carried by the basic header of the message in the message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0248] In a possible implementation, after step S402, the second message may also send a third message, and the third message includes a processing result obtained by decompressing the second payload. Specifically, the second device acts as a decompression end, and after the second device decompresses the second payload to obtain a processing result, it may also send a third message carrying the processing result, so that the receiver of the third message can know the processing result.

[0249] Optionally, after the second device decompresses the second payload to obtain a processing result, the second device may also locally parse / use / present the processing result. In other words, the second device may not need to send the third message.

[0250] In a possible implementation, the second message sent by the first device in step S402 may include an IPv6 extension header, and the IPv6 extension header includes HBH Options Header, DOH or SRH. Specifically, the IPv6 extension header in the second message may be implemented by any one of HBH Options Header, DOH or SRH to improve the flexibility of the solution implementation.

[0251] It is understandable that, when the second device sends the third message based on the second message, the second device can not only decompress the second payload in the second message, but also strip / delete one or more IPv6 extension headers in the second message to obtain the third message. In order to facilitate understanding of the above technical solution, the IPv6 extension header in the second message includes DOH and SRH as an example.

[0252] like Figure 6a As shown, the first information (and other information that may exist, such as the second information, the third information, etc.) can be carried in the DOH of the second message. For the first device, the first message received by the first device in step S401 may include an IPv6 basic header and a first payload. Thereafter, the first device compresses the first payload to obtain a second payload, and encapsulates the second payload based on the DOH and the SRH to obtain a second message, and the first device sends the second message in step S402. Subsequently, the second message is forwarded by one or more hop devices in an IPv6-based segment routing (SRv6) tunnel, so that after the second device receives the second message, the second message can strip off the SRH header, read the first information (and other information that may exist, such as the second information, the third information, etc.) through the DOH, and then decompress the second message based on the read information to obtain a third message containing a third payload, and further forward the third message carrying the IPv6 basic header and the third payload.

[0253] like Figure 6b As shown, the first information (and other information that may exist, such as the second information, the third information, etc.) can be carried in the SRH of the second message. For the first device, the first message received by the first device in step S401 may include an IPv6 basic header and a first payload. Thereafter, the first device compresses the first payload to obtain a second payload, and encapsulates the second payload based on the DOH and the SRH to obtain a second message, and the first device sends the second message in step S402. Subsequently, the second message is forwarded by one or more hop devices in the SRv6 tunnel, so that after the second device receives the second message, the second message can read the first information (and other information that may exist, such as the second information, the third information, etc.) based on the SRH before stripping the SRH header, and decompress the second message based on the read information to obtain a third message containing a third payload; subsequently, the second device strips the SRH and the DOH, and further forwards the third message carrying the IPv6 basic header and the third payload.

[0254] Optionally, in Figure 6a and Figure 6b In the example, the IPv6 extension header includes DOH, and the DOH can also be replaced by HBHOptions Header or other IPv6 extension headers, which is not limited here.

[0255] Optionally, in Figure 6a and Figure 6b In the example, the position of DOH is between the IPv6 basic header and SRH, and the positions of DOH and SRH in the message can also be realized by other methods, which are not limited here. For example, in the second message, the position of SRH can be swapped with the position of DOH, that is, the position of SRH can be between the IPv6 basic header and DOH.

[0256] from Figure 6a and Figure 6b It can be seen from the implementation process shown that during the forwarding process of the second message, the second payload carried by the second message is a compressed message, which can reduce the line bandwidth consumption of the traffic and save line costs. In addition, the IPv6 basic header of the first message and the second message can remain unchanged, that is, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the IPv6 extension header (such as DOH or SRH) can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0257] In a possible implementation, the second message sent by the first device in step S402 may include an IPv6 extension header, and the first information is included in an option of the IPv6 extension header. Specifically, in the second message, the first information may be included in an option of the IPv6 extension header, so that a receiver of the second message can clearly understand that the second payload carried by the second message is a compressed payload based on the first information in the option of the IPv6 extension header.

[0258] In a possible implementation, the first message and the second message are messages in a data stream where application data of a first application is located, wherein the application data of the first application is data that needs to be compressed. Specifically, the first message and the second message may be messages in a data stream where application data of the first application is located, and accordingly, the application data of the first application may be indicated as data that needs to be compressed in a preconfigured manner, so that during message forwarding, the forwarding device of the first message can clearly identify the first message as data that needs to be compressed, thereby reducing overhead.

[0259] As an implementation example, for the first device, in step S401, the first device can identify in various ways that the first message is a message in a data stream where application data of the first application is located and the application data of the first application is data that needs to be compressed. The following will describe in detail through some implementation examples.

[0260] Implementation example 1: The first message received by the first device in step S401 includes an identifier of the first application.

[0261] In implementation example one, when the first message is a message in a data stream where application data of a first application is located, the first message can carry an identifier of the first application so that a receiver of the first message can clearly identify the first message as data that needs to be compressed based on the identifier of the first application.

[0262] As an implementation example, the message format of the first message received by the first device in step S401 is as follows: Figure 6c As shown, it includes the following contents: IPv6 basic header, Next Header field, extended header length (Hdr Ext Len) field, optional type (Option Type) field, optional data header (OptionDataLen) field, APN-ID-Type field, Flags field, APN-Para-Type field, APN-ID, Intent (Optional), APN-Para (Optional), payload, etc. Among them, the first device can identify the application data corresponding to the APN-ID as data that needs to be compressed based on the value of the APN-ID field (for example, 10).

[0263] Thereafter, the first device may send a second message based on the first message in step S402, wherein the message format of the second message is as follows: Figure 6d As shown, it includes the following contents: IPv6 basic header, Next Header field, Hdr Ext Len field, Option Type field, OptionDataLen field, APN-ID-Type field, Flags field, APN-Para-Type field, APN-ID, Intent (Optional), APN-Para (Optional), Reserved (Reserved), CPI, compressed payload, etc. Among them, the first device can change the value of the "Flags field" from Figure 6c The "0" in is updated to "108" to indicate that the payload carried by the message is a compressed payload. Figure 6d After the second message shown, it can be determined based on the value of the "Flags field" that the payload carried by the message is a compressed payload, and the compressed payload carried by the message can be decompressed subsequently.

[0264] Implementation example 2: The message forwarding information of the first message received by the first device in step S401 is the same as one of the N message forwarding information contained in the ACL, and the one of the message forwarding information is used to forward the message of the first application, and N is a positive integer; wherein the N message forwarding information in the ACL are all the message forwarding information of the data flow where the data to be compressed is located.

[0265] In implementation example two, when the first message is a message in a data stream where application data of a first application is located, the first device can specify in the ACL that the first message is data that needs to be compressed based on the message forwarding information of the first message, and can subsequently compress the payload of the first message and then forward it.

[0266] Optionally, the message forwarding information includes five-tuple information (such as source IP address, source port number, destination IP address, destination port number, protocol number, etc.), four-tuple information (such as source IP address, destination IP address, source port, destination port, etc.) or seven-tuple information (such as source IP address, destination IP address, protocol number, source port, destination port, service type and interface index, etc.).

[0267] based on Figure 4 In the technical solution shown, after the first device compresses the first payload in the first message to obtain the second payload, the first device sends a second message containing the second payload and the first information in step S402, and the first information for indicating that the second payload carried by the second message is a compressed payload is located in the IPv6 extension header of the second message. Compared with the implementation method of carrying a specific identifier in the basic header of the message to indicate the compressed message, in the above technical solution, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the IPv6 extension header can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0268] See also Figure 7 , is another schematic diagram of the communication method provided in the present application, and the method includes the following steps.

[0269] S701. A first device receives a first message, where the first message includes a first payload.

[0270] It should be noted that the implementation method of the first device receiving the first message can refer to the description of the aforementioned step S401.

[0271] S702. The first device sends a second message, and the second device receives the second message accordingly. The second message includes an option in an Internet Protocol version 4 (IPv4) header and a second payload, and the second payload is obtained by compressing the first payload; and the option includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0272] In one possible implementation, the options in the IPv4 header included in the second message sent by the first device in step S702 may include APN information, and the first information is carried in the Flags field of the APN information. Specifically, the options in the IPv4 header of the second message may include APN information, and the first information may be carried in the Flags field of the APN information, so that the receiver of the second message can clearly know that the second payload carried by the second message is a compressed payload based on the Flags field of the APN information. Thus, the indication of data compression can be achieved by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0273] In a possible implementation, the second message sent by the first device in step S702 is a message in the data stream where the application data of the first application is located, and the option in the IPv4 header also includes second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed. Specifically, the second message can be a message in the data stream where the application data of the first application is located, and the option in the IPv4 header of the second message also includes second information, so that the receiver of the second message can understand from the second information that the application data of the first application is data that needs to be compressed. Thus, the information carried by the option in the IPv4 header can realize the indication of message compression of the data stream where the application is located.

[0274] In one possible implementation, the options in the IPv4 header included in the second message sent by the first device in step S702 may include APN information, and the second information is carried in the APN-Para-Type field of the APN information. Specifically, the options in the IPv4 header of the second message may include APN information, and the second information may be carried in the APN-Para-Type field of the APN information, so that the receiver of the second message can clearly identify the application data of the application corresponding to the second message as data that needs to be compressed based on the APN-Para-Type field of the APN information. Thus, the indication of data compression for the application can be achieved by carrying the APN information in the options in the IPv4 header, without changing the message forwarding information carried in the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0275] In a possible implementation, the options in the IPv4 header contained in the second message sent by the first device in step S702 may also include third information, and the third information is used to indicate the compression algorithm and / or CPI information of the compression process. Specifically, the second payload carried by the second message is a payload obtained by compression processing based on the first payload. Accordingly, the options in the IPv4 header in the second message may also include third information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information of the compression process based on the third information, so that the receiver of the second message can decompress the second payload based on the compression algorithm and / or CPI information.

[0276] Optionally, the compression algorithm and / or CPI information of the compression process may be preconfigured at the receiver of the second message to reduce message overhead. For example, the preconfiguration may include manual configuration, factory configuration, controller configuration, or network management configuration.

[0277] In one possible implementation, the options in the IPv4 header included in the second message sent by the first device in step S702 include APN information, and the third information is carried in the intent optional field or the APN parameter optional field of the APN information. Specifically, the options in the IPv4 header of the second message may include APN information, and the third information may be carried in the Intent (Optional) field or the APN-Para (Optional) field of the APN information, so that the receiver of the second message can clarify the compression algorithm and / or CPI information corresponding to the second message based on the Intent (Optional) field or the APN-Para (Optional) field of the APN information. Thus, the indication of the compression algorithm and / or CPI information can be achieved by the APN information carried by the options in the IPv4 header, without changing the message forwarding information carried by the basic header of the message, so as to reduce the complexity of the compressed message in the forwarding process.

[0278] In a possible implementation, the IPv4 basic header of the first message is the same as the IPv4 basic header of the second message. Specifically, the IPv4 basic header of the first message received by the first device may be the same as the IPv4 basic header of the second message sent by the first message, and the second payload carried by the second message is obtained by compression processing based on the first payload carried by the first message, so that the first device does not need to change the basic header of the message during the message forwarding process after the message compression processing, and does not need to change the position of the message forwarding information carried by the basic header of the message in the message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0279] In a possible implementation, the first message received by the first device in step S701 is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed. Specifically, the first message and the second message may be messages in a data stream where the application data of the first application is located, and accordingly, the application data of the first application may be indicated as data that needs to be compressed in a preconfigured manner, so that in the message forwarding process, the forwarding devices of the first message can clearly identify the first message as data that needs to be compressed, thereby reducing overhead.

[0280] In a possible implementation, the first message received by the first device in step S701 also includes an identifier of the first application. Specifically, when the first message is a message in a data stream where application data of the first application is located, the first message can carry the identifier of the first application, so that the receiver of the first message can clearly identify the first message as data that needs to be compressed based on the identifier of the first application.

[0281] In a possible implementation, the message forwarding information of the first message received by the first device in step S701 is the same as one of the message forwarding information in the N message forwarding information included in the ACL, and the one of the message forwarding information is used to forward the message of the first application, where N is a positive integer; wherein the N message forwarding information in the ACL are all message forwarding information of the data stream where the data to be compressed is located. Specifically, in the case where the first message is a message in the data stream where the application data of the first application is located, the first device can specify in the ACL that the first message is data to be compressed based on the message forwarding information of the first message, and can subsequently compress the payload of the first message before forwarding it.

[0282] Optionally, the message forwarding information includes five-tuple information (such as source IP address, source port number, destination IP address, destination port number, protocol number, etc.), four-tuple information (such as source IP address, destination IP address, source port, destination port, etc.) or seven-tuple information (such as source IP address, destination IP address, protocol number, source port, destination port, service type and interface index, etc.).

[0283] In one possible implementation, Figure 7 In the technical solution shown, the second device can also send a third message, and the third message includes a processing result obtained by decompressing the second payload. Specifically, the second device acts as a decompression end. After the second device decompresses the second payload to obtain a processing result, it can also send a third message carrying the processing result, so that the recipient of the third message can know the processing result.

[0284] Optionally, after the second device decompresses the second payload to obtain a processing result, the second device may also locally parse / use / present the processing result. In other words, the second device may not need to send the third message.

[0285] based on Figure 7In the technical solution shown, after the first device compresses the first payload in the first message to obtain the second payload, the first device sends a second message containing the second payload and the first information in step S702, and the first information for indicating that the second payload carried by the second message is a compressed payload is located in the option in the IPv4 header of the second message. Compared with the implementation method of carrying a specific identifier in the basic header of the message to indicate the compressed message, in the above technical solution, there is no need to change the position of the message forwarding information carried by the basic header of the message in the message, and the information carried by the option in the IPv4 header can be used to indicate the compressed message, which can reduce the complexity of the compressed message in the forwarding process, thereby improving communication efficiency.

[0286] See also Figure 8 An embodiment of the present application provides a communication device, and the communication device 800 can implement the functions of the communication device (ie, the first device or the second device) in the above method embodiment, and thus can also achieve the beneficial effects possessed by the above method embodiment.

[0287] When the communication device 800 is used to implement the function of the aforementioned first device, the communication device includes a transceiver unit 801 and a processing unit 802; the transceiver unit 801 is used to receive a first message, the first message includes a first payload; the processing unit 802 is used to determine a second message; the transceiver unit 801 is also used to send the second message, the second message includes an IPv6 extension header and a second payload, the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0288] When the communication device 800 is used to implement the function of the aforementioned second device, the communication device includes a transceiver unit 801 and a processing unit 802; the transceiver unit 801 is used to receive a second message, the second message includes an IPv6 extension header and a second payload, and the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload; the processing unit 802 is used to decompress the second payload.

[0289] When the communication device 800 is used to implement the function of the aforementioned first device, the communication device includes a transceiver unit 801 and a processing unit 802; the transceiver unit 801 is used to receive a first message, the first message includes a first payload; the processing unit 802 is used to determine a second message; the transceiver unit 801 is also used to send a second message, the second message includes an option in an IPv4 header and a second payload, the second payload is obtained by compressing the first payload; wherein the option includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0290] When the communication device 800 is used to implement the function of the aforementioned second device, the communication device includes a transceiver unit 801 and a processing unit 802; the transceiver unit 801 is used to receive a second message, the second message includes an option in an IPv4 header and a second payload, and the second payload is obtained by compressing the first payload; wherein the option includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload; the processing unit 802 is used to decompress the second payload.

[0291] It should be noted that the information execution process and other contents of each unit of the above-mentioned communication device 800 can be specifically referred to the description in the method embodiment shown in the above-mentioned application, and will not be repeated here.

[0292] The present application also provides a communication device 900, see Fig. 9 As shown, Fig. 9 A schematic diagram of the structure of a communication device 900 provided in an embodiment of the present application.

[0293] Attached Fig. 9 The communication device 900 shown includes a memory 902 and at least one processor 901 .

[0294] Optionally, the processor 901 implements the method in the above embodiment by reading instructions stored in the memory 902, or the processor 901 may also implement the method in the above embodiment through internally stored instructions. In the case where the processor 901 implements the method in the above embodiment by reading instructions stored in the memory 902, the memory 902 stores instructions for implementing the method provided in the above embodiment of the present application.

[0295] Optionally, the at least one processor 901 is one or more CPUs, or a single-core CPU or a multi-core CPU.

[0296] Further optionally, at least one processor 901 may also be configured to execute the aforementioned Figure 8 The corresponding implementation process of the processing unit 802 in the illustrated embodiment and the corresponding beneficial effects achieved are not described in detail here.

[0297] The memory 902 includes but is not limited to RAM, ROM, EPROM, flash memory, or optical memory, etc. The memory 902 stores operating system instructions.

[0298] After the program instructions stored in the memory 902 are read by the at least one processor 901, the communication device performs corresponding operations in the aforementioned embodiments.

[0299] Optionally, attach Fig. 9 The communication device shown also includes a network interface 903. The network interface 903 may be a wired interface, such as an FDDI or GE interface; the network interface 903 may also be a wireless interface. The network interface 903 is used to connect to the attached Figure 3 And related embodiments perform data transmission and reception.

[0300] Further optionally, the network interface 903 can also be used to perform the aforementioned Figure 8 The corresponding implementation process of the transceiver unit 801 in the illustrated embodiment and the corresponding beneficial effects achieved are not described in detail here.

[0301] It should be understood that the network interface 903 has the functions of receiving data and sending data, and the functions of "receiving data" and "sending data" can be integrated in the same transceiver interface, or the functions of "receiving data" and "sending data" can be implemented in different interfaces respectively, which is not limited here. In other words, the network interface 903 may include one or more interfaces for implementing the functions of "receiving data" and "sending data".

[0302] After the processor 901 reads the program instructions in the memory 902 , other functions that the communication device 900 can execute are described in the above-mentioned method embodiments.

[0303] Optionally, the communication device 900 further includes a bus 904 , and the processor 901 and the memory 902 are usually connected to each other via the bus 904 , and may also be connected to each other in other ways.

[0304] Optionally, the communication device 900 further includes an input / output interface 905, which is used to connect to an input device and receive relevant configuration information input by a user or other devices that can be linked with the communication device 900 through the input device. The input device includes but is not limited to a keyboard, a touch screen, a microphone, and the like.

[0305] The communication device 900 provided in an embodiment of the present application is used to execute the methods performed by the communication devices (first device or second device) provided in the above-mentioned various method embodiments, and achieve corresponding beneficial effects.

[0306] As an implementation example, the communication device 900 executes the attached Figure 4 And the function of the first device in the related embodiments; wherein the communication device 1000 performs the attached Figure 4 The communication device 900 is used to receive a first message, the first message includes a first payload; the communication device 900 is also used to send the second message to the communication device 1000, the second message includes an IPv6 extension header and a second payload, the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0307] As an implementation example, the communication device 900 executes the attached Figure 4 And the function of the second device in the related embodiments; wherein the communication device 1000 executes the attached Figure 4 The communication device 900 is used to receive a second message from the communication device 1000, the second message includes an IPv6 extension header and a second payload, the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload; the communication device 900 is also used to decompress the second payload.

[0308] As another implementation example, the communication device 900 executes the attached Figure 7 And the function of the first device in the related embodiments; wherein the communication device 1000 performs the attached Figure 7 The communication device 900 is used to receive a first message, the first message includes a first payload; the communication device 900 is also used to send a second message to the communication device 1000, the second message includes an option in the IPv4 header and a second payload, the second payload is obtained by compressing the first payload; wherein the option includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload.

[0309] As an implementation example, the communication device 900 executes the attached Figure 7 And the function of the second device in the related embodiments; wherein the communication device 1000 executes the attached Figure 7 The communication device 900 is used to receive a second message from the communication device 1000, the second message includes an option in the IPv4 header and a second payload, the second payload is obtained by compressing the first payload; wherein the option includes first information, the first information is used to indicate that the second payload carried by the second message is a compressed payload; the communication device 900 is also used to decompress the second payload.

[0310] Fig. 9 The specific implementation methods of the communication device shown can refer to the descriptions in the aforementioned method embodiments, which will not be repeated here.

[0311] An embodiment of the present application further provides a communication system, which at least includes a first device for executing the aforementioned method embodiment, or the communication system includes a first device and a second device for executing the aforementioned method embodiment.

[0312] It should be understood that in the communication system, each network device may also apply other methods involved in the aforementioned embodiments and achieve corresponding technical effects, which will not be elaborated here.

[0313] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the unit is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0314] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A communication method, characterized in that: include: Receive a first message, wherein the first message includes a first payload; A second message is sent, wherein the second message includes an Internet Protocol version 6 (IPv6) extension header and a second payload, wherein the second payload is obtained by compressing the first payload; wherein the IPv6 extension header includes first information, and the first information is used to indicate that the second payload carried by the second message is a compressed payload.

2. The method according to claim 1, characterized in that The IPv6 extension header includes application-aware network APN information, and the first information is carried in the Flags field of the APN information.

3. The method according to claim 1 or 2, characterized in that: The second message is a message in the data stream where the application data of the first application is located. The IPv6 extension header also includes second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed.

4. The method according to claim 3, characterized in that The IPv6 extension header includes APN information, and the second information is carried in an application-aware network parameter type APN-Para-Type field of the APN information.

5. The method according to any one of claims 1 to 4, characterized in that: The IPv6 extension header also includes third information, and the third information is used to indicate the compression algorithm and / or compression parameter index CPI information of the compression process.

6. The method according to claim 5, characterized in that The IPv6 extension header includes APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

7. The method according to any one of claims 1 to 6, characterized in that: The IPv6 extension header includes a hop-by-hop options header HBH Options Header, a destination options header DOH or a segment routing header SRH.

8. The method according to any one of claims 1 to 7, characterized in that: The first information is included in an option of the IPv6 extension header.

9. The method according to any one of claims 1 to 8, characterized in that: The IPv6 basic header of the first message is the same as the IPv6 basic header of the second message.

10. The method according to any one of claims 1 to 9, characterized in that: The first message and the second message are messages in a data stream where application data of a first application is located, wherein the application data of the first application is data that needs to be compressed.

11. The method according to claim 10, characterized in that The first message also includes an identifier of the first application.

12. The method according to claim 10, characterized in that The message forwarding information of the first message is the same as one of the message forwarding information among N message forwarding information included in the access control list ACL, and the one of the message forwarding information is used to forward the message of the first application, where N is a positive integer; The N message forwarding information in the ACL are all message forwarding information of the data flow where the data to be compressed is located.

13. A communication method, characterized in that: include: Receive a second message, the second message including an Internet Protocol version 6 (IPv6) extension header and a second payload, the second payload being obtained by compressing the first payload; wherein the IPv6 extension header includes first information, the first information being used to indicate that the second payload carried by the second message is a compressed payload; The second payload is decompressed.

14. The method according to claim 13, characterized in that The method further comprises: Send a third message, where the third message includes a processing result obtained by decompressing the second payload.

15. The method according to claim 13 or 14, characterized in that The IPv6 extension header includes application-aware network APN information, and the first information is carried in the Flags field of the APN information.

16. The method according to any one of claims 13 to 15, characterized in that The second message is a message in the data stream where the application data of the first application is located. The IPv6 extension header also includes second information, and the second information is used to indicate that the application data of the first application is data that needs to be compressed.

17. The method according to claim 16, characterized in that The IPv6 extension header includes APN information, and the second information is carried in an application-aware network parameter type APN-Para-Type field of the APN information.

18. The method according to any one of claims 13 to 17, characterized in that The IPv6 extension header also includes third information, and the third information is used to indicate the compression algorithm and / or compression parameter index CPI information of the compression process.

19. The method according to claim 18, characterized in that The IPv6 extension header includes APN information, and the third information is carried in an intent optional field or an APN parameter optional field of the APN information.

20. The method according to any one of claims 13 to 19, characterized in that The IPv6 extension header includes a hop-by-hop options header HBH Options Header, a destination options header DOH or a segment routing header SRH.

21. The method according to any one of claims 13 to 20, characterized in that The first information is included in an option of the IPv6 extension header.

22. The method according to any one of claims 13 to 21, characterized in that The IPv6 basic header of the first message is the same as the IPv6 basic header of the second message.

23. The method according to any one of claims 13 to 22, characterized in that The second message is a message in a data stream where application data of the first application is located, wherein the application data of the first application is data that needs to be compressed.

24. A communication device, characterized in that: It comprises a receiving unit and a sending unit, and the receiving unit and the sending unit are used to execute the method according to any one of claims 1 to 23.

25. A communication device, characterized in that: comprising at least one processor, and a memory coupled to the at least one processor; The memory is used to store programs or instructions; The at least one processor is configured to execute the program or instruction so that the communication device implements the method according to any one of claims 1 to 23.

26. A communication system, characterized in that: The method comprises a first communication device and a second communication device, wherein the first communication device is used to execute the method according to any one of claims 1 to 12, and the second communication device is used to execute the method according to any one of claims 13 to 23.

27. A computer-readable storage medium, characterized in that: The method comprises a program or an instruction, which, when being executed on a computer, enables the method according to any one of claims 1 to 23 to be executed.