[go: up one dir, main page]

CN120017588A - A communication method and related equipment - Google Patents

A communication method and related equipment Download PDF

Info

Publication number
CN120017588A
CN120017588A CN202311529140.3A CN202311529140A CN120017588A CN 120017588 A CN120017588 A CN 120017588A CN 202311529140 A CN202311529140 A CN 202311529140A CN 120017588 A CN120017588 A CN 120017588A
Authority
CN
China
Prior art keywords
message flows
message
flows
communication device
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311529140.3A
Other languages
Chinese (zh)
Inventor
姚学军
林艺宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202311529140.3A priority Critical patent/CN120017588A/en
Publication of CN120017588A publication Critical patent/CN120017588A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a communication method and related equipment, which are used for determining K message flows through a Top K algorithm, and can accurately realize the identification of the congestion flow and the speed reduction processing of the congestion flow so as to improve the message forwarding efficiency. In the method, after receiving N message flows with the same destination address, a first communication device determines K message flows from the N message flows and performs deceleration processing on the K message flows. The K message flows are flows determined based on a Top K algorithm. In other words, in the process of forwarding N message flows with the same destination address, the first communication device performs the speed reduction processing according to K message flows selected based on the Top K algorithm in the N flows. And the processing object of the first communication device executing the speed-down processing is the K message streams.

Description

Communication method and related equipment
Technical Field
The present application relates to the field of communications, and in particular, to a communication method and related devices.
Background
In a communication system, transmission of a message can be achieved between different communication nodes through forwarding of one or more forwarding nodes (such as routers, switches, etc.). For a forwarding node, the forwarding node may forward one or more message flows.
In general, in the case of forwarding a plurality of packet flows, the forwarding node may determine whether congestion occurs in the plurality of packet flows based on information of the buffer queue (e.g., an average queue length or an instantaneous queue length of the buffer queue, etc.). And under the condition that the forwarding node determines that congestion occurs, the forwarding node performs deceleration processing on the plurality of message flows so as to reduce the influence caused by the congestion of the message flows.
However, in the implementation process of forwarding a plurality of message flows by the forwarding node, congestion of a message of any message flow in the buffer queue may cause the forwarding node to perform a speed reduction process on the plurality of message flows without difference, and the congestion identification and congestion processing manners may cause a decrease in the message forwarding efficiency.
Disclosure of Invention
The application provides a communication device and related equipment, which are used for determining K message flows through a Top K algorithm, and can accurately realize the identification of the congestion flow and the speed reduction processing of the congestion flow so as to improve the message forwarding efficiency.
The first aspect of the present application provides a communication method, which is performed by a first communication device, or which is performed by part of the components in the first communication device (e.g. a processor, a chip or a system-on-chip, etc.), or which may also be implemented by a logic module or software which is capable of implementing all or part of the functionality of the first communication device. In the first aspect and its possible implementation manner, the method is described by taking the embodiment as a first communication device, where the first communication device may be a communication device such as a router (router), a switch (switch), a virtual switch (virtual switch), a virtual router (virtual router), an intelligent network card, and so on. The method includes the steps that a first communication device receives N message flows, N is an integer larger than 1, destination addresses of the N message flows are the same, the first communication device determines K message flows from the N message flows, K is an integer smaller than or equal to N, the K message flows are determined based on a Top K algorithm, and the first communication device carries out speed reduction processing on the K message flows.
Based on the technical scheme, after the first communication device receives N message streams with the same destination address, the first communication device determines K message streams from the N message streams and performs deceleration processing on the K message streams. The K message flows are flows determined based on a Top K algorithm. In other words, in the process of forwarding N message flows with the same destination address, the first communication device performs the speed reduction processing according to K message flows selected based on the Top K algorithm in the N flows. And the processing object of the first communication device executing the speed-down processing is the K message streams. Therefore, compared with the implementation mode of the N message flows for carrying out the speed reduction processing under the condition that any one of the N message flows is congested in the process of forwarding the N message flows, the method has the advantages that the K message flows determined through the Top K algorithm can accurately realize the identification of the congested flows and the speed reduction processing of the congested flows, so that the message forwarding efficiency is improved.
In addition, in the above technical solution, when K is smaller than N, the first communication device can reduce the influence caused by congestion of the packet flow and avoid the influence on other packet flows as much as possible by accurately implementing the method of identifying the congestion flow and reducing the speed of the congestion flow.
In the present application, the message stream may be replaced by other expressions, such as a service stream, a transport stream, etc.
It should be noted that, in the process of the first communication device performing the speed reduction processing on the K message flows, the first communication device may perform the speed reduction processing on the K message flows in a direct or indirect manner.
For example, in the process that the first communication device performs the speed-down processing on the K packet flows in a direct manner, the first communication device may discard the packets of the K packet flows based on the first probability. In addition, the dropping process causes the source end of the K packet flows to perceive packet loss, and the source end may perform a speed reduction process based on the perceived packet loss (for example, the protocol stack of the source end implements speed reduction by reducing the sliding window). It should be understood that, the foregoing dropping of the messages of the K message flows by the first communication device may reduce the flow rate of the K message flows, and/or the source end performs the speed reduction process based on the perceived packet loss condition may also reduce the flow rate of the K message flows.
The discarding mechanism may be based on random early detection (random early detection, RED), weighted random early detection (weighted random early detection, WRED), etc., as examples, but is not limited thereto.
For another example, in the process that the first communication device performs the speed reduction processing on the K message flows in an indirect manner, the first communication device may forward the K message flows after adding a flag to the messages of the K message flows based on the second probability, where the flag is used to trigger the receiving direction of the K message flows to send indication information to the sender of the K message flows, so that when the sender subsequently transmits other messages of the K message flows, the speed of other messages of the K message flows can be reduced based on the indication information. Illustratively, the indicia may be a display congestion notification (explicit congestion notification, ECN) identification, or congestion indication (congestion indication, CI), or the like, without limitation. Illustratively, the indication information may be a congestion notification message (congestion notification message, CNM), or a congestion notification message (congestion notification packet, CNP), or the like, which is not limited herein.
It will be appreciated that the first probability or the second probability may be determined by a curve probability based on an average length of a buffer queue in a transmission control protocol (transmission control protocol, TCP), a curve probability based on an instantaneous length of a buffer queue in a data center transmission control protocol (DATA CENTER transmission control protocol, DCTCP), or by other means, without limitation.
In a possible implementation manner of the first aspect, the first communication device determines K message flows from the N message flows, including the first communication device determining K message flows from the N message flows based on the Top K algorithm.
Based on the above technical scheme, the first communication device can determine K message flows from the N message flows based on the Top K algorithm, so that the first communication device can determine the K message flows locally, so as to rapidly realize determination of the K message flows.
In a possible implementation manner of the first aspect, the first communication device determines K message flows from the N message flows based on a Top K algorithm, including that the first communication device determines K message flows from the N message flows based on a Top K algorithm through parameters of the N message flows, where the parameters include at least one of a bandwidth of a flow, a cumulative byte number of the flow, a duration of the flow, a number of messages in a buffer queue of the flow, and a byte number in a buffer queue of the flow.
Based on the above technical solution, in the process that the first communication device determines K message flows from the N message flows based on the Top K algorithm, the first communication device may use the at least one parameter as a basis for determining the K message flows, so as to improve flexibility of implementation of the solution.
It should be understood that the bandwidth of a stream may be replaced with other representations such as the throughput of the stream, the rate of the stream, etc.
It should be noted that, among the parameters of the at least one packet flow, the value of any parameter is positively correlated with the possibility of congestion of the packet flow. In other words, the greater the bandwidth of a flow of a certain packet flow (or the greater the cumulative number of bytes of the flow, the longer the duration of the flow, the greater the number of packets in the flow's cache queue, the greater the number of bytes in the flow's cache queue, etc.), the greater the likelihood that the first communication device will congestion when forwarding the packet flow, and vice versa, the lesser the bandwidth of a flow of a certain packet flow (or the lesser the cumulative number of bytes of the flow, the shorter the duration of the flow, the lesser the number of packets in the flow's cache queue, the lesser the number of bytes in the flow's cache queue, etc.), the lesser the likelihood that the first communication device will congestion when forwarding the packet flow. Therefore, the implementation mode that the at least one parameter is used as one of the input parameters of the Top K algorithm can improve the accuracy of determining K message flows with congestion based on the Top K algorithm.
It is understood that the Top K algorithm may be understood as a rule for selecting a message flow with K Top ranking, for example, selecting a bandwidth of the flow, a cumulative number of bytes of the flow, a duration of the flow, a number of messages in a buffer queue of the flow, and a number of bytes in the buffer queue of the flow.
Optionally, in the case that the parameter includes two or more parameters of the at least one item, the two or more parameters may be used as a basis for determining K message flows by using a Top K algorithm, or a weighted result of the two or more parameters may be used as a basis for determining K message flows by using a Top K algorithm, which is not limited herein.
Optionally, the parameter may include other parameters related to the possibility of congestion (e.g., positive correlation, negative correlation) when the packet flows occur, in addition to at least one parameter described above, which is not limited herein.
In a possible implementation manner of the first aspect, before the first communication device determines K message flows from the N message flows, the method further includes the first communication device receiving first information, where the first information is used to indicate the K message flows, and the first communication device determining K message flows from the N message flows includes the first communication device determining the K message flows from the N message flows based on the first information.
Based on the above technical solution, in the process that the first communication device determines K message flows from the N message flows based on the Top K algorithm, the first communication device may use the received first information as a basis for determining the K message flows, so as to save calculation overhead of the first communication device.
In a possible implementation manner of the first aspect, the method further includes determining, by the first communication device, that no speed-down processing is performed on other message flows than the K message flows in the N message flows.
Based on the technical scheme, in the process of forwarding the N message flows, the first communication device can accurately realize the identification of the congestion flow and the speed reduction processing of the congestion flow through the K message flows determined by the Top K algorithm, and the first communication device can also determine not to perform the speed reduction processing on other message flows except the K message flows in the N message flows. Therefore, compared with the implementation mode of the speed reduction processing on any one of the N message flows under the condition that the message flow is congested, the method and the device can avoid the influence on the speed reduction of other message flows so as to improve the service performance of the service to which the other message flows belong.
In a possible implementation manner of the first aspect, the bandwidth of any one of the K message flows is greater than or equal to a threshold value, or the bandwidth of any one of the K message flows is greater than or equal to the bandwidth of other message flows than the K message flows in the N message flows.
It should be understood that the bandwidth of any one of the K message flows is greater than or equal to the bandwidth of the other message flows except for the K message flows in the N message flows, which may be expressed as the K message flows being the message flows with the greater bandwidth of the N message flows, the K message flows being the message flows with the greatest bandwidth of the N message flows, and the bandwidth of the K message flows being greater than or equal to the bandwidth of the other N-K message flows in the N message flows.
Based on the above technical solution, the bandwidth of K message flows is greater than or equal to a threshold value, or the bandwidth of K message flows is greater than or equal to the bandwidth of other N-K message flows in the N message flows, from the K message flows determined by the Top K algorithm. Because the bandwidth of the message flow is positively correlated with the congestion possibility of the message flow, the method can determine the message flow with larger bandwidth as K message flows for executing the deceleration processing through the Top K algorithm, so as to reduce the congestion possibility as much as possible.
In a possible implementation manner of the first aspect, the destination addresses of the N packet flows are destination addresses of terminals, or the destination addresses of the N packet flows are destination addresses of network devices.
Based on the above technical solution, in the process of forwarding N message flows, the first communication device has the same network equipment on the forwarding paths of the N message flows, or the terminals on the forwarding paths of the N message flows are the same, so that the first communication device can determine that the destination addresses of the N message flows are the same.
The second aspect of the present application provides a communication method, which is performed by the second communication device, or which is performed by part of the components (e.g. a processor, a chip or a system-on-chip, etc.) in the second communication device, or which may also be implemented by a logic module or software that is capable of implementing all or part of the functionality of the second communication device. In the first aspect and its possible implementation manner, the method is described by taking the example that the second communication device is executed by a second communication device, where the second communication device may be a communication device such as a router, a switch, a virtual router, an intelligent network card, and the like. Or the second communication device and the first communication device may be different hardware modules/software modules/logic modules/chips in the communication device, for example, the first communication device may be a switch buffer (SWB), a memory management unit (memory management unit, MMU), a packet processing Pipeline (Pipeline), a forwarding chip, etc. in the communication device, and the second communication device may be a forwarding chip in the communication device, a coprocessor (service Co-Processor) external to the forwarding chip, etc. In the method, a second communication device determines K message flows from N message flows based on a Top K algorithm, N is an integer greater than 1, K is an integer smaller than or equal to N, destination addresses of the N message flows are the same, the second communication device sends first information, the first information is used for indicating the K message flows to be determined based on the Top K algorithm, and the first information is used for carrying out speed reduction processing on the K message flows.
Based on the above technical solution, after determining K message flows from the N message flows based on the Top K algorithm, the second communication device may send first information for indicating that the K message flows are flows determined based on the Top K algorithm. And, the first information is used for performing a deceleration process on the K packet flows, so that a receiver (for example, a first communication device) of the first information can perform a deceleration process on the K packet flows based on the first information. Therefore, in the process of forwarding N message flows, compared with the implementation manner of performing the speed reduction processing on the N message flows when any one of the N message flows is congested, in the above technical scheme, the manner that the first communication device receives the first information of the second communication device enables the first communication device to accurately implement the identification of the congestion flow and the speed reduction processing of the congestion flow through the K message flows determined by the Top K algorithm indicated by the first information, so as to improve the message forwarding efficiency.
In a possible implementation manner of the second aspect, the bandwidth of any one of the K message flows is greater than or equal to a threshold value, or the bandwidth of any one of the K message flows is greater than or equal to the bandwidths of the other message flows except for the K message flows in the N message flows.
Based on the above technical solution, the bandwidth of K message flows is greater than or equal to a threshold value, or the bandwidth of K message flows is greater than or equal to the bandwidth of other N-K message flows in the N message flows, from the K message flows determined by the Top K algorithm. Because the bandwidth of the message flow is positively correlated with the congestion possibility of the message flow, the method can determine the message flow with larger bandwidth as K message flows for executing the deceleration processing through the Top K algorithm, so as to reduce the congestion possibility as much as possible.
In a possible implementation manner of the second aspect, the destination addresses of the N packet flows are destination addresses of terminals, or the destination addresses of the N packet flows are destination addresses of network devices.
Based on the above technical solution, in the process of forwarding N message flows, the first communication device has the same network equipment on the forwarding paths of the N message flows, or the terminals on the forwarding paths of the N message flows are the same, so that the first communication device can determine that the destination addresses of the N message flows are the same.
A third aspect of the present application provides a communication device capable of implementing the method of the first aspect or any one of the possible implementation manners of the first aspect. The apparatus comprises corresponding units or modules for performing the above-described methods. The units or modules included in the apparatus may be implemented in a software and/or hardware manner. For example, the apparatus may be a first communication apparatus, or the apparatus may be a component (e.g., a processor, a chip, or a system-on-chip, etc.) in the first communication apparatus, or the apparatus may also be a logic module or software capable of implementing all or part of the functionality of the first communication apparatus.
The device comprises a receiving and transmitting unit and a processing unit, wherein the receiving and transmitting unit is used for receiving N message flows, N is an integer larger than 1, the destination addresses of the N message flows are the same, the processing unit is used for determining K message flows from the N message flows, K is an integer smaller than or equal to N, the K message flows are flows determined based on a Top K algorithm, and the processing unit is further used for performing deceleration processing on the K message flows.
In a possible implementation manner of the third aspect, the processing unit is configured to determine K packet flows from the N packet flows, and includes the processing unit being configured to determine K packet flows from the N packet flows based on the Top K algorithm.
In a possible implementation manner of the third aspect, the processing unit is configured to determine K packet flows from the N packet flows based on a Top K algorithm, and includes that the processing unit is configured to determine K packet flows from the N packet flows based on a Top K algorithm through parameters of the N packet flows, where the parameters include at least one of a bandwidth of a flow, a cumulative byte number of the flow, a duration of the flow, a number of packets in a buffer queue of the flow, and a byte number in a buffer queue of the flow.
In a possible implementation manner of the third aspect, the transceiver unit is further configured to receive first information, where the first information is used to indicate the K message flows, and the processing unit is configured to determine K message flows from the N message flows, and includes the processing unit being configured to determine the K message flows from the N message flows based on the first information.
In a possible implementation manner of the third aspect, the processing unit is further configured to determine not to perform the speed reduction processing on other packet flows than the K packet flows in the N packet flows.
In a possible implementation manner of the third aspect, the bandwidth of any one of the K message flows is greater than or equal to a threshold value, or the bandwidth of any one of the K message flows is greater than or equal to the bandwidth of other message flows than the K message flows in the N message flows.
In a possible implementation manner of the third aspect, the destination addresses of the N packet flows are destination addresses of terminals, or the destination addresses of the N packet flows are destination addresses of network devices.
A fourth aspect of the present application provides a communications device capable of implementing the method of the second aspect or any one of the possible implementations of the second aspect. The apparatus comprises corresponding units or modules for performing the above-described methods. The units or modules included in the apparatus may be implemented in a software and/or hardware manner. For example, the device may be the second communication device, or the device may be a component (e.g., a processor, a chip, or a system-on-a-chip, etc.) in the second communication device, or the device may also be a logic module or software that can implement all or part of the functionality of the second communication device.
The device comprises a receiving and transmitting unit and a processing unit, wherein the processing unit is used for determining K message flows from N message flows based on a Top K algorithm, N is an integer greater than 1, K is an integer smaller than or equal to N, the destination addresses of the N message flows are the same, the receiving and transmitting unit is used for transmitting first information, the first information is used for indicating the K message flows to be the flows determined based on the Top K algorithm, and the first information is used for carrying out speed reduction processing on the K message flows.
In a possible implementation manner of the fourth aspect, the bandwidth of any one of the K message flows is greater than or equal to a threshold value, or the bandwidth of any one of the K message flows is greater than or equal to the bandwidths of the other message flows except for the K message flows in the N message flows.
In a possible implementation manner of the fourth aspect, the destination addresses of the N packet flows are destination addresses of terminals, or the destination addresses of the N packet flows are destination addresses of network devices.
A fifth aspect of the present application provides a communication apparatus. The communication device comprises at least one processor for executing programs or instructions stored in a memory for causing the device to implement the method of the first aspect or any one of the possible implementations of the first aspect.
A sixth aspect of the present application provides a communication apparatus. The communications apparatus includes at least one processor configured to execute a program or instructions stored in a memory to cause the apparatus to implement the method of the second aspect or any one of the possible implementations of the second aspect.
A seventh aspect of the application provides a communication device comprising at least one logic circuit and an input-output interface, the logic circuit being arranged to perform the method of the first aspect or any one of the possible implementations of the first aspect.
An eighth aspect of the present application provides a communication device comprising at least one logic circuit and an input-output interface, the logic circuit being arranged to perform the method of the second aspect or any one of the possible implementations of the second aspect as described above.
A ninth aspect of the application provides a computer readable storage medium storing computer instructions which, when executed by a processor, perform a method as described above for any one of the possible implementations of the first aspect or the first aspect, or a method as described above for any one of the possible implementations of the second aspect or the second aspect.
A tenth aspect of the application provides a computer program product (or computer program) comprising instructions which, when executed by a processor, performs the method of any one of the possible implementations of the first aspect or the first aspect, or the method of any one of the possible implementations of the second aspect or the second aspect.
An eleventh aspect of the present application provides a chip system comprising a communication interface and a processor, the communication interface and the processor being coupled for supporting the communication device to implement the functionality referred to in the first aspect or any one of the possible implementations of the first aspect, or for supporting the communication device to implement the functionality referred to in the second aspect or any one of the possible implementations of the second aspect.
In one possible design, the system-on-chip may further include a memory to hold the necessary program instructions and data for the communication device. The chip system can be composed of chips, and can also comprise chips and other discrete devices. Optionally, the system on a chip further comprises interface circuitry providing program instructions and/or data to the at least one processor.
A twelfth aspect of the present application provides a communication system comprising the communication device of the third aspect and the communication device of the fourth aspect, or the communication system comprising the communication device of the fifth aspect and the communication device of the sixth aspect, or the communication system comprising the communication device of the seventh aspect and the communication device of the eighth aspect.
Optionally, the communication system further includes other devices in the foregoing implementation, for example, a device that sends N message flows, a device that receives N message flows (e.g., a network device or a terminal), and so on.
The technical effects of any one of the designs of the third aspect to the twelfth aspect may be referred to as the technical effects of the different implementations of the first aspect to the second aspect, and are not described herein.
Drawings
FIG. 1 is a schematic diagram of a communication system according to the present application;
Fig. 2a to 2e are schematic diagrams illustrating the implementation of ECN marking according to the present application;
FIG. 3 is a schematic diagram of one implementation of the communication method provided by the present application;
FIG. 4 is a schematic diagram of another implementation of the communication method provided by the present application;
FIG. 5 is another schematic diagram of a communication system provided by the present application;
FIG. 6 is a schematic diagram of a communication device according to the present application;
fig. 7 is another schematic diagram of a communication device provided by the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application.
The terms "system" and "network" in embodiments of the application may be used interchangeably. "at least one" means one or more, and "a plurality" means two or more. "and/or" describes an association relationship of associated objects, and indicates that there may be three relationships, for example, a and/or B, and may indicate that a exists alone, a exists with a and B together, and B exists alone, where a and B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, "at least one of A, B, and C" includes A, B, C, AB, AC, BC, or ABC. And, unless otherwise specified, references to "first," "second," etc. ordinal words of embodiments of the present application are used for distinguishing between multiple objects and not for defining a sequence, timing, priority, or importance of the multiple objects.
In the present application, the words "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
It is to be understood that in the present application, the terms "when," "if," and "if" are used to indicate that the device is performing the corresponding process under some objective condition, are not intended to limit the time and do not require that the device be performing the action of determining it is not intended to imply that other limitations are present.
In the present application, the same or similar parts between the various embodiments or implementations may be referred to each other unless specifically stated otherwise. In the embodiments of the present application, and the respective implementation/implementation methods in the embodiments, if there is no specific description and logic conflict, terms and/or descriptions between different embodiments, and between the respective implementation/implementation methods in the embodiments, may be consistent and may refer to each other, and technical features in the different embodiments, and the respective implementation/implementation methods in the embodiments, may be combined to form a new embodiment, implementation method, or implementation method according to their inherent logic relationship. The embodiments of the present application described below do not limit the scope of the present application.
In order to facilitate understanding of the method provided by the embodiment of the present application, a system architecture of the method provided by the embodiment of the present application will be described below. It can be understood that the system architecture described in the embodiments of the present application is for more clearly describing the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided by the embodiments of the present application.
Referring to fig. 1, a schematic architecture of a communication system according to an embodiment of the present application is provided. As shown in fig. 1, the system includes one or more source terminals (source terminal_1, source terminal_2, source terminal_3, and source terminal_4 are shown as examples), one or more destination terminals (one destination terminal is shown as examples), and a network device between the source terminal and the destination terminal. The network device is configured to receive a message flow from a source end and send the message flow to a destination end, in other words, the network device may be configured to forward the message flow between the source end and the destination end.
In fig. 1, the source and destination are devices that need to communicate with each other in the network, and may be, for example, a personal computer, a server, a virtual machine, a switch, a router, or the like. In addition, in fig. 1, the network device may be a router (router), a switch, a Firewall (Firewall), a virtual switch (virtual switch), a virtual router (virtual router), an intelligent network card, or the like.
In a communication system (such as the communication system shown in fig. 1), transmission of a message may be implemented by forwarding between different communication nodes (such as a source end and a destination end in fig. 1) through one or more forwarding nodes (such as a network device in fig. 1). For a forwarding node, the forwarding node may forward one or more message flows. Illustratively, in FIG. 1, for network device 1, network device 1 may forward the flows from source_1, source_2, and source_3, for network device 104, network device 104 may forward the flows from source_4, and for network device 103, network device 103 may forward the flows from source_1, source_2, source_3, and source_4. It is noted that the message flow from any source device may be one or more.
In addition, in the case where the forwarding node forwards a plurality of packet flows, the forwarding node may determine whether congestion occurs in the plurality of packet flows based on information of the buffer queue (for example, an average queue length or an instantaneous queue length of the buffer queue, etc.). And under the condition that the forwarding node determines that congestion occurs, the forwarding node performs deceleration processing on the plurality of message flows so as to reduce the influence caused by the congestion of the message flows. For example, in the process that the network device 101 forwards the message flows from the source_1, the source_2 and the source_3, when the bandwidth of the message flow is large, the network device 101 may buffer the message flows from the three source ends in a buffer queue, where in the case that the average queue length or the instantaneous queue length of the buffer queue is greater than a threshold value, the network device 101 may perform a speed reduction process on the multiple message flows to reduce the influence caused by the congestion of the message flows. Generally, the network device may be implemented through ECN marking during the process of performing the deceleration processing on the packet flow, and the implementation process of the ECN marking will be described in an exemplary manner with reference to the implementation process shown in fig. 2a to fig. 2 e.
For the application of the traditional transmission control protocol (transmission control protocol, TCP) or the remote direct memory access (remote direct memory access over converged ethernet version, roCEv 2) through the converged Ethernet transmission, in order to avoid the influence of the congestion packet loss of the switch on the service performance, ECN congestion marking can be started (or enabled) on the switch, the ECN congestion marking is carried out on the message according to the congestion degree of the output queue of the output port and the probability, and the destination end constructs congestion notification information (congestion notification message, CNM) on the message of the ECN congestion marking to notify the source end to reduce the speed.
For example, for an internet protocol (internet protocol, IP) formatted message, the header may carry an 8 bit (bit) Differentiated Services Code Point (DSCP) field, with the highest 2bit indicated as the ECN field. For example, the ECN field may be defined as a value of "00" for messages not supporting ECN flags, a value of "01" or "10" for messages supporting ECN flags, and a value of "11" for messages congestion. For the network device, if the ECN field in the header of the message received by the network device is "01" or "10", the network device may perform ECN congestion marking on the message according to the probability, that is, when the message encounters queue congestion, modify the ECN header field of the message to ecn=11. In general, the network device will provide a switch for this action, which may be performed when the switch is turned on, and if the switch is turned off, the ECN congestion flag will not be performed on the ecn=10/01 message.
As in the example shown in fig. 2a, the network device may be any network device on a forwarding path between a source and a destination. The three layers of messages (i.e., IP messages) sent by the source end may carry "ecn=10" through a header, indicating that the message enables congestion marking. When the message encounters queue congestion in the network device, the network device updates the ECN field in the header of the message to "ecn=11" to indicate that the message is congested for the ECN-enabled message based on the probability. After that, the destination end receives the message "ecn=11", and will feed back the CNM to the source end. Correspondingly, after the source terminal receives the CNM, the source terminal starts to slow down the message flow corresponding to the message. It can be seen that the network device triggers the destination terminal to send CNM to the source terminal through the value of the ECN field, and the message flow is slowed down through the CNM indication, that is, the slowing down is performed by the source terminal, so that the slowing down process implemented by the network device through the ECN marking mode can be understood as the slowing down process implemented indirectly.
In addition, the network device may mark the message in the message flow with an ECN congestion flag (e.g., modify the ECN field from "10" or "01" to "11") based on the probability, and the implementation of the "probability" will be described by way of example with reference to fig. 2b and 2 c.
As shown in fig. 2b, when marking a message with ECN congestion, the network device may perform the following ECN marking operation on the congested message in the queue according to the curve probability shown in fig. 2b according to the average length of the output queue of the panel port (i.e. the number of bytes of the congested message in the buffer queue), which includes the following procedures.
1) When the average length of the buffer queue is < Kmin, the network device determines that the ECN congestion marking is not performed on the message, that is, the marking probability is 0.
2) When the average length of the buffer queue is between (Kmin, kmax), the network device performs ECN congestion marking on the message according to the curve probability (for example, the range is 0-pmax) corresponding to the average length of the buffer queue.
3) When the average length of the buffer queue > Kmax, the network device performs ECN congestion marking on all the messages of the queue, that is, the marking probability is 100%.
Typically, for conventional TCP applications, messages are ECN congestion marked on the network device based on the average length of the buffer queues shown in fig. 2 b. In this way, in the case of transient burst congestion, the source may not be notified in time to slow down.
To alleviate queue congestion as soon as possible, the network device may employ ECN congestion marking of the packet based on the instantaneous queue length of the buffer queue, e.g., marking 100% of the packet when the instantaneous queue length of the buffer queue exceeds a set threshold, so as to maintain a very low queue depth and obtain a very low forwarding delay.
As shown in fig. 2c, the process of ECN congestion marking of a packet by the network device based on the instantaneous queue length of the buffer queue may include the following implementation process.
1) When the instantaneous queue length of the buffer queue is < Kmin, the network device determines that the ECN congestion marking is not performed on the message, that is, the marking probability is 0.
2) When the instantaneous queue length of the buffer queue > =kmin, the network device performs ECN congestion marking on all the messages of the queue, that is, the marking probability is 100%.
Optionally, any of the foregoing implementations Kmin, kmax, pmax may be preconfigured on the network device, or may be configured through the controller/gateway device, which is not limited herein.
Alternatively, the approach shown in fig. 2c may be applied to a data center transmission control protocol (DATA CENTER transmission control protocol, DCTCP) protocol stack employed by a data center network (DATA CENTER network, DCN).
As illustrated in fig. 2d, the network device may determine the queue length at the time of message enqueuing, mark the enqueued message with ECN, and then queue the message at the end of the queue for scheduling. The deeper the queue length, the longer the delay for waiting for the message to be dispatched, so that the later the delay can be used for informing the source end of the slowing down.
As shown in the example of fig. 2e, to accelerate congestion notification, the current network device supports a Fast ECN (Fast ECN) marking manner, that is, determines the length of the queue at the time of dequeuing the queue message, and performs ECN congestion marking on the dequeued message, thereby accelerating transmission of a queue congestion message and relieving congestion of the queue as soon as possible.
It should be noted that, in the process of the network device performing the speed reduction processing on the packet stream, besides the congestion implementation, the speed reduction processing on the packet stream may also be implemented by other manners. For example, the network device discards the packet based on probability, and the discarding mechanism may be a mechanism based on random early detection (random early detection, RED), a mechanism based on weighted random early detection (weighted random early detection, WRED), or the like, which is not limited herein. Taking the message discarding implemented based on the WRED mechanism as an example, the WRED probability discarding curve may refer to the implementation process of the ECN probability marking curve shown in fig. 2b and fig. 2c, where the difference is that the actions applied to the message are different, and when the queue enables WRED probability discarding, the discarding action is performed on the message. Generally, WRED drops and ECN congestion marks are alternatively chosen for the same queue. For example, a conventional TCP application may turn on WRED to randomly discard packets when a buffer queue is congested or is about to be congested to prevent global synchronization of sliding windows of multiple TCP traffic flows.
In the implementation process, the basis for the network device to perform message deceleration is the average queue length or the instantaneous queue length in the buffer queue, where the average queue length or the instantaneous queue length in the buffer queue is determined based on the buffer messages of one or more message flows forwarded by the network device. In the case that the network device forwards a plurality of message flows, if any message flow is congested, the average queue length or the instantaneous queue length in the buffer queue will be too long, and the network device will further perform a speed reduction process on the plurality of message flows, where the congestion identification and congestion processing manners may possibly result in a decrease in the message forwarding efficiency.
Illustratively, as shown in the scenario of fig. 1, the source_1, the source_2, and the source_3 may all communicate with the destination through the network device 101, that is, the message flows sent by the source_1, the source_2, and the source_3 may all be transmitted through the network device 101. Taking the example that the message flow of the source_1 is congested, the message flow of the source_1 will cause the queue length of the buffer queue in the network device 101 to be greater than the threshold value, and correspondingly, the network device 101 will perform the speed reduction processing on the message flows sent by the source_1, the source_2 and the source_3. In other words, even if the message flows sent by the source_2 and the source_3 are not congested (for example, the bandwidth is smaller or the buffer message is less), the network device 101 still performs the speed reduction processing on the message flows sent by the source_2 and the source_3, which results in that the message flows sent by the source_2 and the source_3 are subjected to unnecessary speed reduction processing, and further results in a decrease in the message forwarding efficiency of the network device 101. Similarly, when WRED is enabled to randomly discard messages, it is not distinguished whether the messages are flows causing queue congestion, and each message flow transmitted by the network device is caused to be discarded with probability.
In order to solve the above problems, the present application provides a communication device and related equipment, which are configured to determine K packet flows through a Top K algorithm, and can accurately implement the identification of a congestion flow and the speed reduction processing of the congestion flow, so as to improve the packet forwarding efficiency.
Referring to fig. 3, a schematic diagram of a communication method according to the present application is shown.
It should be noted that, in the method shown in fig. 3, the first communication apparatus may be a network device (such as a router, a switch, a virtual router, an intelligent network card, etc.) between the source end and the destination end, or the first communication apparatus may be a part of a component (such as a processor, a chip, or a system on a chip) of the network device, or the first communication apparatus may be a logic module or software of the network device.
S301, one or more source ends send N message flows, and correspondingly, the first communication device receives the N message flows, wherein N is an integer larger than 1. Wherein the destination addresses of the N message flows are the same.
In one possible implementation, the destination addresses of the N packet flows are destination addresses of the terminals, or the destination addresses of the N packet flows are destination addresses of the network devices. Specifically, in the process of forwarding N message flows, the first communication device may have the same network device on the forwarding paths of the N message flows, or the terminals on the forwarding paths of the N message flows are the same, so that the first communication device may determine that destination addresses of the N message flows are the same.
For example, in fig. 1, a communication procedure with a destination terminal is taken as an example by the source terminal_1, the source terminal_2, and the source terminal_3 through the network device 101, the network device 102, and the network device 103. The set of one or more message flows sent by each of source_1, source_2, and source_3 may be one implementation example of N message flows. Accordingly, the first communication means may be any one of the network devices 101, 102 and 103 in fig. 1. For the first communication apparatus, the transmission paths of the N packet flows from the source_1, the source_2 and the source_3 all include the same network device (i.e. the network device 101, the network device 102 and the network device 103), and for this purpose, the first communication apparatus may determine that the destination addresses of the N packet flows from the source_1, the source_2 and the source_3 are the same. Or the transmission paths of the N message flows from the source_1, the source_2 and the source_3 all include the same terminal device (e.g. the destination in fig. 1), for which the first communication apparatus may determine that the destination addresses of the N message flows from the source_1, the source_2 and the source_3 are the same.
As another example, in fig. 1, a communication procedure of the source_1 with the destination through the network devices 101, 102 and 103, and a communication procedure of the source_4 with the destination through the network devices 104 and 103 are taken as an example. One or more message flows sent by source_1 and one or more sets of message flows sent by source 4 may be one implementation example of N message flows. Accordingly, the first communication means may be the network device 104 in fig. 1. For the first communication apparatus, the transmission paths of the N packet flows from the source_1 and the source_4 each include the same network device (i.e., the network device 103), and for this purpose, the first communication apparatus may determine that the destination addresses of the N packet flows from the source_1 and the source_4 are the same. Or the transmission paths of the N message flows from the source_1 and the source_4 all include the same terminal device (e.g. the destination in fig. 1), for which the first communication device may determine that the destination addresses of the N message flows from the source_1 and the source_4 are the same.
S302, the first communication device determines K message flows from N message flows, wherein K is an integer smaller than or equal to N, and the K message flows are determined based on a Top K algorithm.
It should be noted that, in step S302, the first communication device may determine K message flows in various manners, which will be described below.
In one implementation manner, the first communication device determines K message flows from the N message flows based on the Top K algorithm.
In an implementation manner, the first communication device may determine K message flows from the N message flows based on the Top K algorithm, so that the first communication device may determine the K message flows locally, so as to quickly implement determination of the K message flows.
In one possible implementation manner of the first implementation manner, the first communication device determines K message flows from the N message flows based on a Top K algorithm, which includes determining K message flows from the N message flows based on the Top K algorithm through parameters of the N message flows, where the parameters include at least one of a Bandwidth (BW) of the flow, a cumulative number of bytes of the flow, a duration of the flow, a number of messages in a buffer queue of the flow, and a number of bytes in a buffer queue of the flow. Specifically, in the process that the first communication device determines K message flows from the N message flows based on the Top K algorithm, the first communication device may use the at least one parameter as a basis for determining the K message flows, so as to improve flexibility of implementation of the scheme.
It should be understood that the bandwidth of a stream may be replaced with other representations such as the throughput of the stream, the rate of the stream, etc.
It should be noted that, among the parameters of the at least one packet flow, the value of any parameter is positively correlated with the possibility of congestion of the packet flow. In other words, the greater the bandwidth of a flow of a certain packet flow (or the greater the cumulative number of bytes of the flow, the longer the duration of the flow, the greater the number of packets in the flow's cache queue, the greater the number of bytes in the flow's cache queue, etc.), the greater the likelihood that the first communication device will congestion when forwarding the packet flow, and vice versa, the lesser the bandwidth of a flow of a certain packet flow (or the lesser the cumulative number of bytes of the flow, the shorter the duration of the flow, the lesser the number of packets in the flow's cache queue, the lesser the number of bytes in the flow's cache queue, etc.), the lesser the likelihood that the first communication device will congestion when forwarding the packet flow. Therefore, the implementation mode that the at least one parameter is used as one of the input parameters of the Top K algorithm can improve the accuracy of determining K message flows with congestion based on the Top K algorithm.
Optionally, in the case that the parameter includes two or more parameters of the at least one item, the two or more parameters may be used as a basis for determining K message flows by using a Top K algorithm, or a weighted result of the two or more parameters may be used as a basis for determining K message flows by using a Top K algorithm, which is not limited herein.
For example, taking the parameter including the cumulative byte number of the flows and the duration of the flows as an example, in the process that the first communication device determines K message flows from the N message flows based on the Top K algorithm, the first communication device may determine whether each flow in the N message flows Is K message flows of Top K, and the determination result may be expressed as Is Top k_x (where x takes a value of 1 to N). For example, when the value of the determination result is the first value, the stream corresponding to the field is indicated to belong to the Top K stream, and when the value of the determination result is the second value, the stream corresponding to the field is indicated not to belong to the Top K stream. Wherein the first value is 0 and the second value is 1, or the first value is 1 and the second value is 0. Optionally, for an xth stream of the N streams, the determination result satisfies:
Is Top_x=Func(ByteCount,Duration);
Where ByteCount denotes the cumulative number of bytes of the xth stream, duration denotes the Duration of the xth stream, func (ByteCount, duration) denotes the function associated with ByteCount and Duration. In this way, the first communication device may determine K message flows from the N message flows.
Optionally, the parameter may include other parameters related to the possibility of congestion (e.g., positive correlation, negative correlation) when the packet flows occur, in addition to at least one parameter described above, which is not limited herein.
In one possible implementation manner, the bandwidth of any one of the K message flows determined in step S302 by the first communication device is greater than or equal to the threshold value, or the bandwidth of any one of the K message flows determined in step S302 by the first communication device is greater than or equal to the bandwidth of the other message flows except for the K message flows in the N message flows. Specifically, the bandwidth of the K message flows is greater than or equal to a threshold value, or the bandwidth of the K message flows is greater than or equal to the bandwidth of other N-K message flows in the N message flows, from the K message flows determined by the Top K algorithm. Because the bandwidth of the message flow is positively correlated with the congestion possibility of the message flow, the method can determine the message flow with larger bandwidth as K message flows for executing the deceleration processing through the Top K algorithm, so as to reduce the congestion possibility as much as possible.
It should be understood that the bandwidth of any one of the K message flows is greater than or equal to the bandwidth of the other message flows except for the K message flows in the N message flows, which may be expressed as the K message flows being the message flows with the greater bandwidth of the N message flows, the K message flows being the message flows with the greatest bandwidth of the N message flows, and the bandwidth of the K message flows being greater than or equal to the bandwidth of the other N-K message flows in the N message flows.
As an implementation example, taking the example that the parameter includes bandwidth and N is greater than 2, the first communication device may maintain table 1 below locally, and determine K packet flows in table 1 through a Top K algorithm.
TABLE 1
Key (key) Bandwidth of a communication device
Stream_1 BW1
Stream_2 BW2
... ...
Stream_N BWN
For example, the first communication device may determine, based on the Top K algorithm and the N BWs (i.e., BW 1, BW 2.. BW N), the K corresponding message flows (i.e., K message flows) with larger bandwidths, where the bandwidth of any one of the K message flows is greater than or equal to the threshold value, or the bandwidth of any one of the K message flows determined by the first communication device in step S302 is greater than or equal to the bandwidths of the other message flows except for the K message flows in the N message flows.
Alternatively, in table 1, the information in the key column may be an identification of a stream corresponding to the N streams, an index of the stream, or the like. For example, the identification of the flow may be implemented by a five-tuple (i.e., source IP address, destination IP address, source port number, destination port number, transport layer protocol), a three-tuple (i.e., source IP address, destination IP address, transport layer protocol), or the like.
As another implementation example, taking N greater than 2 as an example, the first communication apparatus may maintain locally the following table 2, the table 2 may include indication information indicating whether it belongs to a Top K stream, and the indication information is determined based on a Top K algorithm.
TABLE 2
In table 2, the indication information indicating whether the stream belongs to the Top K stream Is expressed as an "Is Top k_x (x Is 1 to N)" field, for example, when the value of the field Is a first value, the stream corresponding to the field Is indicated to belong to the Top K stream, and when the value of the field Is a second value, the stream corresponding to the field Is indicated not to belong to the Top K stream. Wherein the first value is 0 and the second value is 1, or the first value is 1 and the second value is 0. In other words, the first communication device may determine K packet flows through the value of the "Is Top k_x" field.
It will be appreciated that, for the first communication device, after the first communication device receives the message, in the case that the destination address of the message is the same as the N message flows in step S301, the first communication device may determine that the message belongs to a certain flow of the N flows based on the information in the first column in table 2. And, the first communication device determines whether the message belongs to the Top K flow based on the information in the second column in table 2, if not, the first communication device may determine not to perform the speed reduction processing on the message, and if so, the first communication device may perform the speed reduction processing on the message (for example, through ECN congestion marking implementation or discard implementation).
Optionally, in the case that the first communication apparatus includes a plurality of output ports, since the transmission queues of different output ports may be independent from each other, for this reason, the first communication apparatus may maintain a flow table (the flow table may refer to the manner shown in table 1 or table 2) for each output port, and then the method shown in fig. 3 may be executed for each output port, so as to achieve improvement of packet forwarding efficiency of the plurality of output ports.
Optionally, to avoid the flow table entry from expanding, when any one of the N message flows ends or is inactive for a period of time, the first communication device may age and delete some or all of the table entries in table 1 or table 2.
In a second implementation manner, as shown in fig. 4, before step S302, step a is further included, the second communication device sends first information in step S302, and correspondingly, the first communication device receives first information in step a, where the first information is used to indicate the K message flows. Thereafter, in step S302, the first communication device determining K message flows from the N message flows includes the first communication device determining the K message flows from the N message flows based on the first information.
The second communication device may be a communication apparatus different from the first communication device, for example, the second communication device may be a communication apparatus such as a router, a switch, a virtual router, an intelligent network card, or the like.
Or the second communication device and the first communication device may be different hardware modules/software modules/logic modules/chips in the communication device, for example, the first communication device may be a switch buffer (SWB), a memory management unit (memory management unit, MMU), a packet processing Pipeline (Pipeline), a forwarding chip, etc. in the communication device, and the second communication device may be a forwarding chip in the communication device, a coprocessor (service Co-Processor) external to the forwarding chip, etc.
In fig. 4, the order of execution between step S301 and step a is not limited. For example, step S301 is performed first and step a is performed later. As another example, step a is performed first and step S301 is performed later. The first communication device may include a plurality of ingress ports, where one ingress port may receive the first information from the second communication device through step a, and the other ingress port may receive N packet streams from one or more source through step S301, in other words, the first communication device may perform step S301 and step a independently at different ingress ports, respectively.
In the second implementation manner, in the process that the first communication device determines K message flows from the N message flows based on the Top K algorithm, the first communication device may use the received first information as a determination basis of the K message flows, so as to save calculation overhead of the first communication device.
It should be understood that, in the second implementation manner, the second communication device may determine K message flows from the N message flows based on the Top K algorithm, and the specific implementation process may refer to the first implementation manner, which is not described herein.
As an implementation example, the first information sent by the second communication device in step a includes the information in table 2 above.
As another implementation example, the first information sent by the second communication apparatus in step a may include information in table 3 below.
TABLE 3 Table 3
Key (key) Value (value) Bandwidth of a communication device
Stream_1 IsTopK_1 BW1
Stream_2 IsTopK_2 BW2
... ...
Stream_N IsTopK_N BWN
In table 3, the first information may also carry parameters (e.g., bandwidth) of each of the N streams, as compared to table 2.
Similarly, in tables 2 and 3, the information in the column of keys may be the identification of the streams corresponding to the N streams, the index of the streams, and the like. For example, the identification of the flow may be implemented by a five-tuple (i.e., source IP address, destination IP address, source port number, destination port number, transport layer protocol), a three-tuple (i.e., source IP address, destination IP address, transport layer protocol), or the like.
Further, the first information may be realized in other ways than the examples shown in tables 2 and 3 above. For example, the first information may include an identification of a flow corresponding to the K flows, an index of the flow, and the like.
Optionally, in the case that the first communication device includes a plurality of output ports, since the transmission queues of different output ports may be independent from each other, for this purpose, the second communication device may maintain a flow table for each output port (the flow table may refer to the manner shown in table 2 or table 3), and send the flow table to the first communication device through one or more pieces of first information, and then the first communication device may perform the method shown in fig. 3 for each output port, so as to achieve an improvement of the packet forwarding efficiency of the plurality of output ports.
In a possible implementation manner, in the method shown in fig. 3, after step S302, the method further includes the first communication device determining not to perform the speed reduction processing on other message flows except the K message flows in the N message flows. Specifically, in the process of forwarding N message flows, the first communication device may accurately identify a congestion flow and perform speed reduction processing on the congestion flow by using K message flows determined by the first communication device through a Top K algorithm, and may also determine that speed reduction processing is not performed on other message flows except for the K message flows in the N message flows. Therefore, compared with the implementation mode of the speed reduction processing on any one of the N message flows under the condition that the message flow is congested, the method and the device can avoid the influence on the speed reduction of other message flows so as to improve the service performance of the service to which the other message flows belong.
S303, the first communication device performs speed reduction processing on the K message streams.
In step S303, in the process of performing the speed reduction processing on the K packet flows by the first communication device, the first communication device may perform the speed reduction processing on the K packet flows in a direct or indirect manner.
For example, in the process that the first communication device performs the speed-down processing on the K packet flows in a direct manner, the first communication device may discard the packets of the K packet flows based on the first probability. In addition, the dropping process causes the source end of the K packet flows to perceive packet loss, and the source end may perform a speed reduction process based on the perceived packet loss (for example, the protocol stack of the source end implements speed reduction by reducing the sliding window). It should be understood that, the foregoing dropping of the messages of the K message flows by the first communication device may reduce the flow rate of the K message flows, and/or the source end performs the speed reduction process based on the perceived packet loss condition may also reduce the flow rate of the K message flows.
The discarding mechanism may be based on random early detection (random early detection, RED), weighted random early detection (weighted random early detection, WRED), etc., as examples, but is not limited thereto.
For another example, in the process that the first communication device performs the speed reduction processing on the K message flows in an indirect manner, the first communication device may forward the K message flows after adding a flag to the messages of the K message flows based on the second probability, where the flag is used to trigger the receiving direction of the K message flows to send indication information to the sender of the K message flows, so that when the sender subsequently transmits other messages of the K message flows, the speed of other messages of the K message flows can be reduced based on the indication information. Illustratively, the indicia may be a display congestion notification (explicit congestion notification, ECN) identification, or congestion indication (congestion indication, CI), or the like, without limitation. Illustratively, the indication information may be a congestion notification message (congestion notification message, CNM), or a congestion notification message (congestion notification packet, CNP), or the like, which is not limited herein.
It will be appreciated that the first probability or the second probability may be determined by a curve probability based on an average length of a buffer queue in a transmission control protocol (transmission control protocol, TCP), a curve probability based on an instantaneous length of a buffer queue in a data center transmission control protocol (DATA CENTER transmission control protocol, DCTCP), or by other means, without limitation. Further, the deceleration processing in step S303 may also refer to the description of the implementation examples shown in fig. 2a to 2e described above.
Based on the technical solution shown in fig. 3, after the first communication device receives N message flows with the same destination address in step S301, the first communication device determines K message flows from the N message flows in step S302, and performs a deceleration process on the K message flows in step S303. The K message flows are flows determined based on a Top K algorithm. In other words, in the process of forwarding N message flows with the same destination address, the first communication device performs the speed reduction processing according to K message flows determined based on the Top K algorithm in the N flows. And the processing object of the first communication device executing the speed-down processing is the K message streams. Therefore, compared with the implementation mode of the N message flows for carrying out the speed reduction processing under the condition that any one of the N message flows is congested in the process of forwarding the N message flows, the method has the advantages that the K message flows determined through the Top K algorithm can accurately realize the identification of the congested flows and the speed reduction processing of the congested flows, so that the message forwarding efficiency is improved.
In addition, in the above technical solution, when K is smaller than N, the first communication device can reduce the influence caused by congestion of the packet flow and avoid the influence on other packet flows as much as possible by accurately implementing the method of identifying the congestion flow and reducing the speed of the congestion flow.
As an application example, as shown in fig. 5, an application example of the method shown in fig. 3 is shown. In this example, servers connected to Leaf node (denoted Leaf 1) include s11, s 12..s 17, s18, which may access a port of Leaf 1 at a rate of 25GE, and an upstream port of Leaf 1 may be connected to a Spine (Spine) node at a 100GE link. Similarly, the downstream ports of the Spine node may also be connected to other Leaf nodes, such as Leaf 2 in the figure, and the servers to which the Leaf 2 is connected may include s21, s 22..s 27, s28.
Alternatively, the scenario shown in fig. 5 may be an application scenario such as TCP/DCTCP/RoCEv.
In fig. 5, multiple servers cross the switch to access another server, the switch upstream queue opens the differentiated congestion flow flag, the servers with large traffic are slowed down, and the servers with small traffic are not affected.
For example, leaf 1 may be the first communication device in the method shown in fig. 3, and the S11, S12, S17 server under Leaf 1 concurrently accesses the S21 server under Leaf2, and the S18 server under Leaf 1 accesses the S22 server under Leaf2, i.e., the N message streams received by Leaf 1 in step S301 include the message streams of the S11, S12..s 17, S18 servers. The message traffic bandwidths of s11, s12, s17 servers are large, and the message traffic bandwidth of s18 servers is relatively small.
In step S302, leaf 1 may determine K message flows among N message flows, in this example, the message flows of S11, S12, the S17 server. In other words, leaf 1 may receive the packet flows from the s11, s12, s17, s18 servers, calculate the bandwidth of the packet flows, determine whether the packet flows are TopN flows by using a bandwidth threshold, and consider the packet flows to be TopN flows when the bandwidth exceeds a certain threshold (e.g., 1 Gbps).
The message traffic bandwidths of the s11, s12, and s17 servers all exceed 1Gbps, and the message traffic bandwidth of the s18 server is below 1 Gbps. The concurrent multiple server flows cause the Leaf 1 uplink queue to gradually congestion, and accordingly, in step S303, the first communication device performs ECN congestion marking on TopN flows, that is, message flows sent by S11, S12, and S17 servers according to a preconfigured (or configured) ECN probability curve, and finally notifies the servers of the ECN congestion marking to slow down, while the message flows between the S18 and S22 servers are not slowed down, so that it is ensured that the application performance of the first communication device is not affected by the congestion flows of other servers.
Thus, for Leaf 1, the upstream queue opens differential congestion flow drops and servers with larger traffic are randomly dropped and servers with smaller traffic are unaffected. Similarly, except for when the Leaf 1 uplink port is congested in a queue, congestion flows are randomly discarded according to a configured WRED probability discard curve, and non-congestion flows are not discarded, so that packet traffic between s18 and s22 servers has no packet loss (or less packet loss), and application performance is not affected by congestion traffic of other servers.
Referring to fig. 6, an embodiment of the present application provides a communication device 600 that can implement the functions of the communication device (i.e., the first communication device or the second communication device) in the above method embodiment, so that the beneficial effects of the above method embodiment can be also implemented.
When the communication device 600 is used for implementing the function of the first communication device, the communication device includes a transceiver unit 601 and a processing unit 602, where the transceiver unit 601 is configured to receive N message flows, N is an integer greater than 1, destination addresses of the N message flows are the same, the processing unit 602 is configured to determine K message flows from the N message flows, K is an integer less than or equal to N, where the K message flows are flows determined based on a Top K algorithm, and the processing unit 602 is further configured to perform a speed reduction process on the K message flows.
When the communication device 600 is configured to implement the function of the first communication device, the communication device includes a transceiver unit 601 and a processing unit 602, where the processing unit 602 is configured to determine K message flows from N message flows based on a Top K algorithm, N is an integer greater than 1, and K is an integer less than or equal to N, where destination addresses of the N message flows are the same, the transceiver unit 601 is configured to send first information, where the first information is configured to indicate that the K message flows are flows determined based on the Top K algorithm, and the first information is configured to perform a speed reduction process on the K message flows.
It should be noted that, for the content of the information execution process of each unit of the communication device 600, reference may be specifically made to the description in the foregoing method embodiment of the present application, and the description is omitted here.
The embodiment of the application further provides a communication device 700, and referring to fig. 7, fig. 7 is a schematic structural diagram of the communication device 700 according to the embodiment of the application.
The communication device 700 shown in fig. 7 comprises a memory 702 and at least one processor 701.
Alternatively, the processor 701 implements the method in the above embodiment by reading the instructions stored in the memory 702, or the processor 701 may implement the method in the above embodiment by internally stored instructions. In the case where the processor 701 implements the method in the above embodiment by reading the instructions stored in the memory 702, the instructions for implementing the method provided in the above embodiment of the present application are stored in the memory 702.
Alternatively, at least one processor 701 is one or more CPUs, or a single-core CPU, or a multi-core CPU.
Further optionally, the at least one processor 701 may be further configured to perform the implementation procedure corresponding to the processing unit 602 in the foregoing embodiment shown in fig. 6, and achieve corresponding beneficial effects, which are not described herein.
Memory 702 includes, but is not limited to, RAM, ROM, EPROM, flash memory, or optical memory, etc. The memory 702 holds instructions for the operating system.
After the program instructions stored in the memory 702 are read by the at least one processor 701, the communication device performs the corresponding operations in the foregoing embodiments.
Optionally, the communication device shown in fig. 7 further comprises a network interface 703. The network interface 703 may be a wired interface, such as an FDDI, GE interface, or the network interface 703 may be a wireless interface. The network interface 703 is used to perform data transceiving in fig. 3 and related embodiments.
Further optionally, the network interface 703 may also be used to execute the implementation procedure corresponding to the transceiver unit 601 in the embodiment shown in fig. 6, and achieve corresponding beneficial effects, which are not described herein.
It should be understood that the network interface 703 has a function of receiving data and a function of transmitting data, and the function of "receiving data" and the function of "transmitting data" may be integrated in the same transceiver interface, or the function of "receiving data" and the function of "transmitting data" may be implemented in different interfaces, which is not limited herein. In other words, the network interface 703 may include one or more interfaces for implementing a function of "receiving data" and a function of "transmitting data".
After the processor 701 reads the program instructions in the memory 702, the other functions that can be executed by the communication device 700 are described in the foregoing method embodiments.
Optionally, the communication device 700 further comprises a bus 704, and the processor 701 and the memory 702 are typically connected to each other through the bus 704, but may be connected to each other in other manners.
Optionally, the communication apparatus 700 further comprises an input/output interface 705, where the input/output interface 705 is configured to connect to an input device, and receive relevant configuration information input by a user or other device capable of linking with the communication apparatus 700 via the input device. Input devices include, but are not limited to, a keyboard, touch screen, microphone, and the like.
The communication device 700 provided in the embodiment of the present application is configured to perform the method performed by the communication device (the first communication device or the second communication device) provided in each of the above method embodiments, and achieve the corresponding beneficial effects.
As an implementation example, the communication apparatus 700 performs the function of the first communication apparatus in fig. 3 and related embodiments, where the communication apparatus 800 performs the function of other devices (e.g., one or more source ends corresponding to N message flows) in fig. 3 and related embodiments. The first communication device 700 is configured to receive N message flows of the communication device 800, where N is an integer greater than 1, destination addresses of the N message flows are the same, the processing unit is configured to determine K message flows from the N message flows, where K is an integer less than or equal to N, the K message flows are determined based on a Top K algorithm, and the communication device 700 is further configured to perform a speed-down process on the K message flows.
As another implementation example, the communication apparatus 700 performs the functions of the second communication apparatus in fig. 4 and related embodiments, where the communication apparatus 800 performs the functions of other devices (e.g., the first communication apparatus) in fig. 4 and related embodiments. The communication device 700 is configured to determine K message flows from N message flows based on a Top K algorithm, where N is an integer greater than 1 and K is an integer less than or equal to N, and destination addresses of the N message flows are the same, and the communication device 700 is configured to send first information to the communication device 800, where the first information is used to indicate that the K message flows are flows determined based on the Top K algorithm, and the first information is used to perform a speed reduction process on the K message flows.
The specific implementation of the communication device shown in fig. 7 may refer to the descriptions in the foregoing method embodiments, and will not be described in detail herein.
The embodiment of the application also provides a communication system which at least comprises the first communication device for executing the embodiment of the method, or comprises the first communication device and the second communication device for executing the embodiment of the method.
It should be understood that, in the communication system, each network device may also apply other methods related to the foregoing embodiments and achieve corresponding technical effects, which are not described herein.
In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
While the application has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art that the foregoing embodiments may be modified or equivalents may be substituted for some of the features thereof, and that the modifications or substitutions do not depart from the spirit of the embodiments.

Claims (27)

1.一种通信方法,其特征在于,包括:1. A communication method, comprising: 接收N个报文流,N为大于1的整数;其中,所述N个报文流的目的地址相同;Receive N message flows, where N is an integer greater than 1; wherein the destination addresses of the N message flows are the same; 从所述N个报文流中确定K个报文流,K为小于或等于N的整数;其中,所述K个报文流为基于Top K算法确定的流;Determine K message flows from the N message flows, where K is an integer less than or equal to N; wherein the K message flows are flows determined based on a Top K algorithm; 对所述K个报文流进行降速处理。The K message flows are decelerated. 2.根据权利要求1所述的方法,其特征在于,所述从所述N个报文流中确定K个报文流,包括:2. The method according to claim 1, wherein determining K message flows from the N message flows comprises: 基于所述Top K算法从所述N个报文流中确定K个报文流。K message flows are determined from the N message flows based on the Top K algorithm. 3.根据权利要求2所述的方法,其特征在于,所述基于Top K算法从所述N个报文流中确定K个报文流,包括:3. The method according to claim 2, characterized in that the determining K message flows from the N message flows based on the Top K algorithm comprises: 基于Top K算法通过所述N个报文流的参数从所述N个报文流中确定K个报文流,所述参数包括以下至少一项:Determine K message flows from the N message flows based on the Top K algorithm by using parameters of the N message flows, where the parameters include at least one of the following: 流的带宽,流的累计字节数,流的持续时间,流的缓存队列中的报文数量,流的缓存队列中的字节数。The bandwidth of the flow, the cumulative number of bytes of the flow, the duration of the flow, the number of packets in the cache queue of the flow, and the number of bytes in the cache queue of the flow. 4.根据权利要求1所述的方法,其特征在于,在所述从所述N个报文流中确定K个报文流之前,所述方法还包括:4. The method according to claim 1, characterized in that before determining K message flows from the N message flows, the method further comprises: 接收第一信息,所述第一信息用于指示所述K个报文流;receiving first information, where the first information is used to indicate the K message flows; 所述从所述N个报文流中确定K个报文流,包括:The determining K message flows from the N message flows comprises: 基于所述第一信息从所述N个报文流中确定所述K个报文流。The K message flows are determined from the N message flows based on the first information. 5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:5. The method according to any one of claims 1 to 4, characterized in that the method further comprises: 确定不对所述N个报文流中除了所述K个报文流的其他报文流进行降速处理。Determine not to perform speed reduction processing on other message flows among the N message flows except the K message flows. 6.根据权利要求1至5任一项所述的方法,其特征在于,6. The method according to any one of claims 1 to 5, characterized in that: 所述K个报文流中任一报文流的带宽大于或等于阈值;或,The bandwidth of any message flow among the K message flows is greater than or equal to a threshold; or, 所述K个报文流中任一报文流的带宽均大于或等于所述N个报文流中除了所述K个报文流的其他报文流的带宽。The bandwidth of any message flow among the K message flows is greater than or equal to the bandwidth of other message flows among the N message flows except the K message flows. 7.根据权利要求1至6任一项所述的方法,其特征在于,7. The method according to any one of claims 1 to 6, characterized in that: 所述N个报文流的目的地址是终端的目的地址;The destination addresses of the N message flows are the destination addresses of the terminals; 或,or, 所述N个报文流的目的地址是网络设备的目的地址。The destination addresses of the N message flows are destination addresses of network devices. 8.一种通信方法,其特征在于,包括:8. A communication method, comprising: 基于Top K算法从N个报文流中确定K个报文流,N为大于1的整数,K为小于或等于N的整数;其中,所述N个报文流的目的地址相同;Determine K message flows from N message flows based on the Top K algorithm, where N is an integer greater than 1 and K is an integer less than or equal to N; wherein the destination addresses of the N message flows are the same; 发送第一信息,所述第一信息用于指示所述K个报文流为基于Top K算法确定的流;所述第一信息用于对所述K个报文流进行降速处理。Sending first information, where the first information is used to indicate that the K message flows are flows determined based on a Top K algorithm; the first information is used to reduce the speed of the K message flows. 9.根据权利要求8所述的方法,其特征在于,9. The method according to claim 8, characterized in that 所述K个报文流中任一报文流的带宽大于或等于阈值;或,The bandwidth of any message flow among the K message flows is greater than or equal to a threshold; or, 所述K个报文流中任一报文流的带宽均大于或等于所述N个报文流中除了所述K个报文流的其他报文流的带宽。The bandwidth of any message flow among the K message flows is greater than or equal to the bandwidth of other message flows among the N message flows except the K message flows. 10.根据权利要求8或9所述的方法,其特征在于,10. The method according to claim 8 or 9, characterized in that: 所述N个报文流的目的地址是终端的目的地址;The destination addresses of the N message flows are the destination addresses of the terminals; 或,or, 所述N个报文流的目的地址是网络设备的目的地址。The destination addresses of the N message flows are destination addresses of network devices. 11.一种通信装置,其特征在于,包括收发单元和处理单元;11. A communication device, comprising a transceiver unit and a processing unit; 所述收发单元用于接收N个报文流,N为大于1的整数;其中,所述N个报文流的目的地址相同;The transceiver unit is used to receive N message streams, where N is an integer greater than 1; wherein the destination addresses of the N message streams are the same; 所述处理单元用于从所述N个报文流中确定K个报文流,K为小于或等于N的整数;其中,所述K个报文流为基于Top K算法确定的流;The processing unit is used to determine K message flows from the N message flows, where K is an integer less than or equal to N; wherein the K message flows are flows determined based on a Top K algorithm; 所述处理单元还用于对所述K个报文流进行降速处理。The processing unit is further configured to perform speed reduction processing on the K message flows. 12.根据权利要求11所述的装置,其特征在于,所述处理单元用于从所述N个报文流中确定K个报文流,包括:12. The device according to claim 11, wherein the processing unit is used to determine K message flows from the N message flows, comprising: 所述处理单元用于基于所述Top K算法从所述N个报文流中确定K个报文流。The processing unit is used to determine K message flows from the N message flows based on the Top K algorithm. 13.根据权利要求12所述的装置,其特征在于,所述处理单元用于基于Top K算法从所述N个报文流中确定K个报文流,包括:13. The device according to claim 12, wherein the processing unit is used to determine K message flows from the N message flows based on a Top K algorithm, comprising: 所述处理单元用于基于Top K算法通过所述N个报文流的参数从所述N个报文流中确定K个报文流,所述参数包括以下至少一项:The processing unit is used to determine K message flows from the N message flows based on the Top K algorithm by using parameters of the N message flows, where the parameters include at least one of the following: 流的带宽,流的累计字节数,流的持续时间,流的缓存队列中的报文数量,流的缓存队列中的字节数。The bandwidth of the flow, the cumulative number of bytes of the flow, the duration of the flow, the number of packets in the cache queue of the flow, and the number of bytes in the cache queue of the flow. 14.根据权利要求11所述的装置,其特征在于,14. The device according to claim 11, characterized in that 所述收发单元还用于接收第一信息,所述第一信息用于指示所述K个报文流;The transceiver unit is further used to receive first information, where the first information is used to indicate the K message flows; 所述处理单元用于从所述N个报文流中确定K个报文流,包括:The processing unit is used to determine K message flows from the N message flows, including: 所述处理单元用于基于所述第一信息从所述N个报文流中确定所述K个报文流。The processing unit is used to determine the K message flows from the N message flows based on the first information. 15.根据权利要求11至14任一项所述的装置,其特征在于,所述处理单元还用于确定不对所述N个报文流中除了所述K个报文流的其他报文流进行降速处理。15. The device according to any one of claims 11 to 14, characterized in that the processing unit is further used to determine not to perform speed reduction processing on other message flows among the N message flows except the K message flows. 16.根据权利要求11至15任一项所述的装置,其特征在于,16. The device according to any one of claims 11 to 15, characterized in that 所述K个报文流中任一报文流的带宽大于或等于阈值;或,The bandwidth of any message flow among the K message flows is greater than or equal to a threshold; or, 所述K个报文流中任一报文流的带宽均大于或等于所述N个报文流中除了所述K个报文流的其他报文流的带宽。The bandwidth of any message flow among the K message flows is greater than or equal to the bandwidth of other message flows among the N message flows except the K message flows. 17.根据权利要求11至16任一项所述的装置,其特征在于,17. The device according to any one of claims 11 to 16, characterized in that 所述N个报文流的目的地址是终端的目的地址;The destination addresses of the N message flows are the destination addresses of the terminals; 或,or, 所述N个报文流的目的地址是网络设备的目的地址。The destination addresses of the N message flows are destination addresses of network devices. 18.一种通信装置,其特征在于,包括收发单元和处理单元;18. A communication device, characterized in that it comprises a transceiver unit and a processing unit; 所述处理单元用于基于Top K算法从N个报文流中确定K个报文流,N为大于1的整数,K为小于或等于N的整数;其中,所述N个报文流的目的地址相同;The processing unit is used to determine K message flows from N message flows based on the Top K algorithm, where N is an integer greater than 1 and K is an integer less than or equal to N; wherein the destination addresses of the N message flows are the same; 所述收发单元用于发送第一信息,所述第一信息用于指示所述K个报文流为基于Top K算法确定的流;所述第一信息用于对所述K个报文流进行降速处理。The transceiver unit is used to send first information, where the first information is used to indicate that the K message flows are flows determined based on a Top K algorithm; the first information is used to perform speed reduction processing on the K message flows. 19.根据权利要求18所述的装置,其特征在于,19. The device according to claim 18, characterized in that 所述K个报文流中任一报文流的带宽大于或等于阈值;或,The bandwidth of any message flow among the K message flows is greater than or equal to a threshold; or, 所述K个报文流中任一报文流的带宽均大于或等于所述N个报文流中除了所述K个报文流的其他报文流的带宽。The bandwidth of any message flow among the K message flows is greater than or equal to the bandwidth of other message flows among the N message flows except the K message flows. 20.根据权利要求18或19所述的装置,其特征在于,20. The device according to claim 18 or 19, characterized in that 所述N个报文流的目的地址是终端的目的地址;The destination addresses of the N message flows are the destination addresses of the terminals; 或,or, 所述N个报文流的目的地址是网络设备的目的地址。The destination addresses of the N message flows are destination addresses of network devices. 21.一种通信系统,其特征在于,包括第一通信装置以及一个或多个设备;21. A communication system, comprising a first communication device and one or more devices; 其中,所述第一通信装置用于执行如权利要求1至7任一项所述的方法;其中,所述N个报文流来自于所述一个或多个设备。Wherein, the first communication device is used to execute the method according to any one of claims 1 to 7; wherein, the N message streams come from the one or more devices. 22.根据权利要求21所述的系统,其特征在于,所述系统还包括第二通信装置;22. The system according to claim 21, characterized in that the system further comprises a second communication device; 其中,所述第二通信装置用于执行如权利要求8至10任一项所述的方法。Wherein, the second communication device is used to execute the method according to any one of claims 8 to 10. 23.一种通信装置,其特征在于,包括至少一个处理器;23. A communication device, comprising at least one processor; 所述至少一个处理器用于执行如权利要求1至7中任一项所述的方法,或,如权利要求8至10中任一项所述的方法。The at least one processor is configured to execute the method of any one of claims 1 to 7, or the method of any one of claims 8 to 10. 24.根据权利要求23所述的通信装置,其特征在于,所述通信装置为芯片或芯片系统。24. The communication device according to claim 23, characterized in that the communication device is a chip or a chip system. 25.一种计算机可读存储介质,其特征在于,所述介质存储有指令,当所述指令被处理器执行时,实现权利要求1至10中任一项所述的方法。25. A computer-readable storage medium, characterized in that the medium stores instructions, and when the instructions are executed by a processor, the method according to any one of claims 1 to 10 is implemented. 26.一种计算机程序产品,其特征在于,包括指令,当所述指令在处理器上运行时,实现如权利要求1至10中任一项所述的方法。26. A computer program product, comprising instructions, which, when executed on a processor, implement the method according to any one of claims 1 to 10. 27.一种芯片,其特征在于,包括处理器,所述处理器用于支持通信装置实现如权利要求1至10任一项所述的方法。27. A chip, characterized by comprising a processor, wherein the processor is used to support a communication device to implement the method according to any one of claims 1 to 10.
CN202311529140.3A 2023-11-15 2023-11-15 A communication method and related equipment Pending CN120017588A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311529140.3A CN120017588A (en) 2023-11-15 2023-11-15 A communication method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311529140.3A CN120017588A (en) 2023-11-15 2023-11-15 A communication method and related equipment

Publications (1)

Publication Number Publication Date
CN120017588A true CN120017588A (en) 2025-05-16

Family

ID=95659517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311529140.3A Pending CN120017588A (en) 2023-11-15 2023-11-15 A communication method and related equipment

Country Status (1)

Country Link
CN (1) CN120017588A (en)

Similar Documents

Publication Publication Date Title
US10432556B1 (en) Enhanced audio video bridging (AVB) methods and apparatus
CN108243116B (en) Flow control method and switching equipment
CN109120544B (en) A transmission control method based on host-side traffic scheduling in a data center network
US7447152B2 (en) Controlling traffic congestion
CN108462646B (en) Message processing method and device
CN113726671B (en) Network congestion control method and related products
US11223568B2 (en) Packet processing method and apparatus
WO2016033970A1 (en) Traffic management implementation method and apparatus and network device
CN111224888A (en) Method for sending message and message forwarding device
CN111431811A (en) A message transmission control method, device and network device
WO2022028342A1 (en) Method for processing congestion flow and device
US20170195227A1 (en) Packet storing and forwarding method and circuit, and device
CN117221225A (en) Network congestion notification method, device and storage medium
CN118945244A (en) Data transmission method, device, equipment and computer readable storage medium
CN118337709A (en) Precise congestion control method, device, equipment and medium for data transmission
CN113595920B (en) Network congestion control method and equipment
CN119011476B (en) Method and system for rapidly transmitting ECN congestion information
Avci et al. Congestion aware priority flow control in data center networks
CN116132335A (en) Method and device for identifying stream
CN118827547A (en) Congestion control method, device, equipment, storage medium and product
CN120017588A (en) A communication method and related equipment
WO2023041142A1 (en) A device and method for flow detection and processing
CN114448903A (en) A message processing method, device and communication equipment
US20240223504A1 (en) Packet processing method, flow specification transmission method, device, system, and storage medium
CN119449740A (en) A switch, data transmission method and medium based on FPGA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication