Method for measuring network state and related device

The first communication device receives and forwards the network status information provided by the second communication device, which solves the problem that it is difficult for the sending end to accurately obtain the network status, and realizes data transmission with high throughput and low latency.

CN119729606APending Publication Date: 2025-03-28HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311294145.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In network scenarios for long-distance data transmission, it is difficult for the sending end to accurately obtain the network state with the receiving end, resulting in data congestion and affecting the high throughput and low latency of data transmission.

Method used

The first state information from the second communication device is received through the first communication device, which is network status information related to the first network path, and the first communication device sends the information to the sending terminal to enable the sending terminal to obtain a more accurate network status.

Benefits of technology

It realizes accurate acquisition of network status by the sending end, avoids data congestion, and improves high throughput and low latency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119729606A_ABST
    Figure CN119729606A_ABST
Patent Text Reader

Abstract

The invention provides a method for measuring a network state and a related device, and the method comprises the steps: a first communication device receives first state information from a second communication device, the first state information is network state information related to a first network path in the second communication device, and the first network path is a network path from a transmitting end to a receiving end; the first network path passes through the first communication device and the second communication device, and the second communication device is any one communication device between the first communication device and the receiving end in the first network path; and the first communication device sends the first state information to the sending end. In the embodiment of the invention, the first communication device forwards the first state information to the sending end after receiving the first state information, so that the sending end obtains more accurate network state information, data congestion is avoided, and high throughput and low delay of data transmission are realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a method for measuring network status and related devices. Background Art

[0002] As business develops, network scenarios that require long-distance data transmission have emerged. For example, a computing power hub for data calculation is deployed in location A, location B transmits data to the computing power hub in location A and uses the computing power hub in location A for data calculation, and location A feeds back the calculation results to location B. The distance between locations A and B is more than 2,000 kilometers.

[0003] In the network scenario of long-distance data transmission, the sender needs to obtain the accurate network status between the sender and the receiver, and adjust the data transmission according to the network status to avoid data congestion and achieve high throughput and low latency of data transmission. Therefore, how to accurately obtain the network status of the sender has become an urgent problem to be solved. Summary of the invention

[0004] In a first aspect, an embodiment of the present application proposes a method for measuring a network status, which is applied to a first communication device, and the method includes: the first communication device receives first status information from a second communication device, the first status information is network status information related to a first network path in the second communication device, the first network path is a network path from a sending end to a receiving end, the first network path passes through the first communication device and the second communication device, and the second communication device is any one of the communication devices between the first communication device and the receiving end in the first network path; the first communication device sends the first status information to the sending end.

[0005] It should be noted that the first status information sent by the first communication device to the transmitting end may be part or all of the first status information from the second communication device. For example, the first status information from the second communication device includes: port remaining bandwidth, path remaining bandwidth, one-way delay, cache queue length and number of path data flows. The first communication device selects part of the status information from the above first status information, such as: path remaining bandwidth, one-way delay and cache queue length. Then, the first communication device sends the part of the status information as the first status information to the second communication device. For another example, the first status information from the second communication device includes: port remaining bandwidth, path remaining bandwidth, one-way delay, cache queue length and number of path data flows. The first communication device forwards all of the above first status information to the second communication device.

[0006] Optionally, the first communication device may also obtain network status information related to the first communication device and the first network path, and then the first communication device feeds back the network status information to the sending end.

[0007] In the embodiment of the present application, the first communication device receives the first state information, which is the network state information related to the first network path determined by the second communication device. Then, the first communication device sends the first state information to the sending end. This enables the sending end to obtain more accurate network state information, avoid data congestion, and achieve high throughput and low latency for data transmission.

[0008] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device sends the first status information to the sending end, including: the first communication device receives a first message from the sending end, the source address of the first message points to the sending end, and the destination address of the first message points to the receiving end; the first communication device determines the first status information based on the source address of the first message and the destination address of the first message; the first communication device sends the first status information to the sending end.

[0009] It should be noted that the first message can be a data message or a response message, such as an acknowledgement (ACK) message, or other messages, and the embodiments of the present application do not limit this.

[0010] In the embodiment of the present application, after receiving the first message from the transmitter, the first communication device sends the first status information to the transmitter in response to the first message, thereby shortening the time for the first communication device to feedback the first status information, reducing the delay, and realizing fast feedback of the network status.

[0011] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device sends the first status information to the sending end, including: the first communication device generates a first feedback message, the first feedback message carries the first status information; the first communication device sends the first feedback message to the sending end.

[0012] Optionally, the payload of the first feedback message carries the first state information. It should be noted that the first feedback message may also carry the first state information in other locations, for example, the message header of the first feedback message carries the first state information, which is not limited in the embodiment of the present application.

[0013] In the embodiment of the present application, the first communication device can feed back the first state information to the sending end by sending a first feedback message to the sending end, thereby improving the implementation flexibility of the solution.

[0014] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device determines the first status information based on the source address of the first message and the destination address of the first message, including: the first communication device determines the first status information from one or more groups of network status information saved by the first communication device based on the source address of the first message and the destination address of the first message.

[0015] In one possible implementation, the first communication device determines a target address tuple based on the source address of the first message and the destination address of the first message, and the destination address tuple includes the source address of the first message and the destination address of the first message; the first communication device determines the first status information from one or more groups of network status information saved by the first communication device based on the target address tuple, wherein each group of the network status information is associated with a group of address tuples, and the address tuples include the source address and destination address of a network path, and the address tuple corresponding to the first status information is the same as the target address tuple.

[0016] In the embodiment of the present application, when the first communication device saves the network status information, the network status information and the address tuple of the corresponding network path can be associated and saved. When the first communication device needs to feedback the first status information, the corresponding network status information can be quickly determined according to the address tuple of the message, thereby improving processing efficiency and reducing latency.

[0017] In combination with the first aspect, in a possible implementation of the first aspect, the first bit of the target address tuple includes the source address of the first message, and the second bit of the target address tuple includes the destination address of the first message; the first bit of the address tuple corresponding to the first status information includes the address of the sending end, and the second bit of the address tuple corresponding to the first status information includes the address of the receiving end, and the address tuple corresponding to the first status information indicates the first network path.

[0018] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device sends the first status information to the sending end, including: the first communication device receives a second message, the source address of the second message points to the receiving end, and the destination address of the second message points to the sending end; the first communication device determines the first status information based on the source address of the second message and the destination address of the second message; the first communication device sends the first status information to the sending end.

[0019] It should be noted that the second message can be a data message, or a response message, such as an ACK message, or other messages, and the embodiments of the present application do not limit this.

[0020] In the embodiment of the present application, after receiving the second message from the receiving end, the first communication device sends the first status information to the transmitting end in response to the second message, thereby shortening the time for the first communication device to feedback the first status information, reducing the delay, and realizing rapid feedback of the network status.

[0021] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device sends the first status information to the sending end, including: the first communication device fills the first status information into the second message; the first communication device sends the filled second message to the sending end, and the filled second message carries the first status information.

[0022] In the embodiment of the present application, the first communication device can carry network status information through a message, thereby improving the implementation flexibility of the solution.

[0023] In combination with the first aspect, in a possible implementation manner of the first aspect, the first communication device fills the first status information into the second message, including: the first communication device fills the first status information into a reserved field of the second message.

[0024] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device determines the first status information based on the source address of the second message and the destination address of the second message, including: the first communication device determines the first status information from one or more groups of network status information saved by the first communication device based on the source address of the second message and the destination address of the second message.

[0025] Specifically, the first communication device determines a target address tuple based on the source address of the second message and the destination address of the second message, and the destination address tuple includes the source address of the second message and the destination address of the second message; the first communication device determines the first status information from one or more groups of network status information saved by the first communication device based on the target address tuple, wherein each group of the status information is associated with an address tuple, and the address tuple includes the source address and destination address of a network path, and the address tuple corresponding to the first status information is the same as the target address tuple.

[0026] In the embodiment of the present application, when the first communication device saves the network status information, the network status information and the address tuple of the corresponding network path can be associated and saved. When the first communication device needs to feedback the first status information, the corresponding network status information can be quickly determined according to the address tuple of the message, thereby improving processing efficiency and reducing latency.

[0027] In combination with the first aspect, in a possible implementation of the first aspect, the first bit of the target address tuple includes the destination address of the first message, and the second bit of the target address tuple includes the source address of the second message; the first bit of the address tuple corresponding to the first status information includes the address of the sending end, and the second bit of the address tuple corresponding to the first status information includes the address of the receiving end, and the address tuple corresponding to the first status information indicates the first network path.

[0028] In combination with the first aspect, in a possible implementation manner of the first aspect, the first message and / or the second message carries a first indication bit, and the first indication bit is used to enable the communication device to measure a network status.

[0029] In combination with the first aspect, in a possible implementation manner of the first aspect, the second message carries a second indication bit, and the second indication bit is used to indicate a type of network status information carried by the second message.

[0030] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device receives the first status information from the second communication device, including: the first communication device sends a first detection message to the second communication device, and the first detection message is used to instruct the second communication device to determine the first status information; the first communication device receives a second feedback message from the second communication device, and the second feedback message carries the first status information.

[0031] It should be noted that the second feedback message may be a data message (or ACK message or other message) whose source address is the receiving end and destination address is the sending end. The second feedback message may also be a message generated by the second communication device, which is not limited in this application.

[0032] In combination with the first aspect, in a possible implementation of the first aspect, the first detection message is also used to carry network status information generated by any hop communication device on the first network path. Specifically, when the first detection message is transmitted in the first network path, each hop communication device it passes through will instruct the communication device to determine the network status information about the first network path, and then the communication device will fill the network status information into the first detection message. After receiving the first detection message, the next hop communication device can update the network status information in the first detection message according to the network status information determined by itself, thereby improving the accuracy of the network status information and thus improving communication efficiency.

[0033] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device sends the first detection message to the second communication device, including: the first communication device periodically sends a detection message to the second communication device, the detection message is used to instruct the second communication device to determine network status information, and the detection message includes the first detection message. By periodically sending the detection message, the timeliness of the obtained network status information is improved.

[0034] In combination with the first aspect, in a possible implementation of the first aspect, the first communication device receives the first status information from the second communication device, including: the first communication device receives a third message, the source address of the third message is the receiving end, the destination address of the third message is the sending end, the transmission path of the third message is the first network path, and the third message carries the first status information.

[0035] It should be noted that the third message can be a data message, or a response message, such as an ACK message, or other messages, and the embodiments of the present application do not limit this.

[0036] In the embodiment of the present application, the first communication device can also determine the first state information from the third message from the receiving end, thereby improving the implementation flexibility of the solution.

[0037] In combination with the first aspect, in a possible implementation manner of the first aspect, the reserved field of the third message carries the first state information.

[0038] In combination with the first aspect, in a possible implementation manner of the first aspect, the third message carries a first indication bit, where the first indication bit is used to enable the communication device to measure a network status.

[0039] In combination with the first aspect, in a possible implementation manner of the first aspect, the third message carries a second indication bit, and the second indication bit is used to indicate a type of network status information carried by the third message.

[0040] In combination with the first aspect, in a possible implementation manner of the first aspect, the first status information includes any one or more of the following network status information: the remaining bandwidth of the port of the second communication device, the remaining bandwidth of the first network path, the cache queue occupancy of the port of the second communication device, the remaining cache of the port of the second communication device, the one-way delay from the first communication device to the second communication device, the number of data flows of the port of the second communication device, or the number of packet losses of the port of the second communication device, wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

[0041] In a second aspect, an embodiment of the present application proposes a method for measuring a network status, which is applied to a second communication device, and the method includes: the second communication device determines first status information, the first status information is network status information related to a first network path in the second communication device, the first network path is a network path from a sending end to a receiving end, the first network path passes through a first communication device and a second communication device, and the second communication device is any one communication device between the first communication device and the receiving end in the first network path; the second communication device sends the first status information to the first communication device.

[0042] In the embodiment of the present application, the second communication device determines the network status information related to the first network path. Then, the second communication device sends the first status information to the first communication device. This enables the first communication device to obtain more accurate network status information, avoid data congestion, and achieve high throughput and low latency of data transmission.

[0043] In combination with the second aspect, in a possible implementation of the second aspect, the second communication device determines the first status information, including: the second communication device receives a first detection message from the first communication device; the second communication device determines the first status information based on the first detection message.

[0044] In the embodiment of the present application, the first communication device may send a first detection message to the second communication device, and trigger the second communication device to determine the first status information through the first detection message, thereby improving the implementation flexibility of the solution.

[0045] In combination with the second aspect, in a possible implementation of the second aspect, the second communication device determines the first status information based on the first detection message, including: the second communication device receives a second detection message from a third communication device, the third communication device is a communication device between the first communication device and the second communication device in the first network path, the second detection message is a detection message generated by the third communication device based on the first detection message, the second detection message carries second status information, and the second status information is network status information related to the first network path determined by the third communication device; the second communication device obtains third status information, and the third status information is network status information related to the first network path collected locally by the second communication device; the second communication device determines the first status information based on the second status information and the third status information.

[0046] Specifically, when the detection message is transmitted in the first network path, each communication device passing through a hop will instruct the communication device to determine the network status information about the first network path, and then the communication device will fill the network status information into the detection message. After receiving the detection message, the next hop communication device can update the network status information in the detection message according to the network status information determined by itself, thereby improving the accuracy of the network status information and thus improving the communication efficiency.

[0047] In combination with the second aspect, in a possible implementation of the second aspect, the second communication device determines the first status information, including: the second communication device receives a third message, the source address of the third message points to the receiving end, the destination address of the third message points to the sending end, and the transmission path of the third message is the first network path; the second communication device determines the first status information based on the third message.

[0048] It should be noted that the third message can be a data message, or a response message, such as an ACK message, or other messages, and the embodiments of the present application do not limit this.

[0049] In the embodiment of the present application, the second communication device can also determine the first state information according to the third message from the receiving end, thereby improving the implementation flexibility of the solution.

[0050] In combination with the second aspect, in a possible implementation of the second aspect, the second communication device determines the first status information based on the third message, including: the second communication device receives the third message from a fourth communication device, the fourth communication device is a communication device between the second communication device and the receiving end in the first network path, the third message carries fourth status information, and the fourth status information is network status information related to the first network path determined by the fourth communication device; the second communication device obtains third status information, and the third status information is network status information related to the first network path collected locally by the second communication device; the second communication device determines the first status information based on the fourth status information and the third status information.

[0051] Specifically, when the third message is transmitted in the first network path, each communication device passed through will instruct the communication device to determine the network status information about the first network path, and then the communication device will fill the network status information into the third message. After receiving the third message, the next-hop communication device can update the network status information in the third message according to the network status information determined by itself, thereby improving the accuracy of the network status information and thus improving the communication efficiency.

[0052] In combination with the second aspect, in a possible implementation of the second aspect, the second communication device sends the first status information to the first communication device, including: the second communication device generates a second feedback message, and the payload of the second feedback message carries the first status information; the second communication device sends the second feedback message to the first communication device.

[0053] In the embodiment of the present application, the first communication device may send a first detection message to the second communication device, and the first detection message triggers the second communication device to determine the first state information. The second communication device sends a second feedback message to the first communication device, and the second feedback message carries the first state information. The implementation flexibility of the solution is improved.

[0054] In combination with the second aspect, in a possible implementation of the second aspect, the second communication device sends the first status information to the first communication device, including: the second communication device receives a third message, the source address of the third message is the receiving end, the destination address of the third message is the sending end, and the transmission path of the third message is the first network path; the second communication device fills the first status information into the third message; the second communication device sends the third message to the first communication device, and the third message carries the first status information.

[0055] In combination with the second aspect, in a possible implementation manner of the second aspect, the second communication device fills the first status information into the third message, including: the second communication device fills the first status information into a reserved field of the third message.

[0056] In combination with the second aspect, in a possible implementation manner of the second aspect, the third message carries a first indication bit, and the first indication bit is used to enable the communication device to measure a network status.

[0057] In combination with the second aspect, in a possible implementation manner of the second aspect, the third message carries a second indication bit, and the second indication bit is used to indicate a type of network status information carried by the third message.

[0058] In combination with the second aspect, in a possible implementation of the second aspect, the first status information includes any one or more of the following network status information: the remaining bandwidth of the port of the second communication device, the remaining bandwidth of the first network path, the cache queue occupancy of the port of the second communication device, the remaining cache of the port of the second communication device, the one-way delay from the first communication device to the second communication device, the number of data flows of the port of the second communication device, or the number of packet losses of the port of the second communication device, wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

[0059] In a third aspect, an embodiment of the present application provides a communication device, which is applied to a first communication device, and the communication device includes:

[0060] a transceiver module, configured to receive first status information from a second communication device, wherein the first status information is network status information related to a first network path in the second communication device, the first network path is a network path from a sending end to a receiving end, the first network path passes through the first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path;

[0061] The transceiver module is further used to send the first state information to the sending end.

[0062] In one possible implementation,

[0063] The transceiver module is further used to receive a first message from the sending end, the source address of the first message points to the sending end, and the destination address of the first message points to the receiving end;

[0064] a processing module, configured to determine the first state information according to a source address of the first message and a destination address of the first message;

[0065] The transceiver module is further used to send the first status information to the sending end.

[0066] In one possible implementation,

[0067] The processing module is further used to generate a first feedback message, where the first feedback message carries the first state information;

[0068] The transceiver module is also used to send the first feedback message to the sending end.

[0069] In one possible implementation,

[0070] The processing module is also used to determine the first status information from one or more groups of network status information stored in the first communication device according to the source address of the first message and the destination address of the first message.

[0071] In one possible implementation,

[0072] The processing module is further used to determine a target address tuple according to the source address of the first message and the destination address of the first message, wherein the destination address tuple includes the source address of the first message and the destination address of the first message;

[0073] The processing module is also used to determine the first status information from one or more groups of network status information saved by the first communication device based on the target address tuple, wherein each group of the network status information is associated with a group of address tuples, the address tuples include a source address and a destination address of a network path, and the address tuple corresponding to the first status information is the same as the target address tuple.

[0074] In a possible implementation, the first bit of the target address tuple includes the source address of the first message, and the second bit of the target address tuple includes the destination address of the first message;

[0075] The first bit of the address tuple corresponding to the first state information includes the address of the sending end, the second bit of the address tuple corresponding to the first state information includes the address of the receiving end, and the address tuple corresponding to the first state information indicates the first network path.

[0076] In one possible implementation,

[0077] The transceiver module is further used to receive a second message, the source address of the second message points to the receiving end, and the destination address of the second message points to the sending end;

[0078] The processing module is further used to determine the first state information according to the source address of the second message and the destination address of the second message;

[0079] The transceiver module is further used to send the first status information to the sending end.

[0080] In one possible implementation,

[0081] The processing module is further used to fill the first state information into the second message;

[0082] The transceiver module is also used to send the filled second message to the sending end, and the filled second message carries the first status information.

[0083] In one possible implementation,

[0084] The processing module is further used to fill the first state information into the reserved field of the second message.

[0085] In one possible implementation,

[0086] The processing module is also used to determine the first status information from one or more groups of network status information stored in the first communication device according to the source address of the second message and the destination address of the second message.

[0087] In one possible implementation,

[0088] The processing module is further used to determine a target address tuple according to the source address of the second message and the destination address of the second message, wherein the destination address tuple includes the source address of the second message and the destination address of the second message;

[0089] The processing module is also used to determine the first status information from one or more groups of network status information saved by the first communication device based on the target address tuple, wherein each group of the status information is associated with an address tuple, the address tuple includes a source address and a destination address of a network path, and the address tuple corresponding to the first status information is the same as the target address tuple.

[0090] In a possible implementation, the first bit of the target address tuple includes the destination address of the first message, and the second bit of the target address tuple includes the source address of the second message;

[0091] The first bit of the address tuple corresponding to the first state information includes the address of the sending end, the second bit of the address tuple corresponding to the first state information includes the address of the receiving end, and the address tuple corresponding to the first state information indicates the first network path.

[0092] In a possible implementation manner, the first message and / or the second message carries a first indication bit, where the first indication bit is used to enable the communication device to measure a network status.

[0093] In a possible implementation, the second message carries a second indication bit, where the second indication bit is used to indicate a type of network status information carried by the second message.

[0094] In one possible implementation,

[0095] The transceiver module is further used to send a first detection message to the second communication device, where the first detection message is used to instruct the second communication device to determine the first state information;

[0096] The transceiver module is further used to receive a second feedback message from the second communication device, where the second feedback message carries the first state information.

[0097] In a possible implementation, the first detection message is further used to carry network status information generated by any hop communication device on the first network path.

[0098] In one possible implementation,

[0099] The transceiver module is further used to periodically send a detection message to the second communication device, where the detection message is used to instruct the second communication device to determine network status information, and the detection message includes the first detection message.

[0100] In one possible implementation,

[0101] The transceiver module is also used to receive a third message, the source address of the third message is the receiving end, the destination address of the third message is the sending end, the transmission path of the third message is the first network path, and the third message carries the first status information.

[0102] In a possible implementation manner, the reserved field of the third message carries the first state information.

[0103] In a possible implementation manner, the third message carries a first indication bit, where the first indication bit is used to enable the communication device to measure a network status.

[0104] In a possible implementation manner, the third message carries a second indication bit, and the second indication bit is used to indicate a type of network status information carried by the third message.

[0105] In a possible implementation manner, the first status information includes any one or more of the following network status information:

[0106] the remaining bandwidth of the port of the second communication device, the remaining bandwidth of the first network path, the cache queue occupancy of the port of the second communication device, the remaining cache of the port of the second communication device, the one-way delay from the first communication device to the second communication device, the number of data flows of the port of the second communication device, or the number of packet losses of the port of the second communication device, wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

[0107] In a fourth aspect, an embodiment of the present application provides a communication device, where the communication device is applied to a second communication device, and the communication device includes:

[0108] a processing module, configured to determine first status information, wherein the first status information is network status information related to a first network path in the second communication device, the first network path is a network path from a sending end to a receiving end, the first network path passes through a first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path;

[0109] A transceiver module is used to send the first status information to the first communication device.

[0110] In one possible implementation,

[0111] The transceiver module is further used to receive a first detection message from the first communication device;

[0112] The processing module is further used to determine the first state information according to the first detection message.

[0113] In one possible implementation,

[0114] The transceiver module is further used to receive a second detection message from a third communication device, where the third communication device is a communication device between the first communication device and the second communication device in the first network path, the second detection message is a detection message generated by the third communication device according to the first detection message, and the second detection message carries second status information, where the second status information is network status information related to the first network path determined by the third communication device;

[0115] The transceiver module is further used to obtain third state information, where the third state information is network state information related to the first network path collected locally by the second communication device;

[0116] The processing module is further used to determine the first state information according to the second state information and the third state information.

[0117] In one possible implementation,

[0118] The transceiver module is further used to receive a third message, the source address of the third message points to the receiving end, the destination address of the third message points to the sending end, and the transmission path of the third message is the first network path;

[0119] The processing module is further used to determine the first state information according to the third message.

[0120] In one possible implementation,

[0121] The transceiver module is further used to receive the third message from a fourth communication device, where the fourth communication device is a communication device between the second communication device and the receiving end in the first network path, and the third message carries fourth status information, where the fourth status information is network status information related to the first network path determined by the fourth communication device;

[0122] The transceiver module is further used to obtain third state information, where the third state information is network state information related to the first network path collected locally by the second communication device;

[0123] The processing module is further used to determine the first state information according to the fourth state information and the third state information.

[0124] In one possible implementation,

[0125] The processing module is further configured to generate a second feedback message, wherein a payload of the second feedback message carries the first state information;

[0126] The transceiver module is also used to send the second feedback message to the first communication device.

[0127] In one possible implementation,

[0128] The transceiver module is further used to receive a third message, the source address of the third message is the receiving end, the destination address of the third message is the sending end, and the transmission path of the third message is the first network path;

[0129] The processing module is further used to fill the first state information into the third message;

[0130] The transceiver module is further used to send the third message to the first communication device, where the third message carries the first status information.

[0131] In one possible implementation,

[0132] The processing module is further used to fill the first state information into the reserved field of the third message.

[0133] In a possible implementation manner, the third message carries a first indication bit, where the first indication bit is used to enable the communication device to measure a network status.

[0134] In a possible implementation manner, the third message carries a second indication bit, and the second indication bit is used to indicate a type of network status information carried by the third message.

[0135] In a possible implementation manner, the first status information includes any one or more of the following network status information:

[0136] the remaining bandwidth of the port of the second communication device, the remaining bandwidth of the first network path, the cache queue occupancy of the port of the second communication device, the remaining cache of the port of the second communication device, the one-way delay from the first communication device to the second communication device, the number of data flows of the port of the second communication device, or the number of packet losses of the port of the second communication device, wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

[0137] In a fifth aspect, the present application provides a communication device, which includes: a processor, a memory, an input / output device, and a bus; the memory stores computer instructions; when the processor executes the computer instructions in the memory, the memory stores computer instructions; when the processor executes the computer instructions in the memory, it is used to implement any one of the implementation methods of the first aspect or the second aspect.

[0138] In a possible implementation manner of the fifth aspect, the processor, the memory, and the input and output devices are respectively connected to the bus.

[0139] A sixth aspect of the present application provides a computer program product comprising instructions, characterized in that when the computer program product is run on a computer, the computer is caused to execute any one of the implementation methods of the first aspect or the second aspect.

[0140] A seventh aspect of the present application provides a computer-readable storage medium, characterized in that it includes instructions, which, when executed on a computer, enable the computer to execute any implementation method in the first aspect or any aspect of the second aspect.

[0141] In an eighth aspect, the present application provides a computer-readable storage medium, characterized in that it includes instructions, which, when executed on a computer, enable the computer to execute any one of the implementation methods in the first aspect or the second aspect.

[0142] In a ninth aspect, the present application provides a chip system, which includes a processor for executing a computer program or instruction stored in a memory, so that the processor executes any implementation of any of the first or second aspects above.

[0143] In a possible design of the ninth aspect, the chip system further includes a memory, the memory being used to store computer programs or instructions necessary for the computer device. The processor is used to call and run the computer program or instruction from the memory. The chip system may be composed of a chip, or may include a chip and other discrete devices.

[0144] In a possible design of the ninth aspect, the chip system also includes an input port and an output port, which are used to execute the receiving function and the sending function of the terminal device in any implementation of the first aspect or the second aspect above, wherein the receiving function corresponds to the input port, and the sending function corresponds to the output port.

[0145] A tenth aspect of the present application provides a communication system, which includes a first communication device as in the first aspect or a second communication device as in the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0146] Figure 1 A schematic diagram of the structure of a data communication system provided in an embodiment of the present application;

[0147] Figure 2 Schematic diagram of network status feedback mechanism based on redundant confirmation messages;

[0148] Figure 3 A schematic diagram of an embodiment of a method for measuring network status proposed in an embodiment of the present application;

[0149] Figure 4 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0150] Figure 5 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0151] Figure 6 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0152] Figure 7 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0153] Figure 8 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0154] Fig. 9 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0155] Fig.10A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0156] Fig.11 A flowchart of another embodiment of the method for measuring network status in an embodiment of the present application;

[0157] Fig.12 This is a schematic diagram of an application scenario in an embodiment of the present application;

[0158] Fig.13 This is another schematic diagram of an application scenario in an embodiment of the present application;

[0159] Fig.14 A schematic diagram of the structure of a message in an embodiment of the present application;

[0160] Fig.15 A schematic diagram of an implementation of the communication device provided by the present application;

[0161] Fig.16 Another structural schematic diagram of the communication device provided by the present application;

[0162] Fig.17 Another structural schematic diagram of the communication device provided by the present application;

[0163] Fig.18 Another structural schematic diagram of the communication device provided in this application. DETAILED DESCRIPTION

[0164] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0165] The technical solutions of the embodiments of the present application can be applied to data communication systems for various data processing, such as wired data communication systems, or wireless data communication systems (such as long term evolution (LTE) systems, fifth generation (5G) communication systems), and other similar data communication systems. In addition, the data communication system can also be applied to future-oriented communication technologies, all of which are applicable to the technical solutions provided in the embodiments of the present application. The system architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0166] See also Figure 1 , Figure 1 A schematic diagram of the structure of a data communication system provided in an embodiment of the present application. A data communication system provided in an embodiment of the present application includes: a transmitting end, a receiving end, a first communication device and a second communication device. It should be noted that the second communication device is any communication device between the first communication device and the receiving end.

[0167] Wherein, the first communication device and the second communication device can be a switch or a router, etc., which are switching devices used to forward service messages in a communication network. Wherein, the first communication device and the second communication device are hardware devices used to connect two or more communication networks, and act as gateways between communication networks, and can read the destination address (IP address and / or MAC address) in the service message and decide how to transmit the service message according to the destination address. The first communication device and the second communication device can understand different protocols, such as the Ethernet protocol used by a local area network, the transmission control protocol / internet protocol (TCP / IP) protocol used by the Internet, etc., so that the first communication device and the second communication device can analyze the destination addresses of service messages transmitted from various types of networks, and convert non-TCP / IP addresses into TCP / IP addresses, or vice versa. Then, each service message is transmitted to the destination address according to the optimal transmission path according to the selected routing algorithm, so the first communication device and the second communication device can connect the non-TCP / IP network to the Internet.

[0168] In some feasible implementations, the transmitting end / receiving end may be a terminal device. The terminal device may be a communication device with wireless communication function, such as a smart phone, a tablet computer, a desktop computer, an Internet of Things (IoT) device, etc. An IoT device may be a household appliance, a smart home, a transportation tool, a tool device, a service device, a service facility, or a wearable device, etc. IoT devices may include, but are not limited to, a smart refrigerator, a smart washing machine, a smart water meter, a smart electric meter, a smart car, a vehicle-mounted device, or a wearable device, etc.

[0169] In some possible implementations, the sending end / receiving end may be a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0170] In some possible implementations, the sending end / receiving end may be a server (such as a cloud server). The server may be a server cluster composed of multiple servers, or a cloud computing service center. Among them, a large number of basic resources owned by the cloud service provider are deployed in the cloud computing service center. For example, a large number of basic resources such as computing resources, storage resources, and network resources are deployed in the cloud computing service center. The cloud computing service center can use this large number of basic resources to implement the network operation and maintenance method provided in the embodiment of the present application, and to implement more services.

[0171] In some possible implementations, the sending end and / or the receiving end connects the first communication device and the second communication device through a network (local area network or wide area network). The sending end and / or the receiving end can also be directly connected to the first communication device and the second communication device, which is not limited here.

[0172] For example, the first communication device and the second communication device are switches, the sending end, the receiving end, and the first communication device and the second communication device are all in the same local area network, and the sending end and the receiving end are directly connected to the first communication device and the second communication device respectively. For another example, the first communication device and the second communication device are switches, the sending end and the first communication device and the second communication device are not in the same local area network, the sending end and the first communication device and the second communication device are connected through a public network, the receiving end and the first communication device and the second communication device are in the same local area network, and the receiving end and the first communication device and the second communication device are directly connected. For another example, the first communication device and the second communication device are routers, the sending end, the receiving end, and the first communication device and the second communication device are not in the same local area network, and the sending end and the receiving end are connected to the first communication device and the second communication device respectively through a public network.

[0173] In some possible implementations, the first communication device and the second communication device may be a data-center interconnect (DCI) gateway switch or a DCI router.

[0174] like Figure 1 As shown, the network path between the transmitting end and the receiving end through the first communication device and the second communication device is called the first network path. It can be understood that the first network path can also pass through other communication devices, and the embodiment of the present application does not limit this.

[0175] See also Figure 2 , Figure 2 Schematic diagram of a network status feedback mechanism based on redundant acknowledgment messages. Currently, a common network status feedback mechanism is a feedback mechanism based on redundant acknowledgment messages (ACK) at the receiving end. For example, when the network is congested, the cache of the communication device overflows and packet loss occurs. After receiving the message that arrives out of order, the receiving end sends a redundant ACK message to the sending end. When the receiving end receives multiple redundant ACK messages, for example, 3 redundant ACK messages, it is determined that the network is congested and packet loss occurs.

[0176] The applicant has found that there are many problems with the above-mentioned network status feedback mechanism. Based on the redundant ACK message feedback of packet loss, the sender only knows that the queue accumulation in the network has exceeded the communication device cache. On the one hand, when the queue accumulation does not exceed the communication device cache, the sender cannot perceive that the network is congested. On the other hand, even if the sender perceives the network congestion through redundant ACK messages, it cannot accurately know the actual available bandwidth resources in the network, and can only vaguely know that the sending bandwidth has exceeded the network bottleneck bandwidth. In the network scenario of long-distance data transmission, the sender needs to obtain the accurate network status between the sender and the receiver, and adjust the data transmission according to the network status to avoid data congestion and achieve high throughput and low latency for data transmission. Therefore, how the sender can accurately obtain the network status has become a problem to be solved.

[0177] Based on this, an embodiment of the present application proposes a method for measuring network status, wherein a first communication device receives first status information, and the first status information is network status information related to a first network path determined by a second communication device. Then, the first communication device sends the first status information to a transmitting end, so that the transmitting end obtains more accurate network status information, avoids data congestion, and achieves high throughput and low latency of data transmission.

[0178] The following is an introduction to the embodiments of the present application in conjunction with the accompanying drawings. Figure 3 , Figure 3A schematic diagram of an embodiment of a method for measuring a network state proposed in an embodiment of the present application. A method for measuring a network state proposed in an embodiment of the present application includes:

[0179] S1. The second communication device determines first status information.

[0180] In step S1, the second communication device determines first status information, and the first status information is network status information related to the first network path in the second communication device. The first network path is a network path between a sending end and a receiving end, and the first network path passes through the first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path. The network path can be identified by a set of address information, for example, the first network path is marked by the address information of the sending end and the address information of the receiving end.

[0181] Specifically, the first status information may include: status information of each port in the second communication device. For example, the first status information includes any one or more of the following: remaining bandwidth of the port of the second communication device, cache queue occupancy of the port of the second communication device, remaining cache of the port of the second communication device, number of data flows of the port of the second communication device, or number of packet losses of the port of the second communication device.

[0182] Furthermore, the first status information may also include other network status information. For example, the first status information includes any one or more of the following: the remaining bandwidth of the first network path, the number of data flows of the first network path, or the one-way delay from the first communication device to the second communication device, etc., wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

[0183] It is understandable that the first status information may also include other network status information related to the first network path, and this embodiment of the present application does not limit this.

[0184] The following describes how the second communication device determines the first state information. Exemplarily, the second communication device determines the first state information using any one or more of the following methods 1 to 4.

[0185] Method 1, please refer to Figure 4 , Figure 4 The method for determining the first status information by the second communication device includes:

[0186] G1. A first communication device sends a first detection message to a second communication device, where the first detection message is used to instruct the second communication device to determine first status information.

[0187] In step G1, optionally, the first detection message may also carry a sending timestamp of when the first communication device sends the first detection message.

[0188] Optionally, the first communication device may periodically send the first detection message to the second communication device. For example, the first communication device sends a first detection message to the second communication device every 5 seconds.

[0189] G2. The second communication device determines first status information according to the first detection message.

[0190] In step G2, in response to the first communication device sending the first detection message, the second communication device receives the first detection message. The second communication device obtains the port information of each port of the second communication device according to the first detection message, and the port information indicates the state of the port. The port information includes but is not limited to: the remaining bandwidth of the port, the occupancy of the cache queue of the port, the remaining cache of the port, the number of data flows of the port, and / or the number of packet losses of the port.

[0191] Optionally, when the first detection message carries a sending timestamp of the first communication device sending the first detection message, the second communication device records the receiving timestamp when receiving the first detection message. Then, the second communication device determines the unilateral delay between the first communication device and the second communication device on the first network path based on the sending timestamp and receiving timestamp carried by the message.

[0192] Exemplarily, the first state information is as shown in Table 1.

[0193] Table 1

[0194]

[0195] Optionally, the first status information may also include idle or lightly loaded port numbers. For example, when the second communication device measures the local network status in response to the first detection message, it finds that the traffic volume of some ports is lightly loaded or idle. These idle or lightly loaded port numbers are recorded in the first status information.

[0196] Method 2, please refer to Figure 5 , Figure 5 The method for determining the first status information by the second communication device includes:

[0197] R1. The third communication device sends a second detection message to the second communication device, where the second detection message is used to instruct the second communication device to determine first status information. The second detection message carries second status information, which is status information related to the first network path determined by the third communication device.

[0198] In step R1, on the first network path, when there are other communication devices between the first communication device and the second communication device, for example, there is a third communication device between the first communication device and the second communication device. Then the third communication device will also receive the first detection message, and the third communication device determines the network status information related to the first network path in the third communication device according to the indication of the first detection message. For the convenience of description, this network status information is referred to as the second status information. The specific method for the third communication device to determine the second status information is similar to the method for the second communication device to determine the first status information, and will not be repeated here. Then, the third communication device records the second status information in the first detection message to obtain a second detection message, and the second detection message is a detection message with the second status information added. The third communication device forwards the second detection message to the next hop node.

[0199] The second status information is similar to the first status information and will not be described in detail here.

[0200] R2. The second communication device obtains third status information according to the first detection message, where the third status information is status information related to the first network path collected locally by the second communication device.

[0201] In step R2, the next hop node of the third communication device is taken as an example. After the second communication device receives the first detection message, the second communication device obtains the local network status information related to the first network path. For the convenience of description, the local network status information related to the first network path collected (or obtained) by the second communication device is called the third status information. The third status information is similar to the first status information and will not be described here.

[0202] Optionally, the third state information is carried in the payload of the first detection message.

[0203] R3. The second communication device determines the first state information according to the second state information and the third state information.

[0204] In step R3, the second communication device obtains the third state information from the first detection message, and the second communication device obtains the second state information in response to the first detection message. Then, the second communication device determines the first state information according to the third state information and the second state information recorded in the first detection message.

[0205] Specifically, in the process of determining the first state information by the second communication device, it is necessary to determine the network state information related to the network path in the first state information in combination with the network state information carried by the first detection message. Take the network state information as the remaining bandwidth of the first network path as an example. In one example, the remaining bandwidth of the first network path in the third state information is 5 gigabits per second (Gbps), and the remaining bandwidth of the first network path in the second state information is 6Gbps. Since the remaining bandwidth of the first network path determined locally by the second communication device is greater than the remaining bandwidth of the first network path in the first detection message, the first state information is based on the remaining bandwidth of the first network path carried by the first detection message, that is, the remaining bandwidth of the first network path included in the first state information is 5Gbps.

[0206] In another example, the remaining bandwidth of the first network path in the third state information is 7 Gbps, and the remaining bandwidth of the first network path in the second state information is 6 Gbps. Since the remaining bandwidth of the first network path determined locally by the second communication device is less than the remaining bandwidth of the first network path in the first detection message, it is necessary to update the remaining bandwidth of the first network path carried by the first detection message (third state information) according to the remaining bandwidth of the first network path determined locally by the second communication device (second state information), and the remaining bandwidth of the first network path included in the first state information is 6 Gbps. Then, the second communication device updates the network state information carried by the first detection message, and the remaining bandwidth of the first network path in the network state information carried by the first detection message after the update is 6 Gbps.

[0207] Method 3, please refer to Figure 6 , Figure 6 The method for determining the first status information by the second communication device includes:

[0208] H1. The second communication device receives a third message, the source address of the third message points to the receiving end, and the destination address of the third message points to the sending end.

[0209] In step H1, the second communication device receives a third message, the source address of the third message points to the receiving end, the destination address of the third message points to the sending end, and the transmission path of the third message is the first network path. If the message sent from the sending end to the receiving end is called a forward message, then the third message is a reverse message sent from the receiving end to the sending end.

[0210] It should be noted that the third message can be a data message, or a response message, such as an ACK message, or other messages, and the embodiments of the present application do not limit this.

[0211] H2. The second communication device determines the first status information according to the third message.

[0212] In step H2, after the second communication device receives the third message, the second communication device determines the first state information according to an instruction of the third message.

[0213] Optionally, the third message carries a first indicator bit, and the first indicator bit is used to enable the communication device to measure the network status. For example, the first indicator bit is "1". After receiving the third message, the second communication device detects the first indicator bit of the third message. When the first indicator bit is "1", the second communication device enables the measurement of the network status. The second communication device determines the first status information according to the indication of the third message.

[0214] Further optionally, the first indicator bit is used to enable the type of network status measured by the communication device. For example, the first indicator bit indicates that the communication device is enabled to measure the unilateral delay, and the second communication device measures the unilateral delay from the first communication device to the second communication device according to the third message. For another example, the first indicator bit indicates that the communication device is enabled to measure the remaining bandwidth of the port, and the second communication device measures the remaining bandwidth of the port in the second communication device according to the third message. Exemplarily, the first indicator bit is "100", and the first indicator bit indicates that the communication device is enabled to measure the unilateral delay. In another example, the first indicator bit is "010", and the first indicator bit indicates that the communication device is enabled to measure the remaining bandwidth of the port. In another example, the first indicator bit is "110", and the first indicator bit indicates that the communication device is enabled to measure the unilateral delay and the remaining bandwidth of the port.

[0215] Method 4, please refer to Figure 7 , Figure 7 The method for determining the first status information by the second communication device includes:

[0216] Y1. The second communication device receives a third message from a fourth communication device, where the third message carries fourth status information, and the fourth status information is status information related to the first network path determined by the fourth communication device.

[0217] In step Y1, on the first network path, when there are other communication devices between the receiving end and the second communication device, for example, there is a fourth communication device between the receiving end and the second communication device. Then the fourth communication device will also receive the third message, and the fourth communication device determines the network status information related to the first network path in the fourth communication device according to the instructions of the third message. For the convenience of description, this network status information is referred to as the fourth status information. The specific method for the fourth communication device to determine the fourth status information is similar to the method for the second communication device to determine the first status information, and will not be repeated here. Then, the fourth communication device records the fourth status information in the third message, and the fourth communication device forwards the third message with the fourth status information added to the next hop node.

[0218] The fourth state information is similar to the first state information and will not be elaborated here.

[0219] The fourth state information may be carried in a message header of the third message. For example, the fourth state information is carried in a reserved field of the message header of the third message.

[0220] Optionally, the message (e.g., the first message, the second message, or the third message) in the embodiment of the present application may also include a second indicator bit, and the second indicator bit is used to indicate the type of network status information carried by the third message. For example, the second indicator bit indicates that the fourth status information is: the number of packet losses of the port of the fourth communication device. For another example, the second indicator bit indicates that the fourth status information is: the remaining bandwidth of the first network path.

[0221] For easier understanding, see Fig.14 , Fig.14 A structural schematic diagram of a message in an embodiment of the present application. The message header of the message (e.g., the first message, the second message, or the third message) includes: a first indicator bit, a second indicator bit, and a status value of the network status information, wherein the first indicator bit is an enable bit for measuring the network status, and the first indicator bit indicates that the communication device measures the network status to determine the network status information; the second indicator bit, the second indicator bit indicates the type of network status information carried by the message; the status value of the network status information and the second indicator bit together constitute the network status information, for example, the second indicator bit indicates that the type of the network status information is the remaining bandwidth of the port, and the status value of the network status information is 5Gbps, then the network status information is: the remaining bandwidth of the port is 5Gbps.

[0222] Y2. The second communication device obtains third status information, where the third status information is network status information related to the first network path collected locally by the second communication device.

[0223] In step Y2, the next hop node of the fourth communication device is the second communication device as an example. After the second communication device receives the third message, the second communication device obtains the local network status information related to the first network path. For the sake of convenience, the local network status information related to the first network path collected (or obtained) by the second communication device is called the third status information. The third status information is similar to the first status information and will not be described here.

[0224] Optionally, the third state information is carried in the effective payload of the third message.

[0225] Y3. The second communication device determines the first state information based on the third state information and the fourth state information.

[0226] In step Y3, the second communication device obtains the fourth state information from the third message, and the second communication device obtains the fourth state information in response to the third message. Then, the second communication device determines the first state information according to the fourth state information and the fourth state information recorded in the third message.

[0227] Specifically, in the process of determining the first state information by the second communication device, it is necessary to determine the network state information related to the network path in the first state information in combination with the network state information carried by the third message. Take the network state information as the remaining bandwidth of the first network path as an example. In one example, the remaining bandwidth of the first network path in the fourth state information is 5Gbps, and the remaining bandwidth of the first network path in the third state information is 6Gbps. Since the remaining bandwidth of the first network path determined locally by the second communication device is greater than the remaining bandwidth of the first network path in the third message, the first state information is based on the remaining bandwidth of the first network path carried by the third message, that is, the remaining bandwidth of the first network path included in the first state information is 5Gbps.

[0228] In another example, the remaining bandwidth of the first network path in the fourth state information is 7Gbps, and the remaining bandwidth of the first network path in the third state information is 6Gbps. Since the remaining bandwidth of the first network path determined locally by the second communication device is less than the remaining bandwidth of the first network path in the third message, it is necessary to update the remaining bandwidth of the first network path carried by the third message (fourth state information) according to the remaining bandwidth of the first network path determined locally by the second communication device (third state information), and the remaining bandwidth of the first network path included in the first state information is 6Gbps. Then, the second communication device updates the network state information carried by the third message, and the remaining bandwidth of the first network path in the network state information carried by the third message after the update is 6Gbps.

[0229] In the above manner, after the second communication device determines the first state information, the second communication device can associate the first state information with the first network path and save it locally. Since the first network path can be represented by a set of source addresses and destination addresses (such as the address information of the sender and the address information of the receiver), the second communication device locally saves the first state information and the first network path, which can be shown in Table 2.

[0230] Table 2

[0231]

[0232] S2. The second communication device sends first status information to the first communication device, where the first status information is network status information related to the first network path in the second communication device.

[0233] In step S2, after the second communication device determines the first status information, the second communication device sends the first status information to the first communication device. The following describes how the second communication device sends the first status information to the first communication device. Exemplarily, the second communication device sends the first status information to the first communication device using any one or more of the following methods 1 to 2.

[0234] Method 1, please refer to Figure 8 , Figure 8 The method for sending first status information by a second communication device to a first communication device includes:

[0235] J1. The second communication device generates a second feedback message, where the second feedback message carries the first status information.

[0236] In step J1, after the second communication device generates the first state information, the second communication device may generate a second feedback message, where the second feedback message carries the first state information, for example, the first state information is carried in the payload of the second feedback message.

[0237] In a possible implementation, after the second communication device receives the first detection message, the second communication device determines the first state information according to the first detection message and generates a second feedback message. After the second communication device determines the first state information, the second communication device fills the first state information into the second feedback message and sends the second feedback message to the first communication device.

[0238] In another possible implementation, after the second communication device receives the third message, the second communication device determines the first state information according to the third message and generates a second feedback message. After the second communication device determines the first state information, the second communication device fills the first state information into the second feedback message and sends the second feedback message to the first communication device.

[0239] In another possible implementation, the second communication device periodically generates a second feedback message and sends the second feedback message to the first communication device. For example, at time T1, the second communication device determines the first state information #1, the second communication device generates the second state message #1, the second state message #1 carries the first state information #1, and the second communication device sends the second state message #1 to the first communication device; at time T2, the second communication device determines the first state information #2, the second communication device generates the second state message #2, the second state message #2 carries the first state information #2, and the second communication device sends the second state message #2 to the first communication device; at time T3, the second communication device determines the first state information #3, the second communication device generates the second state message #3, the second state message #3 carries the first state information #3, and the second communication device sends the second state message #3 to the first communication device.

[0240] Optionally, the second feedback message may also be a data message (or ACK message or other message) whose source address is the receiving end and whose destination address is the sending end. That is, the second communication device receives the data message (or ACK message or other message) from the receiving end, and then the second communication device uses the data message (or ACK message or other message) as the second feedback message. The second communication device fills the first state information in the second feedback message.

[0241] J2. The second communication device sends a second feedback message to the first communication device.

[0242] Method 2, please refer to Fig. 9 , Fig. 9 The method for sending first status information by a second communication device to a first communication device includes:

[0243] K1. The second communication device receives a third message, the source address of the third message points to the receiving end, and the destination address of the third message points to the sending end.

[0244] In step K1, in a possible implementation, after receiving the third message, the second communication device generates first state information according to the third message, and then proceeds to step K2.

[0245] In another possible implementation, the second communication device has generated the first status information. When the second communication device receives the third message, the second communication device determines an address tuple based on the source address of the third message (the address information of the receiving end) and the destination address of the third message (the address information of the sending end). The address tuple includes the source address of the third message and the destination address of the third message. For ease of description, the address tuple related to the third message is referred to as the target address tuple. Then, the second communication device determines the first status information from one or more sets of network status information stored locally based on the target address tuple. For example, the address information of the receiving end is IP2, the address information of the sending end is IP1, and the target address tuple is<IP1,IP2> The second communication device locally stores multiple sets of network status information:<IP1,IP2> : Network status information #1","<IP3,IP2> : Network status information #2" and "<IP1,IP4> : Network status information #3". The second communication device determines the first status information as network status information #1 from multiple sets of network status information stored locally according to the target address tuple.

[0246] K2. The second communication device fills the first status information into the third message.

[0247] In step K2, after determining the first state information, the second communication device fills the first state information into the third message. Specifically, the second communication device fills the first state information into a reserved field of the third message. The reserved field may be in the message header of the third message.

[0248] K3. The second communication device sends a third message to the first communication device, where the third message carries the first status information.

[0249] In step K3, after the second communication device fills the first state information into the third message, the third message filled with the first state information is forwarded to the first communication device along the first network path.

[0250] S3. The first communication device sends first status information to the transmitting end.

[0251] In step S3, after the first communication device receives the first status information from the second communication device, the first communication device sends the first status information to the sending end.

[0252] Optionally, after the first communication device receives the first state information from the second communication device, the first communication device saves the first state information locally. Optionally, the first state information associates the identification information of the first network path with the first state information and saves it locally. The identification information of the first network path can be an address tuple consisting of the address information of the sending end and the address information of the receiving end.

[0253] The following describes how the first communication device sends the first state information to the sending end. Exemplarily, the first communication device sends the first state information to the sending end in any one or more of the following ways 1 to 2.

[0254] Method 1, please refer to Fig.10 , Fig.10 The method for sending first status information by a first communication device to a transmitting end includes:

[0255] D1. A transmitting end sends a first message to a first communication device, wherein a source address of the first message points to the transmitting end, and a destination address of the first message points to the receiving end.

[0256] In step D1, the sender sends a first message to the receiver via a first network path, the source address of the first message points to the sender, and the destination address of the first message points to the receiver. Accordingly, the first communication device in the first network path receives the first message.

[0257] It should be noted that the first message can be a data message, or a response message, such as an ACK message, or other messages, and the embodiments of the present application do not limit this.

[0258] D2. The first communication device determines first status information according to a source address of the first message and a destination address of the first message.

[0259] In step D2, the first communication device determines a target address tuple according to the source address of the first message and the destination address of the first message, and the destination address tuple includes the source address of the first message and the destination address of the first message. Then, the first communication device determines the first status information from one or more groups of network status information saved by the first communication device according to the target address tuple, wherein each group of the network status information is associated with a group of address tuples, and the address tuples include the source address and the destination address of a network path, and the address tuple corresponding to the first status information is the same as the target address tuple.

[0260] In one possible implementation, the first bit of the address tuple corresponding to the first status information includes the address of the sending end, the second bit of the address tuple corresponding to the first status information includes the address of the receiving end, and the address tuple corresponding to the first status information indicates the first network path.

[0261] For example, the source address of the first message is "IP1", and the destination address of the first message is "dIP2". The destination address tuple determined according to the first message is "<IP1,IP2> ". The first communication device determines the first status information from one or more groups of network status information locally stored by the first communication device. Taking Table 2 as an example, the one or more groups of network status information locally stored by the first communication device, the first status information determined by the first communication device from the one or more groups of network status information illustrated in Table 2 according to the target address tuple is status information #1.

[0262] D3. The first communication device generates a first feedback message, and the first communication device sends the first feedback message to the transmitting end, where the first feedback message carries first status information.

[0263] In step D3, the first communication device generates a first feedback message according to the received first message. The first feedback message carries the first state information. Then the first communication device sends the first feedback message to the sending end, notifying the sending end of the first state information through the first feedback message.

[0264] Method 2, please refer to Fig.11 , Fig.11 The method for sending first status information by a first communication device to a transmitting end includes:

[0265] F1. The first communication device receives a second message, the source address of the second message points to the receiving end, and the destination address of the second message points to the sending end.

[0266] In step F1, the receiving end sends a second message to the sending end through the first network path, and the corresponding first communication device receives the second message. The source address of the second message points to the receiving end, and the destination address of the second message points to the sending end.

[0267] Regarding the second message, optionally, the second message carries a first indicator bit, and the first indicator bit is used to enable the communication device to measure the network status. For example, the first indicator bit is "1". After receiving the second message, the second communication device detects the first indicator bit of the second message. When the first indicator bit is "1", the second communication device enables the measurement of the network status. The second communication device determines the first status information according to the indication of the second message. The first communication device determines that the second message can carry the network status information according to the first indicator bit of the second message, and thus enters step F2.

[0268] Further optionally, the first indicator bit is used to enable the type of network status measured by the communication device. For example, the first indicator bit indicates that the communication device is enabled to measure the unilateral delay, and the second communication device measures the unilateral delay from the first communication device to the second communication device according to the second message. For another example, the first indicator bit indicates that the communication device is enabled to measure the remaining bandwidth of the port, and the second communication device measures the remaining bandwidth of the port in the second communication device according to the second message. Exemplarily, the first indicator bit is "100", and the first indicator bit indicates that the communication device is enabled to measure the unilateral delay. In another example, the first indicator bit is "010", and the first indicator bit indicates that the communication device is enabled to measure the remaining bandwidth of the port. In another example, the first indicator bit is "110", and the first indicator bit indicates that the communication device is enabled to measure the unilateral delay and the remaining bandwidth of the port. The first communication device determines the type of network status information that the second message can carry according to the first indicator bit of the second message, and enters step F2.

[0269] It should be noted that the second message can be a data message, or a response message, such as an ACK message, or other messages, and the embodiments of the present application do not limit this.

[0270] F2. The first communication device determines first status information according to the source address of the second message and the destination address of the second message.

[0271] In step F2, the first communication device determines a target address tuple according to the source address of the second message and the destination address of the second message, wherein the target address tuple includes the source address of the second message and the destination address of the second message. Then, the first communication device determines the first state information from one or more groups of network state information stored by the first communication device according to the target address tuple, wherein each group of the state information is associated with an address tuple, wherein the address tuple includes the source address and the destination address of a network path, and the address tuple corresponding to the first state information is the same as the target address tuple.

[0272] In one possible implementation, the first bit of the address tuple corresponding to the first status information includes the address of the sending end, the second bit of the address tuple corresponding to the first status information includes the address of the receiving end, and the address tuple corresponding to the first status information indicates the first network path.

[0273] For example, the source address of the second message is "IP2", and the destination address of the second message is "IP1". By exchanging the source address and the destination address of the second message, the destination address tuple determined is "<IP1,IP2> ". The first communication device determines the first status information from one or more groups of network status information locally stored by the first communication device. Taking Table 2 as an example, the one or more groups of network status information locally stored by the first communication device, the first status information determined by the first communication device from the one or more groups of network status information illustrated in Table 2 according to the target address tuple is status information #1.

[0274] F3. The first communication device fills the first status information into the second message, and the first communication device sends the second message to the sending end, where the second message carries the first status information.

[0275] In step F3, after the first communication device determines the first state information, it fills the first state information into the second message. Specifically, the first communication device fills the first state information into a reserved field of the second message. The reserved field may be in a message header of the second message. After the first communication device fills the first state information into the second message, it forwards the second message filled with the first state information along the first network path to the sending end.

[0276] It should be noted that the process of measuring network status information from the receiving end to the sending end is similar to the above-mentioned process of measuring network status information from the sending end to the receiving end, and will not be described in detail here.

[0277] In an embodiment of the present application, a first communication device receives first status information, and the first status information is network status information related to a first network path determined by a second communication device. Then, the first communication device sends the first status information to a transmitting end. This enables the transmitting end to obtain more accurate network status information, avoid data congestion, and achieve high throughput and low latency in data transmission. Through the above method, rapid feedback of network status information is achieved, and the feedback delay of network status information is reduced to the microsecond level. In ultra-long distance data transmission scenarios, congestion control, flow control and / or load balancing based on network status information are implemented, thereby improving data transmission efficiency and achieving high throughput and low latency in ultra-long distance data transmission scenarios.

[0278] In combination with the above embodiments, the following describes the application scenarios proposed in the embodiments of the present application. Fig.12 , Fig.12 The following is a schematic diagram of an application scenario in an embodiment of the present application. An application scenario proposed in an embodiment of the present application includes:

[0279] Q1. The first communication device sends a first detection message to the second communication device, where the first detection message is used to instruct the second communication device to determine first status information.

[0280] Specifically, the first communication device periodically sends a first detection message to the second communication device.

[0281] Q2. The second communication device determines first status information according to the first detection message.

[0282] Q3. The second communication device generates a second feedback message, where the second feedback message carries the first status information.

[0283] Q4. The second communication device sends a second feedback message to the first communication device, where the second feedback message carries the first status information.

[0284] Q5. The first communication device records the first status information.

[0285] Q6. The second communication device receives a second message, the source address of the second message points to the receiving end, and the destination address of the second message points to the sending end.

[0286] Q7. The second communication device sends a second message to the first communication device, the source address of the second message points to the receiving end, and the destination address of the second message points to the sending end.

[0287] Q8. The first communication device determines the first status information according to the source address of the second message and the destination address of the second message.

[0288] Q9. The first communication device fills the first status information into the second message.

[0289] Q10. The first communication device sends a second message to the transmitting end, where the second message carries the first status information.

[0290] In conjunction with the above embodiments, please refer to Fig.13 , Fig.13 Schematic diagram of another application scenario in the embodiment of the present application. Another application scenario proposed in the embodiment of the present application includes:

[0291] P1. The second communication device receives a third message, the source address of the third message points to the receiving end, and the destination address of the third message points to the sending end.

[0292] P2. The second communication device determines the first status information according to the third message.

[0293] P3. The second communication device fills the first status information into the third message.

[0294] P4. The second communication device sends a third message to the first communication device, where the third message carries the first status information.

[0295] P5. The first communication device records the first status information.

[0296] P6. The sending end sends a first message to the first communication device, the source address of the first message points to the sending end, and the destination address of the first message points to the receiving end.

[0297] P7. The first communication device determines first status information according to the source address of the first message and the destination address of the second message.

[0298] P8. The first communication device generates a first feedback message, where the first feedback message carries first status information.

[0299] P9. The first communication device sends a first feedback message to the transmitting end, where the first feedback message carries first status information.

[0300] The present application is described above from the perspective of method, and other embodiments provided by the present application will be further described below.

[0301] See also Fig.15 , Fig.15 A schematic diagram of an implementation of a communication device provided in the present application, the communication device 1500 includes a processing module 1501 and a transceiver module 1502. The communication device 1500 can implement the functions of the communication device (including the first communication device and / or the second communication device, etc.) in the above method embodiment, and thus can also achieve the beneficial effects possessed by the above method embodiment. In the embodiment of the present application, the communication device 1500 can be the first communication device and / or the second communication device, or it can be an integrated circuit or component inside the first communication device and / or the second communication device, such as a chip.

[0302] The transceiver module 1502 can realize corresponding communication functions, and can also be called a communication interface or a communication unit, for realizing the transmission and reception of signals or the input and output of signals. The processing module 1501 is used to perform processing operations other than signal transmission and reception.

[0303] Optionally, the communication device 1500 may further include a storage module, which may be used to store instructions and / or data, and the processing module 1502 may read the instructions and / or data in the storage module so that the communication device implements any of the method embodiments shown in the aforementioned embodiments.

[0304] The communication device 1500 can be used to perform the actions performed by the communication device (first communication device or second communication device) in each method embodiment above. The communication device 1500 can be a communication device or a component that can be configured in a communication device. The transceiver module 1502 is used to perform the transceiver-related operations on the communication device side in the above method embodiment, and the processing module 1502 is used to perform the processing-related operations on the communication device side in the above method embodiment.

[0305] Optionally, the transceiver module 1502 may include a sending module and a receiving module. The sending module is used to perform the sending operation of the communication device in each method embodiment shown in the above embodiment. The receiving module is used to perform the receiving operation of the communication device in each method embodiment shown in the above embodiment.

[0306] It should be noted that the communication device 1500 may include a sending module but not a receiving module. Alternatively, the communication device 1500 may include a receiving module but not a sending module. Specifically, it depends on whether the above solution executed by the communication device 1500 includes a sending action and a receiving action.

[0307] See also Fig.16 , Fig.16 This is another structural diagram of a communication device provided in the present application, where the communication device 1600 at least includes an input / output interface 1602. The communication device 1600 may be a chip or an integrated circuit.

[0308] Optionally, the communication device also includes a logic circuit 1601.

[0309] in, Fig.15 The transceiver module 1502 shown may be a communication interface, which may be Fig.16 The input / output interface 1602 in the communication interface 1602 may include an input interface and an output interface. Alternatively, the communication interface may also be a transceiver circuit, which may include an input interface circuit and an output interface circuit.

[0310] Optionally, when the communication device 1600 is a session management function (or a component of a session management function) in the aforementioned embodiment, the input / output interface 1602 is used to input / output information; the logic circuit 1601 is used to execute the aforementioned Figure 3-Figure 14 And methods executed by the first communication device and / or the second communication device in related embodiments.

[0311] The logic circuit 1601 and the input / output interface 1602 may also execute other steps executed by the communication device in any embodiment and achieve corresponding beneficial effects, which will not be described in detail here.

[0312] In one possible implementation, Fig.15 The processing module 1501 shown can be Fig.16 The logic circuit 1601 in.

[0313] Optionally, the logic circuit 1601 may be a processing device, and the functions of the processing device may be partially or completely implemented by software. The functions of the processing device may be partially or completely implemented by software.

[0314] Optionally, the processing device may include a memory and a processor, wherein the memory is used to store a computer program, and the processor reads and executes the computer program stored in the memory to perform corresponding processing and / or steps in any one of the method embodiments.

[0315] Alternatively, the processing device may include only a processor. A memory for storing a computer program is located outside the processing device, and the processor is connected to the memory via a circuit / wire to read and execute the computer program stored in the memory. The memory and the processor may be integrated together, or may be physically independent of each other.

[0316] Optionally, the processing device may be one or more chips, or one or more integrated circuits. For example, the processing device may be one or more field-programmable gate arrays (FPGA), application specific integrated circuits (ASIC), system on chip (SoC), central processor unit (CPU), network processor (NP), digital signal processor (DSP), microcontroller unit (MCU), programmable logic device (PLD) or other integrated chips, or any combination of the above chips or processors.

[0317] See also Fig.17 , Fig.17 This is another structural schematic diagram of a communication device provided in the present application. The communication device 1700 may specifically be a communication device serving as the first communication device and / or the second communication device in the above embodiments.

[0318] Among them, a possible logical structure diagram of the communication device 1700 is shown, and the communication device 1700 may include but is not limited to at least one processor 1701 and a communication port 1702.

[0319] Further optionally, the device may also include at least one of a memory 1703 and a bus 1704 . In an embodiment of the present application, the at least one processor 1701 is used to control and process the actions of the communication device 1700 .

[0320] In addition, the processor 1701 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0321] It should be noted that Fig.17 The communication device 1700 shown can be specifically used to implement the steps implemented by the first communication device and / or the second communication device in the aforementioned method embodiment, and to achieve the corresponding technical effects of the first communication device and / or the second communication device. Fig.17 The specific implementation methods of the communication device shown can all refer to the description in the aforementioned method embodiment, and will not be repeated here.

[0322] See also Fig.18 , Fig.18 This is another structural diagram of the communication device provided in the present application. The communication device 1800 may be specifically a communication device as the first communication device and / or the second communication device in the above embodiment. Fig.18 The structure shown.

[0323] The communication device 1800 includes at least one processor 1801 and at least one network interface 1804. Further optionally, the communication device also includes at least one memory 1802, at least one transceiver 1803 and one or more antennas 1805. The processor 1801, the memory 1802, the transceiver 1803 and the network interface 1804 are connected, for example, through a bus. In an embodiment of the present application, the connection may include various interfaces, transmission lines or buses, etc., which are not limited in this embodiment. The antenna 1805 is connected to the transceiver 1803. The network interface 1804 is used to enable the communication device to communicate with other communication devices through a communication link. For example, the network interface 1804 may include a network interface between the communication device and the core network device, such as an S1 interface, and the network interface may include a network interface between the communication device and other communication devices (such as other wireless access networks or core network devices), such as an X2 or Xn interface.

[0324] The processor 1801 is mainly used to process the communication protocol and communication data, and to control the entire communication device, execute the software program, and process the data of the software program, for example, to support the communication device to perform the actions described in the embodiment. The communication device may include a baseband processor and a central processing unit, the baseband processor is mainly used to process the communication protocol and communication data, and the central processing unit is mainly used to control the entire communication device, execute the software program, and process the data of the software program. Fig.18 The processor 1801 in the embodiment can integrate the functions of the baseband processor and the central processing unit. It can be understood by those skilled in the art that the baseband processor and the central processing unit can also be independent processors, which are interconnected through technologies such as buses. It can be understood by those skilled in the art that the communication device can include multiple baseband processors to adapt to different network formats, and the communication device can include multiple central processing units to enhance its processing capabilities. The various components of the communication device can be connected through various buses. The baseband processor can also be described as a baseband processing circuit or a baseband processing chip. The central processing unit can also be described as a central processing circuit or a central processing chip. The function of processing the communication protocol and the communication data can be built into the processor, or it can be stored in the memory in the form of a software program, and the processor executes the software program to realize the baseband processing function.

[0325] The memory is mainly used to store software programs and data. The memory 1802 can be independent and connected to the processor 1801. Optionally, the memory 1802 can be integrated with the processor 1801, for example, integrated into a chip. Among them, the memory 1802 can store program codes for executing the technical solutions of the embodiments of the present application, and the execution is controlled by the processor 1801. The various types of computer program codes executed can also be regarded as drivers of the processor 1801.

[0326] Fig.18 Only one memory and one processor are shown. In the actual first communication device, there may be multiple processors and multiple memories. The memory may also be referred to as a storage medium or a storage device, etc. The memory may be a storage element on the same chip as the processor, i.e., an on-chip storage element, or an independent storage element, which is not limited in the embodiments of the present application.

[0327] The transceiver 1803 can be used to support the reception or transmission of radio frequency signals between the communication device and the terminal, and the transceiver 1803 can be connected to the antenna 1805. The transceiver 1803 includes a transmitter Tx and a receiver Rx. Specifically, one or more antennas 1805 can receive radio frequency signals, and the receiver Rx of the transceiver 1803 is used to receive the radio frequency signal from the antenna, and convert the radio frequency signal into a digital baseband signal or a digital intermediate frequency signal, and provide the digital baseband signal or the digital intermediate frequency signal to the processor 1801, so that the processor 1801 further processes the digital baseband signal or the digital intermediate frequency signal, such as demodulation processing and decoding processing. In addition, the transmitter Tx in the transceiver 1803 is also used to receive a modulated digital baseband signal or a digital intermediate frequency signal from the processor 1801, and convert the modulated digital baseband signal or the digital intermediate frequency signal into a radio frequency signal, and send the radio frequency signal through one or more antennas 1805. Specifically, the receiver Rx can selectively perform one or more stages of down-mixing and analog-to-digital conversion processing on the RF signal to obtain a digital baseband signal or a digital intermediate frequency signal, and the order of the down-mixing and analog-to-digital conversion processing is adjustable. The transmitter Tx can selectively perform one or more stages of up-mixing and digital-to-analog conversion processing on the modulated digital baseband signal or digital intermediate frequency signal to obtain a RF signal, and the order of the up-mixing and digital-to-analog conversion processing is adjustable. The digital baseband signal and the digital intermediate frequency signal can be collectively referred to as a digital signal.

[0328] The transceiver 1803 may also be referred to as a transceiver module, a transceiver, a transceiver device, etc. Optionally, a device in the transceiver module for implementing a receiving function may be regarded as a receiving unit, and a device in the transceiver module for implementing a sending function may be regarded as a sending unit, that is, the transceiver module includes a receiving unit and a sending unit, the receiving unit may also be referred to as a receiver, an input port, a receiving circuit, etc., and the sending unit may be referred to as a transmitter, a transmitter, or a transmitting circuit, etc.

[0329] In the embodiment of the present application, the antenna and the radio frequency circuit having the transceiver function may be regarded as the transceiver 1803 of the communication device, and the processing unit having the processing function may be regarded as the processor 1801 of the first communication device. Fig.18 As shown, the communication device includes a transceiver 1803 and a processor 1801. The transceiver 1803 may also be referred to as a transceiver unit, a transceiver, a transceiver device, etc. The processor 1801 may also be referred to as a processing unit, a processing board, a processing module, a processing device, etc.

[0330] Optionally, the device used to implement the receiving function in the transceiver 1803 may be regarded as a receiving unit, and the device used to implement the sending function in the transceiver 1803 may be regarded as a sending unit, that is, the transceiver 1803 includes a receiving unit and a sending unit. The transceiver unit may sometimes be referred to as a transceiver, or a transceiver circuit, etc. The receiving unit may sometimes be referred to as a receiver, a receiver, or a receiving circuit, etc. The sending unit may sometimes be referred to as a transmitter, a transmitter, or a transmitting circuit, etc.

[0331] It should be understood that the transceiver 1803 is used to perform sending operations and receiving operations of the communication device (first communication device or second communication device) in the above-mentioned method embodiments, and the processor 1801 is used to perform other operations on the communication device (first communication device or second communication device) in the above-mentioned method embodiments except for the sending and receiving operations.

[0332] When the communication device is a chip, the chip includes a transceiver unit and a processing unit, wherein the transceiver unit may be an input / output circuit or a communication interface; and the processing unit may be a processor or a microprocessor or an integrated circuit or a logic circuit integrated on the chip.

[0333] It should be noted that Fig.18 The communication device 1800 shown can be specifically used to implement the steps implemented by the first communication device and / or the second communication device in the aforementioned method embodiment, and to achieve the corresponding technical effects of the first communication device and / or the second communication device. Fig.18 The specific implementation methods of the communication device 1800 shown can all be referred to the description in the aforementioned method embodiment, and will not be repeated here.

[0334] An embodiment of the present application also provides a computer-readable storage medium storing one or more computer-executable instructions. When the computer-executable instructions are executed by a processor, the processor executes the method as a possible implementation method of the first communication device or the second communication device in the aforementioned embodiment.

[0335] An embodiment of the present application also provides a computer program product (or computer program) storing one or more computers. When the computer program product is executed by the processor, the processor executes the method that may be implemented by the above-mentioned first communication device or second communication device.

[0336] The embodiment of the present application also provides a chip system, which includes at least one processor for supporting a communication device to implement the functions involved in the possible implementation methods of the above-mentioned communication device. Optionally, the chip system also includes an interface circuit, which provides program instructions and / or data to the at least one processor. In one possible design, the chip system may also include a memory, which is used to store the necessary program instructions and data for the communication device. The chip system can be composed of chips, and may also include chips and other discrete devices, wherein the communication device can specifically be the first communication device or the second communication device in the aforementioned method embodiment.

[0337] An embodiment of the present application further provides a communication system, which includes the first communication device and / or the second communication device in any of the above embodiments.

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

[0339] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0340] In addition, each functional unit in each embodiment of the present application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. 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 computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a wireless access network, etc.) to perform all or part of the steps of the method of each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

Claims

1. A method for measuring network status, characterized in that: The method is applied to a first communication device, and the method includes: The first communication device receives first status information from a second communication device, where the first status information is network status information related to a first network path in the second communication device, where the first network path is a network path from a sending end to a receiving end, the first network path passes through the first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path; The first communication device sends the first status information to the sending end.

2. The method according to claim 1, characterized in that The first communication device sending the first status information to the transmitting end includes: The first communication device receives a first message from the sender, the source address of the first message points to the sender, and the destination address of the first message points to the receiver; The first communication device determines the first state information according to a source address of the first message and a destination address of the first message; The first communication device sends the first status information to the sending end.

3. The method according to claim 2, characterized in that The first communication device sending the first state information to the transmitting end includes: The first communication device generates a first feedback message, where the first feedback message carries the first state information; The first communication device sends the first feedback message to the sending end.

4. The method according to claim 2 or 3, characterized in that: The first communication device determines the first state information according to a source address of the first message and a destination address of the first message, including: The first communication device determines the first status information from one or more groups of network status information stored in the first communication device according to the source address of the first message and the destination address of the first message.

5. The method according to claim 1, characterized in that The first communication device sending the first status information to the transmitting end includes: The first communication device receives a second message, the source address of the second message points to the receiving end, and the destination address of the second message points to the sending end; The first communication device determines the first state information according to a source address of the second message and a destination address of the second message; The first communication device sends the first status information to the sending end.

6. The method according to claim 5, characterized in that The first communication device sending the first status information to the transmitting end includes: The first communication device fills the first status information into the second message; The first communication device sends the padded second message to the sending end, and the padded second message carries the first state information.

7. The method according to claim 6, characterized in that The first communication device fills the first status information into the second message, including: The first communication device fills the first status information into a reserved field of the second message.

8. The method according to any one of claims 5 to 7, characterized in that: The first communication device determines the first state information according to a source address of the second message and a destination address of the second message, including: The first communication device determines the first status information from one or more groups of network status information stored in the first communication device according to the source address of the second message and the destination address of the second message.

9. The method according to any one of claims 2 to 8, characterized in that: The first message and / or the second message carries a first indication bit, and the first indication bit is used to enable the communication device to measure a network status.

10. The method according to any one of claims 6 to 9, characterized in that: The second message carries a second indication bit, where the second indication bit is used to indicate a type of network status information carried by the second message.

11. The method according to any one of claims 1 to 10, characterized in that The first communication device receiving the first status information from the second communication device includes: The first communication device sends a first detection message to the second communication device, where the first detection message is used to instruct the second communication device to determine the first state information; The first communication device receives a second feedback message from the second communication device, where the second feedback message carries the first state information.

12. The method according to claim 11, characterized in that The first communication device sending the first detection message to the second communication device includes: The first communication device periodically sends a detection message to the second communication device, where the detection message is used to instruct the second communication device to determine network status information, and the detection message includes the first detection message.

13. The method according to any one of claims 1 to 10, characterized in that The first communication device receiving the first status information from the second communication device includes: The first communication device receives a third message, the source address of the third message is the receiving end, the destination address of the third message is the sending end, the transmission path of the third message is the first network path, and the third message carries the first status information.

14. The method according to any one of claims 1 to 13, characterized in that The first status information includes any one or more of the following network status information: the remaining bandwidth of the port of the second communication device, the remaining bandwidth of the first network path, the cache queue occupancy of the port of the second communication device, the remaining cache of the port of the second communication device, the one-way delay from the first communication device to the second communication device, the number of data flows of the port of the second communication device, or the number of packet losses of the port of the second communication device, wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

15. A method for measuring network status, characterized in that: The method is applied to a second communication device, and the method includes: The second communication device determines first status information, where the first status information is network status information related to a first network path in the second communication device, where the first network path is a network path from a sending end to a receiving end, where the first network path passes through the first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path; The second communication device sends the first status information to the first communication device.

16. The method according to claim 15, characterized in that The second communication device determines the first state information, including: The second communication device receives a first detection message from the first communication device; The second communication device determines the first status information according to the first detection message.

17. The method according to claim 16, characterized in that The second communication device determines the first state information according to the first detection message, including: The second communication device receives a second detection message from a third communication device, where the third communication device is a communication device between the first communication device and the second communication device in the first network path, the second detection message is a detection message generated by the third communication device according to the first detection message, and the second detection message carries second status information, where the second status information is network status information related to the first network path determined by the third communication device; The second communication device acquires third status information, where the third status information is network status information related to the first network path collected locally by the second communication device; The second communication device determines the first state information according to the second state information and the third state information.

18. The method according to claim 15, characterized in that The second communication device determines the first state information, including: The second communication device receives a third message, the source address of the third message points to the receiving end, the destination address of the third message points to the sending end, and the transmission path of the third message is the first network path; The second communication device determines the first status information according to the third message.

19. The method according to claim 18, characterized in that The second communication device determines the first state information according to the third message, including: The second communication device receives the third message from a fourth communication device, where the fourth communication device is a communication device between the second communication device and the receiving end in the first network path, and the third message carries fourth status information, where the fourth status information is network status information related to the first network path determined by the fourth communication device; The second communication device acquires third status information, where the third status information is network status information related to the first network path collected locally by the second communication device; The second communication device determines the first state information according to the fourth state information and the third state information.

20. The method according to any one of claims 15 to 19, characterized in that The second communication device sending the first state information to the first communication device includes: The second communication device generates a second feedback message, where the second feedback message carries the first state information; The second communication device sends the second feedback message to the first communication device.

21. The method according to any one of claims 15 to 19, characterized in that The second communication device sending the first state information to the first communication device includes: The second communication device receives a third message, the source address of the third message is the receiving end, the destination address of the third message is the sending end, and the transmission path of the third message is the first network path; The second communication device fills the first status information into the third message; The second communication device sends the third message to the first communication device, where the third message carries the first status information.

22. The method according to any one of claims 15 to 21, characterized in that The first status information includes any one or more of the following network status information: the remaining bandwidth of the port of the second communication device, the remaining bandwidth of the first network path, the cache queue occupancy of the port of the second communication device, the remaining cache of the port of the second communication device, the one-way delay from the first communication device to the second communication device, the number of data flows of the port of the second communication device, or the number of packet losses of the port of the second communication device, wherein the remaining bandwidth of the first network path is the minimum remaining bandwidth of the port of any communication device in the first network path.

23. A communication device, characterized in that: The communication device is applied to a first communication device, and the communication device includes: a transceiver module, configured to receive first status information from a second communication device, wherein the first status information is network status information related to a first network path in the second communication device, the first network path is a network path from a sending end to a receiving end, the first network path passes through the first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path; The transceiver module is further configured to send the first status information to the transmitting end.

24. A communication device, characterized in that: The communication device is applied to a second communication device, and the communication device includes: a processing module, configured to determine first status information, wherein the first status information is network status information related to a first network path in the second communication device, the first network path is a network path from a sending end to a receiving end, the first network path passes through a first communication device and the second communication device, and the second communication device is any communication device between the first communication device and the receiving end in the first network path; A transceiver module is used to send the first status information to the first communication device.

25. A communication device, characterized in that: Including communication interface and processor: The communication interface is used to input and / or output signaling or data; The processor is used to execute a computer executable program so that the method described in any one of claims 1 to 14 is executed, or the method described in any one of claims 15 to 22 is executed.

26. A communication device, characterized in that: including a processor and memory, The memory is used to store computer programs or instructions; The processor is used to execute the computer program or instructions in the memory, so that the method described in any one of claims 1 to 14 is executed, or the method described in any one of claims 15 to 22 is executed.

27. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed by a processor, the method of any one of claims 1-14 or claims 15-22 is implemented.

28. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method of any one of claims 1-14 or claims 15-22.

29. A chip system, characterized in that: The chip system includes at least one processor, and when the program instructions are executed in the at least one processor, the method described in any one of claims 1 to 14 or claims 15 to 22 is implemented.

30. A communication system, characterized in that: The invention comprises a communication device for executing the method according to any one of claims 1 to 14, and / or a communication device for executing the method according to any one of claims 15 to 22.