WO2020244422A1 - 队列拥塞控制方法、装置、设备及存储介质 - Google Patents

队列拥塞控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2020244422A1
WO2020244422A1 PCT/CN2020/092343 CN2020092343W WO2020244422A1 WO 2020244422 A1 WO2020244422 A1 WO 2020244422A1 CN 2020092343 W CN2020092343 W CN 2020092343W WO 2020244422 A1 WO2020244422 A1 WO 2020244422A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
statistical
queue
data packet
congestion
Prior art date
Application number
PCT/CN2020/092343
Other languages
English (en)
French (fr)
Inventor
王同乐
郑炎
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP20818084.4A priority Critical patent/EP3979577B1/en
Publication of WO2020244422A1 publication Critical patent/WO2020244422A1/zh

Links

Images

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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/20Traffic policing
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Definitions

  • This application relates to the field of communication technologies, and in particular to a method, device, device, and storage medium for queue congestion control.
  • PFC IEEE 802.1Qbb Priority-based Flow Control
  • PFC flow control will cause all the traffic of the same priority on the ingress port of the device to be blocked at the same time, which affects the congestion of packets forwarded to other non-congested egresses, causing the head of the line to block HOLB( head-of-the-line-blocking), even spreading congestion, causing forwarding delay and packet loss.
  • the ingress queue does not exceed the PFC flow control threshold, but the egress queue is already congested and is about to lose packets, it is impossible to directly use the ingress PFC flow control technology to back pressure to the upstream device port.
  • congestion isolation technology is to isolate and manage data packets in a congested queue by randomly selecting them as congested flows. This management control method selects congested flows with low accuracy and poor congestion control effects. Especially when there are multiple flows in the congested queue.
  • the embodiments of the present application provide a queue congestion control method, device, device, and storage medium.
  • the embodiment of the present application provides a method for queue congestion control, including:
  • a statistical flow that meets the congestion isolation control condition is selected from the statistical flow as an isolated statistical flow
  • the embodiment of the present application provides a queue congestion control device, including:
  • the congestion management control module is used for when the current queue length of the egress queue of the egress port is greater than the congestion length threshold, the egress queue uniquely sets a statistical flow including data packet statistical information in the flow table for the egress queue. Perform statistics on the data packets corresponding to each statistical stream, update the statistical information of the data packets in each statistical stream according to the statistical results, and select from the statistical streams according to the statistical information of the data packets of each statistical stream Output statistical flows that meet the congestion isolation control conditions as isolated statistical flows;
  • the flow management control module is configured to add the data packets corresponding to the isolated statistical flow to the congested flow isolation queue corresponding to the isolated statistical flow.
  • the embodiment of the present application also provides a communication device, including a processor, a memory, and a communication bus;
  • the communication bus is used to connect the processor and the memory
  • the processor is used to execute the computer program stored in the memory to implement the steps of the queue congestion control method as described above.
  • the embodiments of the present application also provide a computer-readable storage medium, the computer-readable storage medium stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to Implement the steps of the queue congestion control method as described above.
  • FIG. 1 is a schematic flowchart of a method for controlling queue congestion according to Embodiment 1 of this application;
  • FIG. 2 is a schematic diagram of the structure of a flow management control module according to Embodiment 1 of the application;
  • FIG. 3 is a schematic diagram of a statistical flow setting process in Embodiment 1 of this application.
  • FIG. 4 is a schematic diagram of a flow table structure in Embodiment 1 of this application.
  • FIG. 5 is a schematic diagram of accurate early backpressure control of congested flows in Embodiment 1 of this application;
  • FIG. 6 is a schematic diagram of congestion queue discovery and data replication control in Embodiment 2 of the application.
  • FIG. 7 is a schematic diagram of congested queue discovery and data sampling copy control in the second embodiment of the application.
  • FIG. 8 is a schematic diagram of controlling the quantitative and byte statistics identification and isolation statistics flow in the second embodiment of the application.
  • FIG. 9 is a schematic diagram of the control of the timing and byte statistics identification and isolation statistics flow in the second embodiment of the application.
  • FIG. 10 is a schematic diagram of ECN mark control in the second embodiment of the application.
  • FIG. 11 is a schematic diagram of the structure of the ingress port and the egress port in the second embodiment of the application.
  • FIG. 12 is a schematic structural diagram of a queue congestion control apparatus according to Embodiment 3 of this application.
  • FIG. 13 is a schematic structural diagram of a communication device according to Embodiment 3 of this application.
  • FIG. 14 is a schematic structural diagram of a base station according to Embodiment 3 of this application.
  • This embodiment implements data packet statistics obtained based on statistics of the data packets corresponding to the congested queue Compared with the current random selection method, the selection of information to isolate the statistical flow has better accuracy and better congestion control effect.
  • S102 Perform statistics on data packets corresponding to each statistical flow in the flow table, and update the statistical information of the data packets in each statistical flow according to the statistical result.
  • the queue congestion control method in this embodiment is applicable, but not limited to, communication equipment that adopts an output queue (OQ) or a virtual output queue (VOQ).
  • the outgoing port in S101 is the outgoing port of the communication device.
  • the communication device may include a flow management control module (also referred to as a forwarding and flow management unit) and a congestion management control module (also referred to as a congested flow identification and management unit).
  • the flow management control module is mainly used for data packet forwarding and flow control related functions; the congestion management control module is mainly used for the identification and management of isolated statistical flows (that is, congested flows).
  • the location and form of the flow management control module and the congestion management control module in the device can be flexibly set according to requirements.
  • the flow management control module can be integrated inside the forwarding chip, or it can exist as an independent physical unit. It can exist in the form of hardware or software.
  • the congestion management control module can also be integrated inside the chip or exist as an independent physical unit, and can exist in the form of hardware or software, or a combination of software and hardware.
  • the flow management control module may include a flow management component and an egress queue component.
  • the location and form of the flow management component and the egress queue component in this embodiment can also be flexibly set, for example, it can be integrated inside the forwarding chip, or can exist as an independent physical unit. It can exist in the form of hardware or software.
  • this embodiment does not limit the name of the communication device to the names of the above-mentioned functional units and components. This embodiment only uses the above-mentioned names for explanation. In fact, as long as the modules with corresponding functions are named, they are This embodiment is within the protection scope.
  • the flow management control module can monitor each egress queue of the egress port to determine whether there is a congested queue. And notify the congestion management control module after detection.
  • the corresponding data packets can be divided according to their priority. That is, the priority of the data packet corresponding to each egress queue can be different; of course, egress queues can also be divided from other dimensions.
  • the destination egress port when a data packet sent to port A is received, the destination egress port has been determined by routing and forwarding or other methods before the data packet is passed to the traffic management component.
  • the method for determining the destination egress port is not here anymore.
  • the outlet port and the inlet port in this embodiment are two relative concepts. For example, for a certain port, it is the out port of its upstream port and the ingress port of its downstream port.
  • the traffic management component can extract the packet descriptor of the data packet, and determine the priority of the data packet according to the information in the packet descriptor, thereby determining which egress queue of port A the data packet corresponds to. And in this embodiment, the traffic management component can be used to determine whether there is a congestion queue in each egress queue of port A, that is, whether there is an egress queue with the current queue length greater than the congestion length threshold in the egress queue. In this embodiment, the traffic management component can periodically poll to determine the length of each egress queue of port A, or determine when a data packet corresponding to a certain egress queue is received.
  • the traffic management component may first determine the target egress before adding the data packet to the target egress queue Whether the current queue length exceeds the preset congestion length threshold; if the current length of the target egress queue does not exceed the congestion length threshold, the packet descriptor enters the target egress queue normally, and the packet is forwarded from port A after being scheduled ;
  • the packet descriptor normally enters the target egress queue of port A, and the data packet is forwarded from port A after being scheduled; at the same time, the traffic management component can trigger a copy or sample a copy of data
  • the packet is forwarded to the congestion management control module for the congestion management control module to perform statistics on the data packets in the congested egress queue.
  • a flow table may be set, and the flow table is used to store the statistical flow corresponding to each congested egress queue. That is, in this embodiment, when it is determined that a certain egress queue (e.g., egress queue m) of a certain egress port (e.g., port A) is a congested egress queue, it is possible to set a unique entry in the flow table for egress queue m including Statistics flow of data packet statistics; this statistics flow is used to count the data packets corresponding to egress queue m. That is, one statistical flow in the flow table in this embodiment uniquely corresponds to one egress queue of one egress port.
  • egress queue m e.g., egress queue m
  • egress port A e.g., port A
  • the keyword information in this embodiment may include at least one of the header information of the data packet and the intermediate information of the data packet forwarding process, as long as it can uniquely identify the statistical flow and uniquely bind the statistical flow to the egress queue.
  • the keyword information extracted from the data packet of the egress queue may include, but is not limited to, source IP, destination IP, source transmission port number (that is, source Layer 4 port number), destination transmission Port number (that is, source four port number) and protocol type.
  • S302 Set a statistical flow including data packet statistical information in the flow table for the egress queue, and the index of the statistical flow is uniquely set according to the keyword information.
  • the index of the statistical stream when the index of the statistical stream is set according to the keyword information, the index may be a tuple or a multiple group, and may be combined arbitrarily according to requirements.
  • the index of the statistical flow can be directly set as the source IP, destination IP, source transmission port number, destination transmission port number, and protocol type.
  • the index can also be set to the source IP, destination IP, source The hash value obtained by hashing the transmission port number, destination transmission port number and protocol type.
  • the congestion management control module receives the copied data packet sent by the traffic management control module, it can determine which statistical flow the data packet corresponds to according to the keyword information in the data packet, and then the statistical flow according to the data packet The packet statistics in the update.
  • the flow management control module when the flow management control module determines that the egress queue of a certain port is a congested queue, it can extract the queue number of the egress queue and use this as matching information to match subsequent data packets received by the port.
  • a data packet When a data packet is matched as belonging to the egress queue corresponding to the queue number, it can be copied according to the set copy rule and sent to the congestion management control module for statistical analysis.
  • the copy rule may include but is not limited to any one of the following:
  • the sampling rule in this embodiment can be timed sampling, or sampling according to the set number of packet intervals or Use other sampling rules for sampling.
  • the flow management control module when the flow management control module sends a data packet to the congestion management control module, when the congestion management control module is a unit in the chip, the data packet can be sent through the predetermined processing flow in the chip, or A hardware bus quickly connected to the congestion management control module can be set in the chip, and then directly sent to the congestion management control module through the hardware bus; of course, data packets can also be sent to the congestion management control module through software implementation.
  • Each statistical flow includes a flow index and data packet statistical information.
  • the data packet statistical information includes at least one of the total number of packets and the total length of packet bytes.
  • One; in S102, updating the statistical information of the data packet in the statistical stream according to the statistical result includes:
  • the data packet statistical information includes the total number of packets
  • the total number of packets in the statistical flow is increased by 1;
  • the data packet statistics information includes the total length of packet bytes
  • the byte length of the received data packet is obtained, and the total length of the packet bytes in the statistics flow is added to the word
  • the section length gets the total byte length of the updated packet.
  • selecting a statistical flow that meets the congestion isolation control condition from each statistical flow as a method for isolating the statistical flow may include but is not limited to any of the following methods:
  • Data packet statistics include the total number of packets, and the congestion isolation control condition includes the largest total number of packets. In this case, the statistical flow with the largest total number of packets in the statistical flow is selected as the isolated statistical flow;
  • Method 2 Data packet statistical information includes the total length of packet bytes, and the congestion isolation control condition includes the maximum total length of packet bytes. In this case, the statistical flow with the largest total length of packet bytes in the statistical flow is selected as the isolated statistical flow;
  • Data packet statistics include the total number of packets and the total length of packet bytes.
  • the congestion isolation control conditions include: the combined value calculated by combining the total number of packets and the total length of packet bytes is the largest; at this time, the comprehensive value in the statistical stream is selected The largest statistical flow is used as the isolated statistical flow.
  • the preset total number of data packets threshold in this embodiment can be Set flexibly according to application scenarios, for example, it can be set to 1000, 2000, etc.
  • timing statistical identification when timing statistical identification is used, according to the packet statistical information of each statistical flow, before selecting a statistical flow that meets the congestion isolation control conditions from each statistical flow as an isolated statistical flow, it also includes determining whether the current timing value is greater than or equal to the preset time The interval value, if yes, triggers the selection of a statistical flow that meets the congestion isolation control condition from each statistical flow as an isolated statistical flow according to the packet statistical information of each statistical flow; the preset time interval value in this embodiment can also be based on the application scenario Flexible settings, such as 10 minutes, 20 minutes, etc.
  • each statistical flow that meets the congestion isolation control condition can also include, but is not limited to: clearing each statistical flow in the flow table, or clearing each statistical flow in the flow table.
  • the packet statistics of the statistics flow are cleared.
  • each statistical flow or data packet statistical information in the flow table may not be cleared.
  • the isolated statistical flow can be sent to the flow management control module for isolation management by the flow management control module.
  • the isolation management performed by the traffic management control module may include, but is not limited to, performing congestion notification marking and congestion flow accurate advance back pressure process, where:
  • congestion notification marking process can adopt but not limited to any of the following two marking methods:
  • Marking method 1 This process includes adding data packets corresponding to the isolated statistical flow to the congestion flow isolation queue corresponding to the isolated statistical flow, and marking the data packet for congestion notification.
  • the congestion notification mark can be but not limited to ECN (Explicit Congestion Notification) , Explicit congestion notification) mark;
  • Marking method 2 After adding the data packet corresponding to the isolated statistical flow to the congested flow isolation queue corresponding to the isolated statistical flow, when the data packet in the congested flow isolation queue is called out, the data packet is marked for congestion notification.
  • the data packet statistical information of the statistical flow may also include data packet statistical sub-information corresponding to different ingress ports; the statistical flow that meets the congestion isolation control condition is selected from each statistical flow as the isolated statistical flow After that, the process of accurately pre-pressing the congested flow is shown in Figure 5, including:
  • S501 According to data packet statistics sub-information of different ingress ports in the statistical flow corresponding to the isolated statistical flow, select at least one ingress port as the virtual isolation control port, and set a virtual congestion flow isolation queue for the virtual isolation control port.
  • S502 When detecting that the number of data packets corresponding to the virtual congested flow isolation queue received by the ingress port reaches the preset flow control threshold, send a flow control request upstream of the virtual isolation control port.
  • the flow control request may be but not Limited to PFC flow control requests.
  • the packet statistics sub-information may include at least one of the total number of packets corresponding to the ingress port and the total length of the packet bytes, and the total number of packets is used to record data from the ingress port.
  • the total number of data packets, the total length of packet subbytes is used to record the total byte length of data packets from the ingress port.
  • the ingress port with the largest total number of packets, or the ingress port with the largest total length of packet bytes, or the ingress port with the largest combined value calculated by combining the total number of packets and the total length of packet bytes is selected as the virtual isolation control port.
  • the following congestion flow (ie, isolated statistical flow) elimination control process may also be included.
  • the data packet corresponding to the isolated statistical flow is added to the corresponding isolated statistical flow:
  • the congestion flow isolation queue it also includes any one of the following:
  • the current queue length of the congested flow isolation queue is less than the first isolation release length threshold, it indicates that the congested flow is eliminated, and the congested flow isolation queue is recycled;
  • the volume management component can be responsible for recycling the congested flow isolation queue resources, and the corresponding statistical flow resources in the flow table; for example, the flow management component can notify the congestion management control module of the congestion flow elimination message, and the notification message can be Carrying but not limited to the outgoing port of the congested flow and the congestion flow keyword information, the congestion management control module receives the congestion flow elimination notification corresponding to a certain outgoing port, and reclaims the statistical flow resources corresponding to the outgoing port; thereby realizing the dynamic creation of resources And recycling to improve the flexibility of resource utilization and resource utilization.
  • this embodiment illustrates each process in the queue congestion control method based on the foregoing Embodiment 1.
  • this embodiment may include but is not limited to the following two methods:
  • Method 1 use an access control list (Access Control List, ACL) to copy data packets from the congested egress queue of the outbound port.
  • ACL Access Control List
  • the traffic management component is responsible for the egress queue m of the data packet entering port A (the egress port).
  • the flow management component determines whether the length of the egress queue m exceeds the set congestion length threshold; if not, go to S603; otherwise, go to S604.
  • the traffic management component will trigger the generation of the first ACL match Table, the matching key is the queue number of the currently congested egress queue m, and the action is to copy all the data packets corresponding to the egress queue m to the congestion management control module.
  • S605 Copy the descriptor of the data packet matched according to the first ACL matching table into the egress queue of the congestion management control module (in this embodiment, the congestion management control module as a unit can also set an egress queue for it).
  • the duplicated data packets stored in the egress queue are scheduled to be sent to the congestion management control module for the congestion management control module to identify and manage the subsequent isolation statistical flow (that is, the congested flow).
  • Method 2 As shown in Figure 7, using Access Control List (ACL) sampling to copy data packets out of the congested egress queue of the port, the process includes:
  • the traffic management component is responsible for the egress queue m of the data packet entering port A (the egress port).
  • the traffic management component judges whether the length of the egress queue m exceeds the set congestion length threshold; if not, go to S703; otherwise, go to S704.
  • S705 Perform sampling and copying of the data packets matched according to the first ACL matching table, and copy the descriptors of the sampled and copied data packets into the congestion management control module (in this embodiment, the congestion management control module can also be used as a unit Set an exit queue for it).
  • the duplicated data packets stored in the egress queue are scheduled to be sent to the congestion management control module for the congestion management control module to identify and manage the subsequent isolation statistical flow (that is, the congested flow).
  • a sampling template can be defined to set the sampling rate and the port number and egress queue of the destination egress port corresponding to the sampling message.
  • the identification of isolated statistical flows can also adopt but not limited to the following two identification methods in this embodiment:
  • Method 1 Use quantitative and byte statistics to identify isolated statistical streams, as shown in Figure 8, including:
  • the congestion management control module obtains the data packet sent by the flow management control module.
  • S802 Analyze and obtain quintuple information of the data packet for each data packet: source IP, destination IP, source Layer 4 port number, destination Layer 4 port number and protocol type, ingress port information, and egress port queue information.
  • S803 For each data packet, perform a hash calculation according to the 5-tuple information as input to obtain a hash value, and the hash value is used as the index of the statistical flow in the flow table to determine whether there is a corresponding statistical flow in the flow table. If not, turn to Go to S804; otherwise, go to S805.
  • Method 2 Use timing and total packet statistics to identify isolated statistical flows, as shown in Figure 9, including:
  • the congestion management control module acquires the first data packet sent by the flow management control module and starts timing.
  • the so-called first data packet refers to the first data packet for which the timer restarts timing.
  • S902 Analyze and obtain quintuple information of the data packet for each data packet: source IP, destination IP, source layer 4 port number, destination layer 4 port number and protocol type, ingress port information, and egress port queue information.
  • S903 For each data packet, perform a hash calculation according to the 5-tuple information as input to obtain a hash value, and the hash value is used as the index of the statistical flow in the flow table to determine whether there is a corresponding statistical flow in the flow table. If not, turn to Go to S904; otherwise, go to S905.
  • S906 When the timing value reaches the preset time interval value, obtain the total number of packets of each statistical flow (the total length of packet bytes, or the combined value of the total number of packets and the total length of packet bytes can also be obtained).
  • One statistics flow bar is an isolated statistics flow.
  • the process of performing isolation management and ECN marking on the data packets corresponding to the isolation statistics flow is also included in this embodiment, as shown in FIG. 10, including:
  • the current ECN marking function of communication equipment is based on the message marking of the congested queue.
  • the data packet can be marked based on the congested flow isolation queue corresponding to the isolated statistical flow to isolate
  • the marked ECN of the processed data packet is more accurate, as shown in Figure 10, including:
  • the congestion management control module identifies the isolated statistical flow and sends it to the flow management control module.
  • One way is to deliver the five-tuple information of the isolated statistical flow and the outgoing port information to the flow management control module.
  • the flow management component of the flow management control module creates a second ACL matching table according to the received 5-tuple of the isolated statistical flow as a key, and data packets matching the second ACL matching table enter the corresponding congested flow isolation queue.
  • the isolation of the isolated statistical flow and the flow control of the corresponding ingress port are described using the PFC function as an example.
  • the PFC function of the network device can be implemented based on the ingress queue of the ingress port.
  • This embodiment realizes the identification of the isolated statistical flow based on the egress queue, and further determines all the ingress ports of the isolated statistical flow based on the ingress port information of the isolated statistical flow , Send an internal flow control message to notify the corresponding ingress port to adopt the PFC flow control of the flow virtual isolation and virtual congestion flow isolation queue.
  • This example is an example of the isolation of the isolated statistical flow and the outbound to inbound flow control notification of the communication device, as shown in Figure 11:
  • the flow management component can include the egress flow management component and the ingress flow management component; the egress flow management component receives the isolated statistical flow information (including the quintuple information, the ingress port B with the longest subbyte length and its words) issued by the congestion management control module. Section statistics, outgoing port information A);
  • the egress traffic management component creates an ACL rule based on the five-tuple of the distributed isolated statistical flow as a key, and the packets matching this ACL rule enter the idle egress congestion isolation queue on the A port.
  • the egress traffic management component sends an internal flow control message to the ingress traffic management component, and the flow control message carries information about the isolated statistical flow (including the quintuple information, the information of the ingress port B with the largest total number of packets or the largest total packet length);
  • the ingress traffic management component receives the isolated statistical flow information sent by the egress traffic management component;
  • the ingress traffic management component creates the third ACL matching table of the ingress port according to the five-tuple of the isolated statistical flow and the port number as a key.
  • the data packets matching the third ACL matching table are counted into the corresponding virtual congestion isolation of port B Queue (in this embodiment, it is only counted, without the data packet entering the virtual congestion isolation queue, that is, no actual isolation is performed).
  • the ingress traffic management component can choose to send the PFC flow control message of the isolation statistics flow queue to the upstream port according to the configuration (for example, the number of data packets counted in the virtual congestion isolation queue reaches the preset flow control number threshold).
  • the inbound port precise isolation and PFC flow control for the isolated statistical flow were realized in advance, avoiding outgoing packet loss and head-on blocking.
  • This embodiment provides a queue congestion control device, which can be installed in a communication device, as shown in FIG. 12, including:
  • the congestion management control module 1202 is used to set a unique statistical flow including data packet statistical information in the flow table for the egress queue when the current queue length of the egress queue of the egress port is greater than the congestion length threshold.
  • the corresponding data packets are counted, the statistics information of the data packets in each statistics flow is updated according to the statistics results, and the statistics flow that meets the congestion isolation control conditions is selected from each statistics flow according to the statistics information of the data packets of each statistics flow. Isolate the statistical flow; the specific execution process of the congestion management control module 1202 to realize the above-mentioned functions and other functions that the congestion management control module 1202 can also realize are shown in the above-mentioned embodiments, which will not be repeated here.
  • the flow management control module 1201 is used to add data packets corresponding to the isolated statistical flow to the isolated statistical flow isolation queue corresponding to the isolated statistical flow.
  • the flow management control module 1201 implements the specific execution process of the above functions and the flow management control module 1201 can also implement For other functions of, please refer to the above-mentioned embodiments, which will not be repeated here.
  • the communication device may be various network devices in the network. As shown in FIG. 13, it includes a processor 1301, a memory 1302, and a communication bus 1303;
  • the communication bus 1303 is used to implement the communication connection between the processor 1301 and the memory 1302;
  • the processor 1301 may be used to execute one or more computer programs stored in the memory 1302 to implement the steps of the queue congestion control method in the above embodiments.
  • the base station in this embodiment uses a communication device as a base station for illustration.
  • the base station in this embodiment may be a cabinet macro base station, a distributed base station or a multi-mode base station.
  • the base station in this example includes a baseband unit (Building Baseband Unit, BBU) 141, a radio remote unit (RRU) 142, and an antenna 143, of which:
  • BBU Building Baseband Unit
  • RRU radio remote unit
  • the baseband unit 141 is responsible for centralized control and management of the entire base station system, completes uplink and downlink baseband processing functions, and provides physical interfaces with radio frequency units and transmission networks to complete information exchange.
  • the baseband unit 141 may include a baseband processing unit 1412, a main control unit 1411, a transmission interface unit 1413, and the like.
  • the main control unit 1411 mainly implements baseband unit control management, signaling processing, data transmission, interactive control, system clock provision and other functions;
  • the baseband processing unit 1412 is used to complete baseband protocol processing such as signal encoding and modulation, resource scheduling, and data encapsulation.
  • the transmission interface unit 1413 is responsible for providing the transmission interface connected to the core network.
  • the above-mentioned logical function units can be distributed on different physical boards, or integrated on the same board.
  • the baseband unit 141 may adopt a baseband master control integrated type or a baseband master control separated type.
  • the baseband master control integrated type the master control, transmission, and baseband integrated design, that is, the baseband processing unit, the master control unit, and the transmission interface unit are integrated on a physical board.
  • the architecture has higher reliability and lower cost. Delay, higher resource sharing and scheduling efficiency, while lower power consumption.
  • the baseband processing unit and the master control unit are distributed on different boards, corresponding to the baseband board and the master control board.
  • the separated architecture supports free combination between boards and facilitates flexible expansion of the baseband. Specific settings can be flexibly adopted according to requirements.
  • the remote radio unit 142 communicates with the BBU through the baseband radio frequency interface to complete the conversion between the baseband signal and the radio frequency signal.
  • an exemplary radio remote unit 142 mainly includes an interface unit 1421, a downlink signal processing unit 1424, an uplink signal processing unit 1422, a power amplifier unit 1423, a low noise amplifier unit 1425, a duplexer unit 1426, etc. Form the downlink signal processing link and the uplink signal processing link.
  • the interface unit 1421 provides a fronthaul interface with the baseband unit to receive and send baseband IQ signals;
  • the downstream signal processing unit 1424 completes signal processing functions such as signal up-conversion, digital-to-analog conversion, and radio frequency modulation;
  • the upstream signal processing unit 1422 mainly completes Signal filtering, mixing, analog-to-digital conversion, down-conversion and other functions;
  • the power amplifier unit 1423 is used to amplify the downlink signal and then sent out through the antenna 143, for example, to the terminal;
  • the noise floor amplifier unit 1424 is used to transmit the downlink signal received by the antenna 143 After the signal is amplified, it is sent to the downlink signal processing unit 1424 for processing;
  • the duplexer unit 1426 supports multiplexing of received and received signals and filters the received and received signals.
  • the base station in this embodiment can also adopt a CU (Central Unint, Central Unit)-DU (Distributed Unit) architecture, where DU is a distributed access point and is responsible for completing the underlying baseband protocol. And radio frequency processing function, CU is the central unit, responsible for processing high-level protocol functions and centralized management of multiple DUs. CU and DU jointly complete the baseband and radio frequency processing functions of the base station.
  • CU Central Unint, Central Unit
  • DU distributed access point and is responsible for completing the underlying baseband protocol.
  • radio frequency processing function CU is the central unit, responsible for processing high-level protocol functions and centralized management of multiple DUs.
  • CU and DU jointly complete the baseband and radio frequency processing functions of the base station.
  • the base station may also include a storage unit for storing various data.
  • the storage unit may store one or more of the above-mentioned computer programs, and the above-mentioned main control unit or central unit may be used as a processor to call the storage unit.
  • the function of at least one module of the queue congestion control device can also be implemented by the aforementioned main control unit or central unit.
  • This embodiment also provides a computer-readable storage medium, which is included in any method or technology for storing information (such as computer-readable instructions, data structures, computer program modules, or other data). Volatile or non-volatile, removable or non-removable media.
  • Computer-readable storage media include but are not limited to RAM (Random Access Memory), ROM (Read-Only Memory, read-only memory), EEPROM (Electrically Erasable Programmable read only memory, charged Erasable Programmable Read-Only Memory) ), flash memory or other storage technology, CD-ROM (Compact Disc Read-Only Memory), digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, Or any other medium that can be used to store desired information and can be accessed by a computer.
  • the computer-readable storage medium in this embodiment can be used to store one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement The steps of the queue congestion control method.
  • This embodiment also provides a computer program (or computer software), which can be distributed on a computer-readable medium and executed by a computable device to implement the queue congestion control method shown in the above embodiments. At least one step; and in some cases, at least one step shown or described can be performed in a different order than described in the foregoing embodiment.
  • This embodiment also provides a computer program product, including a computer readable device, and the computer readable device stores the computer program as shown above.
  • the computer-readable device in this embodiment may include the computer-readable storage medium as shown above.
  • communication media usually contain computer-readable instructions, data structures, computer program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium. Therefore, this application is not limited to any specific hardware and software combination.

Landscapes

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

Abstract

本申请实施例提供一种队列拥塞控制方法、装置、设备及存储介质,当检测到出端口的出口队列当前的队列长度大于拥塞长度阈值时,为出口队列在流表中唯一设置一条包括数据包统计信息的统计流;对流表中各统计流所对应的数据包进行统计,根据统计结果对所述各统计流中的数据包统计信息进行更新,进而根据各统计流的数据包统计信息,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流,从而将对应于隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列。

Description

队列拥塞控制方法、装置、设备及存储介质
相关申请的交叉引用
本申请基于申请号为201910485628.8、申请日为2019年6月5日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本申请。
技术领域
本申请涉及通信技术领域,尤其涉及一种队列拥塞控制方法、装置、设备及存储介质。
背景技术
数据中心在线密集服务、深度学习、高频交易等应用需要无损网络技术的支撑,而传统IP(Internet Protocol Address,互联网协议地址)/以太网络是有损网络,当产生局部拥塞时往往采用报文丢弃的方式,丢包导致重传并最终导致网络吞吐率下降,无法满足现代数据中心的业务需求。基于优先级的流控PFC(IEEE 802.1Qbb Priority-based Flow Control)是当前构建无损以太网的网络设备普遍采用的技术,然而PFC技术也有它的缺陷。首先PFC是基于入口队列的流控技术,PFC流控会导致设备入端口同一优先级的所有流量同时被阻塞,从而影响到转发到其他非拥塞出口的报文被拥塞,导致队头阻塞HOLB(head-of-the-line-blocking),甚至拥塞蔓延,引起转发延迟和丢包。其次对于入口队列没有超过PFC流控阈值,但出口队列已经拥塞即将丢包的场景,无法直接通过入口PFC流控技术反压到上游设备端口。可见对于出口队列拥塞的场景,单纯依靠PFC技术无法达到无损网络不丢包的要求;针对上述问题出现了拥塞隔离技术。但目前的拥塞隔离技术是通过随机选取拥塞队列的数据包作为拥塞流对其进行隔离管理,这种管理控制方式选择出的拥塞流准确率低,拥塞控制效果差。尤其是当拥塞队列有多条流时。
发明内容
本申请实施例提供的一种队列拥塞控制方法、装置、设备及存储介质。
本申请实施例提供一种队列拥塞控制方法,包括:
检测到出端口的出口队列当前的队列长度大于拥塞长度阈值时,为所述出口队列在流表中唯一设置一条包括数据包统计信息的统计流;
对所述流表中各统计流所对应的数据包进行统计,根据统计结果对所述各统计流中的数据包统计信息进行更新;
根据所述各统计流的数据包统计信息,从所述各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流;
将对应于所述隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列。
本申请实施例提供一种队列拥塞控制装置,包括:
拥塞管理控制模块,用于在出端口的出口队列当前的队列长度大于拥塞长度阈值时,为所述出口队列在流表中唯一设置一条包括数据包统计信息的统计流,对所述流表中各统计流所对应的数据包进行统计,根据统计结果对所述各统计流中的数据包统计信息进行更新,以及根据所述各统计流的数据包统计信息,从所述各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流;
流量管理控制模块,用于将对应于所述隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列。
本申请实施例还提供了一种通信设备,包括处理器、存储器和通信总线;
所述通信总线用于将所述处理器和存储器连接;
所述处理器用于执行所述存储器中存储的计算机程序,以实现如上所述的队列拥塞控制方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个计算机程序,所述一个或多个计算机程序可被一个或多个处理器执行,以实现如上所述的队列拥塞控制方法的步骤。
本申请其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且 应当理解,至少部分有益效果从本申请说明书中的记载变的显而易见。
附图说明
图1为本申请实施例一的队列拥塞控制方法流程示意图;
图2为本申请实施例一的流量管理控制模块结构示意图;
图3为本申请实施例一的统计流设置流程示意图;
图4为本申请实施例一的流表结构示意图;
图5为本申请实施例一的拥塞流精准提前反压控制示意图;
图6为本申请实施例二的拥塞队列的发现和数据复制控制示意图;
图7为本申请实施例二的拥塞队列的发现和数据采样复制控制示意图;
图8为本申请实施例二的定量及字节统计识别隔离统计流的控制示意图;
图9为本申请实施例二的定时及字节统计识别隔离统计流的控制示意图;
图10为本申请实施例二的ECN标记控制示意图;
图11为本申请实施例二的入端口和出端口结构示意图;
图12为本申请实施例三的队列拥塞控制装置结构示意图;
图13为本申请实施例三的通信设备结构示意图;
图14为本申请实施例三的基站结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本申请实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一:
针对目前拥塞隔离技术随机选取拥塞队列的数据包作为拥塞流进行隔离管理,准确率低,拥塞控制效果差的问题,本实施例实现了根据对拥塞队列对应 的数据包进行统计获取的数据包统计信息进行隔离统计流的选择,相对目前随机选择的方式,准确性更好,拥塞控制的效果也更好。
为了便于理解,本实施例下面结合图1所示的队列拥塞控制方法为示例进行说明,包括:
S101:检测到出端口的出口队列当前的队列长度大于拥塞长度阈值时,为出口队列在流表中唯一设置一条包括数据包统计信息的统计流。
S102:对流表中各统计流所对应的数据包进行统计,根据统计结果对各统计流中的数据包统计信息进行更新。
S103:根据各统计流的数据包统计信息,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流。
S104:将对应于隔离统计流的数据包加入隔离统计流对应的拥塞流隔离队列。
本实施例中的队列拥塞控制方法适用但不限于采用出口队列(Output Queue,OQ)或虚拟出口队列(Virtual Output Queue,VOQ)的通信设备。S101中的出端口为通信设备的出端口。
在本实施例的一种示例中,通信设备可包括流量管理控制模块(也可称之为转发及流量管理单元)和拥塞管理控制模块(也可称之为拥塞流识别及管理单元)两个模块,流量管理控制模块主要用于数据包的转发以及流量控制的相关功能;拥塞管理控制模块主要用于实现隔离统计流(也即拥塞流)的识别以及管理等功能。且在本实施例中,流量管理控制模块和拥塞管理控制模块在设备内部设置的位置和形态可以根据需求灵活设定。例如流量管理控制模块可以集成在转发芯片内部,也可以以独立的物理单元存在。可以以硬件形态存在,也可以软件形态存在。拥塞管理控制模块也可集成在芯片内部或以独立的物理单元存在,可以硬件形态存在或者软件形态存在,或者软硬件结合实现。
在本实施例的一种示例中,流量管理控制模块可包括流量管理组件和出口队列组件。本实施例中流量管理组件和出口队列组件设置的位置和形态也可灵活设置,例如可以集成在转发芯片内部,也可以以独立的物理单元存在。可以以硬件形态存在,也可以软件形态存在。
应当理解的是,本实施例中不限定通信设备对上述功能单元和组件名称的称呼,本实施例只是使用上述名称来进行阐述,实际上只要具备相应功能的模块,不管命名是否相同,都在本实施例保护范围之内。
在本实施例的一种示例中,S101中可通过但不限于流量管理控制模块对出端口的各出口队列进行监测确定是否存在拥塞队列。并在检测到之后通知拥塞管理控制模块。例如,请参见图2所示,针对通信设备的端口A(为出端口)其可能存在一个出口队列,也可能存在多个出口队列,且在一些示例中,可根据数据包的优先级划分相应的出口队列,也即各出口队列对应的数据包的优先级可不同;当然也可从其他维度进行出口队列的划分。
在本示例中,接收到发给端口A的数据包时,数据包在在传递给流量管理组件前已经通过路由转发或其他方式确定了目的出端口,对于目的出端口的确定方式在此不再赘述。另外应当理解的是,本实施例中的出端口与入端口是相对的两个概念。例如对于某一个端口,其为其上游端口的出端口,为其下游端口的入端口。
在本示例中,流量管理组件可提取数据包的包描述符,根据包描述符中的信息确定数据包的优先级,从而确定该数据包对应端口A的哪个出口队列。且在本实施例中,可通过但不限于流量管理组件判断端口A的各出口队列中是否存在拥塞队列,也即判断出口队列中是否存在当前的队列长度大于拥塞长度阈值的出口队列。在本实施例中,流量管理组件可以定时轮询对端口A的各出口队列的长度进行判断,也可在接收到某一个出口队列对应的数据包时进行判断。例如,在本实施例的一种示例中,流量管理组件在接收到端口A的某一目标出口队列对应的数据包后,在将该数据包加入此目标出口队列之前,可先判断此目标出口队列当前的长度是否超过预设的拥塞长度阈值;如果此目标出口队列当前的长度没超过拥塞长度阈值,则该数据包描述符正常进入此目标出口队列,被调度后数据包从端口A转发出去;
如果目标出口队列当前的长度超过拥塞长度阈值,则该数据包描述符正常进入端口A的目标出口队列,被调度后数据包从端口A转发出去;同时流量管理组件可触发复制或采样一份数据包转发到拥塞管理控制模块,以供拥塞管理控制模块对拥塞出口队列的数据包进行统计。
在本实施例的一种示例中,可设置一个流表,该流表用于存储各拥塞出口队列对应的统计流。也即在本实施例中,当确定某一个出端口(例如端口A) 的某一个出口队列(例如出口队列m)为拥塞出口队列时,则可为出口队列m在流表中唯一设置一条包括数据包统计信息的统计流;该统计流用于对出口队列m对应的数据包进行统计。也即本实施例中流表内的一条统计流唯一对应一个出端口的一个出口队列。
例如,在本示例中,为出口队列在流表中唯一设置一条包括数据包统计信息的统计流的过程请参见图3所示,包括:
S301:在流表中当前不存在出口队列唯一对应的统计流时,从出口队列的数据包中提取作为统计流唯一标识的关键字信息。
本实施例中的关键字信息可包括数据包的包头信息和数据包转发过程的中间信息中的至少一种,只要能唯一识别统计流,并将该统计流与出口队列唯一绑定即可。例如,在本实施例的一些示例中,该出口队列的数据包中提取的关键字信息可包括但不限于源IP,目的IP,源传输端口号(也即源四层端口号),目的传输端口号(也即源四层端口号)及协议类型。
S302:为出口队列在流表中设置一条包括数据包统计信息的统计流,统计流的索引根据关键字信息唯一设置。
本实施例中,根据关键字信息设置统计流的索引时,该索引可以是一元组,也可以是多元组,且可以根据需求任意组合。例如,一种实施例中,该统计流的索引可以直接设置为源IP,目的IP,源传输端口号,目的传输端口号及协议类型,也可将索引设置为对源IP,目的IP,源传输端口号,目的传输端口号及协议类型进行哈希计算后得到的哈希值。这样拥塞管理控制模块在收到流量管理控制模块发送的复制的数据包之后,可根据该数据包中的关键字信息确定该数据包对应哪条统计流,进而根据该数据包对该条统计流中的数据包统计信息进行更新。
在本实施例中,流量管理控制模块确定某一端口的出口队列为拥塞队列时,可提取该出口队列的队列号,并以此作为匹配信息对该端口后续接收到的数据包进行匹配,当匹配到某个数据包为属于该队列号对应的出口队列时,可以根据设定复制规则进行复制并将其发给拥塞管理控制模块进行统计分析。其中,在一种示例中,该复制规则可包括但不限于以下任意之一:
对各统计流各自对应的出口队列的所有数据包进行复制,对复制的数据包 进行统计;
对各统计流各自对应的出口队列的数据包进行采样复制,对采样复制的数据包进行统计;本实施例中的采样规则可以为定时采样,也可为按设定数据包间隔个数采样或采用其他采样规则进行采样。
在本实施例中,流量管理控制模块将数据包发给拥塞管理控制模块时,当拥塞管理控制模块为芯片内的单元时,该数据包的发送可通过该芯片内的既定处理流程发送,也可在芯片内设置快捷连接到拥塞管理控制模块的硬件总线,进而通过该硬件总线直接发给拥塞管理控制模块;当然也可通过软件实现方式将数据包发给拥塞管理控制模块。
在本实施例中,流表的一种示意结构请参见图4所示,每一条统计流包括流索引和数据包统计信息,其中数据包统计信息包括包总数和包字节总长度中的至少一种;S102中根据统计结果对统计流中的数据包统计信息进行更新包括:
数据包统计信息包括包总数时,统计接收到一个该统计流对应的数据包时,将该统计流中的包总数加1;
数据包统计信息包括包字节总长度时,统计接收到一个该统计流对应的数据包时,获取接收到的数据包的字节长度,将该统计流中的包字节总长度加上字节长度得到更新后的包字节总长度。
通过图4所示的流表,则可为各出端口的各拥塞出口队列分别建立一个统计流,并对各拥塞出口队列对应的数据包(可以包括已经进入出口队列尚未发出的数据包和后续接收到的数据包中的至少一种)的数据包信息进行统计作为后续判断依据。
例如,在S103中,根据各统计流的数据包统计信息,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流的方式可包括但不限于以下方式中的任意一种:
方式一:数据包统计信息包括包总数,拥塞隔离控制条件包括包总数最大,此时则选择统计流中包总数最大的统计流作为隔离统计流;
方式二:数据包统计信息包括包字节总长度,拥塞隔离控制条件包括包字节总长度最大,此时则选择统计流中包字节总长度最大的统计流作为隔离统计 流;
方式三:数据包统计信息包括包总数和包字节总长度,所述拥塞隔离控制条件包括:结合包总数和包字节总长度计算得到的综合值最大;此时则选择统计流中综合值最大的统计流作为隔离统计流。
具体采用上述示例方式的中哪种方式可以根据需求灵活设定。且应当理解的是本实施例中并不限于上述示例的三种隔离统计流确定(识别)方式。
本实施例中,采用上述示例的三种方式中的任意一种进行隔离统计流的识别时,可以采用定量统计识别的方式或定时统计识别的方式。
采用定量统计识别时,根据各统计流的数据包统计信息,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之前,还包括确定当前统计的数据包总数是否大于等于预设数据包总数阈值,如是,触发根据各统计流的数据包统计信息从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流;本实施例中的预设数据包总数阈值可以根据应用场景灵活设置,例如可设置为1000,2000等。
采用定时统计识别时,根据各统计流的数据包统计信息,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之前,还包括确定当前的计时值是否大于等于预设时间间隔值,如是,触发根据各统计流的数据包统计信息从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流;本实施例中的预设时间间隔值也可以根据应用场景灵活设置,例如可设置为10分钟,20分钟等。
在本示例中,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之后,还可包括但不限于:将流表中的各统计流清零,或将流表中各统计流的数据包统计信息清零。当然,在本实施例的另一些示例中,也可不对流表中的各统计流或数据包统计信息清零。
在本实施例中,通过上述过程识别出隔离统计流后,可将该隔离统计流发给流量管理控制模块,以供流量管理控制模块进行隔离管理。在本实施例中,流量管理控制模块进行隔离管理可以包括但不限于进行拥塞通告标记和拥塞流精准提前反压的过程,其中:
一种示例的拥塞通告标记过程可采用但不限于以下两种标记方式中的任意一种:
标记方式一:该过程包括将对应于隔离统计流的数据包加入隔离统计流对应的拥塞流隔离队列时,对数据包进行拥塞通告标记,其中拥塞通告标记可为但不限于ECN(Explicit Congestion Notification,显式拥塞通告)标记;
标记方式二:将对应于隔离统计流的数据包加入隔离统计流对应的拥塞流隔离队列后,在拥塞流隔离队列中的数据包被调出时,对数据包进行拥塞通告标记。
在本实施例的一种示例中,统计流的数据包统计信息还可包括不同入端口对应的数据包统计子信息;从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之后,进行拥塞流精准提前反压的过程请参见图5所示,包括:
S501:根据隔离统计流对应的统计流中不同入端口的数据包统计子信息,选择至少一个入端口作为虚拟隔离控制端口,并为该虚拟隔离控制端口设置虚拟拥塞流隔离队列。
S502:检测到入端口接收到所述虚拟拥塞流隔离队列对应的数据包的个数达到预设流控阈值时,向虚拟隔离控制端口的上游发送流控请求,该流控请求可以为但不限于PFC流控请求。这样可实现出口队列已经拥塞而入口队列尚未拥塞的一段时间内,仍然可以预知可能拥塞的入端口并提前对导致拥塞的入端口进行精准的拥塞流隔离及精准的PFC反压,避免了通信设备内部丢包及队头阻塞。
在本实施例的一种示例中,请参见图4所示,数据包统计子信息可包括入端口对应的包子总数和包子字节总长度中的至少一种,包子总数用于记录来自入端口的数据包总数,包子字节总长度用于记录来自入端口的数据包的总字节长度。在本示例中则选择包子总数最大的入端口,或包子字节总长度最大的入端口,或结合包子总数和包子字节总长度计算的综合值最大的入端口作为虚拟隔离控制端口。
可选的,在本实施例的一些示例中,还可包括以下拥塞流(也即隔离统计 流)消除控制过程,此时在本示例中将对应于隔离统计流的数据包加入隔离统计流对应的拥塞流隔离队列之后,还包括以下任意之一:
定时检测到拥塞流隔离队列当前的队列长度小于第一隔离解除长度阈值时,表明拥塞流消除,将拥塞流隔离队列进行回收;
检测到拥塞流隔离队列当前的队列长度在持续的预设时长内小于第二隔离解除长度阈值时,表明拥塞流消除,将拥塞流隔离队列进行回收。
可选的,可通过但不限于量管理组件负责回收拥塞流隔离队列资源,还可回收流表中对应的统计流资源;例如流量管理组件可通知拥塞管理控制模块拥塞流消除消息,通知消息可携带但不限于拥塞流的出端口及拥塞流关键字信息,拥塞管理控制模块收到某出端口对应的拥塞流消除通知后,回收此出端口对应的统计流资源;从而可实现资源的动态创建和回收,提升资源利用的灵活性和资源利用率。
实施例二:
为了便于理解,本实施例在上述实施例一的基础之上,对队列拥塞控制方法中的各过程进行示例说明。
对于拥塞队列的发现和数据的复制,在本实施例中可包括但不限于以下两种方式:
方式一:请参见图6所示,使用使用访问控制列表(Access Control List,ACL)复制出端口拥塞出口队列的数据包,该过程包括:
S601:流量管理组件负责数据包进入端口A(为出端口)的出口队列m。
S602:在数据包入队前由流量管理组件判断出口队列m的长度是否超过设定的拥塞长度阈值;如否,转至S603;否则,转至S604。
S603:如果出口队列m长度没超过设置阈值,则出口队列m未发生拥塞。数据包正常进入端口A的出口队列m,被调度后数据包从端口A转发出去。
S604:如果出口队列m长度超过拥塞长度阈值,则出口队列m队列发生拥塞,数据包除了正常进入端口A的出口队列m并从端口A转发出去之外,流量管理组件会触发生成第一ACL匹配表,匹配关键字为当前拥塞的出口队列m的队列号,动作是复制出口队列m对应的所有数据包到拥塞管理控制模块。
S605:将根据第一ACL匹配表匹配到的数据包的描述符复制加入拥塞管理控制模块(在本实施例中,拥塞管理控制模块作为一个单元也可为其设置一个出口队列)的出口队列。该出口队列中存储的复制的数据包被调度发送拥塞管理控制模块,以供拥塞管理控制模块进行后续的隔离统计流(也即拥塞流)的识别和管理。
方式二:请参见图7所示,使用使用访问控制列表(Access Control List,ACL)采样复制出端口拥塞出口队列的数据包,该过程包括:
S701:流量管理组件负责数据包进入端口A(为出端口)的出口队列m。
S702:在数据包入队前由流量管理组件判断出口队列m的长度是否超过设定的拥塞长度阈值;如否,转至S703;否则,转至S704。
S703:如果出口队列m长度没超过设置阈值,则出口队列m未发生拥塞。数据包正常进入端口A的出口队列m,被调度后数据包从端口A转发出去。
S704:如果出口队列m长度超过拥塞长度阈值,则出口队列m队列发生拥塞,数据包除了正常进入端口A的出口队列m并从端口A转发出去之外,流量管理组件会触发生成第一ACL匹配表,匹配关键字为当前拥塞的出口队列m的队列号,动作是复制出口队列m对应的所有数据包到拥塞管理控制模块。
S705:对根据第一ACL匹配表匹配到的数据包进行采样复制,并将采样复制的数据包的描述符复制加入拥塞管理控制模块(在本实施例中,拥塞管理控制模块作为一个单元也可为其设置一个出口队列)的出口队列。该出口队列中存储的复制的数据包被调度发送拥塞管理控制模块,以供拥塞管理控制模块进行后续的隔离统计流(也即拥塞流)的识别和管理。一种示例中可以通过定义采样模板来设置采样率和采样报文对应的目的出端口的端口号及出口队列。
对于隔离统计流(即拥塞流)的识别在本实施例中也可采用但不限于以下两种识别方式:
方式一:使用定量及字节统计方式识别隔离统计流,请参见图8所示,包括:
S801:拥塞管理控制模块获取到流量管理控制模块发送过来的数据包。
S802:对于每一个数据包解析并获取数据包的五元组信息:源IP,目的IP, 源四层端口号,目的四层端口号及协议类型,入端口信息、出端口队列信息。
S803:对于每一个数据包根据五元组信息作为输入进行哈希计算得到哈希值,哈希值作为流表中统计流的索引,判断流表中是否存在对应的统计流,如否,转至S804;否则,转至S805。
S804:如果这条统计流尚未在流表中建立则作为新流建立统计流,并对包总数统计值加一,包字节总长度计值进行累加,同时更新入端口的包子总数和包子字节总长度及出端口队列信息。流表格式参见图4。
S805:若数据包对应的统计流已经存在,则在此统计流的数据包统计信息基础上累加本数据包及包字节数的统计,更新入端口的包子总数和包子字节总长度及出端口队列信息。
S806:当拥塞管理控制模块接收到的数据包个数达到预置数据包总数阈值时,获取每条统计流的包字节总长度(也可获取包总数,或包总数与包字节总长度的综合值),包字节总长度最大的一统计流条为隔离统计流。
清零进行下一次循环的识别过程。
方式二:使用定时及包总数统计方式识别隔离统计流,请参见图9所示,包括:
S901:拥塞管理控制模块获取到流量管理控制模块发送过来的第一个数据包开始计时,所谓第一个数据包是指定时器重新开始计时的第一个数据包。
S902:对于每一个数据包解析并获取数据包的五元组信息:源IP,目的IP,源四层端口号,目的四层端口号及协议类型,入端口信息、出端口队列信息。
S903:对于每一个数据包根据五元组信息作为输入进行哈希计算得到哈希值,哈希值作为流表中统计流的索引,判断流表中是否存在对应的统计流,如否,转至S904;否则,转至S905。
S904:如果这条统计流尚未在流表中建立则作为新流建立统计流,并对包总数统计值加一,包字节总长度计值进行累加,同时更新入端口的包子总数和包子字节总长度及出端口队列信息。流表格式参见图4。
S905:若数据包对应的统计流已经存在,则在此统计流的数据包统计信息 基础上累加本数据包及包字节数的统计,更新入端口的包子总数和包子字节总长度及出端口队列信息。
S906:当计时值达到预设的时间间隔值时,获取每条统计流的包总数(也可获取包字节总长度,或包总数与包字节总长度的综合值),包总数最大的一统计流条为隔离统计流。
清零进行下一次循环的识别过程。
可选地,在本实施例中还包括对隔离统计流对应的数据包进行隔离管理及ECN标记的过程请参见图10所示,包括:
当前通信设备的ECN标记功能都是基于拥塞队列的报文标记,本实施例实现了对隔离统计流的隔离之后可以基于隔离统计流对应的拥塞流隔离队列中而定数据包进行标记,对隔离处理的数据包的标记ECN更加精准,参见图10所示,包括:
S1001:拥塞管理控制模块识别出隔离统计流后下发给流量管理控制模块,一种方式为下发隔离统计流的五元组信息及出端口信息给流量管理控制模块。
S1002:流量管理控制模块的流量管理组件根据收到的隔离统计流的五元组作为关键字创建第二ACL匹配表,与该第二ACL匹配表匹配的数据包进入对应的拥塞流隔离队列。
S1003:拥塞流隔离队列中的数据包被调度出队列时,对该数据包进行编辑,包括将其ECN字段设置为11。
在本实施例中,对隔离统计流的隔离及对应入端口的流控以PFC功能为示例进行说明。在一种示例中,网络设备的PFC功能可基于入端口的入口队列实现,本实施例实现了根据出口队列识别隔离统计流,进一步根据隔离统计流的入端口信息确定隔离统计流的所有入端口,发送内部流控消息通知对应的入端口采取流量虚拟隔离和虚拟拥塞流隔离队列的PFC流控。本示例即是对隔离统计流的隔离及通信设备出向到入向流控通知的示例,参见图11所示:
流量管理组件可包括出口流量管理组件和入口流量管理组件;出口流量管理组件接收拥塞管理控制模块下发的隔离统计流信息(包含五元组信息、子字节长度最多的入端口B及其字节统计、出端口信息A);
出口流量管理组件根据下发的隔离统计流的五元组作为关键字创建ACL规则,匹配此ACL规则的报文进入A端口空闲的出口拥塞隔离队列。
出口流量管理组件向入口流量管理组件发送内部流控消息,流控消息携带隔离统计流相关信息(包括五元组信息、包子总数最大或包子字节总长度最大的入端口B信息);
入口流量管理组件接收出口流量管理组件发送的隔离统计流信息;
入口流量管理组件根据隔离统计流的五元组加入端口号作为关键字创建入端口的第三ACL匹配表,与该第三ACL匹配表匹配的数据包计入入端口B的对应的虚拟拥塞隔离队列(本实施例中仅仅是计入,而不经该数据包进入该虚拟拥塞隔离队列,也即不执行实际的隔离)。
入口流量管理组件可以根据配置(例如计入虚拟拥塞隔离队列中的数据包的个数达到预设的流控个数阈值)选择向上游端口发送隔离统计流队列的PFC流控消息,以此在出端口A的队列拥塞丢包之前提前实现了针对隔离统计流的入端口精准隔离和PFC流控,避免了出口丢包和对头阻塞。
实施例三:
本实施例提供了一种队列拥塞控制装置,其可设置于通信设备内,请参见图12所示,包括:
拥塞管理控制模块1202,用于在出端口的出口队列当前的队列长度大于拥塞长度阈值时,为出口队列在流表中唯一设置一条包括数据包统计信息的统计流,对流表中各统计流所对应的数据包进行统计,根据统计结果对各统计流中的数据包统计信息进行更新,以及根据各统计流的数据包统计信息,从各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流;拥塞管理控制模块1202实现上述功能的具体执行过程以及拥塞管理控制模块1202还可实现的其他功能请参见上述各实施例所示,在此不再赘述。
流量管理控制模块1201,用于将对应于隔离统计流的数据包加入隔离统计流对应的隔离统计流隔离队列,流量管理控制模块1201实现上述功能的具体执行过程以及流量管理控制模块1201还可实现的其他功能请参见上述各实施例所 示,在此也不再赘述。
本实施例还提供了一种通信设备,该通信设备可以是网路中的各种网络设备,参见图13所示,其包括处理器1301、存储器1302以及通信总线1303;
通信总线1303用于实现处理器1301与存储器1302之间的通信连接;
一种示例中,处理器1301可用于执行存储器1302中存储的一个或者多个计算机程序,以实现如上各实施例中的队列拥塞控制方法的步骤。
为了便于理解,本实施例的一种示例中以通信设备为基站进行示例说明。且应当理解的是,本实施例中的基站可以为机柜式宏基站、分布式基站或多模基站。请参见图14所示,本示例中的基站包括基带单元(Building Base band Unit,BBU)141和射频拉远单元(Radio Remote Unit,RRU)142以及天线143,其中:
基带单元141负责集中控制与管理整个基站系统,完成上下行基带处理功能,并提供与射频单元、传输网络的物理接口,完成信息交互。按照逻辑功能的不同,请参见图14所示,基带单元141可包括基带处理单元1412、主控单元1411、传输接口单元1413等。其中,主控单元1411主要实现基带单元的控制管理、信令处理、数据传输、交互控制、系统时钟提供等功能;基带处理单元1412用于完成信号编码调制、资源调度、数据封装等基带协议处理,提供基带单元和射频拉远单元间的接口;传输接口单元1413负责提供与核心网连接的传输接口。在本示例中,上述各逻辑功能单元可分布在不同的物理板卡上,也可以集成在同一块板卡上。且可选的,基带单元141可采用基带主控集成式,也可采用基带主控分离式。对于基带主控集成式,主控、传输、基带一体化设计,即基带处理单元与主控单元、传输接口单元集成在一块物理板卡上,该架构具有更高的可靠性、更低的低延、更高的资源共享及调度效率,同时功耗更低。对于基带主控分离式,基带处理单元与主控单元分布在不同的板卡上,对应于基带板、主控板,分离式架构支持板卡间自由组合、便于基带灵活扩容。具体可根据需求灵活采用设置。
射频拉远单元142通过基带射频接口与BBU通信,完成基带信号与射频信号的转换。参见图14所示,一种示例的射频拉远单元142主要包括接口单元 1421、下行信号处理单元1424、上行信号处理单元1422、功放单元1423、低噪放单元1425、双工器单元1426等,构成下行信号处理链路与上行信号处理链路。其中,接口单1421提供与基带单元之间的前传接口,接收和发送基带IQ信号;下行信号处理单元1424完成信号上变频、数模转换、射频调制等信号处理功能;上行信号处理单元1422主要完成信号滤波、混频、模数转换、下变频等功能;功放单元1423用于对下行信号进行放大后通过天线143发出,例如发给终端;底噪放单元1424用于对天线143接收到的下行信号进行放大后发给下行信号处理单元1424进行处理;双工器单元1426支持收发信号复用并对收发信号进行滤波。
另外,应当理解的是,本实施例中的基站还可采用CU(Central Unint,中央单元)-DU(Distributed Unit,分布式单元)架构,其中DU是分布式接入点,负责完成底层基带协议及射频处理功能,CU是中央单元,负责处理高层协议功能并集中管理多个DU。CU和DU共同完成基站的基带及射频处理功能。
在本实施例中,基站还可包括用于存储各种数据的存储单元,例如该存储单元可以存储上述一个或者多个计算机程序,其中上述主控单元或中央单元可以作为处理器,调用存储单元中存储的一个或者多个计算机程序,以实现如上各实施例中的队列拥塞控制方法的步骤。
在本示例中,上述队列拥塞控制装置装置设置于基站中时,该队列拥塞控制装置装置的至少一个模块的功能也可通过上述主控单元或中央单元实现。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
在一种示例中,本实施例中的计算机可读存储介质可用于存储一个或者多 个计算机程序,该一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上各实施例中的队列拥塞控制方法的步骤。
本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现如上各实施例所示的队列拥塞控制方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本申请不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本申请实施例所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本申请的保护范围。

Claims (13)

  1. 一种队列拥塞控制方法,包括:
    检测到出端口的出口队列当前的队列长度大于拥塞长度阈值时,为所述出口队列在流表中唯一设置一条包括数据包统计信息的统计流;
    对所述流表中各统计流所对应的数据包进行统计,根据统计结果对所述各统计流中的数据包统计信息进行更新;
    根据所述各统计流的数据包统计信息,从所述各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流;
    将对应于所述隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列。
  2. 如权利要求1所述的队列拥塞控制方法,其中,所述数据包统计信息包括包总数和包字节总长度中的至少一种;
    所述根据统计结果对所述统计流中的数据包统计信息进行更新包括:
    所述数据包统计信息包括包总数时,统计接收到一个数据包时,将所述包总数加1;
    所述数据包统计信息包括包字节总长度时,统计接收到一个数据包时,获取接收到的数据包的字节长度,将所述包字节总长度加上所述字节长度得到更新后的包字节总长度。
  3. 如权利要求2所述的队列拥塞控制方法,其中,所述数据包统计信息包括包总数,所述拥塞隔离控制条件包括包总数最大;
    或,所述数据包统计信息包括包字节总长度,所述拥塞隔离控制条件包括包字节总长度最大;
    或,所述数据包统计信息包括包总数和包字节总长度,所述拥塞隔离控制条件包括:结合所述包总数和包字节总长度计算得到的综合值最大。
  4. 如权利要求1-3任一项所述的队列拥塞控制方法,其中,将对应于所述隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列时,还包括对所述数据包进行拥塞通告标记;
    或,将对应于所述隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列后,在所述拥塞流隔离队列中的数据包被调出时,对所述数据包进行拥塞通告标记。
  5. 如权利要求1-3任一项所述的队列拥塞控制方法,其中,所述数据包统计信息包括不同入端口对应的数据包统计子信息;所述从所述各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之后,还包括:
    根据所述隔离统计流对应的统计流中不同入端口的数据包统计子信息,选择至少一个入端口作为虚拟隔离控制端口,并为该虚拟隔离控制端口设置虚拟拥塞流隔离队列;
    检测到所述入端口接收到所述虚拟拥塞流隔离队列对应的数据包的个数达到预设流控阈值时,向所述虚拟隔离控制端口的上游发送流控请求。
  6. 如权利要求5所述的队列拥塞控制方法,其中,所述数据包统计子信息包括入端口对应的包子总数和包子字节总长度中的至少一种,所述包子总数用于记录来自入端口的数据包总数,所述包子字节总长度用于记录来自入端口的数据包的总字节长度。
  7. 如权利要求1-3任一项所述的队列拥塞控制方法,其中,将对应于所述隔离统计流的数据包加入所述隔离统计流对应的拥塞流隔离队列之后,还包括以下任意之一:
    定时检测到所述拥塞流隔离队列当前的队列长度小于第一隔离解除长度阈值时,将所述拥塞流隔离队列进行回收;
    检测到所述拥塞流隔离队列当前的队列长度在持续的预设时长内小于第二隔离解除长度阈值时,将所述拥塞流隔离队列进行回收。
  8. 如权利要求1-3任一项所述的队列拥塞控制方法,其中,根据所述各统计 流的数据包统计信息,从所述各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之前,还包括以下至少之一:
    当前统计的数据包总数是否大于等于预设数据包总数阈值;
    当前的计时值是否大于等于预设时间间隔值;
    所述从所述各统计流中选择出符合拥塞隔离控制条件的统计流作为隔离统计流之后,还包括:
    将所述各统计流清零,或将所述各统计流的数据包统计信息清零。
  9. 如权利要求1-3任一项所述的队列拥塞控制方法,其中,所述对所述流表中各统计流所对应的数据包进行统计包括以下任意之一:
    对各统计流各自对应的出口队列的所有数据包进行复制,对复制的数据包进行统计;
    对各统计流各自对应的出口队列的数据包进行采样复制,对采样复制的数据包进行统计。
  10. 如权利要求1-3任一项所述的队列拥塞控制方法,其中,为所述出口队列在流表中唯一设置一条包括数据包统计信息的统计流包括:
    在所述流表中当前不存在所述出口队列唯一对应的统计流时,从所述出口队列的数据包中提取作为统计流唯一标识的关键字信息;
    为所述出口队列在流表中设置一条包括数据包统计信息的统计流,所述统计流的索引根据所述关键字信息唯一设置。
  11. 如权利要求10所述的队列拥塞控制方法,其中,所述关键字信息包括:源IP,目的IP,源传输端口号,目的传输端口号及协议类型。
  12. 一种通信设备,包括处理器、存储器和通信总线;
    所述通信总线用于将所述处理器和存储器连接;
    所述处理器用于执行所述存储器中存储的计算机程序,以实现如权利要求1-11任一项所述的队列拥塞控制方法的步骤。
  13. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或多个计算机程序,所述一个或多个计算机程序可被一个或多个处理器执行,以实现如权利要求1-11任一项所述的队列拥塞控制方法的步骤。
PCT/CN2020/092343 2019-06-05 2020-05-26 队列拥塞控制方法、装置、设备及存储介质 WO2020244422A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP20818084.4A EP3979577B1 (en) 2019-06-05 2020-05-26 Queue congestion control method, device and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910485628.8A CN112054964B (zh) 2019-06-05 2019-06-05 队列拥塞控制方法、装置、设备及存储介质
CN201910485628.8 2019-06-05

Publications (1)

Publication Number Publication Date
WO2020244422A1 true WO2020244422A1 (zh) 2020-12-10

Family

ID=73608760

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/092343 WO2020244422A1 (zh) 2019-06-05 2020-05-26 队列拥塞控制方法、装置、设备及存储介质

Country Status (3)

Country Link
EP (1) EP3979577B1 (zh)
CN (1) CN112054964B (zh)
WO (1) WO2020244422A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134302A (zh) * 2022-06-27 2022-09-30 长沙理工大学 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法
WO2023207461A1 (zh) * 2022-04-28 2023-11-02 华为技术有限公司 拥塞流识别方法、装置、设备及计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086236A (zh) * 2021-03-11 2022-09-20 中国电信股份有限公司 调整数据转发队列的方法、装置及计算机可读存储介质
CN114598377B (zh) * 2022-02-21 2022-12-06 北京富通亚讯网络信息技术有限公司 基于卫星网络下的可靠数据传输系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547159A (zh) * 2009-05-13 2009-09-30 杭州华三通信技术有限公司 一种避免网络拥塞的方法和设备
CN103929372A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 主动队列管理方法和设备
CN108243116A (zh) * 2016-12-23 2018-07-03 华为技术有限公司 一种流量控制方法及交换设备
CN109412964A (zh) * 2017-08-18 2019-03-01 华为技术有限公司 报文控制方法及网络装置
WO2019072072A1 (zh) * 2017-10-11 2019-04-18 华为技术有限公司 一种拥塞流识别方法及网络设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724660B2 (en) * 2005-12-13 2010-05-25 Alcatel Lucent Communication traffic congestion management systems and methods
EP2692096A1 (en) * 2011-03-29 2014-02-05 NEC Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches
US20170048144A1 (en) * 2015-08-13 2017-02-16 Futurewei Technologies, Inc. Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547159A (zh) * 2009-05-13 2009-09-30 杭州华三通信技术有限公司 一种避免网络拥塞的方法和设备
CN103929372A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 主动队列管理方法和设备
CN108243116A (zh) * 2016-12-23 2018-07-03 华为技术有限公司 一种流量控制方法及交换设备
CN109412964A (zh) * 2017-08-18 2019-03-01 华为技术有限公司 报文控制方法及网络装置
WO2019072072A1 (zh) * 2017-10-11 2019-04-18 华为技术有限公司 一种拥塞流识别方法及网络设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3979577A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207461A1 (zh) * 2022-04-28 2023-11-02 华为技术有限公司 拥塞流识别方法、装置、设备及计算机可读存储介质
CN115134302A (zh) * 2022-06-27 2022-09-30 长沙理工大学 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法
CN115134302B (zh) * 2022-06-27 2024-01-16 长沙理工大学 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法

Also Published As

Publication number Publication date
CN112054964B (zh) 2023-11-28
EP3979577B1 (en) 2024-03-27
CN112054964A (zh) 2020-12-08
EP3979577A1 (en) 2022-04-06
EP3979577A4 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
WO2020244422A1 (zh) 队列拥塞控制方法、装置、设备及存储介质
CN109412964B (zh) 报文控制方法及网络装置
US11032205B2 (en) Flow control method and switching device
US9191331B2 (en) Delay-based traffic rate control in networks with central controllers
US8451730B2 (en) Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology
US10771374B2 (en) Delay measurement method and device
US20140241349A1 (en) Openflow switch and packet processing method thereof
US11171869B2 (en) Microburst detection and management
JP3896879B2 (ja) トラヒック監視システム
CN108777646A (zh) 流量监控方法及装置
US20120092988A1 (en) Method, apparatus, and system for judging path congestion
CN112565102A (zh) 一种负载均衡方法、装置、设备及介质
US9548929B2 (en) Frame transfer apparatus and frame transfer method
US20070171905A1 (en) High speed transmission protocol
WO2021147377A1 (zh) 组播报文检测方法、网络设备和系统
RU2589867C2 (ru) Устройство связи, устройство управления, система связи, способ связи, способ управления устройством связи и программа
CN108243117B (zh) 一种流量监控方法、装置及电子设备
CN109792405B (zh) 用于传输节点中共享缓冲器分配的方法和设备
CN110336759B (zh) 基于rdma的协议报文转发方法及装置
WO2023207461A1 (zh) 拥塞流识别方法、装置、设备及计算机可读存储介质
CN110933002B (zh) 一种mpls带内检测oam的交换芯片实现方法及装置
WO2024021878A1 (zh) 一种发送负载信息的方法、发送报文的方法及装置
WO2023153873A1 (ko) 무선 통신 시스템에서 단말의 정책 설정 및 위반을 탐지하기 위한 방법 및 장치
KR102217478B1 (ko) 패킷 처리 시간 조정방법 및 장치
WO2022001581A1 (zh) 网络、数据传输的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20818084

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020818084

Country of ref document: EP

Effective date: 20220105