Communication methods, communication apparatus, communication device and storage medium
By carrying network status information in the service message and adding ACK messages, direct feedback between the receiver and the sender is achieved, which solves the problem of low efficiency in network status perception and enables rapid network status perception.
Patent Information
- Application Number
- PCT/CN2025/106885
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-03
- Filing Date
- 2025-07-03
- Publication Date
- 2026-01-08
AI Technical Summary
In existing technologies, network status awareness is inefficient and cannot meet the needs of latency-sensitive task scheduling. Network performance detection methods mainly rely on the interaction between devices and controllers, resulting in slow data collection speed.
By collecting network status information during the transmission of service messages and adding it to the ACK message, end-to-end direct feedback between the receiving end and the sending end is achieved, reducing the forwarding steps of network status information and improving sensing efficiency.
It enables rapid network status perception while performing communication services, reducing network status perception time and improving perception efficiency.
Smart Images

Figure CN2025106885_08012026_PF_FP_ABST
Abstract
Description
Communication method, communication device, communication apparatus, and storage medium
[0001] The present disclosure claims priority to Chinese Patent Application No. 202410890047.3, filed on July 3, 2024, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present disclosure relates to the field of communication technology, and in particular, to a communication method, a communication device, a communication apparatus, and a storage medium. BACKGROUND
[0003] With the development of communication technology, the services (such as short video, streaming media, etc.) of the communication network are becoming more and more abundant, and the emerging services put forward higher requirements for the network service quality, which makes the demand for the perception of the network state in the communication network more and more.
[0004] At present, in the process of perceiving the network state of the communication path, the receiving end (such as a server, a terminal) needs to receive the reference signal (such as a sounding reference signal) sent by the sending end for measuring the network state, determine the network state of the communication path, and feed back the network state of the communication path to the sending end through the management node (such as a controller), so as to realize the perception of the network state of the communication path. SUMMARY
[0005] In a first aspect, the present disclosure provides a communication method applied to a receiving end. The communication method comprises:
[0006] In the case where the target service packet carrying the first network state information is received through the first path, a target ACK packet is generated, wherein the target ACK packet comprises second network state information, the first path is a packet transmission path between the receiving end and the sending end, and the second network state information is obtained based on the first network state information; the target ACK packet is sent to the sending end, and the second network state information is used to instruct the sending end to adjust the data sending strategy.
[0007] In some embodiments, the second network state information satisfies at least one of the following:
[0008] The second network state information comprises the parameter value of one or more network indicators in the first network state information;
[0009] The second network state information comprises the sum of all parameter values under each network indicator in one or more network indicators in the first network state information;
[0010] The second network state information comprises the mean of all parameter values under each network indicator in one or more network indicators in the first network state information;
[0011] The second network status information includes a maximum value or a minimum value of all parameter values under each network index in the one or more network indexes in the first network status information.
[0012] In some embodiments, the frame format of the target ACK message includes at least one of the following:
[0013] a first field for indicating the second network status information;
[0014] a second field for indicating a network index in the second network status information;
[0015] a third field for indicating a parameter value corresponding to the network index in the second network status information;
[0016] a fourth field for indicating a length of the parameter value corresponding to the network index in the second network status information.
[0017] In some embodiments, the second network status information includes a network index agreed by the receiving end and the sending end in advance.
[0018] In some embodiments, the second network status information includes at least one of the following: a hop-by-hop link available bandwidth, a path available bandwidth.
[0019] In some embodiments, the target ACK message is a message transmitted between the sending end and the receiving end at a transport layer or an application layer.
[0020] In some embodiments, the first network status information includes sub-status information detected by one or more intermediate devices in the first path.
[0021] In some embodiments, the sub-status information of the intermediate device is detected by the intermediate device when forwarding a service message originating from the sending end.
[0022] In some embodiments, the intermediate device detects the sub-status information based on device configuration information for indicating a status parameter for collecting network status; or the intermediate device detects the sub-status information based on a network status collection instruction in the service message originating from the sending end, the network status collection instruction being used to indicate a status parameter for collecting network status; or the intermediate device detects the sub-status information based on whether source address information and / or destination address information in the service message to be forwarded is preset address information; or the intermediate device detects the sub-status information based on whether source port information and / or destination port information in the service message to be forwarded is preset port information; or the intermediate device detects the sub-status information based on whether a protocol type of the service message to be forwarded is a preset type.
[0023] In a second aspect, the present disclosure provides another communication method, applied to a sending end. The communication method comprises: sending, to a receiving end via a first path, a target service packet carrying first network state information; receiving a target ACK packet originating from the receiving end, the target ACK packet comprising second network state information; and adjusting a data sending strategy based on the second network state information.
[0024] In some embodiments, the method of adjusting the data sending strategy based on the second network state information comprises: increasing or decreasing a data sending rate of the service packet based on the second network state information.
[0025] In a third aspect, the present disclosure provides yet another communication method, applied to an intermediate device. The communication method comprises:
[0026] In a case where a service packet to be forwarded is received, detecting a network environment to obtain sub-state information, the service packet to be forwarded originating from a sending end; modifying the service packet to be forwarded based on the sub-state information to obtain a first service packet carrying the sub-state information.
[0027] In some embodiments, the intermediate device detects the sub-state information based on device configuration information used to indicate state parameters of collected network states; or, the intermediate device detects the sub-state information based on network state collection instructions in the service packet originating from the sending end, the network state collection instructions being used to indicate state parameters of collected network states; or, the intermediate device detects the sub-state information based on whether source address information and / or destination address information in the service packet to be forwarded is preset address information; or, the intermediate device detects the sub-state information based on whether source port information and / or destination port information in the service packet to be forwarded is preset port information; or, the intermediate device detects the sub-state information based on whether a protocol type of the service packet to be forwarded is a preset type.
[0028] In a fourth aspect, the present disclosure provides a communication apparatus, applied to a receiving end. The communication apparatus comprises a receiving module, a processing module, and a sending module.
[0029] The receiving module is configured to receive a target service packet via a first path, the first path being a packet transmission path between the receiving end and a sending end. The processing module is configured to, in a case where the target service packet carries first network state information, generate a target ACK packet, wherein the target ACK packet comprises second network state information, the second network state information being obtained based on the first network state information. The sending module is configured to send the target ACK packet to the sending end, the second network state information being used by the sending end to adjust a data sending strategy.
[0030] In some embodiments, the second network state information satisfies at least one of the following:
[0031] The second network status information includes parameter values of one or more network indicators in the first network status information.
[0032] The second network status information includes a sum of all parameter values under each network indicator of the one or more network indicators in the first network status information.
[0033] The second network status information includes a mean of all parameter values under each network indicator of the one or more network indicators in the first network status information.
[0034] The second network status information includes a maximum or minimum of all parameter values under each network indicator of the one or more network indicators in the first network status information.
[0035] In some embodiments, the frame format of the target ACK message includes at least one of the following:
[0036] a first field for indicating the second network status information;
[0037] a second field for indicating a network indicator in the second network status information;
[0038] a third field for indicating a parameter value corresponding to the network indicator in the second network status information;
[0039] a fourth field for indicating a length of the parameter value corresponding to the network indicator in the second network status information.
[0040] In some embodiments, the second network status information includes network indicators agreed by the receiving end and the sending end in advance.
[0041] In some embodiments, the second network status information includes at least one of the following: hop-by-hop link available bandwidth, path available bandwidth.
[0042] In some embodiments, the target ACK message is a message of a transport layer or an application layer transmission between the sending end and the receiving end.
[0043] In some embodiments, the first network status information includes sub-status information detected by one or more intermediate devices in the first path.
[0044] In some embodiments, the sub-status information of the intermediate device is detected by the intermediate device when forwarding a service message originating from the sending end.
[0045] In some embodiments, the intermediate device detects the sub-state information based on device configuration information, the device configuration information being used to indicate state parameters of the network state to be collected; or the intermediate device detects the sub-state information based on network state collection instructions in the service message originated from the sending end, the network state collection instructions being used to indicate state parameters of the network state to be collected; or the intermediate device detects the sub-state information based on whether source address information and / or destination address information in the service message to be forwarded is preset address information; or the intermediate device detects the sub-state information based on whether source port information and / or destination port information in the service message to be forwarded is preset port information; or the intermediate device detects the sub-state information based on whether a protocol type of the service message to be forwarded is a preset type.
[0046] In a fifth aspect, the present disclosure provides another communication device applied to a sending end. The communication device comprises a transmission module and a processing module.
[0047] The transmission module is configured to send, to a receiving end via a first path, a target service message carrying first network state information, and receive a target ACK message originated from the receiving end, wherein the target ACK message comprises second network state information; and the processing module is configured to adjust a data sending strategy based on the second network state information.
[0048] In some embodiments, the processing module is configured to increase or decrease a data sending rate of the service message based on the second network state information.
[0049] In a sixth aspect, the present disclosure provides another communication device applied to an intermediate device. The communication device comprises a receiving module and a processing module.
[0050] The receiving module is configured to receive a service message to be forwarded, wherein the service message to be forwarded is originated from a sending end; and the processing module is configured to detect a network environment to obtain sub-state information; and the processing module is further configured to modify the service message to be forwarded based on the sub-state information to obtain a first service message carrying the sub-state information.
[0051] In some embodiments, the intermediate device detects the sub-state information based on device configuration information, the device configuration information being used to indicate state parameters of the network state to be collected; or the intermediate device detects the sub-state information based on network state collection instructions in the service message originated from the sending end, the network state collection instructions being used to indicate state parameters of the network state to be collected.
[0052] In a seventh aspect, the present disclosure provides a communication device, comprising: a processor and a memory, wherein the processor and the memory are coupled, and the memory is configured to store one or more programs comprising computer-executable instructions, and when the communication device is running, the processor executes the computer-executable instructions stored in the memory to implement the communication method described in any one of the first aspect, the second aspect or the third aspect.
[0053] In an eighth aspect, the present disclosure provides a computer-readable storage medium, and the computer-readable storage medium stores instructions, and when the instructions are run on a computer, the computer executes the communication method described in any one of the first aspect, the second aspect or the third aspect.
[0054] In a ninth aspect, the present disclosure provides a computer program product, and the computer program product comprises computer program instructions, and when the computer program instructions are executed, the communication method described in any one of the first aspect, the second aspect or the third aspect is implemented. BRIEF DESCRIPTION OF DRAWINGS
[0055] FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present disclosure.
[0056] FIG. 2 is a schematic diagram of an internal structure of an electronic device according to an embodiment of the present disclosure.
[0057] FIG. 3 is a schematic diagram of a communication method according to an embodiment of the present disclosure.
[0058] FIG. 4 is a schematic diagram of another communication method according to an embodiment of the present disclosure.
[0059] FIG. 5 is a schematic diagram of yet another communication method according to an embodiment of the present disclosure.
[0060] FIG. 6 is a schematic diagram of yet another communication method according to an embodiment of the present disclosure.
[0061] FIG. 7 is a schematic diagram of an example of network state awareness according to an embodiment of the present disclosure.
[0062] FIG. 8 is a schematic diagram of a structure of a communication apparatus according to an embodiment of the present disclosure.
[0063] FIG. 9 is a schematic diagram of another structure of a communication apparatus according to an embodiment of the present disclosure.
[0064] FIG. 10 is a schematic diagram of yet another structure of a communication apparatus according to an embodiment of the present disclosure.
[0065] FIG. 11 is a schematic diagram of a structure of a communication device according to an embodiment of the present disclosure.
[0066] FIG. 12 is a conceptual partial view of a computer program product according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0067] In order for those skilled in the art to better understand the technical solutions of the embodiments of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present disclosure.
[0068] The character " / " in this document generally indicates a relationship of "or" between the associated objects before and after it. For example, A / B can be understood as A or B.
[0069] The terms "first" and "second" and the like in the description and claims of the present disclosure are used to distinguish different objects, rather than to describe a specific order of the objects involved.
[0070] In addition, the terms "comprising" and "having" and any variations thereof mentioned in the description of the present disclosure are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or modules is not limited to the listed steps or modules, but can optionally include other steps or modules not listed, or can optionally include other steps or modules inherent to the process, method, product or device.
[0071] In addition, in the embodiments of the present disclosure, the words "exemplary / illustrative" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design solution described as "exemplary / illustrative" or "for example" in the present disclosure should not be interpreted as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of the words "exemplary / illustrative" or "for example" is intended to present concepts in a concrete manner.
[0072] Before the communication method provided by the embodiments of the present disclosure is described in detail, the implementation environment and application scenarios of the embodiments of the present disclosure are introduced.
[0073] First, the application scenarios of the embodiments of the present disclosure are introduced.
[0074] With the rapid development of video on demand, streaming media, network games, peer to peer (P2P) and other services, the rapid growth of network traffic and network traffic makes the network structure more complex, and the network scale is increasingly large. At the same time, emerging services have higher requirements for service quality.
[0075] Network performance data awareness is an important part of network management, quality of service (QoS) deployment, reducing network congestion, and ensuring network reliability. However, the research speed of network performance measurement technology is far behind the speed of network development. Available bandwidth, network congestion level, network delay, and the like dynamically change with background traffic in the network, which is a difficulty and hotspot in the field of network performance research.
[0076] Currently, in the end-to-network collaborative scenario, the method of network performance detection is mainly the way of collecting network performance data by a centralized controller. In this way, the network state information is collected by the device itself in a periodic manner, or a probe is deployed on the device, or the network state information is collected based on a performance measurement protocol, and then reported to the controller based on related protocols such as telemetry or simple network management protocol (SNMP), and the controller then transmits the data to the sending end, which judges whether the network has sufficient bandwidth to support new business or whether the delay of the current business flow meets the business requirements, and the like. This reporting to the controller method requires interaction between the device and the controller, and interaction between the controller and the sending end, involving many interfaces and slow data collection speed, which cannot meet some time-sensitive task scheduling services.
[0077] Therefore, how to improve the awareness efficiency of network state has become a technical problem to be solved.
[0078] To solve the above problems, the present disclosure provides a communication method applied to a scenario of perceiving network state. In the present disclosure, network state information can be collected in the transmission process of a service packet to ensure that the receiving end can receive the service packet carrying the network state information, and the network state information carried by the service packet is added to an acknowledgement (ACK) packet for informing the sending end of the successful reception of the service packet, so that the sending end can receive the ACK packet carrying the network state information from the receiving end to perceive the network state. In this way, the perception of the network state can be realized while the communication service is being executed, and the end-to-end direct feedback between the sending end and the receiving end is used to reduce the forwarding steps of the network state information and reduce the perception time of the network state. In this way, the awareness efficiency of the network state can be improved.
[0079] The implementation environment of the present disclosure is introduced as follows.
[0080] FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present disclosure, which can include a sending end 101, a receiving end 102 and at least one intermediate device (e.g., intermediate device 103 and intermediate device 104). The sending end 101 can perform wired / wireless communication with the receiving end 102 through the intermediate device 103 and the intermediate device 104.
[0081] In some embodiments, in the process of sending service packets from the sending end 101 to the receiving end 102 through the intermediate device 103 and the intermediate device 104, the intermediate device 103 and the intermediate device 104 can detect the network state of the communication path (i.e., the path composed of the sending end 101, the receiving end 102, the intermediate device 103 and the intermediate device 104) and add the detected state information into the service packets, so that the service packets received by the receiving end 102 carry the network state information. Then, the receiving end 102 can trigger an ACK packet generation mechanism based on the network state information in the service packets, obtain an ACK packet containing the network state information, and feed back the ACK packet containing the network state information to the sending end 101 through the intermediate device 103 and the intermediate device 104, so that the sending end 101 can obtain the network state information from the ACK packet when receiving the ACK packet from the receiving end 102, thereby realizing the perception of the network state.
[0082] FIG. 2 shows the interaction flow and sub-function module description of the data processing function module and the transmission control function module of the receiving end device (i.e., the receiving end 102), which can include a data processing function module 201 for the network layer and a transmission control function module 202 for the transmission layer. The data processing function module 201 can include a data collection module 203, a data storage module 204 and a data judgment module 205; the transmission control function module 202 can include a data collection module 206, a state monitoring module 207 and a confirmation control module 208.
[0083] When the data packet is transmitted in the network, the available network state information of the hop-by-hop link or end-to-end path is carried based on the internet protocol (IP) basic header or extension header, so as to realize the collection of network state (performance) information, wherein the performance data includes the available bandwidth of the path, network delay, congestion degree (device queue cache) of the path, etc. In some embodiments, the collection of related information is realized by means of stream detection, for example, in the flow label field of the sixth version of the internet protocol (IPv6) header, or based on the IPv6 DOH (DNS over HTTPS, a DNS (Domain Name System) query protocol) extension header, hop-by-hop option (HBH) extension header, etc. to collect the network state information.
[0084] The data collection module 203 is used to identify and parse the network performance data in the IP header, and collect the related data.
[0085] The data storage module 204 is used to classify the collected data, and store the data in the end side according to the categories, etc. The storage space size needs to be able to meet the total capacity of the network state information of the end-to-end path or hop-by-hop link collected by the network, and the data needs to be identified during the storage process, so as to distinguish the categories and specific contents of the collected information.
[0086] The data judgment module 205 is used to judge whether the data needs to be transmitted to the transmission control function module 202 according to the identification of the data.
[0087] The data collection module 206 is used to obtain the network state information from the data processing function module 201 (for example, based on the data collection instruction). The data collection instruction can be initialized and configured by the device, which supports triggering the pulling of data from the data processing function module 201 for each received data packet, and also supports the data judgment by the data processing function module 201 based on the program interface, so as to push the data to the transmission control function module 202 based on the interface mode, thereby realizing the data collection.
[0088] The state monitoring module 207 is used to continuously monitor the collected data, and trigger the transmission layer ACK confirmation after confirming that the network state information is collected by the receiving end.
[0089] The confirmation control module 208 is used to encapsulate the received network state data in the ACK message, and notify the sending end.
[0090] It should be noted that the embodiments of the present disclosure do not limit the sending end 101, the receiving end 102 and the intermediate device (such as the intermediate device 103 and the intermediate device 104).
[0091] For example, the sending end 101 is a terminal, and the receiving end 102 is a server. Alternatively, the sending end 101 is a server, and the receiving end 102 is a terminal. Alternatively, the sending end 101 and the receiving end 102 are both terminals (or servers).
[0092] In addition, the intermediate device can be a router, a provider edge (PE), a switch or a repeater, etc.
[0093] The server can be a single physical server, or a server cluster composed of multiple servers. Alternatively, the server cluster can also be a distributed cluster. Alternatively, the server can also be a cloud server. The embodiments of the present disclosure do not limit the specific implementation mode of the server.
[0094] The terminal can be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, etc. having a transceiving function. The present disclosure does not specially limit the specific form of the terminal. The terminal can perform human-computer interaction with a user through one or more ways such as a keyboard, a touchpad, a touch screen, a remote controller, voice interaction or a handwriting device, etc.
[0095] After introducing the application scenario and implementation environment of the embodiments of the present disclosure, the communication method provided by the embodiments of the present disclosure will be described in detail in combination with the above implementation environment.
[0096] The methods in the following embodiments can be implemented in the above application scenario and implementation environment. The embodiments of the present disclosure will be described in combination with the accompanying drawings.
[0097] FIG. 3 is a flow diagram of a communication method provided by an embodiment of the present disclosure. As shown in FIG. 3, the method can include S301-S302.
[0098] S301, in a case where a target service packet carrying first network state information is received through a first path, a target ACK packet is generated.
[0099] In some embodiments, a communication connection is established between the sending end and the receiving end. The sending end can send a service packet to the receiving end through a network layer communication path (i.e., the first path) between the sending end and the receiving end. The receiving end can receive a service packet originating from the sending end through a network layer communication path between the receiving end and the sending end.
[0100] It should be noted that the first path can be a message transmission path between the receiving end and the sending end.
[0101] The embodiments of the present disclosure do not limit the service message. For example, the service message can be a message encapsulating positioning information in a positioning service. For another example, the service message can be a message encapsulating a device identifier in a device query service. For another example, the service message can be a message encapsulating multimedia data in a multimedia access service.
[0102] It should be noted that the target service message is a service message that the initial service message sent by the sending end reaches the receiving end after being transmitted by one or more intermediate devices in the first path between the sending end and the receiving end.
[0103] In some embodiments, in the process of sending the service message by the sending end to the receiving end through the first path of the network layer between the sending end and the receiving end, the intermediate device in the first path can collect the network state information of the first path by means of stream detection, and add the collected network state information to the initial service message sent by the sending end, so that the receiving end can receive the target service message carrying the network state information.
[0104] That is, the first network state information can include one or more pieces of sub-state information detected by the intermediate device, and the target service message is obtained by modifying the service message originating from the sending end based on the detected sub-state information.
[0105] In addition, the sub-state information of the intermediate device is detected by the intermediate device when forwarding the service message originating from the sending end.
[0106] Exemplarily, taking the communication path for transmitting the service message between the sending end and the receiving end as an example, which is composed of the intermediate device A and the intermediate device B, in the process of sending the service message by the sending end to the receiving end through the intermediate device A and the intermediate device B, the sending end can send the initial service message to the intermediate device A. Then, the intermediate device A can determine that the received initial service message is a service message originating from the sending end, and add the detected sub-state information to the initial service message to obtain the first service message, and then send the first service message to the intermediate device B. Then, the intermediate device B can determine that the received first service message is a service message originating from the sending end, and add the detected sub-state information to the first service message to obtain the target service message, and then send the target service message to the receiving end, so that the receiving end receives the target service message carrying the network state information.
[0107] The intermediate device can detect the sub-state information based on the locally stored device configuration information, and the device configuration information is used to indicate the state parameters for collecting the network state.
[0108] Alternatively, the intermediate device can detect the sub-state information based on a network state collection instruction in the service message from the sending end, the network state collection instruction being used to instruct to collect state parameters of the network state.
[0109] Alternatively, the intermediate device can detect the sub-state information based on whether source address information and / or destination address information in the service message to be forwarded is preset address information (i.e., whether the source address of the sending end is a preset address that needs to be detected for the network state, and similarly, whether the destination address of the receiving end is a preset address that needs to be detected for the network state).
[0110] Alternatively, the intermediate device can detect the sub-state information based on whether source port information and / or destination port information in the service message to be forwarded is preset port information (i.e., whether the source port of the sending end is a preset port that needs to be detected for the network state, and similarly, whether the destination port of the receiving end is a preset port that needs to be detected for the network state).
[0111] Alternatively, the intermediate device can detect the sub-state information based on whether the protocol type of the service message to be forwarded is a preset type (such as a transmission control protocol (TCP) or a user datagram protocol (UDP)).
[0112] In some embodiments, the first network state information can be encapsulated in a field corresponding to a preset extension header (such as a field corresponding to a message header of a network layer) in the target service message. The receiving end can determine whether the first network state information is carried in the target service message by determining whether there is field information in the preset extension header of the target service message.
[0113] If there is field information in the preset extension header of the target service message, the receiving end determines that the first network state information is carried in the target service message. Conversely, if there is no field information in the preset extension header of the target service message, the receiving end determines that the first network state information is not carried in the target service message.
[0114] It should be noted that in the embodiments of the present disclosure, the preset extension header can be a DOH extension header, or the preset extension header can be an HBH extension header.
[0115] In some embodiments, the first network state information can be encapsulated in a preset field position in the target service message. The receiving end can determine whether the first network state information is carried in the target service message by determining whether there is field information in the preset field position in the target service message.
[0116] If the field information exists in the preset field position in the target service packet, the receiving end determines that the target service packet carries the first network status information. Otherwise, if the field information does not exist in the preset field position in the target service packet, the receiving end determines that the target service packet does not carry the first network status information.
[0117] It should be noted that in the embodiments of the present disclosure, the preset field position can be a position corresponding to a flow label field.
[0118] In the embodiments of the present disclosure, the receiving end can trigger a first ACK packet generation mechanism of a transport layer protocol and generate a target ACK packet based on the first network status information in a case where it is determined that the target service packet carrying the first network status information is received.
[0119] The target ACK packet includes second network status information, and the second network status information is obtained based on the first network status information.
[0120] For example, the second network status information can include a statistical value or a mapping value of a parameter value of one or more network indicators in the first network status information.
[0121] It should be noted that the present disclosure does not limit the statistical method (such as normal distribution, mean calculation, extreme value screening, etc.) of the statistical value of the parameter value of one or more network indicators, and does not limit the mapping method (such as binary mapping, normalization processing, etc.) of the mapping value of the parameter value of one or more network indicators.
[0122] In some embodiments, the second network status information can satisfy at least one of the following 1.1-1.4:
[0123] 1.1, the second network status information includes a parameter value of one or more network indicators in the first network status information;
[0124] 1.2, the second network status information includes a sum of all parameter values under each network indicator of one or more network indicators in the first network status information;
[0125] 1.3, the second network status information includes a mean value of all parameter values under each network indicator of one or more network indicators in the first network status information;
[0126] 1.4, the second network status information includes a maximum value or a minimum value of all parameter values under each network indicator of one or more network indicators in the first network status information.
[0127] The second network status information can include at least one of the following network indicators: hop-by-hop link available bandwidth, path available bandwidth, hop-by-hop link delay, end-to-end path delay, congestion degree, throughput, and packet loss rate.
[0128] It should be noted that the hop-by-hop link available bandwidth includes the data transmission rate that each sub-path between the sending end and the receiving end can provide for subsequent data transmission.
[0129] Exemplarily, the communication path of the network layer between the sending end and the receiving end includes: intermediate device A connected with the sending end, and intermediate device B connected with the receiving end. If the sub-path bandwidth between the sending end and the intermediate device A is 1 Gbps, the sub-path bandwidth between the intermediate device A and the intermediate device B is 3 Gbps, and the sub-path bandwidth between the intermediate device B and the receiving end is 7 Gbps, then the hop-by-hop link available bandwidth can include: 1 Gbps, 3 Gbps and 7 Gbps.
[0130] The path available bandwidth is the maximum data transmission rate that the intermediate device can provide for subsequent data transmission.
[0131] Exemplarily, in combination with the above example, if the available bandwidth of the intermediate device A is 2 gigabits per second (Gbps) and the available bandwidth of the intermediate device B is 5 Gbps, then the path available bandwidth is 2 Gbps.
[0132] In addition, in combination with the network state detection of one or more intermediate devices, the intermediate device A can add 2 Gbps as the path available bandwidth to the initial service message sent by the sending end and send the service message with the added path available bandwidth to the intermediate device B. Subsequently, the intermediate device B can compare the available bandwidth 5 Gbps of itself with the path available bandwidth in the service message sent by the intermediate device A. Since 5 Gbps is greater than 2 Gbps, the intermediate device B does not need to change the path available bandwidth in the service message sent by the intermediate device A, that is, the path available bandwidth in the service message sent by the intermediate device B to the receiving end is 2 Gbps.
[0133] On the contrary, if the available bandwidth of the intermediate device B is 1 Gbps, then the intermediate device B needs to update the path available bandwidth in the service message sent by the intermediate device A from 2 Gbps to 1 Gbps.
[0134] Based on this, in combination with the information characteristics of the second network state information described above, if the network index is the hop-by-hop link available bandwidth, and the example includes: 2 Gbps, 3 Gbps and 7 Gbps, then the second network state information shown in 1.3 above can be 4 Gbps.
[0135] In some embodiments, the frame format of the target ACK packet can include a first part field and a second part field, the first part field including the frame format in the ACK packet (i.e., the ACK packet not carrying network status information) generated by the second ACK packet generation mechanism (i.e., the existing ACK packet generation mechanism), and the second part field being used to indicate the state parameters of one or more network indicators in the network status information.
[0136] It should be noted that in the first ACK packet generation mechanism, an initial ACK packet including only the first part can be generated first, and the second network status information can be encapsulated in the initial ACK packet to obtain the target ACK packet.
[0137] In some embodiments, by determining the index value of each network indicator in the second network status information and the parameter length of the state parameter, an association relationship between the index value of each network indicator and the corresponding state parameter and the parameter length corresponding to the state parameter is established. Then, based on the established association relationship, the index value, the state parameter, and the parameter length of the state parameter of all network indicators in the second network status information are encapsulated in the initial ACK packet to obtain the target ACK packet.
[0138] In some embodiments, the index of different network indicators can be represented by an index type (index type), and the index type field can be designed as 4 bits (bit), indicating different network indicators (including hop-by-hop link available bandwidth or path available bandwidth, etc.). For example, Index type = 0000, indicating hop-by-hop link available bandwidth; Index type = 0001, indicating path available bandwidth; Index type = 0010, indicating end-to-end path delay; Index type = 0011, indicating hop-by-hop link delay.
[0139] The parameter length of the state parameter of the network indicator can be represented by length (length).
[0140] The state parameter of the network indicator can be represented by value (value). For example, when Index type = 0000, value is equal to the available bandwidth value of the hop-by-hop link device (i.e., hop-by-hop link available bandwidth); when Index type = 0010, value is equal to the bandwidth value of the minimum available bandwidth on the path (i.e., path available bandwidth). That is, different value values are set according to different network indicators.
[0141] It should be noted that the current ACK-based transport layer mainly includes a transmission control protocol (TCP) and a quic (a low-latency transmission protocol), and the ACK frame formats corresponding to different protocols are different.
[0142] Exemplarily, the following is based on the extended QUIC ACK frame format (i.e., the frame format included in the first part field), Quic does not rely on the underlying operating system, and the extension is more flexible. The confirmation mechanism of QUIC is implemented based on the ACK frame. The current ACK Frame format is as follows: ACK Frame{ Type(i) = 0x02..0x03, Largest Acknowledged(i), ACK Delay(i), ACK Range Count(i), First ACK Range(i), ACK Range(..)…,}
[0143] Wherein, Type = 0x02 is a general ACK frame; Type = 0x03 indicates that the ACK Frame carries explicit congestion notification (ECN) information; Largest Acknowledged indicates the maximum message sequence number confirmed by the receiver; ACK Delay indicates the time from when the receiver receives the message to when the receiver sends the ACK Frame; ACK Range Count indicates the number of ACK Ranges contained in the ACK Frame; ACK Range indicates the received message sequence number range or the unreceived message sequence number range.
[0144] It should be noted that the second part field is equivalent to an extension based on the first part field, that is, based on the above ACK Frame format, the ACK Frame format is extended, and the index values of all sub-indices of each network index in the network status information, the state information of all sub-indices, and the information length of the state information of all sub-indices are encapsulated in the extended ACK Frame format.
[0145] In some embodiments, the frame format of the target ACK message can include at least one of the following:
[0146] A first field for indicating the second network status information (such as Type(i) described above);
[0147] A second field for indicating the network index in the second network status information (i.e., index type described above);
[0148] a third field (i.e. Value) for indicating the parameter value corresponding to the network indicator in the second network status information;
[0149] a fourth field (i.e. Length) for indicating the length of the parameter value corresponding to the network indicator in the second network status information.
[0150] For example, in combination with the above example, the format of the extended ACK Frame (including the frame format of the second part field) is as follows: ACK Frame{ Type(i) = 0x02..0x03, 0x04, Largest Acknowledged(i), ACK Delay(i), ACK Range Count(i), First ACK Range(i), ACK Range(..), Index type = (i), Length = (..), Value = (..)…,}
[0151] Wherein, Type(i) = 0x04 can be used to indicate that the ACK carries network status information.
[0152] It should be noted that the present embodiment does not limit the value of Type corresponding to the ACK Frame format for indicating that the ACK carries network status information. For example, Type for indicating that the ACK carries network status information can be 0x05. For another example, Type for indicating that the ACK carries network status information can be 0x22. For another example, Type for indicating that the ACK carries network status information can be 0x10.
[0153] In combination with the above network indicator of the available bandwidth of each hop-by-hop link, the value of Value in the ACK Frame can include the available bandwidth of each hop-by-hop link, and Length not only indicates the length of the value of the entire Value, but also indicates the length of the available bandwidth of each hop-by-hop link corresponding in the value of the entire Value.
[0154] For example, the value of the entire Value is 000111, and Length indicates that the length of the available bandwidth of each hop-by-hop link corresponding in the value of the entire Value is 2 bits, then 00 is used to indicate the available bandwidth of the first hop-by-hop link, 01 is used to indicate the available bandwidth of the second hop-by-hop link, and 11 is used to indicate the available bandwidth of the third hop-by-hop link.
[0155] Alternatively, the above Length is used to indicate the length of the total field of Index type, Length and Value (or the total field length of the ACK message).
[0156] Alternatively, the Index type can indicate multiple network indexes, the value of the Value includes parameter values of each network index, and the Length indicates not only the length of the entire value of the Value, but also the length of each network index in the entire value of the Value.
[0157] Alternatively, the Index type, the Length, and the Value are a combination of one network index. If the second network status information includes parameter values of three network indexes, the ACK Frame can include three combinations (i.e., the Index type, the Length, and the Value), and each network index corresponds to the Index type, the Length, and the Value in the respective combination.
[0158] In some embodiments, the extended ACK Frame format can be a format for a certain network index. Taking a network awareness ACK Frame format (Network awareness ACK Frame) for a path available bandwidth (Network available bandwidth) as an example, the format is as follows: Network awareness ACK Frame{ Type(i) = 0x20 Largest Acknowledged(i), ACK Delay(i), ACK Range Count(i), First ACK Range(i), ACK Range(..)…, Network available bandwidth(..),}
[0159] Type(i) = 0x20 is used to indicate the path available bandwidth carried in the ACK (equivalent to the second field), and Network available bandwidth(..) is equivalent to the third field.
[0160] It should be noted that at least one of the first field, the second field, the third field, and the fourth field can also be used to indicate that the target ACK message carries ECN information (i.e., the ACK message also has the function of Type(i) = 0x03).
[0161] It can be understood that the present disclosure is an extension of the existing ACK triggering mechanism. When the receiving end obtains a service message containing network status information at the network layer, the receiving end triggers the generation of an ACK message and feeds back to the sending end through the transport layer or the application layer.
[0162] S302, a target ACK message is sent to the sending end.
[0163] The second network status information in the target ACK message is used to instruct the sending end to adjust a data sending strategy.
[0164] Exemplarily, taking the path available bandwidth as an example of the second network status information, the second network status information in the target ACK message can instruct the sending end to dynamically adjust the sending rate according to the real-time network bandwidth: if the path available bandwidth increases, the sending end increases the sending rate to avoid congestion or bandwidth waste; if the path available bandwidth decreases, the sending end decreases the sending rate to avoid packet loss.
[0165] In some embodiments, the receiving end can feed back the target ACK message to the sending end through a communication path of a transport layer or an application layer between the sending end and the receiving end, that is, the target ACK message is a message transmitted by the transport layer between the sending end and the receiving end.
[0166] The technical solutions provided by the above embodiments at least have the following beneficial effects: by collecting network status information in the transmission process of the service message, it is ensured that the receiving end can receive the service message carrying the network status information, and the network status information carried by the service message is added to the ACK message used to inform the sending end of the successful reception of the service message, so that the sending end can receive the ACK message carrying the network status information from the receiving end to realize the perception of the network status. In this way, the perception of the network status can be realized while the communication service is performed, and based on the end-to-end direct feedback between the sending end and the receiving end, the forwarding step of the network status information can be reduced, and the perception time of the network status can be reduced. In this way, the perception efficiency of the network status can be improved.
[0167] In some embodiments, the trigger condition of the above-mentioned first ACK message generation mechanism can be to reply a target ACK message immediately after receiving a specified number of data messages, or can be to reply a target ACK message after waiting for a specified time delay.
[0168] Exemplarily, the process of triggering the first ACK message generation mechanism can include operations one to four.
[0169] Operation one, if the network status information is carried in the target service message, the receiving end can store the network status information in a preset storage space.
[0170] The preset storage space stores a plurality of historical status information, the historical status information is status information carried by other messages received by the receiving end before the target service message is received, one historical status information corresponds to one historical time, and the network status information corresponds to a target time at which the target service message is received by the receiving end.
[0171] Exemplarily, the receiving end can receive the target service packet carrying the network state information at 10:00 am, and the target time corresponding to the network state information is 10:00 am. The plurality of historical state information in the preset storage space includes: historical state information A and historical state information B, wherein the historical time corresponding to the historical state information A is 8:00 am, and the historical time corresponding to the historical state information B is 9:00 am. The historical state information A is state information carried by other packets received by the receiving end before the target service packet is received at 8:00 am, and the historical state information B is state information carried by other packets received by the receiving end before the target service packet is received at 9:00 am.
[0172] It should be noted that after the receiving end stores the network state information into the preset storage space, the receiving end can update the number of state information stored in the preset storage space, and perform operation two.
[0173] Operation two, the receiving end determines whether the number of state information stored in the preset storage space is equal to the preset number threshold.
[0174] Exemplarily, before the receiving end stores the network state information into the preset storage space, the preset storage space includes three historical state information, and the number of state information stored in the preset storage space is three. Then, after the receiving end stores the network state information into the preset storage space, the preset storage space includes three historical state information and one network state information, and the number of state information stored in the preset storage space is four.
[0175] It should be noted that the present embodiment does not limit the way of obtaining the preset number threshold. For example, the receiving end can store the preset number threshold, and the receiving end can obtain the preset number threshold from the storage space. For another example, the target service packet can also carry the preset number threshold, and the receiving end can obtain the preset number threshold from the target service packet.
[0176] In some embodiments, if the receiving end determines that the number of state information stored in the preset storage space is less than the preset number threshold, the receiving end can repeatedly perform the above operation one and operation two on the next received other packet carrying state information based on the preset storage space.
[0177] In some embodiments, if the receiving end determines that the number of state information stored in the preset storage space is equal to the preset number threshold, the receiving end can perform step three.
[0178] Operation three, the receiving end triggers a first ACK packet generation mechanism based on the target state information corresponding to the preset storage space, and generates a target ACK packet based on the target state information.
[0179] The target ACK message can comprise target state information.
[0180] It should be noted that the embodiments of the present disclosure do not limit the relationship between the target state information corresponding to the preset storage space and all state information in the preset storage space. For example, the target state information can be any state information in the preset storage space. For another example, the target state information can be the average value of all state information in the preset storage space. For another example, the target state information can comprise all state information in the preset storage space.
[0181] In some embodiments, the target state information can be the latest state information in the preset storage space in chronological order.
[0182] Exemplarily, in combination with the above example, the target state information can be the historical state information A, the historical state information B, and the network state information in the network state information.
[0183] In some embodiments, after the above operation one, the receiving end can perform operation four.
[0184] Operation four, the receiving end determines whether the target time of receiving the target service message is a preset time.
[0185] It should be noted that the embodiments of the present disclosure do not limit the manner of obtaining the preset time. For example, the receiving end can store the preset time, and the receiving end can obtain the preset time from the storage space. For another example, the target service message can also carry the preset time, and the receiving end can obtain the preset time from the target service message.
[0186] In some embodiments, if the receiving end determines that the target time is not the preset time, the receiving end can repeatedly perform the above operation one and operation four on the next received other message carrying state information based on the preset time.
[0187] In some embodiments, if the receiving end determines that the target time is the preset time, the receiving end can perform operation three.
[0188] Exemplarily, the preset time can comprise 8:10 am, 10:34 am, and 11 am. If the target time of receiving the target service message by the receiving end is 8 am, the receiving end can send an ACK message not carrying network state information to the sending end based on the second ACK message generation mechanism. If the target time of receiving the target service message by the receiving end is 11 am, the receiving end can generate a target ACK message based on the target state information corresponding to the preset storage space, and send the generated target ACK message to the sending end.
[0189] In some embodiments, the target time point can also be any time point, i.e., the target time point can be a first time point when the receiving end receives the packet, or a second time point when the receiving end does not receive the packet.
[0190] For example, the receiving end can receive packet A carrying state information A at 7:00 am, and receive packet B carrying state information B at 8:00 am, and the second time point can be 7:30 am.
[0191] In some embodiments, the receiving end can determine whether the read time point is the preset time point by reading the current time point in real time, and then perform operation three. The time point read by the receiving end can be the first time point or the second time point.
[0192] In some embodiments, after the receiving end performs the above-mentioned operation three, the receiving end can perform emptying processing on the state information stored in the preset storage space, and perform monitoring and management (i.e., operation one, operation two, operation three or operation four) of the next period based on the emptied preset storage space.
[0193] It should be noted that, due to the possibility of data loss in the packet transmission process, non-response of the in-line detection of the intermediate device, or omission of the detection, the network state information received by the receiving end can be incomplete.
[0194] In some embodiments, in order to ensure the completeness of the network state information received by the receiving end, the receiving end can further determine whether the network state information in the network state information includes state information corresponding to the network indicator after determining that the target service packet carries the network state information.
[0195] In the embodiments of the present disclosure, the network state information can also include state information corresponding to other network indicators. The other network indicators are different from the network indicators, and the reference value of the network indicators to the network state is greater than the reference value of the other network indicators to the network state.
[0196] In some embodiments, the receiving end stores the network indicators (i.e., the network indicators are the network indicators agreed by the sending end and the receiving end in advance). The receiving end can determine whether the network state information includes state information corresponding to the network indicators based on the stored network indicators.
[0197] In some embodiments, the target service packet can also include network indicators. The receiving end can determine whether the network state information includes state information corresponding to the network indicators based on the network indicators carried by the target service packet.
[0198] In some embodiments, if the receiving end determines that the network state information corresponding to the network indicator exists in the network state information, the receiving end determines that the received network state information is complete, and generates a target ACK message based on each network indicator in the network state information.
[0199] In some embodiments, if the receiving end determines that the network state information corresponding to the network indicator does not exist in the network state information, the receiving end determines that the received network state information is incomplete and does not generate a target ACK message.
[0200] In some embodiments, if the receiving end determines that the network state information corresponding to the network indicator does not exist in the network state information, the receiving end sends first indication information to the sending end.
[0201] The first indication information is used to indicate a network state sensing failure, or the first indication information is used to indicate that the network state sensing is re-performed based on the next service message.
[0202] It should be noted that the sending end can perform network state sensing through a newly sent service message in response to receiving the first indication information from the receiving end, so that the receiving end repeatedly performs S301-S302 based on the new service message.
[0203] It can be understood that the network state information is verified by the network indicator to determine whether there is missing content, so as to ensure communication integrity.
[0204] In some embodiments, the network state information carried by the above-mentioned target service message can be detected by one or more intermediate devices based on preset configuration information stored in the device, or the network state information carried by the target service message can be detected by one or more intermediate devices based on preset configuration information in the target service message. The preset configuration information is used to detect the network state of the communication path in response to receiving the service message, and add the detected state information to the service message.
[0205] In some embodiments, in combination with the above embodiments, the network state information can further include device information and port information of the intermediate device.
[0206] For example, when Index type = 0000, value represents hop-by-hop link device loopback ID, port number, available bandwidth value; when Index type = 0010, value represents the maximum available bandwidth on the path device loopback ID, port and bandwidth value, etc.
[0207] That is, the present disclosure needs to be based on the relevant program design, to realize the increase of network status information in ACK, including adding new frame type, to indicate that the network status information is carried in ACK message; at the same time, based on network index index, the carried data content is distinguished in detail. In addition, the network status information should also include the length of network status information and the specific content. For example, the hop-by-hop link network status information should include hop-by-hop device information, port information, and the performance (available bandwidth, delay, etc.) value of each path; while the end-to-end network status information, according to the different network performance categories, the included parameters are also different, for example, the collection of available bandwidth includes the device, port and bandwidth value of the maximum available bandwidth on the traffic flow path. The network status information includes but is not limited to the above-mentioned content, and the field design method is not limited to this one.
[0208] The embodiment of the present disclosure also provides a communication method, which is applied to a sending end, as shown in FIG. 4, the communication method can include S401-S403.
[0209] S401, sending a target service message carrying first network status information to a receiving end through a first path.
[0210] S402, receiving a target ACK message originating from the receiving end.
[0211] It should be noted that the description of the target ACK message can refer to the introduction in the above-mentioned embodiments, which will not be repeated here.
[0212] S403, adjusting a data sending strategy based on second network status information.
[0213] In some embodiments, the sending end can increase or decrease the data sending rate of the service message based on the second network status information.
[0214] Exemplarily, taking the path available bandwidth as an example of the second network status information, if the path available bandwidth increases, the sending end increases the sending rate to avoid congestion or bandwidth waste; if the path available bandwidth decreases, the sending end decreases the sending rate to avoid packet loss.
[0215] It should be noted that the service type of the service message to which the sending end adjusts the data sending strategy can be the same as or different from the service type of the above-mentioned target service message (i.e. the initial service message sent by the sending end).
[0216] The embodiment of the present disclosure also provides a communication method, which is applied to an intermediate device, as shown in FIG. 5, the communication method can include S501-S502.
[0217] S501, in the case of receiving a service message to be forwarded, detecting a network environment to obtain sub-state information.
[0218] The service message to be forwarded originates from the sending end.
[0219] It should be noted that the process of obtaining the sub-state information by the intermediate device can refer to the description in the above embodiments, which will not be repeated here.
[0220] S502, modifying the service message to be forwarded based on the sub-state information to obtain a first service message carrying the sub-state information.
[0221] In some embodiments, if the intermediate device is the last intermediate device in the first path (i.e., directly connected to the receiving end), the first service message obtained by the intermediate device can be the target service message described above.
[0222] It should be noted that the process of modifying the service message to be forwarded by the intermediate device based on the sub-state information can refer to the description in the above embodiments, which will not be repeated here.
[0223] The communication method provided by the above embodiments will be described below with an example of interaction between the sending end and the receiving end through an intermediate device, as shown in FIG. 6, including S601-S605.
[0224] S601, the sending end sends an initial service message to the receiving end.
[0225] S602, the intermediate device adds the detected network state information to the initial service message to obtain a target service message.
[0226] S603, the intermediate device sends the target service message to the receiving end.
[0227] S604, the receiving end generates a target ACK message in a case where it is determined that the target service message carries network state information (equivalent to the first network state information described above).
[0228] S605, the receiving end sends the target ACK message to the sending end.
[0229] The communication method provided by the embodiments of the present disclosure will be described below with specific examples.
[0230] As shown in FIG. 7, in the data receiving end, the data message is stripped of the data path message header, the network layer message header (i.e., the network layer header), and the transport layer message header (i.e., the transport layer header) in the receiving end device in turn, and finally the original data is obtained. In this process, based on the extension of the transport layer protocol confirmation mechanism, the device detects that the IP extension header carries network state data information when stripping the network layer header, and then triggers the ACK confirmation mechanism of the transport layer (i.e., the first ACK message generation mechanism described above).
[0231] In general, the receiving end device has two functions to achieve data interaction and transmission control, one is the data processing function module, which means that the receiving end device supports identifying and collecting network state information from the network layer header, and then storing and judging these data, and judging whether the data needs to be added to the ACK message of the transmission layer (i.e., the ACK message of the transmission layer adds the network state information collected by the network layer header). The second is the transmission control function module, which means that the device can access the network state information stored in the data processing function module, and needs to be configured before the service flow delivery, once receiving the data message, access the network state information stored in the data processing function module, or judge the data by the data processing function module, send the data to the transmission function module, and send according to the result of data judgment.
[0232] In addition, the intermediate devices 1-4 support hop-by-hop or end-to-end mode to collect network state information, and the receiving end brings the network state information back to the sending end in the ACK, and then the sending end uses the network state information to perform data rate sending control, load balancing strategy, etc. The corresponding process includes the following contents:
[0233] (1) Data sending stage.
[0234] The client (sending end) carries the network state information collection requirement in the message header of the service message, such as based on application-aware (APN) and the like, which delivers the application side requirement (perceives the network side information) to the network side to trigger the network side to collect the network state information, and the APN information can also not be carried in the message, and the network side device enables the collection of the network state information through the pre-configuration.
[0235] (2) Data forwarding stage.
[0236] The network device header node (i.e., the intermediate device 1) identifies and analyzes the APN information, triggers the collection of the network state information, and when the service message does not carry the APN information, the network state information collection is realized based on the configuration to match the service flow, which supports the matching rules based on the five-tuple or virtual private network (VPN) granularity, and the network state information collection is started after the matching of the service flow. In the process of forwarding the service message from the intermediate device 1 to the intermediate device 4, the statistical information is collected on demand based on the IPv6 extension header or the basic header field, such as the Flow Lable field of the IPv6 header, or the network state information is collected based on the DOH extension header and the HBH extension header of the IPv6.
[0237] (3) Data receiving stage.
[0238] The receiving end implements data interaction based on the data processing function module and the transmission control function module, and triggers ACK confirmation (i.e., a preset triggering mechanism).
[0239] (4) ACK return phase.
[0240] The ACK message carries network state information in a new frame format extension mode, and is notified to the sending end.
[0241] To sum up, the embodiment of the disclosure proposes a method for realizing network state information sensing based on a transmission layer protocol confirmation mechanism, which can realize real-time sensing of the state of the current path, including performance data such as path available bandwidth, network delay, and path congestion. Moreover, the embodiment of the disclosure also extends the confirmation mechanism of the transmission layer protocol, adds a way of triggering the ACK message of the transmission layer, and gives a transmission layer ACK frame format for carrying network state information. In addition, the embodiment of the disclosure also defines the interaction framework and mechanism of the receiving end device for network layer and transmission layer data, and cooperatively realizes the collection and notification of network state information.
[0242] In this way, flexible routing can be directly performed according to the specific situation and application requirement of the user equipment, better adapting to personalized scenarios (i.e., closer to user requirements), and real-time sensing of changes in the local environment and state can also be realized, so as to timely regulate the path and rate and quickly respond (i.e., strong real-time performance). In addition, network state indicators can also be quickly notified to the end side, for realizing operations such as routing, load balancing, and rate control directly on the end side, so that the efficiency of data transmission is higher, the utilization rate of network resources is also higher, the quality of network service is greatly improved, and the sensing efficiency of network state is improved.
[0243] The above mainly introduces the scheme provided by the embodiment of the disclosure from the perspective of the computer device. It can be understood that the computer device contains a hardware structure and / or software module corresponding to the execution of each function in order to realize the above functions. Those skilled in the art should easily realize that the communication method steps of each example described in combination with the disclosed embodiments of the disclosure can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the disclosure.
[0244] The embodiment of the disclosure further provides a communication device. The communication device can be a computer device, a CPU (Central Processing Unit) in the computer device, a processing module for sensing a network state in the computer device, or a client for sensing a network state in the computer device.
[0245] The embodiment of the disclosure can divide the communication device into functional modules or functional units according to the above method examples. For example, each functional module or functional unit can be divided according to each function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in the form of hardware or in the form of a software functional module or functional unit. The division of the module or unit in the embodiment of the disclosure is illustrative, and is only a logical functional division. When actually implemented, another division mode can be used.
[0246] FIG. 8 is a structural schematic diagram of a communication device provided by the embodiment of the disclosure. The communication device is used to execute the communication method shown in FIG. 3 and the communication method on the receiving end side in FIG. 6. The communication device 800 is applied to the receiving end. The communication device 800 can include a receiving module 801, a processing module 802, and a sending module 803.
[0247] The receiving module 801 is configured to receive a target service packet through a first path. The first path is a packet transmission path between the receiving end and the sending end. The processing module 802 is configured to generate a target ACK packet in a case where the target service packet carries first network state information. The target ACK packet includes second network state information. The second network state information is obtained based on the first network state information. The sending module 803 is configured to send the target ACK packet to the sending end. The second network state information is used for the sending end to adjust a data sending strategy.
[0248] In some embodiments, the second network state information satisfies at least one of the following conditions:
[0249] The second network state information includes parameter values of one or more network indicators in the first network state information.
[0250] The second network state information includes a sum of all parameter values under each network indicator in the one or more network indicators in the first network state information.
[0251] The second network state information includes a mean value of all parameter values under each network indicator in the one or more network indicators in the first network state information.
[0252] The second network status information includes a maximum value or a minimum value of all parameter values under each network index in the one or more network indexes in the first network status information.
[0253] In some embodiments, the frame format of the target ACK message includes at least one of the following:
[0254] a first field for indicating the second network status information;
[0255] a second field for indicating a network index in the second network status information;
[0256] a third field for indicating a parameter value corresponding to the network index in the second network status information;
[0257] a fourth field for indicating a length of the parameter value corresponding to the network index in the second network status information.
[0258] In some embodiments, the second network status information includes a network index agreed by the receiving end and the sending end in advance.
[0259] In some embodiments, the second network status information includes at least one of the following: a hop-by-hop link available bandwidth, a path available bandwidth.
[0260] In some embodiments, the target ACK message is a message transmitted between the sending end and the receiving end at a transport layer or an application layer.
[0261] In some embodiments, the first network status information includes sub-status information detected by one or more intermediate devices in the first path.
[0262] In some embodiments, the sub-status information of the intermediate device is detected by the intermediate device when forwarding a service message originating from the sending end.
[0263] In some embodiments, the intermediate device detects the sub-status information based on device configuration information for indicating a status parameter for collecting network status; or the intermediate device detects the sub-status information based on a network status collection instruction in the service message originating from the sending end, the network status collection instruction being used to indicate a status parameter for collecting network status; or the intermediate device detects the sub-status information based on whether source address information and / or destination address information in the service message to be forwarded is preset address information; or the intermediate device detects the sub-status information based on whether source port information and / or destination port information in the service message to be forwarded is preset port information; or the intermediate device detects the sub-status information based on whether a protocol type of the service message to be forwarded is a preset type.
[0264] FIG. 9 is a structural schematic diagram of another communication apparatus provided by the embodiments of the present disclosure. The communication apparatus is used to perform the communication method shown in FIG. 4 and the communication method on the sending end side shown in FIG. 6. The communication apparatus 900 is applied to the sending end. The communication apparatus 900 can include a transmission module 901 and a processing module 902.
[0265] The transmission module 901 is configured to send, to the receiving end via a first path, a target service packet carrying first network status information, and receive a target ACK packet from the receiving end, the target ACK packet including second network status information.
[0266] In some embodiments, the processing module is specifically configured to increase or decrease a data sending rate of the service packet based on the second network status information.
[0267] In some embodiments, the second network status information satisfies at least one of the following conditions:
[0268] The second network status information includes parameter values of one or more network indicators in the first network status information.
[0269] The second network status information includes a sum of all parameter values under each network indicator in the one or more network indicators in the first network status information.
[0270] The second network status information includes a mean value of all parameter values under each network indicator in the one or more network indicators in the first network status information.
[0271] The second network status information includes a maximum value or a minimum value of all parameter values under each network indicator in the one or more network indicators in the first network status information.
[0272] In some embodiments, a frame format of the target ACK packet includes at least one of the following:
[0273] a first field for indicating the second network status information;
[0274] a second field for indicating a network indicator in the second network status information;
[0275] a third field for indicating a parameter value corresponding to the network indicator in the second network status information;
[0276] a fourth field for indicating a length of the parameter value corresponding to the network indicator in the second network status information.
[0277] In some embodiments, the second network status information includes a network indicator agreed upon in advance by the receiving end and the sending end.
[0278] In some embodiments, the second network status information comprises at least one of the following: hop-by-hop link available bandwidth, path available bandwidth.
[0279] In some embodiments, the target ACK message is a message of a transport layer or an application layer transmission between the sending end and the receiving end.
[0280] In some embodiments, the first network status information comprises sub-status information detected by one or more intermediate devices in the first path.
[0281] In some embodiments, the sub-status information of the intermediate device is detected by the intermediate device when forwarding a service message originating from the sending end.
[0282] In some embodiments, the intermediate device detects the sub-status information based on device configuration information, which is used to indicate a status parameter of network status collection; or, the intermediate device detects the sub-status information based on a network status collection instruction in a service message originating from the sending end, which is used to indicate a status parameter of network status collection; or, the intermediate device detects the sub-status information based on whether source address information and / or destination address information in the service message to be forwarded is preset address information; or, the intermediate device detects the sub-status information based on whether source port information and / or destination port information in the service message to be forwarded is preset port information; or, the intermediate device detects the sub-status information based on whether a protocol type of the service message to be forwarded is a preset type.
[0283] FIG. 10 is a structural schematic diagram of another communication apparatus provided by an embodiment of the present disclosure. The communication apparatus is used to execute the communication method shown in FIG. 5 and the communication method of the intermediate device side in FIG. 6. The communication apparatus 1000 is applied to an intermediate device. The communication apparatus 1000 can comprise a receiving module 1001 and a processing module 1002.
[0284] The receiving module 1001 is configured to receive a service message to be forwarded, which originates from a sending end. The processing module 1002 is configured to detect a network environment to obtain sub-status information. The processing module 1002 is further configured to modify the service message to be forwarded based on the sub-status information to obtain a first service message carrying the sub-status information.
[0285] In some embodiments, the intermediate device detects the sub-state information based on device configuration information, the device configuration information being used to indicate state parameters of collected network states; or, the intermediate device detects the sub-state information based on network state collection instructions in the service message originated from the sending end, the network state collection instructions being used to indicate state parameters of collected network states; or, the intermediate device detects the sub-state information based on whether source address information and / or destination address information in the service message to be forwarded is preset address information; or, the intermediate device detects the sub-state information based on whether source port information and / or destination port information in the service message to be forwarded is preset port information; or, the intermediate device detects the sub-state information based on whether a protocol type of the service message to be forwarded is a preset type.
[0286] FIG. 11 is a structural schematic diagram of a communication device according to an exemplary embodiment. The communication device can include a processor 1102 configured to execute application code to implement the communication method in the present disclosure.
[0287] The processor 1102 can be a CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling program execution of the present disclosure.
[0288] As shown in FIG. 11, the communication device can further include a memory 1103. The memory 1103 is configured to store application code for executing the present disclosure, and is controlled by the processor 1102 to execute.
[0289] The memory 1103 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, can be a random access memory (RAM) or other type of dynamic storage device that can store dynamic information and instructions, can be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magneto-optical disk storage, a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to this. The memory 1103 can exist independently, and be connected with the processor 1102 through the bus 1104. The memory 1103 can also be integrated with the processor 1102.
[0290] As shown in FIG. 11, the communication device can also include a communication interface 1101, wherein the communication interface 1101, the processor 1102, and the memory 1103 can be coupled with each other, for example, through the bus 1104. The communication interface 1101 is configured to interact with other devices, for example, to support the communication device to interact with other devices.
[0291] It should be noted that the device structure shown in FIG. 11 does not constitute a limitation on the communication device, and the communication device can include more or fewer components than those shown in FIG. 11, or combine certain components, or have different component arrangements.
[0292] In actual implementation, the functions implemented by the processing module 702 can be implemented by the processor 1102 in FIG. 11 invoking the program code in the memory 1103.
[0293] The present disclosure also provides a computer-readable storage medium, and the computer-readable storage medium stores instructions. When the instructions in the computer-readable storage medium are executed by a processor of a computer device, the computer can execute the communication method provided by the above-mentioned embodiments. For example, the computer-readable storage medium can be the memory 1103 including instructions, and the above-mentioned instructions can be executed by the processor 1102 of the computer device to complete the above-mentioned method. In some embodiments, the computer-readable storage medium can be a non-transitory computer-readable storage medium, for example, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0294] FIG. 12 illustrates a conceptual partial view of a computer program product including a computer program for executing a computer process on a computing device, according to an embodiment of the present disclosure.
[0295] In one embodiment, the computer program product is provided using a signal bearing medium 1200. The signal bearing medium 1200 can include one or more program instructions which, when executed by one or more processors, can provide all or part of the functionality described above with respect to FIG. 3. Accordingly, with reference to the embodiment illustrated in FIG. 3, one or more features of S301-S302 can be undertaken by one or more instructions associated with the signal bearing medium 1200. Further, the program instructions in FIG. 12 also describe example instructions.
[0296] In some examples, the signal bearing medium 1200 can comprise a computer- readable medium 1201, such as, but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a memory, a read-only memory (ROM), a random access memory (RAM), etc.
[0297] In some embodiments, the signal bearing medium 1200 can comprise a computer- recordable medium 1202, such as, but not limited to, a memory, a read / write (R / W) CD, a R / W, DVD, etc.
[0298] In some embodiments, the signal bearing medium 1200 can comprise a communication medium 1203, such as, but not limited to, a digital and / or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.).
[0299] The signal bearing medium 1200 can be conveyed by a wireless form of the communication medium 1203. The one or more program instructions can be, for example, computer-executable instructions or logic-implemented instructions.
[0300] In some examples, a communication apparatus such as described with respect to FIG. 12 can be configured to provide various operations, functions, or actions in response to the one or more program instructions conveyed by one or more of the computer-readable medium 1201, the computer-recordable medium 1202, and / or the communication medium 1203.
[0301] Through the description of the above embodiments, those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above division of functional modules is taken as an example, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete the full classification or part of the functions described above.
[0302] In several embodiments provided by the present disclosure, it should be understood that the disclosed devices and methods can be implemented in other manners. For example, the above-described device embodiments are merely illustrative. For example, the division of the modules or units can be different, and each can be combined or integrated into another device, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.
[0303] The units described as separate components can or can not be physically separate, and the components shown as units can be one physical unit or multiple physical units, that is, can be in one place or distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0304] In addition, each functional unit in the various embodiments of the present disclosure can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0305] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present disclosure essentially or the part that makes a contribution to the prior art or the full classification or part of the technical solutions can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions to make a device (which can be a single-chip microcomputer, a chip, etc.) or a processor execute all or part of the steps of the various embodiments of the present disclosure. The aforementioned storage medium includes a U disk, a mobile hard disk, a ROM, a RAM, a magnetic disk or an optical disk, and various media that can store program codes.
[0306] The above merely describes specific embodiments of the present disclosure, but the protection scope of the present disclosure is not limited thereto, and any changes or replacements within the technical scope disclosed by the present disclosure shall be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.
Claims
1. A communication method applied to a receiving end, wherein, The method comprises: generating a target acknowledgement ACK packet in response to receiving a target service packet carrying first network state information through a first path, wherein the target ACK packet comprises second network state information, the first path is a packet transmission path between the receiving end and a sending end, and the second network state information is obtained based on the first network state information; sending the target ACK packet to the sending end, wherein the second network state information is used to instruct the sending end to adjust a data sending strategy.
2. The method of claim 1, wherein, The second network state information satisfies at least one of the following conditions: The second network state information comprises parameter values of one or more network indicators in the first network state information; The second network state information comprises a sum of all parameter values under each network indicator in one or more network indicators in the first network state information; The second network state information comprises a mean value of all parameter values under each network indicator in one or more network indicators in the first network state information; The second network state information comprises a maximum value or a minimum value of all parameter values under each network indicator in one or more network indicators in the first network state information.
3. The method of claim 1, wherein, The frame format of the target ACK packet comprises at least one of the following: a first field used to indicate the second network state information; a second field used to indicate network indicators in the second network state information; a third field used to indicate parameter values corresponding to the network indicators in the second network state information; a fourth field used to indicate parameter lengths corresponding to the network indicators in the second network state information.
4. The method of any one of claims 1-3, wherein, The second network state information comprises network indicators agreed in advance by the receiving end and the sending end.
5. The method of any one of claims 1-3, wherein, The second network state information comprises at least one of the following: hop-by-hop link available bandwidth, path available bandwidth.
6. The method of any one of claims 1-3, wherein, The target ACK packet is a packet transmitted between the sending end and the receiving end at a transport layer or an application layer.
7. The method of any one of claims 1-3, wherein, The first network state information comprises sub-state information detected by one or more intermediate devices in the first path.
8. The method of claim 7, wherein, The sub-state information of the intermediate device is detected by the intermediate device when forwarding a service packet originating from the sending end.
9. The method of claim 7, wherein, The intermediate device satisfies at least one of the following conditions: The intermediate device detects sub-state information based on device configuration information used to indicate state parameters for collecting network state; The intermediate device detects sub-state information based on network state collection instructions in a service packet originating from the sending end, wherein the network state collection instructions are used to indicate state parameters for collecting network state; The intermediate device detects sub-state information based on whether source address information and / or destination address information in a service packet to be forwarded is preset address information; The intermediate device detects sub-state information based on whether source port information and / or destination port information in a service packet to be forwarded is preset port information; The intermediate device detects sub-state information based on whether a protocol type of a service packet to be forwarded is a preset type.
10. A communication method applied to a transmitting end, wherein, The method comprises: The target service packet carrying the first network state information is sent to the receiving end through a first path; A target acknowledgement ACK packet is received from the receiving end, wherein the target ACK packet includes second network state information; A data sending strategy is adjusted based on the second network state information.
11. The method of claim 10, wherein, The data sending strategy is adjusted based on the second network state information, including: The data sending rate of the service packet is increased or decreased based on the second network state information.
12. A communication method applied to an intermediate device, wherein, The method includes: In the case of receiving a service packet to be forwarded, network environment is detected to obtain sub-state information, wherein the service packet to be forwarded is from a sending end; The service packet to be forwarded is modified based on the sub-state information to obtain a first service packet carrying the sub-state information.
13. The method of claim 12, wherein The intermediate device detects sub-state information based on device configuration information, which is used to indicate state parameters of collected network states; or The intermediate device detects sub-state information based on network state collection instructions in the service packet to be forwarded, which are used to indicate state parameters of collected network states; or The intermediate device detects sub-state information based on whether source address information and / or destination address information in the service packet to be forwarded is preset address information; Or The intermediate device detects sub-state information based on whether source port information and / or destination port information in the service packet to be forwarded is preset port information; Or The intermediate device detects sub-state information based on whether a protocol type of the service packet to be forwarded is a preset type.
14. A communication device applied to a receiving end, wherein, The apparatus includes: A receiving module is configured to receive a target service packet through a first path, wherein the first path is a packet transmission path between the receiving end and a sending end; A processing module is configured to generate a target acknowledgement ACK packet in response to the target service packet carrying first network state information, wherein the target ACK packet includes second network state information, and the second network state information is obtained based on the first network state information; A sending module is configured to send the target ACK packet to the sending end, wherein the second network state information in the target ACK packet is used by the sending end to adjust a data sending strategy.
15. A communication device applied to a sending end, wherein, The apparatus includes: A transmission module is configured to send a target service packet carrying first network state information to a receiving end through a first path, and receive a target acknowledgement ACK packet from the receiving end, wherein the target ACK packet includes second network state information; A processing module is configured to adjust a data sending strategy based on the second network state information.
16. A communication apparatus applied to a middle device, wherein, The apparatus includes: A receiving module is configured to receive a service packet to be forwarded, wherein the service packet to be forwarded is from a sending end; A processing module is configured to detect network environment to obtain sub-state information; The processing module is further configured to modify the service packet to be forwarded based on the sub-state information to obtain a first service packet carrying the sub-state information.
17. A communication device comprising: A processor and a memory; wherein the processor and the memory are coupled; the memory is configured to store one or more programs, the one or more programs comprising computer execution instructions, when the communication device is running, the processor executes the computer execution instructions stored in the memory, so that the communication device executes the communication method according to any one of claims 1-13.
18. A computer readable storage medium, wherein the computer readable storage medium has stored therein instructions which, when executed by a computer, perform the communication method according to any one of claims 1-13.
19. A computer program product, wherein, The computer program product comprises computer program instructions which, when executed, implement the communication method according to any one of claims 1-13.
Citation Information
Patent Citations
Adjusting method of transmitting equipment and communication device
CN111756641A
Communication system, data processing method and related equipment
CN114157595A
Network state sensing method and device, equipment and storage medium
CN118631686A
In-situ flow information telemetry method, apparatus and system
WO2024093289A1