WO2020134553A1 - 基于pfc帧的拥塞控制方法、装置、系统及存储介质 - Google Patents
基于pfc帧的拥塞控制方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- WO2020134553A1 WO2020134553A1 PCT/CN2019/114781 CN2019114781W WO2020134553A1 WO 2020134553 A1 WO2020134553 A1 WO 2020134553A1 CN 2019114781 W CN2019114781 W CN 2019114781W WO 2020134553 A1 WO2020134553 A1 WO 2020134553A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- priority
- pfc frame
- pfc
- control
- time
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
Definitions
- the invention relates to the technical field of network communication, and in particular to a congestion control method, device, system and storage medium based on PFC frames.
- PFC Policy-based Flow Control priority flow control
- Data Bridge Data Center Bridge
- Time-limited data such as time-synchronized data
- PFC will cause mechanisms that rely on such data to fail
- PFC will cause the preemption function to fail, such as some TSN mechanisms that require the PFC function to be turned off.
- the main purpose of the present invention is to provide a congestion control method based on PFC frames, which aims to solve the technical problems of packet loss caused by the activation of PFC when the network is congested, the inability to send emergency data in time, and the failure of the preemption mechanism.
- the congestion control method based on a PFC frame includes the following steps: When a physical link or a logical link is congested, the receiving end of the communication system Obtain the priority corresponding to the congestion queue; the receiving end determines the speed reduction parameter and/or pause time corresponding to the priority; the receiving end is based on the speed reduction parameter, the pause time, and the priority Generating control data based on a PFC frame; the receiving end sends a congestion control instruction including the control data to the sending end of the communication system, so that the sending end determines the priority data flow based on the control data Sending speed.
- the present invention provides a non-transitory computer-readable storage medium that stores computer-executable instructions that are used to perform the foregoing aspects Methods.
- the present invention provides a computer program product
- the computer program product includes a computer program stored on a non-transitory computer readable storage medium
- the computer program includes program instructions, when the program instructions are When executed, the computer is caused to execute the methods described in the above aspects.
- FIG. 1 is a schematic structural diagram of a communication system in a hardware operating environment according to an embodiment of the present invention
- FIG. 2 is a schematic flowchart of a first embodiment of a congestion control method based on PFC frames according to the present invention
- FIG. 3 is a schematic diagram of the format of the standard PFC PAUSE frame of the present invention.
- FIG. 4 is a schematic flowchart of a second embodiment of a congestion control method based on PFC frames according to the present invention.
- FIG. 6 is a schematic diagram of the format of the modified time field of the present invention.
- FIG. 7 is a schematic diagram of the format of a PFC frame when priority 2 is simultaneously decelerated and paused in the second embodiment of the present invention.
- FIG. 8 is a schematic diagram of the format of a PFC frame when priority levels 2 and 3 are simultaneously reduced in the second embodiment of the present invention.
- FIG. 9 is a schematic flowchart of a third embodiment of a congestion control method based on PFC frames according to the present invention.
- FIG. 10 is a schematic diagram of the format of a PFC frame with a reduce field added in the present invention.
- FIG. 11 is a schematic diagram of the format of a PFC frame when priority 2 is simultaneously decelerated and paused in the third embodiment of the present invention.
- FIG. 12 is a schematic diagram of the format of a PFC frame when priority levels 2 and 3 are both reduced in speed in the third embodiment of the present invention.
- FIG. 13 is a schematic flowchart of a fourth embodiment of a congestion control method based on PFC frames according to the present invention.
- FIG. 14 is a schematic diagram of the format of the PFC frame with the added TLV field in the present invention.
- 15 is a schematic diagram of the format of a PFC frame when priority 2 is decelerated and priority 3 is suspended in the fourth embodiment of the present invention
- 16 is a schematic diagram of functional modules of an embodiment of a device for congestion control based on PFC frames of the present invention.
- FIG. 1 is a schematic structural diagram of a communication system in a hardware operating environment according to an embodiment of the present invention.
- the communication system may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002.
- the communication bus 1002 is used to implement connection communication between these components.
- the user interface 1003 may include a display (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
- the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
- the memory 1005 may be a high-speed RAM memory, or may be a non-volatile memory (non-volatile memory), such as a disk memory.
- the memory 1005 may optionally be a storage device independent of the foregoing processor 1001.
- the communication system may further include a camera, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi module, and so on.
- sensors such as light sensors, motion sensors, and other sensors, of course, the communication system may also be configured with other sensors such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., which will not be repeated here.
- FIG. 1 does not constitute a limitation on the communication system, and may include more or less components than those illustrated, or combine certain components, or arrange different components.
- the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a PFC frame-based congestion control program.
- the network interface 1004 is mainly used to connect to the back-end server and perform data communication with the back-end server;
- the user interface 1003 is mainly used to connect to the client (user end) and perform data communication with the client;
- the device 1001 may be used to call a PFC frame-based congestion control program stored in the memory 1005.
- the communication system includes: a memory 1005, a processor 1001, and a PFC frame-based congestion control program stored on the memory 1005 and executable on the processor 1001, where the processor 1001 calls the memory
- the PFC frame-based congestion control program stored in 1005 is executed, the steps of the PFC frame-based congestion control method provided in the embodiments of the present application are executed.
- FIG. 2 is a schematic flowchart of a first embodiment of a PFC frame-based congestion control method of the present invention.
- PFC is defined at the full-duplex MAC layer connected by a point-to-point link.
- PFC allows the creation of 8 queues on an Ethernet link, and for each The queue specifies a priority (CoS), which allows any one of the queues to be suspended and restarted independently, while allowing traffic from other queues to pass through without interruption.
- CoS priority
- the PFC PAUSE frame is hereinafter referred to as the PFC frame, where Destination Mac Address is the destination MAC address field, occupies 6 bytes, and the value is specified as 01-80-C2-00-00-01 ; Source Mac Address is the source MAC address field, accounting for 6 bytes; type/len is the Ethernet frame length or type field, the value is 88-08, indicating that it is a MAC control frame; Control opcode is the MAC control opcode, accounting for 2 Bytes; priority_enable_vector is priority vector information, occupying 2 bytes, the high byte is reserved, the default is 0, and each bit of the low byte represents whether the corresponding time[n] is valid.
- e[n] stands for priority n, when e[n] is 1, it means time[n] is valid, when e[n] is 0, it means time[n] is invalid; time is the time to pause sending frames, including time 8 array elements from [0] to time[7], each array element is 2 bytes. When e[n] is 0, time[n] has no meaning. When e[n] is 1, time[n] represents the time when the receiving station stops sending packets with priority n.
- the unit of time pause_quanta is the time required for the physical layer chip to send 512-bit data.
- the PFC frame-based congestion control method includes: Step S10. When a physical link or a logical link is congested, the receiving end of the communication system obtains the priority corresponding to the congestion queue.
- the priority corresponding to the queue where the congestion occurs is further obtained.
- the receiving end determines the specific values of the priority_enable_vector field and time field of the PFC frame according to the priority of the queue.
- the present invention optimizes the format of the standard PFC frame, and the priority_enable_vector corresponding to the optimized PFC frame contains 2 words.
- the sections are high byte and low byte, each bit of the low byte represents whether the queue of the corresponding priority temporarily stops sending data, and each bit of the high byte represents whether the queue of the corresponding priority temporarily slows down sending data.
- Step S20 the receiving end determines the speed reduction parameter and/or the pause time corresponding to the priority; in this embodiment, when congestion occurs, the congestion solution is further determined according to the queue length of the congested queue, that is, notification
- the sending end temporarily stops sending data to the congested queue, or sends data temporarily at a reduced speed, or temporarily stops sending data and then temporarily reduces the sending data, or temporarily drops the data and then temporarily stops sending the data, which kind of
- the control method is determined according to the queue length of the current queue, that is, the user sets the queue length and the corresponding relationship with the control method in advance. When congestion occurs, the correspondence relationship is retrieved based on the queue length to determine the control method for solving the congestion.
- congestion control methods there are two types of congestion control methods in the present invention, one is to temporarily stop sending data, and the other is to temporarily send data at a reduced speed. If you need to take control means to temporarily stop sending data, you need to determine the pause time corresponding to the priority; if you need to take control means to temporarily send data, you need to determine the speed reduction rate and speed reduction time corresponding to the priority.
- step S30 the receiving end generates control data based on the PFC frame based on the speed reduction parameter, the pause time, and the priority.
- the control data based on the PFC frame is further generated based on the deceleration parameter, the pause time, and the priority.
- the standard PFC frame only reflects the temporary stop of sending data to the congested queue.
- the present invention is enhanced on the basis of the standard PFC frame, and supports the temporary stop of sending data while supporting the temporary stop of sending data. Data is reflected through control data.
- Step S40 The receiving end sends a congestion control instruction including the control data to the sending end of the communication system, so that the sending end determines the transmission speed of the priority data stream based on the control data.
- the receiving end after the receiving end generates control data based on the PFC frame based on the deceleration parameters, pause time, and priority, the receiving end sends a congestion control instruction including the control data to the sending end, so that the sending end determines priority according to the control data
- the sending speed of the data stream of the queue corresponding to the level It should be noted that if a measure to temporarily stop sending data is taken, the data sending speed of the sending end is 0.
- the method further includes step S50.
- the sending end sends the data stream to the receiving end according to a preset speed.
- the receiving end when the receiving end receives the congestion control instruction, it controls the data transmission speed according to the control data of the congestion control instruction.
- the control data also provides the control time, that is, the pause time and the deceleration time, at the end of the control time
- the sending end restores the sending speed of data, that is, sends the data stream to the receiving end according to the preset speed.
- step S10 before step S10, it further includes: step S60, the receiving end detects whether congestion occurs in each queue in real time based on the queue length corresponding to the queue.
- the receiving end detects whether each queue is congested in real time according to the queue length corresponding to each queue.
- congestion control needs to be performed in time to avoid network paralysis.
- step S60 includes: step S61, the receiving end determines whether the queue length is greater than a threshold, wherein when the queue length is greater than or equal to the threshold, it is determined that the queue is congested.
- the receiving end detects the queue length corresponding to each queue in real time, and compares the queue length with a threshold, where the threshold is a boundary value for determining congestion, which is set by the user according to actual conditions, and is not limited in the present invention .
- the threshold is a boundary value for determining congestion, which is set by the user according to actual conditions, and is not limited in the present invention .
- the receiving end of the communication system obtains the priority corresponding to the congestion queue, and then the receiving end determines the priority based on the congestion queue.
- the speed reduction parameter and/or the pause time corresponding to the priority then the receiving end generates control data based on the PFC frame based on the speed reduction parameter, the pause time and the priority, and then the receiving end sends the control data including the control data
- the data congestion control instruction is sent to the sending end of the communication system, so that the sending end determines the sending speed of the data flow of the congestion queue based on the control data. Control the data flow by controlling the data, solve the network congestion problem, and at the same time ensure that there is no packet loss when sending data, emergency data is sent in time, and the preemption mechanism takes effect.
- step S30 includes:
- the priority_enable_vector field in the PFC frame format is used The high byte reserved in is used as the enable field of the speed reduction function.
- the format of the extended priority_enable_vector field is shown in Figure 5, which is the same as the low byte. Eight bits represent the corresponding priority, r[n] represents the priority n, when r[n] is 1, it means that the priority is enabled The speed reduction function of level n; when r[n] is 0, it means that the speed reduction function is not used.
- the information required for deceleration includes deceleration time and deceleration rate, which is reflected by modifying the time field.
- the modified time_s[n] and time_t[n] are the deceleration rate and deceleration time, respectively.
- the deceleration rate can be expressed in the form of a percentage, with a value of 0 to 100, corresponding to 0% to 100%, indicating that the original transmission rate is multiplied by this percentage to obtain the rate after deceleration, and the deceleration rate can also be a multiple The value ranges from 1 to 127, indicating that the original transmission rate is divided by this multiple.
- Step S31 when it is determined that the control mode is the pause and speed reduction mode based on the preset control strategy, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the pause time, the speed reduction parameter, and the priority to obtain
- the first PFC frame, and the first PFC frame is used as control data;
- the preset control strategy includes three control modes, namely, pause and speed reduction mode, pause mode and speed reduction mode, receiving The terminal determines the current congestion control mode according to the accumulated traffic corresponding to the current congestion queue and according to a preset control strategy.
- the preset control strategy is defined by the user and is not limited in the present invention.
- the control mode is pause and speed reduction based on the preset control strategy
- measures to temporarily stop sending data and temporarily reduce data transmission are taken.
- the pause function and speed reduction function corresponding to this priority need to be enabled, that is, need to Set the bit corresponding to the priority in the low byte of the priority_enable_vector field corresponding to the PFC frame, and set the bit corresponding to the priority in the high byte of the priority_enable_vector field corresponding to the PFC frame, and at the same time,
- the byte corresponding to the priority in the time field of the PFC frame is updated based on the pause time and speed reduction parameters.
- time_t[n] represents the deceleration time
- time_t[n] It also indicates the time of suspension.
- the execution order of temporary suspension and temporary speed reduction is determined by the preset control strategy.
- the PFC frame updated based on the deceleration parameters, pause time and priority is the control data.
- the same priority uses both speed reduction and pause functions, and the time field is modified as speed reduction information, where the speed reduction rate uses a multiple value.
- the same priority uses both the speed reduction and the pause function.
- priority 2 needs to slow down and pause, the rate of speed reduction is 10, the speed and pause time are 300, the corresponding time_s[2] is 10, time_t[2] is 300, and the rest of the time Both are set to 0.
- the reduced speed enable r[2] and pause enable e[2] are both set to 1, and the remaining r[n] and e[n] are set to 0.
- the decimal value of the entire priority_enable_vector is 1028.
- Step S32 when it is determined that the control mode is the pause mode based on the preset control strategy, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the pause time and the priority to obtain a second PFC frame, And use the second PFC frame as control data; in this embodiment, when it is determined that the control mode is the pause mode according to the preset control strategy, the low byte of the priority_enable_vector field corresponding to the PFC frame needs to be matched with the priority The corresponding bit is set, and then the pause time is updated to the position corresponding to the priority in the time field. The PFC frame updated based on the pause time and priority is the control data.
- Step S33 when it is determined that the control mode is the speed reduction mode based on the preset control strategy, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the speed reduction parameter and the priority to obtain a third PFC frame And use the third PFC frame as control data.
- the speed reduction function corresponding to the priority needs to be enabled, that is, the high byte of the priority_enable_vector field corresponding to the PFC frame needs to be
- the bit corresponding to the priority is set, and then the speed reduction parameter is updated to the position corresponding to the priority in the time field.
- the time field is modified as speed reduction information, where the speed reduction rate uses a percentage.
- priority levels 2 and 3 need to be slowed down, the rate of speed reduction is 50% and 20% respectively, the time is 300 and 500 respectively, the corresponding time_s[2] is 50, time_t[2] is 300, time_s [3] is 20, time_t[3] is 500, and the rest of the time is set to 0.
- the speed reduction enable r[2] and r[3] are set to 1, the rest r is set to 0, all e[n] is set to 0, and the entire priority_enable_vector decimal value is 3072.
- the congestion control method based on the PFC frame proposed in this embodiment generates new control data by enabling the high byte reserved in the priority_enable_vector field and redefining the time field, and solves network congestion based on the control data, making the congestion control mechanism more flexible and rich To solve the technical means of network congestion.
- step S30 further includes:
- priority_enable_vector in the PFC frame format is used The high byte reserved in the field is used as the enable field of the speed reduction function.
- the format of the extended priority_enable_vector field is shown in FIG. 5 and is consistent with the description in Embodiment 2, and will not be repeated here.
- the information required for deceleration includes deceleration time and deceleration rate. It is embodied by adding a reduce field after time, which contains 8 array elements from reduce[0] to reduce[7], each of which is 2 bytes.
- the lower 7bit of reduce[n] means the reduce rate reduce_s[n]
- the lower 9bit means the reduce time reduce_t[n].
- the PFC frame format with the reduce field added is shown in Figure 10. Wherein, the speed reduction rate may be in the form of a percentage or a multiple, which is consistent with the description in Embodiment 2 and will not be repeated here.
- the speed reduction_t[n] has a value range of 0-512.
- the unit of time is the same as pause_quanta in the PFC frame. It represents the time required for the physical layer chip to send 512-bit data.
- the total time priority_reduce_timer[n] reduce_t[ n]*pause_quanta.
- Step S34 when it is determined that the control mode is the pause and speed reduction mode based on the preset control strategy, a reduce field is added to the PFC frame, and the PFC frame is updated based on the pause time, the speed reduction parameter, and the priority Corresponding priority_enable_vector field, time field and reduce field to obtain the fourth PFC frame, and use the fourth PFC frame as control data; in this embodiment, when the control mode is determined to be paused and decelerated based on a preset control strategy In the method, it means to take measures to temporarily stop sending data and temporarily reduce the sending data.
- the pause function and speed reduction function corresponding to this priority need to be enabled, that is, the low byte of the priority_enable_vector field corresponding to the PFC frame needs to be
- the bit corresponding to the priority is set, and the bit corresponding to the priority is set in the high byte of the priority_enable_vector field corresponding to the PFC frame, and the reduce field is added after the time field, and then the speed reduction parameter is updated to The position of the reduce field corresponding to this priority.
- the PFC frame after the reduce field is added and updated based on the deceleration parameter, pause time, and priority is the control data.
- the same priority uses both the speed reduction and the pause function.
- the reduce field is added as speed reduction information, and the speed reduction rate uses a percentage value.
- priority 2 needs to slow down and pause, the percentage of the rate of reduction is 10%, the slowdown time is 300, the pause time is 5000, the corresponding time[2] is 5000, and reduce_s[2] is 10 , Reduce_t[2] is 300, and the rest of time and reduce are set to 0.
- the reduced speed enable r[2] and pause enable e[2] are both set to 1, and the remaining r[n] and e[n] are set to 0.
- the decimal value of the entire priority_enable_vector is 1028.
- Step S35 when it is determined that the control mode is the pause mode based on the preset control strategy, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the pause time and the priority to obtain a fifth PFC frame,
- the fifth PFC frame is used as control data; in this embodiment, when it is determined that the control mode is a pause mode according to a preset control strategy, it is stated that measures to temporarily stop sending data are taken, and the pause function corresponding to this priority requires If it is enabled, you need to set the bit corresponding to the priority in the low byte of the priority_enable_vector field corresponding to the PFC frame, and then update the pause time to the position corresponding to the priority in the time field.
- the PFC frame updated based on the pause time and priority is the control data.
- Step S36 when it is determined that the control mode is the speed reduction mode based on the preset control strategy, a reduce field is added to the PFC frame, and the priority_enable_vector field and the corresponding field of the PFC frame are updated based on the speed reduction parameter and the priority
- the reduce field obtains a sixth PFC frame, and uses the sixth PFC frame as control data.
- the control mode is the speed reduction mode according to the preset control strategy
- the bit corresponding to the priority is set, and the reduce field is added after the time field, and then the deceleration parameter is updated to the position of the reduce field corresponding to the priority.
- the speed reduction function is used, and the reduce field is added as speed reduction information, where the speed reduction rate is used as a percentage.
- priority 2 and 3 need to be reduced in speed, the rate of reduction is 50% and 20% respectively, the time is 300 and 500 respectively, the corresponding reduce_s[2] is 50, reduce_t[2] is 300, reduce_s[3] is 20, reduce_t[3] is 500, and the rest of the reduce is set to 0.
- the speed reduction enable r[2] and r[3] are set to 1, the rest r is set to 0, all e[n] is set to 0, and the entire priority_enable_vector decimal value is 3072.
- the congestion control method based on the PFC frame proposed in this embodiment generates new control data by enabling the high byte reserved in the priority_enable_vector field and the reduce field after the time field as speed reduction information, and solves the network congestion based on the control data to make the congestion
- the control mechanism is more flexible and enriches the technical means for solving network congestion.
- step S30 includes:
- the priority_enable_vector field in the PFC frame format is used The high byte reserved in is used as the enable field of the speed reduction function.
- the format of the extended priority_enable_vector field is shown in FIG. 5 and is consistent with the description in Embodiment 2, and will not be repeated here.
- Adding a TLV field after the time field indicates the information required for speed reduction.
- the information required for speed reduction is contained in the sub-TLV.
- Type indicates the type of speed reduction. It can be an ordinary speed reduction, which only includes the speed and time of the speed reduction; it can also be a different speed reduction algorithm, such as the RP algorithm, or other custom speed reduction algorithms, of which Type accounts for two Bytes, Length occupies 4 bytes.
- Step S37 when it is determined that the control mode is the pause and speed reduction mode based on the preset control strategy, a TLV field is added to the PFC frame, and the PFC frame is updated based on the pause time, the speed reduction parameter, and the priority
- the corresponding priority_enable_vector field, time field, and TLV field to obtain the seventh PFC frame, and use the seventh PFC frame as control data; in this embodiment, when the control method is determined to be paused and decelerated based on a preset control strategy In the method, it means to take measures to temporarily stop sending data and temporarily reduce the sending data.
- the pause function and speed reduction function corresponding to this priority need to be enabled, that is, the low byte of the priority_enable_vector field corresponding to the PFC frame needs to be
- the bit corresponding to the priority is set, and the bit corresponding to the priority is set in the high byte of the priority_enable_vector field corresponding to the PFC frame, and the TLV field is added after the time field, and then the deceleration parameter is updated to The location of the TLV field corresponding to this priority.
- the TLV field is added only when the speed reduction function is enabled.
- the PFC frame after adding the TLV field and updating based on the deceleration parameters, pause time, and priority is the control data.
- the TLV field is added as deceleration information, and the deceleration type uses the RP algorithm.
- the format of the PFC frame is shown in Figure 15.
- Priority 2 needs to be slowed down, and priority 3 needs to be suspended.
- the speed reduction type uses the RP algorithm, and the pause time is 30,000. time[3] is 30000, and the rest of the time is set to 0.
- the reduced speed enable r[2] and pause enable e[3] are both set to 1, and the remaining r[n] and e[n] are set to 0.
- the decimal value of the entire priority_enable_vector is 1032.
- the Type type is the PR algorithm, and the parameters to be carried are in the sub-TLV.
- Step S38 when it is determined that the control mode is the pause mode based on the preset control strategy, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the pause time and the priority to obtain an eighth PFC frame,
- the eighth PFC frame is used as control data; in this embodiment, when it is determined that the control mode is the pause mode according to the preset control strategy, it is stated that to temporarily stop sending data measures, the pause function corresponding to the priority needs to be To enable, it is necessary to set the bit corresponding to the priority in the lower byte of the priority_enable_vector field corresponding to the PFC frame, and then update the pause time to the position corresponding to the priority in the time field.
- the PFC frame updated based on the pause time and priority is the control data.
- Step S39 when it is determined that the control mode is the speed reduction mode based on the preset control strategy, a TLV field is added to the PFC frame, and the priority_enable_vector field corresponding to the PFC frame is updated based on the speed reduction parameter and the priority
- the TLV field obtains a ninth PFC frame, and uses the ninth PFC frame as control data.
- the control mode is the speed reduction mode according to the preset control strategy
- the bit corresponding to the priority is set.
- the TLV field is added after the time field, and then the deceleration parameter is updated to the position corresponding to the priority in the TLV field.
- the congestion control method based on the PFC frame proposed in this embodiment generates new control data by enabling the high byte reserved in the priority_enable_vector field and the TLV field as the speed reduction information after the time field, and solves the network congestion based on the control data to make the congestion
- the control mechanism is more flexible and enriches the technical means for solving network congestion.
- FIG. 16 is a schematic diagram of functional modules of an embodiment of a congestion control device based on a PFC frame of the present invention.
- the PFC frame-based congestion control apparatus includes: an acquisition module 10, when a physical link or a logical link is congested, the receiving end of the communication system acquires the priority corresponding to the congestion queue; Module 20, the receiving end determines a speed reduction parameter and/or a pause time corresponding to the priority; generating module 30, the receiving end generates a PFC based on the speed reduction parameter, the pause time, and the priority Control data of the frame; the sending module 40, the receiving end sends a congestion control instruction including the control data to the sending end of the communication system, so that the sending end determines the priority data based on the control data The sending speed of the stream.
- the congestion control device based on the PFC frame further includes a detection unit, and the receiving end detects whether congestion occurs in each queue in real time based on the queue length corresponding to the queue.
- the detection unit specifically includes: a judgment unit, and the receiving end determines whether the queue length is greater than a threshold, wherein when the queue length is greater than or equal to the threshold, it is determined that the queue is congested.
- the generation module 30 specifically includes: a sub-generation unit 1 that, when determining that the control mode is a pause and speed reduction mode based on a preset control strategy, is based on the pause time, the speed reduction parameter, and the priority Update the priority_enable_vector and time fields corresponding to the PFC frame to obtain the first PFC frame, and use the first PFC frame as control data; the sub-generation unit 2 when determining that the control mode is the pause mode based on the preset control strategy , Then update the priority_enable_vector field and time field corresponding to the PFC frame based on the pause time and the priority to obtain a second PFC frame, and use the second PFC frame as control data; the sub-generation unit 3, at When it is determined that the control mode is the speed reduction mode based on the preset control strategy, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the speed reduction parameter and the priority to obtain a third PFC frame, and the The third PFC
- the generation module 30 further includes: a sub-generation unit 4, when it is determined that the control mode is the pause and speed reduction mode based on the preset control strategy, a reduce field is added to the PFC frame, based on the pause time, The speed reduction parameter and the priority update the priority_enable_vector field, time field, and reduce field corresponding to the PFC frame to obtain a fourth PFC frame, and use the fourth PFC frame as control data; the sub-generation unit 5 is based on When the preset control strategy determines that the control mode is the pause mode, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the pause time and the priority to obtain a fifth PFC frame, and the Five PFC frames are used as control data; when the sub-generation unit 6 determines that the control mode is the speed reduction mode based on the preset control strategy, a reduce field is added to the PFC frame, and updated based on the speed reduction parameters and the priority A priority_enable_vector field and
- the generating module 30 further includes: a sub-generating unit 7, when it is determined that the control mode is a pause and speed reduction mode based on the preset control strategy, a TLV field is added to the PFC frame, based on the pause time, The speed reduction parameter and the priority update the priority_enable_vector field, time field, and TLV field corresponding to the PFC frame to obtain a seventh PFC frame, and use the seventh PFC frame as control data; the sub-generation unit 8 is based on When the preset control strategy determines that the control mode is the pause mode, the priority_enable_vector field and the time field corresponding to the PFC frame are updated based on the pause time and the priority to obtain an eighth PFC frame, and the Eight PFC frames as control data; when the sub-generation unit 9 determines that the control mode is the speed reduction mode based on the preset control strategy, a TLV field is added to the PFC frame, and updated based on the speed reduction parameters and the priority A priority_enable_vector field
- the congestion control device based on the PFC frame further includes: an adjustment unit, after the control time corresponding to the control data ends, the sending end sends a data stream to the receiving end according to a preset speed.
- the present invention also provides a non-transitory (non-volatile) computer storage medium that stores computer executable instructions that can execute the method in any of the above method embodiments.
- the present invention also provides a computer program product, the computer program product includes a computer program stored on a non-transitory computer-readable storage medium, the computer program includes program instructions, when the program instructions are executed by a computer, the The computer executes the method in any of the above method embodiments.
- the methods in the above embodiments can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware, but in many cases the former is better Implementation.
- the technical solution of the present invention can be embodied in the form of a software product in essence or part that contributes to the existing technology, and the computer software product is stored in a storage medium (such as ROM/RAM) as described above , Disk, CD), including several instructions to make a terminal device (may be a mobile phone, computer, server, air conditioner, or network equipment, etc.) to perform the methods described in the various embodiments of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于PFC帧的拥塞控制方法,包括以下步骤:当物理链路或逻辑链路发生拥塞时,通信系统的接收端获取所述拥塞队列对应的优先级,而后接收端基于所述拥塞队列确定所述优先级对应的降速参数和/或暂停时间,接下来接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据,然后接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。本发明还公开了一种装置、系统及存储介质。
Description
交叉引用
本发明要求在2018年12月29日提交至中国专利局、申请号为201811654832.X、发明名称为“基于PFC帧的拥塞控制方法、装置、系统及存储介质”的中国专利申请的优先权,该申请的全部内容通过引用结合在本发明中。
本发明涉及网络通信技术领域,尤其涉及一种基于PFC帧的拥塞控制方法、装置、系统及存储介质。
PFC(Priority-based Flow Control优先级的流量控制)是IEEE数据中心桥接(Data Center Bridge)协议族中其中一个功能,是对传统流控的暂停机制一种增强。当接收端检测到拥塞时,通过发送PFC PAUSE帧通知发送端暂时停止发送数据。但是,因为PFC是完全停止相应优先级的数据发送,会带来一些问题,如:暂停时间不合理,会带来丢包,导致上次协议重传,造成拥塞扩散等,有些紧急数据,有时间限制的数据,如时间同步数据,如果采用PFC控制拥塞,则会导致依赖此类数据的机制失效;还有PFC会导致抢占功能失效,如TSN的某些机制要求关闭PFC功能等。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于PFC帧的拥塞控制方法,旨在解决当网络拥塞时,启用PFC而引起丢包、不能及时发送紧急数据以及抢占机制失效的技术问题。
为实现上述目的,本发明提供一种基于PFC帧的拥塞控制方法,所述基于PFC帧的拥塞控制方法包括以下步骤:当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级;所述接收端确定所述优先级对应的降速参数和/或暂停时间;所述接收端基于所述降速参 数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
为实现上述目的,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行以上各个方面所述的方法。
为实现上述目的,本发明提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以上各个方面所述的方法。
图1是本发明实施例方案涉及的硬件运行环境中通信系统的结构示意图;
图2为本发明基于PFC帧的拥塞控制方法第一实施例的流程示意图;
图3为本发明标准的PFC PAUSE帧的格式示意图;
图4为本发明基于PFC帧的拥塞控制方法第二实施例的流程示意图;
图5为本发明扩展后的priority_enable_vector字段的格式示意图;
图6为本发明修改后的time字段的格式示意图;
图7为本发明第二实施例中优先级2同时降速和暂停时PFC帧的格式示意图;
图8为本发明第二实施例中优先级2和3同时降速时PFC帧的格式示意图;
图9为本发明基于PFC帧的拥塞控制方法第三实施例的流程示意图;
图10为本发明增加reduce字段的PFC帧的格式示意图;
图11为本发明第三实施例中优先级2同时降速和暂停时PFC帧的格式示意图;
图12为本发明第三实施例中优先级2和3同时降速时PFC帧的格式示意图;
图13为本发明基于PFC帧的拥塞控制方法第四实施例的流程示意图;
图14为本发明增加TLV字段的PFC帧的格式示意图;
图15为本发明第四实施例中优先级2降速和优先级3暂停时PFC帧的 格式示意图;
图16为本发明基于PFC帧的拥塞控制装置实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中通信系统的结构示意图。
如图1所示,该通信系统可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,通信系统还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器,当然,通信系统还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的通信系统结构并不构成对通信系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于PFC帧的拥塞控制程序。
在图1所示的通信系统中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于PFC帧的拥塞控制程序。
在本实施例中,通信系统包括:存储器1005、处理器1001及存储在所 述存储器1005上并可在所述处理器1001上运行的基于PFC帧的拥塞控制程序,其中,处理器1001调用存储器1005中存储的基于PFC帧的拥塞控制程序时,执行本申请各个实施例提供的基于PFC帧的拥塞控制方法的步骤。
本发明还提供一种基于PFC帧的拥塞控制方法,参照图2,图2为本发明基于PFC帧的拥塞控制方法第一实施例的流程示意图。
在本实施例中,PFC定义于由点到点链路连接的全双工的MAC层,目前很多网络设备都支持PFC,PFC允许在一条以太网链路上创建8个队列,并为每条队列指定一个优先级(CoS),允许单独暂停和重启其中任意一条队列,同时允许其它队列的流量无中断通过。
一个标准的PFC PAUSE帧格式如图3所示,PFC PAUSE帧以下简称PFC帧,其中Destination Mac Address是目的MAC地址域,占6字节,值指定为01-80-C2-00-00-01;Source Mac Address是源的MAC地址域,占6字节;type/len是以太网帧长度或类型域,值为88-08,表明是MAC控制帧;Control opcode是MAC控制操作码,占2字节;priority_enable_vector是优先级向量信息,占2字节,高字节保留,默认为0,低字节每个位代表相应的time[n]是否有效。e[n]代表优先级n,当e[n]为1时,表示time[n]有效,当e[n]为0时,表示time[n]无效;time是暂停发送帧时间,包含time[0]至time[7]的8个数组单元,每个数组单元为2字节。当e[n]为0时,time[n]没有意义。当e[n]为1时,time[n]代表接收站点停止优先级为n的报文发送的时间,时间的单位pause_quanta为物理层芯片发送512位数据所需要的时间,总时间priority_timer[n]=time[n]*pause_quanta,time[n]的取值范围是0-65535。所以发送一次PFC PAUSE帧,要求对端设备暂停发送的时间长度最长为:65535*pause_quanta。
在本实施例中,该基于PFC帧的拥塞控制方法包括:步骤S10,当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级。
在本实施例中,当某个优先级的队列发生拥塞时,进一步地获取发生拥塞的队列对应的优先级。
需要说明的是,接收端根据队列的优先级确定PFC帧的priority_enable_vector字段、time字段等的具体值,本发明对标准PFC帧的格式进行了优化,优化后的PFC帧对应的priority_enable_vector包含2个字节分别是高字节和低字节,低字节每个位代表相应的优先级的队列是否临时 停止发送数据,高字节每个位代表相应的优先级的队列是否临时降速发送数据。
步骤S20,所述接收端确定所述优先级对应的降速参数和/或暂停时间;在本实施例中,当发生拥塞,根据发生拥塞的队列的队列长度进一步确定拥塞解决方案,也就是通知发送端对发生拥塞的队列采取临时停止发送数据,或临时降速发送数据,或先临时停止发送数据再临时降速发送数据,或先临时降速发送数据再临时停止发送数据,具体采取哪种控制方式,根据当前队列的队列长度来确定,也就是说,用户预先设置好队列长度、与控制方式的对应关系,当发生拥塞时,根据队列长度检索对应关系进而确定解决拥塞的控制方式。
具体地,本发明中的拥塞控制手段分两种,一种是临时停止发送数据,一种是临时降速发送数据。如果需要采取临时停止发送数据的控制手段,则需要确定优先级对应的暂停时间;如果需要采取临时降速发送数据的控制手段,则需要确定优先级对应的降速速率和降速时间。
步骤S30,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据。
在本实施例中,在确定了优先级、降速参数、暂停时间后,进一步基于降速参数、暂停时间以及优先级生成基于PFC帧的控制数据。需要说明的是,标准的PFC帧仅体现了对拥塞的队列进行临时停止发送数据,本发明是在标准的PFC帧基础上进行了增强,在支持临时停止发送数据的同时还支持临时降速发送数据,通过控制数据来体现。
步骤S40,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
在本实施例中,接收端基于降速参数、暂停时间以及优先级生成基于PFC帧的控制数据后,接收端发送包括控制数据的拥塞控制指令至发送端,以使发送端根据控制数据确定优先级对应的队列的数据流的发送速度。需要说明的是,如果采取的是临时停止发送数据的措施,则发送端的数据发送速度为0。
进一步地,在一实施例中,步骤S40之后还包括:步骤S50,在所述控制数据对应的控制时间结束后,所述发送端根据预设速度发送数据流至所述接收端。
在本实施例中,接收端接收到拥塞控制指令时,根据拥塞控制指令的控制数据对数据发送速度进行控制,同时,控制数据还提供了控制时间即暂停时间和降速时间,在控制时间结束后,发送端恢复数据的发送速度即按照预设速度发送数据流至接收端。
进一步地,在一实施例中,步骤S10之前还包括:步骤S60,所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞。
在本实施例中,接收端根据各个队列对应的队列长度实时检测各个队列是否发生拥塞,当有队列发生拥塞时需要及时进行拥塞控制,以免引起网络瘫痪。
具体地,步骤S60包括:步骤S61,所述接收端确定所述队列长度是否大于阈值,其中,当所述队列长度大于或等于阈值时,则判定所述队列发生拥塞。
在本实施例中,接收端实时检测各个队列对应的队列长度,并将队列长度与阈值进行比较,其中,阈值是判定拥塞的边界值,有用户根据实际情况设定,本发明中不做限定。当某个优先级的队列长度超过阈值时,则判定该队列发生拥塞,反之,当队列长度未超过阈值时,则判定该队列不拥塞,不需要进行流量控制。
本实施例提出的基于PFC帧的拥塞控制方法,当物理链路或逻辑链路发生拥塞时,通信系统的接收端获取所述拥塞队列对应的优先级,而后接收端基于所述拥塞队列确定所述优先级对应的降速参数和/或暂停时间,接下来接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据,然后接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使发送端基于所述控制数据确定所述拥塞队列的数据流的发送速度。通过控制数据控制数据流量,解决网络拥塞问题,同时保证发送数据时无丢包、紧急数据及时被发送以及抢占机制生效。
基于第一实施例,参照图4,提出本发明基于PFC帧的拥塞控制方法的第二实施例,在本实施例中,步骤S30包括:在本实施例中,使用PFC帧格式中的priority_enable_vector字段中保留的高字节,作为降速功能的使能字段。扩展后的priority_enable_vector字段格式如图5所示,与低字节相同,8个比特位代表对应的优先级,r[n]代表优先级n,当r[n]为1时,表示使能优先级为n的降速功能;当r[n]为0时,表示不使用降速功能。降速所需的信息包含降速时间和降速速率,通过修改time字段体现,如图6所示,修改后 的time_s[n]和time_t[n],分别为降速速率和降速时间,其中,降速速率可以以百分比的形式表示,取值为0至100,对应0%至100%,表示用原发送速率乘以该百分比得到降速后的速率,降速速率还可以采用倍数的形式,取值范围1至127,表示用原发送速率除以此倍数值。
步骤S31,在基于预设控制策略确定控制方式是暂停且降速方式时,则基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段和time字段,以获得第一PFC帧,并将所述第一PFC帧作为控制数据;在本实施例中,预设控制策略包括的控制方式有三种,分别是暂停且降速方式、暂停方式和降速方式,接收端根据当前的发生拥塞的队列对应的累积流量,根据预设的控制策略确定本次的拥塞控制方式。其中,预设控制策略由用户自定义,在本发明中不做限定。
当基于预设控制策略确定控制方式是暂停且降速方式时,说明要采取临时停止发送数据和临时降速发送数据措施,该优先级对应的暂停功能和降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,以及PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时,基于暂停时间、降速参数更新PFC帧的time字段中与该优先级对应的字节。
需要说明的是,当同时采取临时暂停发送数据和临时降速发送数据措施时,暂停时间与降速参数对应的降速时间相同,即time_t[n]表示降速的时间,同时time_t[n]也表示暂停的时间。临时暂停和临时降速的执行顺序由预设控制策略决定。
基于降速参数、暂停时间以及优先级更新后的PFC帧即为控制数据。
举例说明,同一优先级既使用降速又使用暂停功能,修改time字段作为降速信息,其中降速速率使用倍数值。当队列发生拥塞时,同一优先级既使用降速又使用暂停功能。如图7所示,优先级2需要降速和暂停,降得速率倍率为10,降速和暂停时间都为300,对应的time_s[2]为10,time_t[2]为300,其余的time都置为0。降速的使能r[2]和暂停使能e[2]都置为1,其余r[n]和e[n]置为0,整个priority_enable_vector十进制值为1028。
步骤S32,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第二PFC帧,并将所述第二 PFC帧作为控制数据;在本实施例中,在根据预设控制策略确定控制方式是暂停方式时,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,再将暂停时间更新到time字段与该优先级对应的位置。基于暂停时间以及优先级更新后的PFC帧即为控制数据。
步骤S33,在基于所述预设控制策略确定控制方式是降速方式时,则基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段以获得第三PFC帧,并将所述第三PFC帧作为控制数据。
在本实施例中,在基于预设控制策略确定控制方式是降速方式时,该优先级对应的降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,再将降速参数更新到time字段与该优先级对应的位置。
举例说明,当队列发生拥塞时,只使用降速功能,修改time字段作为降速信息,其中降速速率使用百分比。如图8所示,优先级2和3需要降速,降得速率分别为50%和20%,时间分别为300和500,对应的time_s[2]为50,time_t[2]为300,time_s[3]为20,time_t[3]为500,其余的time都置为0。降速的使能r[2]和r[3]置为1,其余r置为0,所有e[n]置为0,整个priority_enable_vector十进制值为3072。
本实施例提出的基于PFC帧的拥塞控制方法,通过启用priority_enable_vector字段中保留的高字节以及重新定义time字段生成了新的控制数据,基于控制数据解决网络拥塞,使得拥塞控制机制更灵活,丰富了解决网络拥塞的技术手段。
基于第二实施例,参照图9,提出本发明基于PFC帧的拥塞控制方法的第三实施例,在本实施例中,步骤S30还包括:在本实施例中,使用PFC帧格式中的priority_enable_vector字段中保留的高字节,作为降速功能的使能字段。扩展后的priority_enable_vector字段格式如图5所示,与实施例二中的描述一致,这里不再赘述。降速所需的信息包含降速时间和降速速率,通过在time后添加reduce字段体现,包含reduce[0]至reduce[7]的8个数组单元,每个数组单元为2字节。reduce[n]高7bit表示降速速率reduce_s[n],低9bit表示降速时间reduce_t[n]。增加reduce字段的PFC帧格式如图10所示。其中,降速速率可以以百分比或倍数的形式,与实施例二中的描述一致,这里不再赘述。降速的时间reduce_t[n]的取值范围0-512,时间的单位和PFC 帧中的pause_quanta相同,表示为物理层芯片发送512位数据所需要的时间,总时间priority_reduce_timer[n]=reduce_t[n]*pause_quanta。
步骤S34,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;在本实施例中,当基于预设控制策略确定控制方式是暂停且降速方式时,说明要采取临时停止发送数据和临时降速发送数据措施,该优先级对应的暂停功能和降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,以及PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加reduce字段,再将降速参数更新到reduce字段与该优先级对应的位置。
增加了reduce字段并基于降速参数、暂停时间以及优先级更新后的PFC帧即为控制数据。
举例说明,同一优先级即使用降速又使用暂停功能,增加reduce字段作为降速信息,其中降速速率使用百分比值。如图11所示,优先级2的需要降速和暂停,降得速率百分比为10%,降速时间为300,暂停时间为5000,对应的time[2]为5000,reduce_s[2]为10,reduce_t[2]为300,其余的time和reduce都置为0。降速的使能r[2]和暂停使能e[2]都置为1,其余r[n]和e[n]置为0,整个priority_enable_vector十进制值为1028。
步骤S35,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第五PFC帧,并将所述第五PFC帧作为控制数据;在本实施例中,在根据预设控制策略确定控制方式是暂停方式时,,说明要采取临时停止发送数据措施,该优先级对应的暂停功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,再将暂停时间更新到time字段与该优先级对应的位置。基于暂停时间以及优先级更新后的PFC帧即为控制数据。
步骤S36,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加reduce字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和reduce字段以获得第六PFC帧,并将 所述第六PFC帧作为控制数据。
在本实施例中,在根据预设控制策略确定控制方式是降速方式时,说明需要采取临时降速发送数据措施,该优先级对应的降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加reduce字段,再将降速参数更新到reduce字段与该优先级对应的位置。
举例说明,当队列发生拥塞时,只使用降速功能,增加reduce字段作为降速信息,其中降速速率使用百分比。如图12所示,优先级2和3的需要降速,降得速率分别为50%和20%,时间分别为300和500,对应的reduce_s[2]为50,reduce_t[2]为300,reduce_s[3]为20,reduce_t[3]为500,其余的reduce都置为0。降速的使能r[2]和r[3]置为1,其余r置为0,所有e[n]置为0,整个priority_enable_vector十进制值为3072。
本实施例提出的基于PFC帧的拥塞控制方法,通过启用priority_enable_vector字段中保留的高字节以及在time字段后reduce字段作为降速信息而生成新的控制数据,基于控制数据解决网络拥塞,使得拥塞控制机制更灵活,丰富了解决网络拥塞的技术手段。
基于第三实施例,参照图13,提出本发明基于PFC帧的拥塞控制方法的第四实施例,在本实施例中,步骤S30包括:在本实施例中,使用PFC帧格式中的priority_enable_vector字段中保留的高字节,作为降速功能的使能字段。扩展后的priority_enable_vector字段格式如图5所示,与实施例二中的描述一致,这里不再赘述。在time字段后增加TLV字段表示降速所需的信息,有几个优先级使能了降速功能,就对应增加几个TLV,最多增加8个TLV。降速所需的信息包含在sub-TLV中。增加TLV字段的PFC帧格式如图14所示。Type表示降速的类型,可以是普通的降速,只包含降速的速率和时间;也可以是不同的降速算法,如RP算法,或者其他自定义的降速算法,其中,Type占两字节,Length占4字节。当priority_enable_vector中只使能暂停功能时,即e[n]=1,r[n]=0时,time[n]的2字节还表示原先的暂停时间,不增加TLV;当只使能降速功能时,即e[n]=0,r[n]=1时,time[n]无效,增加对应的TLV和sub-TLV;当使能暂停和降速功能时,即e[n]=1,r[n]=1时,time[n]表示暂停时间,并增加对应的TLV和sub-TLV。
步骤S37,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加TLV字段,基于所述暂停时间、所述降速参数以及所述 优先级更新PFC帧对应的priority_enable_vector字段、time字段以及TLV字段,以获得第七PFC帧,并将所述第七PFC帧作为控制数据;在本实施例中,当基于预设控制策略确定控制方式是暂停且降速方式时,说明要采取临时停止发送数据和临时降速发送数据措施,该优先级对应的暂停功能和降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,以及PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加TLV字段,再将降速参数更新到TLV字段与该优先级对应的位置。需要说明的是,只有使能降速功能时才增加TLV字段。增加了TLV字段并基于降速参数、暂停时间以及优先级更新后的PFC帧即为控制数据。
举例说明,当队列发生拥塞时,有的优先级使用降速功能,有的优先级使用暂停功能,增加TLV字段作为降速信息,其中降速类型使用RP算法。PFC帧格式如图15所示,优先级2的需要降速,优先级3的需要暂停。降速类型使用RP算法,暂停的时间为30000。time[3]为30000,其余的time都置为0。降速的使能r[2]和暂停使能e[3]都置为1,其余r[n]和e[n]置为0,整个priority_enable_vector十进制值为1032。Type类型为PR算法,其需携带的参数在sub-TLV中。
步骤S38,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第八PFC帧,并将所述第八PFC帧作为控制数据;在本实施例中,在根据预设控制策略确定控制方式是暂停方式时,说明要采取临时停止发送数据措施,该优先级对应的暂停功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,再将暂停时间更新到time字段与该优先级对应的位置。基于暂停时间以及优先级更新后的PFC帧即为控制数据。
步骤S39,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加TLV字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和TLV字段以获得第九PFC帧,并将所述第九PFC帧作为控制数据。
在本实施例中,在根据预设控制策略确定控制方式是降速方式时,说明需要采取临时降速发送数据措施,该优先级对应的降速功能需要被使能,即 需要将PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加TLV字段,再将降速参数更新到TLV字段与该优先级对应的位置。
本实施例提出的基于PFC帧的拥塞控制方法,通过启用priority_enable_vector字段中保留的高字节以及在time字段后TLV字段作为降速信息而生成新的控制数据,基于控制数据解决网络拥塞,使得拥塞控制机制更灵活,丰富了解决网络拥塞的技术手段。
本发明进一步提供一种基于PFC帧的拥塞控制装置,参照图16,图16为本发明基于PFC帧的拥塞控制装置实施例的功能模块示意图。
在本实施例中,该基于PFC帧的拥塞控制装置包括:获取模块10,当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级;确定模块20,所述接收端确定所述优先级对应的降速参数和/或暂停时间;生成模块30,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;发送模块40,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
进一步地,所述基于PFC帧的拥塞控制装置还包括:检测单元,所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞。
进一步地,所述检测单元具体包括:判断单元,所述接收端确定所述队列长度是否大于阈值,其中,当所述队列长度大于或等于阈值时,则判定所述队列发生拥塞。
进一步地,所述生成模块30具体包括:子生成单元1,在基于预设控制策略确定控制方式是暂停且降速方式时,则基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段和time字段,以获得第一PFC帧,并将所述第一PFC帧作为控制数据;子生成单元2,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第二PFC帧,并将所述第二PFC帧作为控制数据;子生成单元3,在基于所述预设控制策略确定控制方式是降速方式时,则基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段以获得第三PFC帧,并将所述第三PFC帧作为控制数据。
进一步地,所述生成模块30还包括:子生成单元4,在基于所述预设控 制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;子生成单元5,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第五PFC帧,并将所述第五PFC帧作为控制数据;子生成单元6,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加reduce字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和reduce字段以获得第六PFC帧,并将所述第六PFC帧作为控制数据。
进一步地,所述生成模块30还包括:子生成单元7,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加TLV字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及TLV字段,以获得第七PFC帧,并将所述第七PFC帧作为控制数据;子生成单元8,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第八PFC帧,并将所述第八PFC帧作为控制数据;子生成单元9,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加TLV字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和TLV字段以获得第九PFC帧,并将所述第九PFC帧作为控制数据。
进一步地,所述基于PFC帧的拥塞控制装置还包括:调整单元,在所述控制数据对应的控制时间结束后,所述发送端根据预设速度发送数据流至所述接收端。
本发明还提供一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的方法。
本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
- 一种基于PFC帧的拥塞控制方法,其中,应用于支持PFC的通信系统,所述通信系统对应的每条物理链路或逻辑链路包括预设数量的队列,所述基于PFC帧的拥塞控制方法包括以下步骤:当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级;所述接收端确定所述优先级对应的降速参数和/或暂停时间;所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
- 如权利要求1所述的基于PFC帧的拥塞控制方法,其中,所述当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级的步骤之前,还包括:所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞队列。
- 如权利要求2所述的基于PFC帧的拥塞控制方法,其中,所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞的步骤包括:所述接收端确定所述队列长度是否大于阈值,其中,当所述队列长度大于或等于阈值时,则判定所述队列发生拥塞。
- 如权利要求1所述的基于PFC帧的拥塞控制方法,其中,所述PFC帧包括priority_enable_vector字段和time字段,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据的步骤包括:在基于预设控制策略确定控制方式是暂停且降速方式时,则基于所述暂停 时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段和time字段,以获得第一PFC帧,并将所述第一PFC帧作为控制数据;在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第二PFC帧,并将所述第二PFC帧作为控制数据;在基于所述预设控制策略确定控制方式是降速方式时,则基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段以获得第三PFC帧,并将所述第三PFC帧作为控制数据。
- 如权利要求1所述的基于PFC帧的拥塞控制方法,其中,所述PFC帧包括priority_enable_vector字段和time字段,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据的步骤还包括:在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第五PFC帧,并将所述第五PFC帧作为控制数据;在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加reduce字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和reduce字段以获得第六PFC帧,并将所述第六PFC帧作为控制数据。
- 如权利要求1所述的基于PFC帧的拥塞控制方法,其中,所述PFC帧包括priority_enable_vector字段和time字段,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据的步骤还包括:在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加TLV字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC 帧对应的priority_enable_vector字段、time字段以及TLV字段,以获得第七PFC帧,并将所述第七PFC帧作为控制数据;在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第八PFC帧,并将所述第八PFC帧作为控制数据;在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加TLV字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和TLV字段以获得第九PFC帧,并将所述第九PFC帧作为控制数据。
- 如权利要求1至6中任一项所述的基于PFC帧的拥塞控制方法,其中,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度的步骤之后,还包括:在所述控制数据对应的控制时间结束后,所述发送端根据预设速度发送数据流至所述接收端。
- 一种基于PFC帧的拥塞控制装置,其中,所述基于PFC帧的拥塞控制装置包括:获取模块,当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级;确定模块,所述接收端确定所述优先级对应的降速参数和/或暂停时间;生成模块,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;发送模块,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
- 一种通信系统,其中,所述通信系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于PFC帧的拥塞控制程序,所述基于PFC帧的拥塞控制程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于PFC帧的拥塞控制方法的步骤。
- 一种存储介质,其中,所述存储介质上存储有所述基于PFC帧的拥塞控制程序,所述基于PFC帧的拥塞控制程序被处理器执行时实现如权利要求1至7中任一项所述的基于PFC帧的拥塞控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19905562.5A EP3905615A4 (en) | 2018-12-29 | 2019-10-31 | PFC FRAME-BASED CONGESTION CONTROL METHOD, APPARATUS, SYSTEM AND MEDIA |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811654832.XA CN111385216B (zh) | 2018-12-29 | 2018-12-29 | 基于pfc帧的拥塞控制方法、装置、系统及存储介质 |
CN201811654832.X | 2018-12-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020134553A1 true WO2020134553A1 (zh) | 2020-07-02 |
Family
ID=71127409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/114781 WO2020134553A1 (zh) | 2018-12-29 | 2019-10-31 | 基于pfc帧的拥塞控制方法、装置、系统及存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3905615A4 (zh) |
CN (1) | CN111385216B (zh) |
WO (1) | WO2020134553A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134809B (zh) * | 2020-09-16 | 2024-04-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN114760252B (zh) * | 2022-03-24 | 2024-06-07 | 北京邮电大学 | 数据中心网络拥塞控制方法及系统 |
CN115134302B (zh) * | 2022-06-27 | 2024-01-16 | 长沙理工大学 | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 |
CN115174477B (zh) * | 2022-06-29 | 2024-04-05 | 无锡芯光互连技术研究院有限公司 | 一种基于优先级流量控制的拥塞控制方法及系统 |
CN115460156B (zh) * | 2022-09-21 | 2024-02-02 | 长沙理工大学 | 一种数据中心无损网络拥塞控制方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997465A (zh) * | 2014-05-27 | 2014-08-20 | 华为技术有限公司 | 一种生成cnm的方法及设备 |
US20160006677A1 (en) * | 2014-07-01 | 2016-01-07 | Netronome Systems, Inc. | Inverse pcp flow remapping for pfc pause frame generation |
CN108512774A (zh) * | 2018-04-18 | 2018-09-07 | 清华大学 | 无丢失网络中的拥塞控制方法 |
WO2018218957A1 (zh) * | 2017-05-31 | 2018-12-06 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957269B2 (en) * | 2001-01-03 | 2005-10-18 | Advanced Micro Devices, Inc. | Method and apparatus for performing priority-based flow control |
US20110261686A1 (en) * | 2010-04-21 | 2011-10-27 | Kotha Saikrishna M | Priority Pause (PFC) in Virtualized/Non-Virtualized Information Handling System Environment |
US10027590B2 (en) * | 2014-02-24 | 2018-07-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | End to end flow control |
CN106134138B (zh) * | 2014-12-04 | 2020-02-21 | 华为技术有限公司 | 一种拥塞控制的方法、设备和系统 |
-
2018
- 2018-12-29 CN CN201811654832.XA patent/CN111385216B/zh active Active
-
2019
- 2019-10-31 EP EP19905562.5A patent/EP3905615A4/en active Pending
- 2019-10-31 WO PCT/CN2019/114781 patent/WO2020134553A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997465A (zh) * | 2014-05-27 | 2014-08-20 | 华为技术有限公司 | 一种生成cnm的方法及设备 |
US20160006677A1 (en) * | 2014-07-01 | 2016-01-07 | Netronome Systems, Inc. | Inverse pcp flow remapping for pfc pause frame generation |
WO2018218957A1 (zh) * | 2017-05-31 | 2018-12-06 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
CN108512774A (zh) * | 2018-04-18 | 2018-09-07 | 清华大学 | 无丢失网络中的拥塞控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3905615A1 (en) | 2021-11-03 |
CN111385216B (zh) | 2023-11-07 |
EP3905615A4 (en) | 2022-09-21 |
CN111385216A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020134553A1 (zh) | 基于pfc帧的拥塞控制方法、装置、系统及存储介质 | |
EP3661137B1 (en) | Packet control method and network device | |
WO2021018087A1 (zh) | 数据传输方法及装置 | |
CN106134138B (zh) | 一种拥塞控制的方法、设备和系统 | |
CN113630796B (zh) | 服务质量监测方法、设备及系统 | |
CN112740624A (zh) | 支持TSN-3GPP网络集成中的E2E QoS要求的实现 | |
JP7358637B2 (ja) | リソース選択方法及び端末 | |
WO2017088557A1 (zh) | 数据报文发送接收的处理方法及装置 | |
EP3611962B1 (en) | Quality of service control method and device | |
JPWO2020150333A5 (zh) | ||
JP2003298593A (ja) | 無線lan基地局、無線端末およびプログラム | |
US9571410B2 (en) | Credit-based link level flow control and credit exchange using DCBX | |
US8341453B2 (en) | Transmission apparatus that transmits data according to a protocol, and method for measuring time in the transmission apparatus | |
US20220078118A1 (en) | Congestion control method, terminal and readable storage medium | |
JP6244741B2 (ja) | バッファ制御装置、バッファ制御方法および基地局装置 | |
JP3956786B2 (ja) | 記憶装置の帯域制御装置、方法及びプログラム | |
WO2017091941A1 (zh) | 一种处理业务数据包的方法及装置 | |
US11212230B2 (en) | Quality of service control method, device, and system | |
KR20120127517A (ko) | 무선 통신 장치, 정보 처리 장치 및 무선 통신 제어 방법 | |
WO2022042282A1 (zh) | 一种无损流量拥塞自适应方法、系统和网络设备 | |
WO2022007658A1 (zh) | 缓存配置方法和交换设备 | |
CN115473851A (zh) | 数据流的处理方法、网络节点和系统 | |
JP2012124871A (ja) | 輻輳制御プログラム、情報処理装置および輻輳制御方法 | |
RU2772112C1 (ru) | Способ и устройство для контроля перегрузки сети на базе кадра pfc, система и носитель данных | |
KR20240090951A (ko) | 애플리케이션 데이터 단위 송신을 위한 패킷 프레이밍 |
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: 19905562 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2019905562 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2019905562 Country of ref document: EP Effective date: 20210729 |