WO2021134621A1 - Procédé et appareil de planification de message - Google Patents

Procédé et appareil de planification de message Download PDF

Info

Publication number
WO2021134621A1
WO2021134621A1 PCT/CN2019/130825 CN2019130825W WO2021134621A1 WO 2021134621 A1 WO2021134621 A1 WO 2021134621A1 CN 2019130825 W CN2019130825 W CN 2019130825W WO 2021134621 A1 WO2021134621 A1 WO 2021134621A1
Authority
WO
WIPO (PCT)
Prior art keywords
congestion control
control protocol
messages
message
credit
Prior art date
Application number
PCT/CN2019/130825
Other languages
English (en)
Chinese (zh)
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 PCT/CN2019/130825 priority Critical patent/WO2021134621A1/fr
Priority to CN201980102805.8A priority patent/CN114788243B/zh
Publication of WO2021134621A1 publication Critical patent/WO2021134621A1/fr

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

Definitions

  • This application relates to the field of communications, and in particular to a method and device for scheduling messages.
  • the sending device regards the network as a black box, and obtains the change information of the network performance by detecting the network, so as to adjust the transmission data rate to match the capacity of the network. Since the passive congestion control mechanism is adjusted through changes in network performance, and the change in network performance is the damage to the network, such as increased delay and packet loss, the passive congestion control mechanism is based on the premise of network performance damage. Adjusted.
  • the active congestion control mechanism is equivalent to the reservation mechanism.
  • the sending device reserves bandwidth to the network through credit messages, and the network returns a signal to the sending device to control the total amount of data entering the network in advance, thereby fundamentally avoiding network cache delay. Therefore, the active congestion control mechanism does not need to be adjusted on the premise of network performance impairment. Compared with the passive congestion control mechanism, the active congestion control mechanism is an important leap in the development of the transmission protocol.
  • the present application provides a method for scheduling messages, which can realize the control of the active congestion control protocol flow when there is an inactive congestion control protocol flow.
  • a method for scheduling messages includes: receiving multiple messages from a sending device, when the multiple messages include an active congestion control protocol credit message and an inactive congestion control protocol data When sending a message, determine the virtual credit message corresponding to the non-active congestion control protocol data message, and according to the available bandwidth of the credit message, the received active congestion control protocol credit message and the received virtual credit message, from Part or all of the active congestion control protocol credit message is determined in the active congestion control protocol credit message, and the determined part or all of the active congestion control protocol credit message and part of the received non-active congestion control protocol data message are determined Or forward all to the destination device.
  • the multiple messages may include at least one of the following: active congestion control protocol data messages, active congestion control protocol credit messages, non-active congestion control protocol data messages, and the number of each message may be The same may be different.
  • the data message described in the embodiment of this application refers to a message used for user data transmission;
  • the credit message described in the embodiment of this application is a message that does not carry data and is used to represent data message reservation or competition.
  • Resources for user data transmission such as bandwidth.
  • there is a certain correspondence between the credit message and the data message and this correspondence can be used to implement resource allocation for the data message through operations such as scheduling the credit message.
  • the corresponding relationship between the two determines the required resources of the data message according to the number of credit messages.
  • the ratio of the number of credit messages to data messages is 1:2, and each data message needs to occupy 0.1 kilobits per second (kbps) of bandwidth; assuming that the number of credit messages is 50, it can be based on the above The relationship obtains that the number of data messages represented by the 50 credit messages is 100 (that is, 50*2), and then according to the above relationship, it is obtained that the 100 data messages need to occupy a bandwidth of 10 kbps (that is, 0.1 kbps*100).
  • the ratio of the number of credit messages to data messages is 1:2, and the ratio of the bandwidth that each credit message needs to occupy to the bandwidth that each data message needs to occupy is 1:20; then assume that in this example Here, the number of known credit messages is 50, and the bandwidth required for each credit message is 0.001 kbps. According to the above relationship, it can be obtained that the data messages represented by the 50 credit messages need to occupy 2 kbps (ie 0.001 kbps). *50*2*20) bandwidth; assuming that in this example, it is known that each data message needs to occupy a bandwidth of 0.05kbps, and the number of credit messages is 30. According to the above relationship, the 30 can be obtained The data message represented by the credit message needs to occupy a bandwidth of 3kbps (that is, 30*2*0.05kbps).
  • the credit message in the embodiment of the application includes the active congestion control protocol credit message and the virtual credit message described below.
  • the active congestion control protocol credit message can be used to reserve bandwidth for the active congestion control protocol data message
  • the virtual credit Messages can be used to compete for bandwidth for non-active congestion control protocol data messages.
  • active congestion control protocol credit messages exist objectively, while virtual credit messages are temporarily generated intermediate quantities.
  • the following is a unified introduction to the five types of messages in combination with active congestion control protocol and non-active congestion control protocol.
  • the active congestion control protocol is a data transmission protocol based on the reservation mechanism.
  • the active congestion control protocol includes the active congestion control protocol credit message and the active congestion control protocol data message.
  • the active congestion control protocol data message is used for user data Transmission
  • the active congestion control protocol credit message is used to reserve user data transmission for the active congestion control protocol data message.
  • the ratio of active congestion control protocol credit messages to active congestion control protocol data messages is 1:3, the number of active congestion control protocol credit messages is A (A is a non-negative integer), and each active congestion control protocol Credit messages need to occupy a bandwidth of Bkbps (B is a non-negative real number), the same number of active congestion control protocol credit messages and active congestion control protocol data messages, and the bandwidth required to occupy a ratio of 1:10, you can get
  • the bandwidth required for the active congestion control protocol data message represented by the A active congestion control protocol credit message is (B*A*3*10) kbps.
  • the non-active congestion control protocol is a data transmission protocol based on other congestion control mechanisms besides the active congestion control mechanism (such as the reservation mechanism).
  • Non-active congestion control protocols include traditional passive congestion control protocols and other congestion control protocols that are neither active nor passive congestion control protocols.
  • the passive congestion control protocol can be, for example, the transmission control protocol (TCP), and other congestion control protocols that are neither active nor passive congestion control protocols can be, for example, the user datagram protocol (UDP). ).
  • the non-active congestion control protocol data message is a general term for the data messages that may exist in the non-active congestion control protocol, including passive congestion control protocol data messages (such as TCP messages) and neither active congestion control protocol data messages nor active congestion control protocol data messages.
  • passive congestion control protocol data messages such as TCP messages
  • active congestion control protocol data messages nor active congestion control protocol data messages.
  • Other congestion control protocol data messages such as UDP messages that are not passive congestion control protocol data messages.
  • virtual credit messages are used to represent inactive congestion control protocol data messages competing for bandwidth and other resources. It should be understood that the difference between virtual credit messages and objectively existing credit messages such as active congestion control protocol is that virtual credit messages are used to enable non-active congestion control protocol data messages to participate in the competition or allocation of resources such as bandwidth.
  • the temporarily generated intermediate amount is also called the transitional amount.
  • the virtual credit message is not an objectively existing message type in the network, but an intermediate quantity introduced in order to realize the technical solution of the embodiment of the present application, which can also be referred to as a transition quantity.
  • the virtual credit message can be used together with the active congestion control protocol credit message to compete for bandwidth for their corresponding data messages.
  • the virtual credit message is generated by the forwarding device, and is only scheduled for use within the forwarding device, and will not be sent to the network outside the forwarding device.
  • the virtual credit message can be understood as a form of credit message based on the "reservation system".
  • the "reservation system” is the same as the reservation system mentioned above in that both the active congestion control protocol credit message and the virtual credit message can represent the required resources of the corresponding data message ( For example, the bandwidth that needs to be occupied). That is to say, the bandwidth and other resources required for the corresponding number of active congestion control protocol data messages can be determined according to the number of active congestion control protocol credit messages, and the corresponding number of inactive congestion control can also be determined according to the number of virtual credit messages. The bandwidth and other resources that the protocol data message needs to occupy. However, there is also a difference between the "reservation system" and the reservation system mentioned above.
  • the reservation system is that the bandwidth is reserved by the credit message at the current moment, and the sending device will send according to the reserved bandwidth at the next moment The corresponding number of data messages.
  • the "reservation system” can only reserve bandwidth for the next moment based on the number of virtual credit messages at that moment at the current moment, but the sending device will not send a corresponding number of data packets based on the reserved bandwidth at the next moment.
  • the “reservation system” mainly uses the characteristic that the traffic in the network does not change suddenly. According to the number of non-active congestion control protocol data messages at the current moment, the bandwidth allocated to the non-active congestion control protocol data messages at the next moment is adjusted.
  • the "reservation system” is equivalent to reserving as much bandwidth as possible for the non-active congestion control protocol data message at the next moment based on the virtual credit message generated at the current moment, without affecting the network as much as possible.
  • the link performance does not affect the realization of the active congestion control mechanism.
  • the message format of the virtual credit message can use the same format as the active congestion control protocol credit message, except that different information is filled in its specific fields, for example, different information is filled in the type field to distinguish Message type.
  • a method for generating virtual credit messages based on non-active congestion control protocol data messages is provided. These generated virtual credit messages are used as intermediate quantities and are only generated in the forwarding device for corresponding The non-active congestion control protocol data messages compete for bandwidth and other resources, and will not be sent to the network other than the forwarding device, and can be discarded at an appropriate time.
  • the type field In order to distinguish the message types of the above four types of messages (that is, active congestion control protocol credit messages, active congestion control protocol data messages, non-active congestion control protocol data messages and virtual credit messages), you can set the type field, And set different values that can be distinguished in the type field to distinguish. Since the inactive congestion control protocol data message is an existing message format, the original message format may not be changed, that is, no additional type field is set. For the other three types of messages, the type field can be set, and the three types of messages can be distinguished by setting different values of the type field. For example, you can set the type field value of the active congestion control protocol credit message to "1", and set the virtual The type field value of the credit message is "2", and the type field value of the active congestion control protocol data message is set to "3" and so on.
  • the sending device may send one or more of the foregoing multiple messages based on service requirements or a fixed ratio.
  • the sending device may be a device capable of sending messages, such as a terminal device, a host, or a server. It should also be understood that the sending devices that send the foregoing messages may be the same or different.
  • the virtual credit message can be generated using the following generation mechanism.
  • the corresponding virtual credit message may be generated based on the inactive congestion control protocol data message received at the current moment.
  • corresponding virtual credit messages can be generated according to a predetermined ratio per message for non-active congestion control protocol data messages.
  • non-active congestion control protocol data messages and virtual credit messages use 1:1. 2:1, 3:1, 2:3 and other ratios.
  • the virtual credit message may use a small packet of the same size as the active congestion control protocol credit message, for example, 64 bytes.
  • SCP stand-in control protocol
  • SCP is a self-defined transmission protocol with congestion control capabilities, similar to the working mode and function of TCP, it is to control how the sending device (such as the source host, the source terminal, etc.) transmits to the destination device (such as the destination server) , Destination terminal, etc.)
  • the transmission control protocol for sending data Assuming that the credit message uses the SCP protocol, the credit message and the data message of the SCP protocol can have a proportional relationship and other corresponding relationships, for example, it can be a variety of proportional relationships such as 1:2, 4:1, and so on. Here, 1:1 is taken as an example.
  • the ratio of SCP protocol credit messages to data messages is 1:1, that is to say, every time the sending device receives one SCP protocol credit message, it triggers the sending of one SCP protocol data message.
  • the virtual credit message also adopts the corresponding generation scheme, that is, the virtual credit message is generated in an equal proportion according to the non-active congestion control protocol data message, and the proportion is the same as that used by the SCP protocol. For example, if a 1:1 ratio is used, when a credit message is generated, a forwarding device receives an inactive congestion control protocol data message, and a corresponding virtual credit message is generated.
  • each information of the virtual credit message can be obtained by the following method.
  • the message format of the virtual credit message can use the same format as the active congestion control protocol credit message, except that different information is filled in its specific fields, for example, different information is filled in the type field to distinguish Message type.
  • the IP header information of the virtual credit message is copied corresponding to the IP header information of the inactive congestion control protocol data message, wherein the protocol field in the IP header of the virtual credit message is not copied.
  • the source port number of the UDP header of the virtual credit message fills in the protocol port number of the SCP, and the destination port number of the UDP header is the destination port number of the non-active congestion control protocol data message corresponding to the copy of the UDP header.
  • the value filled in the type field of the SCP protocol is not only different from the value of the type field of the active congestion control protocol credit message, but also different from the value of the type field of the active congestion control protocol data message to represent the virtual credit message.
  • the virtual credit message may also use a small packet of the same size as the active congestion control protocol credit message, for example, 64 bytes.
  • the virtual credit message may not limit the information in the IP header, UDP header, SCP header, etc., as long as the virtual credit message can be distinguished from the active congestion control protocol credit message.
  • the active congestion control protocol credit messages that do not meet the requirements may be discarded, or some or all of the virtual credit messages may be discarded.
  • all virtual credit messages can be discarded after the first level of QoS scheduling is completed, or all virtual credit messages can be discarded after the completion of the two levels of QoS scheduling, and all virtual credit messages can be discarded after the completion of the two levels of QoS scheduling. Before round scheduling, discard all virtual credit messages.
  • the virtual credit message may not limit the information in the IP header, UDP header, SCP header, etc., as long as the virtual credit message can be distinguished from the active congestion control protocol credit message.
  • the virtual credit message is only valid in the forwarding device that generated the virtual credit message, and will not be sent to a network other than the forwarding device.
  • the active congestion control protocol to be forwarded is determined based on the available bandwidth of the credit message, the received active congestion control protocol credit message, and the generated virtual credit message
  • two types of credit messages can be selected based on certain preset rules or strategies.
  • the received multiple messages include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, and the M non-active congestion control protocol data is determined
  • the P virtual credit messages corresponding to the message are selected from the N active congestion control protocol credit messages according to the available bandwidth of the credit message, the N active congestion control protocol credit messages and the P virtual credit messages Determine K active congestion control protocol credit messages, where K is a positive integer less than or equal to N.
  • the available bandwidth of credit messages refers to the sum of available bandwidth of all credit messages, or can be understood as the sum of available bandwidth of all credit messages.
  • the credit message when the credit message only includes the aforementioned active congestion control protocol credit message and the virtual credit message, it is equivalent to the available bandwidth of the two types of credit messages, or can be understood as It is equivalent to the available bandwidth of the sum of the two types of credit messages (ie, mixed credit messages).
  • Available bandwidth for the current credit message may be, for example, a certain percentage of the total network bandwidth, such as 5%, 15%, 25.5%, etc., or may also be a specific bandwidth value, such as 100 megabits per second (million bits per second). second, Mbps).
  • the available bandwidth of the credit message may be based on the total network bandwidth, the correspondence between the active congestion control protocol credit message and the active congestion control protocol data message, and the virtual credit The correspondence between the message and the inactive congestion control protocol data message is determined.
  • the active congestion control protocol credit message there is a corresponding relationship between the active congestion control protocol credit message and the dynamic congestion control protocol data message, such as a proportional relationship.
  • the sending device receives the returned active congestion control protocol credit message, it can trigger a corresponding number of Active congestion control protocol data messages.
  • virtual credit messages and inactive congestion control protocol data messages there is a similar correspondence between virtual credit messages and inactive congestion control protocol data messages. For example, it can also be a proportional relationship, which is equivalent to reserving bandwidth based on a certain number of virtual credit messages. It can meet the transmission of a corresponding number of inactive congestion control protocol data messages. It can be understood that when the number of active congestion control protocol credit messages and virtual credit messages is changed, the number of their respective corresponding data messages will also change according to their respective corresponding relationships.
  • the rate of the sum of active congestion control protocol credit messages and virtual credit messages can be restricted.
  • the sum of the two can be restricted to a fixed proportion x% of the network bandwidth, such as 5%, 10.4%, 16%, etc. , Where x can be a real number greater than 0 and less than 100. Limiting the bandwidth occupied by the sum of the two according to the network bandwidth can make the total amount of data packets represented by the two not exceed the network bandwidth.
  • a hybrid credit message is defined, which is used to represent the hybrid sum of the above two kinds of credit messages.
  • the rate of mixed credit messages can be limited to a fixed proportion x% of the link bandwidth, such as 5%, 10.4%, 16%, etc., where x can be a real number greater than 0 and less than 100.
  • the ratio of the bandwidth corresponding to the number of correspondence between the two needs to be occupied is 1:9. That is to say, when the ratio of the two numbers is 1:1, the ratio of the bandwidth occupied by the two is 1:9.
  • the correspondence between virtual credit messages and non-active congestion control protocol data messages is 1:1; the ratio of bandwidth that needs to be occupied is also 1:9.
  • 10% of the total network bandwidth can be allocated to credit messages, and 90% of the total network bandwidth can be allocated to data messages.
  • the available bandwidth for credit messages is 10% of the total network bandwidth.
  • the following method of discarding more credit messages may be used to determine the active congestion control protocol credit messages to be forwarded.
  • Step 1 Compare the number of two types of credit messages
  • Step 2 Compare the bandwidth occupied by the sum of the two credit messages with the available bandwidth of the credit message. When the bandwidth occupied by the two does not exceed the available bandwidth of the credit message, determine to forward all received active congestion control protocols For credit messages, when the bandwidth occupied by the two is greater than the available bandwidth of the credit messages, perform step 3 and discard the excess part;
  • Step 3 When the bandwidth occupied by the two is greater than the available bandwidth of the credit message, discard the part of the credit message of the larger number determined in step 1. For example, when it is determined in step 1 that there are too many active congestion control protocol credit messages, some of the active congestion control protocol credit messages are discarded to ensure that the sum of the remaining active congestion control protocol credit messages and virtual credit messages does not exceed the required bandwidth. The available bandwidth of the credit message, that is, the remaining active congestion control protocol credit message is determined to be forwarded. Similarly, when it is determined in step 1 that there are many virtual credit messages, some virtual credit messages are discarded.
  • step 3 since only the active congestion control protocol credit message to be forwarded needs to be determined, and the virtual credit message does not need to be sent out, in step 3, when the bandwidth occupied by the two is greater than the available bandwidth of the credit message, When the number of virtual credit messages is determined in step 1, there is no need to discard active congestion control protocol credit messages in step 3. Therefore, it can be directly determined that all active congestion control protocol credit messages that need to be forwarded are all, while for virtual credit The message can be completely discarded.
  • it can also be set to retain only a certain percentage of virtual credit messages each time, such as 60%, that is, each time after the corresponding virtual credit message is generated according to the received non-active congestion control protocol data message , Retain only 60% of the virtual credit messages, and then allocate all remaining bandwidth in the available bandwidth of the credit messages except the bandwidth that the 60% virtual credit messages need to occupy to the active congestion control protocol credit messages.
  • the weights of the two types of credit messages can be set, and then based on the available bandwidth of the credit messages and the respective weights of the two types of credit messages, the two types of credit messages can be selected to determine the active congestion control to be forwarded Agreement credit message.
  • the two types of messages can be selected for the following different situations.
  • the weight of the active congestion control protocol credit message and the virtual credit message can be set according to the traffic planned by the network. For example, if the active congestion control protocol traffic accounts for 50% and the non-active congestion control protocol traffic accounts for 50%, the weight of the active congestion control protocol credit message and the virtual credit message can be set to 1:1.
  • the received multiple messages include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, and the M non-active congestion control protocol data is determined
  • K can be determined from the N active congestion control protocol credit messages according to the available bandwidth of the credit message, the weight of the active congestion control protocol credit message and the virtual credit message
  • the first-level quality of service (QoS) scheduling when determining the active congestion control protocol credit message to be forwarded, the first-level quality of service (QoS) scheduling can be used, and the scheduling can be performed according to the scheduling result. determine.
  • QoS quality of service
  • K active congestion control protocol credit messages are determined from the N active congestion control protocol credit messages In the process, it can be realized through first-level QoS scheduling.
  • a weighted fair queue (WFQ) scheduling strategy can be used to perform this level-one QoS scheduling.
  • the WFQ scheduling strategy When using the WFQ scheduling strategy to perform first-level QoS scheduling on active congestion control credit protocol messages (for example, the above N active congestion control protocol credit messages) and virtual credit messages (for example, the above P virtual credit messages), it can be based on The weight is used to allocate bandwidth for the active congestion control protocol credit message and the virtual credit message, and realizes the fair competition of the above two kinds of credit messages.
  • active congestion control credit protocol messages for example, the above N active congestion control protocol credit messages
  • virtual credit messages for example, the above P virtual credit messages
  • the two types of credit messages can be allocated to 100Mbps. bandwidth.
  • the actual bandwidth of the active congestion control protocol credit message for example, the bandwidth required by the active congestion control protocol credit message received at T0
  • the actual bandwidth of the virtual credit message for example, according to the received at T0
  • B2 the bandwidth required for the virtual credit message generated by the non-active congestion control protocol credit message
  • B1>100Mbps and B2 ⁇ 100Mbps increase B1 and B2 remain unchanged, where B1 can be increased up to 200Mbps-B2; that is, the actual bandwidth of the virtual credit message remains unchanged, but the virtual credit message The remaining bandwidth can be allocated to active congestion control protocol credit messages.
  • B1 When B1 ⁇ 100Mbps and B2>100Mbps, increase B2, B1 remains unchanged, where B2 can be increased to 200Mbps-B1 at most; that is, the actual bandwidth of the active congestion control protocol credit message remains unchanged, but active congestion The remaining bandwidth of the control protocol credit message can be allocated to the virtual credit message.
  • the active congestion control protocol credit message to be forwarded after determining the active congestion control protocol credit message to be forwarded, it is also possible to set the forwarding sequence of different messages, and forward different messages according to the forwarding sequence. Text.
  • the received multiple messages include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, and K active congestion control protocol credits to be forwarded are determined Message.
  • the K active congestion control protocol credit messages can be forwarded first, and then part or all of the M non-active congestion control protocol data messages can be forwarded by using the remaining bandwidth. That is, the K active congestion control protocol credit messages are forwarded first, and then part or all of the M inactive congestion control protocol data messages are forwarded as much as possible according to the remaining bandwidth.
  • the K active congestion control protocol credit messages are allocated according to the available bandwidth of the credit message, there is no situation in which the K active congestion control protocol credit messages preempt the available bandwidth of the data message. In the above situation, the available bandwidth of all data messages can be used to forward the M inactive congestion control protocol data messages as much as possible.
  • the bandwidth required to forward the M non-active congestion control protocol data messages may exceed the available bandwidth of the data message. At this time, some non-active congestion control protocol data messages can be discarded, but it may also be based on If necessary, the bandwidth occupied by the virtual credit message in the available bandwidth of the original credit message is transferred to the M inactive congestion control protocol data messages.
  • the non-active congestion control protocol data message can also be directly set to forward the non-active congestion control protocol data message first and then forward the active congestion control protocol credit message.
  • the M non-active congestion control protocol data messages can be forwarded as much as possible by using the available bandwidth of all data messages, and then the K active congestion control protocol credit messages are forwarded.
  • it may also be set to alternately forward the K active congestion control protocol credit messages and the M non-active congestion control protocol data messages.
  • the credit message is a message that does not carry data
  • the number of credit messages to be forwarded is determined according to the available bandwidth of the credit message, so the K active messages to be forwarded
  • the congestion control protocol credit message does not exceed the available bandwidth of the credit message
  • the received inactive congestion control protocol data message is a message carrying data, and the required bandwidth may exceed the available bandwidth of the data message.
  • the foregoing forwarding sequence may also be determined according to the priority by setting a priority.
  • the priority of the active congestion control protocol credit message can be set higher than the priority of the non-active congestion control protocol data message. It is set to forward the high-priority packets first, and then forward the active congestion control protocol credit messages first, and then forward part or all of the non-active congestion control protocol data messages according to the remaining bandwidth.
  • a priority queuing (PQ) scheduling strategy may be used to implement the foregoing process of forwarding each message according to the forwarding order.
  • PQ priority queuing
  • the priority of the hybrid credit message can be set higher than that of the non-active congestion control protocol data message. It should be noted that this may not be a mixed credit message, but an active congestion control protocol credit message. In this case, the priority of the active congestion control protocol credit message can be set higher than that of the non-active congestion control Protocol data message.
  • the active congestion control protocol credit message in the hybrid credit message is forwarded first to ensure bandwidth reservation for the active congestion control protocol data message at the next moment.
  • the scheduling of mixed credit messages is equivalent to informing the sending device of the number of active congestion control protocol data messages that the forwarding device can receive at the next moment, so that the sending device can accurately learn the active congestion control protocol reservations The bandwidth reached, and the bandwidth that can be reserved for subsequent moments at the next moment; in addition, it is equivalent to reserve the available bandwidth at the next moment for non-active congestion control protocol data messages, so that non-active congestion control protocol data messages can be Share bandwidth with active congestion control protocol data messages.
  • the above steps of generating virtual credit messages are performed.
  • the mixed credit messages are prioritized.
  • the mixed credit messages are When there is no data packet in the second-highest priority queue, the non-active congestion control protocol data message is then scheduled. At this time, there is no active congestion control protocol data message.
  • the received multiple messages also include active congestion control protocol data messages
  • three kinds of messages can also be set According to the forwarding sequence, and forward each message according to the forwarding sequence, the forwarding sequence can also be set according to the priority, and the PQ scheduling strategy can also be used for scheduling.
  • the active congestion control mechanism is a reservation system, that is to say, in this case, the received active congestion control protocol data message is triggered based on the bandwidth reserved through the active congestion control protocol credit message at the previous moment It is forwarded, so the received active congestion control protocol data message needs to occupy the bandwidth not to exceed the bandwidth reserved for it, and thus does not exceed the available bandwidth of the data message.
  • the multiple messages received at a certain moment include N active congestion control protocol credit messages, M inactive congestion control protocol data messages and Q active congestion control protocol data messages, and use the above
  • the method determines the K active congestion control protocol credit messages to be forwarded, and the K active congestion control protocol credit messages will not exceed the available bandwidth of the credit message. Therefore, in this case, the Q active congestion control protocol credit messages will not exceed the available bandwidth of the credit message.
  • the bandwidth occupied by the sum of the control protocol data message and the K active congestion control protocol credit messages will not exceed the total network bandwidth. Therefore, the remaining bandwidth can be used to forward the M inactive congestion control protocol data messages as much as possible.
  • the priority of the active congestion control protocol data message can be the highest, the priority of the active congestion control protocol credit message is second, and the priority of the non-active congestion control protocol data message In the lowest priority order, forward the Q active congestion control protocol data messages, the K active congestion control protocol credit messages, and part or all of the M non-active congestion control protocol data messages to the destination device, where , Q is an integer greater than or equal to 1.
  • the active congestion control protocol data message can be forwarded preferentially, ensuring the low latency effect of the active congestion control protocol, and under this premise, it can also take into account the active congestion used to reserve the bandwidth at the next moment. Control the forwarding of protocol credit messages and the forwarding of inactive congestion control protocol data messages to improve bandwidth utilization.
  • non-active congestion protocol data messages can also use the bandwidth obtained by competition for data transmission. This not only satisfies the low latency requirement of active congestion control, but also enables non-active congestion control protocol data messages to compete with and share bandwidth with active congestion control protocol data messages.
  • the second-level QoS scheduling can also be implemented. When the received inactive congestion protocol data message exceeds the bandwidth reserved at the previous moment, it can be discarded through this scheduling to ensure the transmission performance of the network link.
  • the methods described above can still be used, such as through two-level QoS scheduling, to reserve the next moment bandwidth for the non-active congestion control protocol, and to set the non-active congestion control protocol.
  • the congestion control protocol data message is forwarded.
  • WFQ scheduling because the active congestion control protocol credit message of the reserved bandwidth is not received, the remaining bandwidth of the active congestion control protocol credit message can be transferred to the virtual credit message, then the following For a moment, the bandwidth reserved for inactive congestion control protocol data messages increases.
  • PQ scheduling it is equivalent to only the second highest priority queue where the mixed credit message is located and the low priority queue where the non-active congestion control protocol data message is located. There are data packets, and there are only virtual credit messages in the mixed credit message. Therefore, the mixed credit message in the second-highest priority queue is scheduled first, and then the non-active congestion control protocol data message is scheduled.
  • the method described above can also be used, such as two-level QoS scheduling, to allocate the bandwidth of the next moment for the active congestion control protocol.
  • WFQ scheduling because no non-active congestion control protocol data message is received, it can be considered that non-active congestion control is temporarily unnecessary, and the remaining bandwidth of the virtual credit message can be allocated to the active Congestion control protocol credit messages, then at the next moment, active congestion control protocol data messages can use a larger proportion of bandwidth.
  • PQ scheduling it is equivalent to that there are only data packets in the second highest priority queue where the hybrid credit message is located, and there are only active congestion control protocol credit messages in the hybrid credit message, so only the second highest priority queue needs to be scheduled The hybrid credit message in.
  • the method described above can also be used to forward the active congestion control protocol data message, for example, through two-level QoS scheduling.
  • WFQ scheduling because the non-active congestion control protocol data message and the active congestion control protocol credit message are not received, there is no need to generate a virtual credit message, so WFQ scheduling may not be performed.
  • PQ scheduling it is equivalent to that only the active congestion control protocol data message is in the high-priority queue with data packets, so only the active congestion control protocol data message needs to be scheduled. This situation may occur when there is no non-active congestion control protocol traffic in the network at the previous moment (when the active congestion control protocol credit message for bandwidth reservation is sent) and the current moment. Or, it can appear in a network where there is no inactive congestion control protocol traffic.
  • part or all of the virtual credit messages may also be discarded at an appropriate time to release resources such as storage space occupied by them. For example, after determining the active congestion control protocol credit messages to be forwarded, all virtual credit messages can be discarded, or all virtual credit messages can be discarded before and after forwarding each message according to the forwarding order. All virtual credit messages are discarded after all the steps are completed, and all virtual credit messages can also be discarded after all the steps are executed and before the next round of incoming messages are received.
  • the present application provides an apparatus for scheduling messages.
  • the apparatus includes a communication unit and a processing unit.
  • the communication unit is configured to receive multiple messages from a sending device, and the multiple messages include active congestion control.
  • the processing unit is used to determine the virtual credit message corresponding to the non-active congestion control protocol data message, and according to the available bandwidth of the credit message, the received active congestion control
  • the protocol credit message and the received virtual credit message are used to determine part or all of the active congestion control protocol credit message from the active congestion control protocol credit message;
  • the processing unit is also used to control the determined part or all of the active congestion control
  • the protocol credit message and part or all of the received inactive congestion control protocol data message are forwarded to the destination device.
  • the multiple messages may include at least one of the following: active congestion control protocol data messages, active congestion control protocol credit messages, non-active congestion control protocol data messages, and the number of each message may be The same may be different.
  • each information of the virtual credit message can be obtained by using the processing unit and using the same method as the first aspect.
  • the message format of the virtual credit message can use the same format as the active congestion control protocol credit message, except that different information is filled in its specific fields, for example, different information is filled in the type field to distinguish Message type.
  • the IP header information of the virtual credit message is copied corresponding to the IP header information of the inactive congestion control protocol data message, wherein the protocol field in the IP header of the virtual credit message is not copied.
  • the source port number of the UDP header of the virtual credit message fills in the protocol port number of the SCP, and the destination port number of the UDP header is the destination port number of the non-active congestion control protocol data message corresponding to the copy of the UDP header.
  • the value filled in the type field of the SCP protocol is not only different from the value of the type field of the active congestion control protocol credit message, but also different from the value of the type field of the active congestion control protocol data message to represent the virtual credit message.
  • the virtual credit message may also use a small packet of the same size as the active congestion control protocol credit message, for example, 64 bytes.
  • the virtual credit message may not limit the information in the IP header, UDP header, SCP header, etc., as long as the virtual credit message can be distinguished from the active congestion control protocol credit message.
  • the processing unit may discard the active congestion control protocol credit message that does not meet the requirements, or may discard some or all of the virtual credit messages.
  • the processing unit can also discard all virtual credit messages after completing the first level of QoS scheduling, or can discard all virtual credit messages after completing the two levels of QoS scheduling, and also Before the next round of scheduling, discard all virtual credit messages.
  • the virtual credit message is only valid in the forwarding device that generated the virtual credit message, and will not be sent to a network other than the forwarding device.
  • the processing unit determines the active congestion to be forwarded based on the available bandwidth of the credit message, the received active congestion control protocol credit message, and the generated virtual credit message
  • the processing unit may choose between the two types of credit messages based on certain preset rules or strategies.
  • the multiple messages received by the communication unit include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, and the processing unit determines the M inactive congestion.
  • the processing unit can, according to the available bandwidth of the credit message, the N active congestion control protocol credit messages, and the P virtual credit messages, from the N active congestion In the control protocol credit message, K active congestion control protocol credit messages are determined, where K is a positive integer less than or equal to N.
  • the processing unit may be used to execute the related method provided in the first aspect to select between the two types of credit messages. For the sake of brevity, some related content will not be repeated.
  • the available bandwidth of the credit message may be processed by the processing unit according to the total network bandwidth, the correspondence between the active congestion control protocol credit message and the active congestion control protocol data message, And the corresponding relationship between the virtual credit message and the inactive congestion control protocol data message is determined.
  • the processing unit when used to determine the active congestion control protocol credit message to be forwarded, it can be scheduled through the first-level quality of service (QoS), and according to The scheduling result is determined.
  • QoS quality of service
  • the above processing unit determines K active congestion control protocol credits from the N active congestion control protocol credit messages according to the available bandwidth of the credit message, the weight of the active congestion control protocol credit message, and the weight of the virtual credit message. During the message process, it can be realized through the first-level QoS scheduling.
  • the processing unit may use a weighted fair queue (WFQ) scheduling strategy to perform the first-level QoS scheduling.
  • WFQ weighted fair queue
  • the processing unit When using the WFQ scheduling strategy to perform first-level QoS scheduling on active congestion control credit protocol messages (for example, the above N active congestion control protocol credit messages) and virtual credit messages (for example, the above P virtual credit messages), the processing unit
  • the active congestion control protocol credit message and the virtual credit message can be allocated bandwidth according to the weight, and the fair competition of the above two kinds of credit messages is realized.
  • the processing unit after the processing unit determines the active congestion control protocol credit message to be forwarded, the processing unit can also be used to set the forwarding sequence of different messages. In addition, , The communication unit forwards different messages according to the forwarding sequence.
  • the processing unit may be configured to forward the active congestion control protocol credit message first and then forward the non-active congestion control protocol data message.
  • the multiple messages received by the communication unit include N active congestion control protocol credit messages and M inactive congestion control protocol data messages, and the processing unit determines K active congestion control protocol data messages to be forwarded. Congestion control protocol credit messages.
  • the communication unit may first forward the K active congestion control protocol credit messages, and then use the remaining bandwidth to forward part or all of the M non-active congestion control protocol data messages. That is, the communication unit first forwards the K active congestion control protocol credit messages, and then forwards part or all of the M inactive congestion control protocol data messages as much as possible according to the remaining bandwidth.
  • the communication unit can use the available bandwidth of all data messages to forward the M inactive congestion control protocol data messages as much as possible.
  • the communication unit can discard some inactive congestion control protocol data messages, but also The processing unit may convert the bandwidth occupied by the virtual credit message in the available bandwidth of the original credit message to be allocated to the M inactive congestion control protocol data messages as needed.
  • the processing unit may also be configured to forward the non-active congestion control protocol data message first and then forward the active congestion control protocol credit message.
  • the communication unit may first use the available bandwidth of all data messages to forward the M inactive congestion control protocol data messages as much as possible, and then forward the K active congestion control protocol credit messages. Further, the communication unit can also reuse the bandwidth occupied by the original virtual credit message to forward the non-active congestion control protocol data message.
  • the processing unit may also set to alternately forward the K active congestion control protocol credit messages and the M non-active congestion control protocol data messages, and the communication unit alternately forwards the K active congestion control protocol credit messages according to the setting And the M inactive congestion control protocol data messages.
  • the processing unit may also determine the forwarding order according to the priority by setting a priority.
  • the processing unit may set the priority of the active congestion control protocol credit message to be higher than the priority of the non-active congestion control protocol data message. If it is set to forward the high priority message first, the communication unit will forward the active congestion control protocol credit message first, and then forward part or all of the non-active congestion control protocol data message according to the remaining bandwidth.
  • the processing unit may adopt a priority queuing (PQ) scheduling strategy to implement the foregoing process of forwarding each message according to the forwarding sequence.
  • PQ priority queuing
  • the processing unit may set the priority of the hybrid credit message to be higher than that of the non-active congestion control protocol data message. It should be noted that this may not be a mixed credit message, but an active congestion control protocol credit message. In this case, the processing unit can set the priority of the active congestion control protocol credit message to be higher than that of the inactive congestion control protocol credit message. Congestion control protocol data message.
  • the scheduling of mixed credit messages is equivalent to informing the sending device of the number of active congestion control protocol data messages that the forwarding device can receive at the next moment, so that the sending device can accurately learn the active congestion control protocol reservations The bandwidth reached, and the bandwidth that can be reserved for subsequent moments at the next moment; in addition, it is equivalent to reserve the available bandwidth at the next moment for non-active congestion control protocol data messages, so that non-active congestion control protocol data messages can be Share bandwidth with active congestion control protocol data messages.
  • the above steps of generating virtual credit messages are performed.
  • the mixed credit messages are prioritized.
  • the mixed credit messages are When there is no data packet in the second-highest priority queue, the non-active congestion control protocol data message is then scheduled. At this time, there is no active congestion control protocol data message.
  • the processing unit can also set For the three message forwarding sequences, the communication unit can forward each message according to the forwarding sequence, the processing unit can also set the forwarding sequence according to the priority, and the processing unit can also use the PQ scheduling strategy for scheduling.
  • the active congestion control mechanism is a reservation system, that is to say, in this case, the active congestion control protocol data message received by the communication unit is based on the previous time reservation through the active congestion control protocol credit message Bandwidth triggers the forwarding, so the bandwidth occupied by the active congestion control protocol data message received by the communication unit will not exceed the bandwidth reserved for it, and thus will not exceed the available bandwidth of the data message.
  • the processing unit uses the The method described in the article determines the K active congestion control protocol credit messages to be forwarded, and the K active congestion control protocol credit messages will not exceed the available bandwidth of the credit message. Therefore, in this case, the Q The bandwidth occupied by the sum of one active congestion control protocol data message and the K active congestion control protocol credit messages does not exceed the total network bandwidth. Therefore, the communication unit can use the remaining bandwidth to forward the M inactive congestion control protocol data messages as much as possible.
  • the priority order set by the processing unit determines the forwarding order, and the communication unit forwards each message according to the forwarding order determined by the processing unit.
  • the processing unit sets the forwarding order according to the highest priority of the active congestion control protocol data message, the second priority of the active congestion control protocol credit message, and the lowest priority of the non-active congestion control protocol data message.
  • the communication unit can forward the Q active congestion control protocol data messages, the K active congestion control protocol credit messages, and the M non-active congestion control protocol data messages to the destination device according to the forwarding sequence Part or all of the text, where Q is an integer greater than or equal to 1.
  • the active congestion control protocol data message can be forwarded preferentially, ensuring the low latency effect of the active congestion control protocol, and under this premise, it can also take into account the active congestion used to reserve the bandwidth at the next moment. Control the forwarding of protocol credit messages and the forwarding of inactive congestion control protocol data messages to improve bandwidth utilization.
  • the communication unit has only received inactive congestion control protocol data messages, and the communication unit has only received active congestion control protocol data messages.
  • the operations of receiving and forwarding are performed by the communication unit, and other operations are performed by the processing unit, which will not be repeated here.
  • the processing unit may also discard part or all of the virtual credit messages at an appropriate time to release resources such as storage space occupied by the processing unit. For example, the processing unit may discard all virtual credit messages after determining the active congestion control protocol credit messages to be forwarded, or discard all virtual credit messages before, after or during the execution of forwarding each message according to the forwarding order, or After all the steps are executed, all the virtual credit messages are discarded, and all the virtual credit messages may also be discarded after all the steps are executed and before the next round of incoming messages is received.
  • the present application provides a forwarding device, including one or more processors, one or more memories, and one or more transceivers.
  • the one or more memories are used to store computer programs
  • the one or more processors are used to call and run the computer programs stored in the memory, and control the one or more transceivers to send and receive signals, so as to forward
  • the device executes the method in the first aspect or any possible implementation manner thereof.
  • this application provides a computer-readable storage medium in which computer instructions are stored.
  • the computer instructions When the computer instructions are run on a computer, the computer can execute the first aspect or any of its possible implementations. In the method.
  • the present application provides a computer program product.
  • the computer program product includes computer program code.
  • the computer program code runs on a computer, the computer executes the first aspect or any of its possible implementations. method.
  • the present application provides an apparatus for scheduling messages, including a processor and an interface circuit, where the interface circuit is used to receive computer codes or instructions and transmit them to the processor, and the processor is used to run the Computer code or instructions to execute the method in the first aspect or any possible implementation manner thereof.
  • the present application provides a chip including one or more processors.
  • the one or more processors are used to execute a computer program stored in the memory to execute the method in the first aspect or any possible implementation manner thereof.
  • the memory used for storing the computer program is provided independently of the chip.
  • the chip may also include one or more communication interfaces.
  • the one or more communication interfaces may be input/output interfaces, input/output circuits, and the like.
  • the chip may also include one or more of the memories.
  • the present application provides a communication system, which includes at least one forwarding device, at least one sending device, and at least one destination device.
  • the at least one forwarding device can execute the method in the first aspect or any of its possible implementations, and the at least one sending device and the at least one destination device can be any one capable of sending and/or receiving The device of the message. It should be understood that the sending device and the destination device may be the same device or different types of devices.
  • the at least one forwarding device may also be the forwarding device described in the third aspect, or may be a device including the device for scheduling a message described in the second aspect.
  • Fig. 1 is a schematic diagram of a network scenario to which an embodiment of the present application is applicable;
  • FIG. 2 is a schematic flowchart of a method for scheduling messages provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a method for scheduling packets at time T0 according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of a first-level QoS scheduling method at time T0 provided by an embodiment of the present application
  • FIG. 5 is a schematic diagram of a two-level QoS scheduling method at time T0 provided by an embodiment of the present application
  • FIG. 6 is a schematic diagram of a method for scheduling packets at time T1 according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a two-level QoS scheduling method at time T1 provided by an embodiment of the present application.
  • FIG. 8 is a schematic block diagram of an apparatus for scheduling messages provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a forwarding device provided by an embodiment of the present application.
  • Transmission control protocol transmission control protocol
  • TCP is a connection-oriented, reliable, byte stream-based transport layer communication protocol defined by the Internet Engineering Task Force (IETF) protocol request for comments (RFC) 793.
  • OSI Internet Engineering Task Force
  • IP Internet protocol suite
  • TCP the middle layer below the application layer.
  • the application layer sends to the TCP layer a data stream represented by 8-bit bytes for inter-network transmission, and then TCP partitions the data stream into message segments of appropriate length.
  • the segment of the message segment is usually affected by the network connected to the computer The maximum transmission unit (MTU) limit of the data link layer.
  • MTU maximum transmission unit
  • TCP transmits the result packet to the IP layer, which then transmits the packet to the TCP layer of the destination device of the message through the network.
  • TCP gives each packet a sequence number, and the sequence number also ensures that the packets sent to the destination device of the message are received in order.
  • the destination device of the message sends back an acknowledgement (ACK) to the successfully received packet; if the sending device does not receive the acknowledgement within a reasonable round-trip time (RTT), then the corresponding The data packet is assumed to have been lost and will be retransmitted.
  • TCP uses a checksum function to check the data for errors; checksums are calculated when sending and receiving.
  • the TCP protocol corresponds to the passive congestion control protocol, and is a data transmission protocol in the inactive congestion control protocol described in the embodiment of the present application.
  • UDP User datagram protocol
  • UDP is used to process data packets in the network like TCP, and is a connectionless protocol. In the OSI model, it is also used to complete the functions specified by the fourth layer of the transport layer, which is the upper layer of the IP protocol.
  • UDP has the disadvantages of not providing data packet grouping, assembly and inability to sort data packets. That is to say, after the message is sent, it is impossible to know whether it has arrived safely and completely.
  • the main function of the UDP protocol is to compress network data traffic into the form of data packets.
  • a typical data packet is a transmission unit of binary data. The first 8 bytes of each data packet are used to contain header information, and the remaining bytes are used to contain specific transmission data.
  • UDP packets do not have reliability guarantees, sequence guarantees, and flow control fields, and their reliability is poor. However, because the UDP protocol has fewer control options, the delay in the data transmission process is small, and the data transmission efficiency is high. It is suitable for applications that do not require high reliability, or applications that can guarantee reliability.
  • congestion control the UDP protocol is neither an active congestion control protocol nor a passive congestion control protocol. It is a congestion control protocol other than the above two congestion control protocols, and is one of the non-active congestion control protocols described in the embodiments of this application. A data transfer protocol.
  • SCP is a self-defined transmission protocol with congestion control capability, similar to the working mode and function of TCP, it is a transmission control protocol that controls how the sending device (such as the source host) sends data to the destination device (such as the destination host) .
  • the SCP protocol is one of many active congestion control mechanisms. In its protocol working mechanism, it is necessary to distinguish between credit messages and data messages. Credit messages are sent before data messages. The role of credit messages is to provide data. The message reserves the network bandwidth; the device in the middle of the network (for example, the forwarding device in the embodiment of this application) will recognize the credit message, and rate the credit message according to the link bandwidth capability of the device itself, which will exceed the rate limit.
  • the credit message is discarded; the credit message reaches the destination device (such as the destination host) after passing through the device in the middle of the network, the destination device will send the credit message back to the sending device, and the sending device will trigger the corresponding after receiving the credit message
  • the data message of the relationship (for example, the proportional relationship) is sent to the destination device. Since the amount of data packets sent is strictly controlled in accordance with the bandwidth limit of the forwarding device, no data exceeding the network bandwidth will be sent to the network, and network congestion will not be caused, thereby avoiding network packet loss and network buffering. The additional buffering delay that comes, realizes the congestion control transmission protocol with no packet loss and ultra-low delay.
  • the SCP protocol corresponds to the active congestion control protocol in congestion control, and is an example of the active congestion control protocol described in the embodiment of the present application.
  • Congestion control mechanisms include passive congestion control mechanisms and active congestion control mechanisms.
  • the sending device obtains network performance change information by detecting the network, thereby adjusting the message sending rate according to the degree of network congestion, such as TCP Reno.
  • the TCP protocol can be used as the passive congestion control protocol.
  • TCP Reno congestion control is a widely used passive congestion control mechanism, which is mainly divided into four stages: slow start, congestion avoidance, fast retransmission, and fast recovery.
  • slow start in order to maintain dynamic balance, a certain amount of loss must be periodically generated, and the window reduction caused by the loss of a data message takes a long time to recover.
  • window reduction caused by the loss of a data message takes a long time to recover.
  • bandwidth utilization The rate cannot be very high, and as the link bandwidth of the network continues to increase, this drawback is becoming more and more obvious.
  • the sending device reserves bandwidth to the network through credit messages, and the network returns a signal to the sending device to control the total amount of data sent by the sending device to the network and the timing of sending, so as to fundamentally avoid network caching.
  • the SCP protocol can be used as the active congestion control protocol.
  • Non-active congestion control protocol there are other data transmission protocols that are neither passive congestion control protocols nor active congestion control protocols, such as the UDP protocol mentioned above. These congestion control protocols other than the active congestion control protocol are collectively referred to as Non-active congestion control protocol.
  • Packet loss rate the percentage of data packets lost during network transmission.
  • the router When the network link is congested, the router will create a buffer to accumulate data packets. If the blocking time is too long and the limited capacity of the buffer is exhausted, some data packets will be discarded at this time.
  • the response time namely the run trip time (RTT) starts from the sending device sending the sending data to the sending device receiving the confirmation information from the destination device (the destination device immediately sends the confirmation after receiving the data), in total Elapsed time.
  • RTT run trip time
  • Latency also called delay, refers to the time required for data (messages, bits, etc.) to be transmitted from one end of the network (or link) to the other end.
  • the transmission delay refers to the time for the sending device (host or router) to send the data frame
  • the propagation delay refers to the time required for electromagnetic waves to propagate a certain distance in the channel
  • the processing delay refers to the destination device (host or router)
  • the time required for processing such as analysis, data extraction, error checking, routing selection, etc. when a packet (data packet) is received.
  • Queuing delay refers to the time the packet (data packet) is queued in the buffer of the destination device for processing.
  • Congestion management means that when network congestion occurs intermittently and delay-sensitive services require higher quality of service (QoS) than other services, the scheduling order of messages is adjusted to meet the high QoS services of delay-sensitive services.
  • QoS quality of service
  • QoS Quality of service
  • QoS scheduling strategy is very important in network QoS management. For one thing, the application of different scheduling strategies will produce different quality of service. Commonly used QoS scheduling strategies include priority (priority queuing, PQ) scheduling, weighted round robin (WRR) scheduling, fair queue (FQ) scheduling, and weighted fair queue (WFQ) scheduling And so on, and different scheduling strategies can be used in combination.
  • PQ priority queuing
  • WRR weighted round robin
  • FQ fair queue
  • WFQ weighted fair queue
  • LTE Long Term Evolution
  • FDD frequency division duplex
  • TDD Time division duplex
  • UMTS Universal Mobile Telecommunication System
  • WiMAX Worldwide Interoperability for Microwave Access
  • 5G Fifth Generation
  • 5G New Wireless Access Access technology
  • NR new radio access technology
  • MTC machine type communication
  • LTE-M inter-machine communication long-term evolution technology
  • D2D device to device
  • M2M Machine-to-machine
  • IoT Internet of things
  • the forwarding device may be any device that has the function of receiving and sending.
  • the device may be, for example, a router, a switch, a base station, and other devices.
  • This equipment includes but is not limited to: evolved Node B (eNB), radio network controller (RNC), Node B (NB), base station controller (BSC) , Base transceiver station (BTS), home base station (for example, home evolved NodeB, or home Node B, HNB), baseband unit (BBU), wireless fidelity (wireless fidelity, WiFi) system Access point (AP), wireless relay node, wireless backhaul node, transmission point (TP), or transmission and reception point (TRP), etc.
  • eNB evolved Node B
  • RNC radio network controller
  • NB Node B
  • BSC base station controller
  • BBU Base transceiver station
  • home base station for example, home evolved NodeB, or home Node B, HNB
  • BBU baseband unit
  • wireless fidelity wireless fidelity, WiFi
  • AP wireless relay
  • the sending device and the destination device may be terminal devices, network devices, or other devices that may be able to receive and/or send packets.
  • the network device may be, for example, a host, a server, and other devices.
  • Terminal devices can be mobile phones, tablets, computers with wireless transceiver functions, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, industrial control (industrial control) Wireless terminals in ), wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grid, and wireless terminals in transportation safety , Wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loops, WLL) stations, personal digital assistants (personal digital assistants, PDAs), handheld devices with wireless communication functions, computing devices or other processing devices connected to wireless modems, in-vehicle devices, wearable devices, terminal devices in 5G networks, the future Terminal equipment in an evolved public land mobile network (PLMN) or terminal equipment in a non-public network, etc.
  • VR virtual reality
  • AR augmented reality
  • industrial control industrial control
  • Wireless terminals in wireless terminals in self-driving
  • wireless terminals in remote medical wireless terminals in smart grid
  • wearable devices can also be called wearable smart devices, which are the general term for using wearable technology to intelligently design daily wear and develop wearable devices, such as glasses, gloves, watches, clothing and shoes.
  • a wearable device is a portable device that is directly worn on the body or integrated into the user's clothes or accessories.
  • Wearable devices are not only a kind of hardware device, but also realize powerful functions through software support, data interaction, and cloud interaction.
  • wearable smart devices include full-featured, large-sized, complete or partial functions that can be achieved without relying on smart phones, such as smart watches or smart glasses, and only focus on a certain type of application function, and need to cooperate with other devices such as smart phones.
  • the terminal device may also be a terminal device in the Internet of Things (IoT) system.
  • IoT Internet of Things
  • Its main technical feature is to connect objects to the network through communication technology, so as to realize the intelligent network of human-machine interconnection and interconnection of things.
  • Fig. 1 is a schematic diagram of a network scenario to which an embodiment of the present application is applicable.
  • the sending device 110 and the destination device 130 may be terminal devices, network devices, or devices capable of sending and/or receiving packets as described above, and the forwarding device 120 may be devices such as switches, routers, or base stations as described above.
  • the sending device 110 can send a message to the destination device 130 via the forwarding device 120.
  • FIG. 1 is only an example of a scenario to which the method and/or device of the embodiment of the present application can be applied, and there is no limitation.
  • the number of devices and the connection and connection between the devices are not limited.
  • the communication method is also not limited.
  • the network formed between devices may be a wired network or a wireless network.
  • FIG. 1 corresponds to a data center network (DCN) scenario
  • the sending device 110 may correspond to the sending end server
  • the forwarding device 120 may correspond to a leaf switch (LS) or a spine switch (LS).
  • Switch, SS) and other switch devices the destination device 130 may correspond to the receiving end or the target end server.
  • the sender server communicates with the target server
  • the data stream or message sent by the sender server can reach the target server via different switches.
  • both the sending device 110 and the destination device 130 can correspond to various terminal devices such as mobile phones, smart TVs, smart speakers, and tablet computers, and the forwarding device 120 can be devices such as routers.
  • the forwarding device 120 can be devices such as routers.
  • a smart speaker can be used to turn on a smart TV through voice control, the smart speaker can be used as the sending device 110, and the smart TV can be used as the destination device 130.
  • the smart speaker sends a data stream or message to the smart TV, the data stream or message passes through The router goes from the smart speaker to the smart TV.
  • the network scenario shown in FIG. 1 may also correspond to various network scenarios such as wide area network (WAN), which will not be listed here.
  • WAN wide area network
  • the specific implementation of the active congestion control mechanism may be that the sending device 110 sends an active congestion control protocol credit message to the destination device 130 through the forwarding device 120 to reserve bandwidth ,
  • the forwarding device 120 receives the credit message, and forwards part or all of the credit message to the destination device 130 through its outgoing port.
  • the destination device 130 transmits back to the sending device 110 according to the received active congestion control protocol credit message, and sends
  • the device 110 triggers the sending of a corresponding active congestion control protocol data message according to the received back-transmitted active congestion control protocol credit message.
  • the sending device 110 first uses the active congestion control protocol credit message to reserve bandwidth, and then sends the corresponding data message according to the reserved bandwidth.
  • non-active congestion control protocol traffic refers to traffic other than active congestion control protocol traffic, including traditional passive congestion control protocol traffic (such as TCP traffic), and also includes neither active congestion control protocol traffic nor passive congestion control. Protocol traffic of other protocol traffic (such as UDP traffic). It should also be understood that since the non-active congestion control mechanism is premised on network performance impairment, the non-active congestion control protocol can also be referred to as a lossy transmission protocol. The active congestion control mechanism does not need to be premised on network performance impairment, so the active congestion control protocol can also be called a lossless transmission protocol.
  • Data message refers to the message used for user data transmission.
  • a credit message refers to a message that does not carry data, and is used to reserve or compete for resources for user data transmission, such as bandwidth, on behalf of the data message.
  • there is a certain correspondence between the credit message and the data message and this correspondence can be used to implement resource allocation for the data message through operations such as scheduling the credit message.
  • the corresponding relationship between the two determines the required resources of the data message according to the number of credit messages.
  • the ratio of the number of credit messages to data messages is 1:2, and each data message needs to occupy 0.1 kilobits per second (kbps) of bandwidth; assuming that the number of credit messages is 50, it can be based on the above The relationship obtains that the number of data messages represented by the 50 credit messages is 100 (that is, 50*2), and then according to the above relationship, it is obtained that the 100 data messages need to occupy a bandwidth of 10 kbps (that is, 0.1 kbps*100).
  • the ratio of the number of credit messages to data messages is 1:2, and the ratio of the bandwidth that each credit message needs to occupy to the bandwidth that each data message needs to occupy is 1:20; then assume that in this example Here, the number of known credit messages is 50, and the bandwidth required for each credit message is 0.001 kbps. According to the above relationship, it can be obtained that the data messages represented by the 50 credit messages need to occupy 2 kbps (ie 0.001 kbps). *50*2*20) bandwidth; assuming that in this example, it is known that each data message needs to occupy a bandwidth of 0.05kbps, and the number of credit messages is 30. According to the above relationship, the 30 can be obtained The data message represented by the credit message needs to occupy a bandwidth of 3kbps (that is, 30*2*0.05kbps).
  • the credit message in the embodiment of the application includes the active congestion control protocol credit message and the virtual credit message described below.
  • the active congestion control protocol credit message can be used to reserve bandwidth for the active congestion control protocol data message
  • the virtual credit Messages can be used to compete for bandwidth for non-active congestion control protocol data messages.
  • active congestion control protocol credit messages exist objectively, while virtual credit messages are temporarily generated intermediate quantities.
  • the following is a unified introduction to the five types of messages in combination with active congestion control protocol and non-active congestion control protocol.
  • the active congestion control protocol is a data transmission protocol based on the reservation mechanism.
  • the active congestion control protocol includes the active congestion control protocol credit message and the active congestion control protocol data message.
  • the active congestion control protocol data message is used for user data Transmission
  • the active congestion control protocol credit message is used to reserve user data transmission for the active congestion control protocol data message.
  • the ratio of active congestion control protocol credit messages to active congestion control protocol data messages is 1:3, the number of active congestion control protocol credit messages is A (A is a non-negative integer), and each active congestion control protocol Credit messages need to occupy a bandwidth of Bkbps (B is a non-negative real number), the same number of active congestion control protocol credit messages and active congestion control protocol data messages, and the bandwidth required to occupy a ratio of 1:10, you can get
  • the bandwidth required for the active congestion control protocol data message represented by the A active congestion control protocol credit message is (B*A*3*10) kbps.
  • the non-active congestion control protocol is a data transmission protocol based on other congestion control mechanisms in addition to the active congestion control mechanism (reservation mechanism).
  • Non-active congestion control protocols include traditional passive congestion control protocols and other congestion control protocols that are neither active nor passive congestion control protocols.
  • the passive congestion control protocol can be, for example, the transmission control protocol (TCP), and other congestion control protocols that are neither active nor passive congestion control protocols can be, for example, the user datagram protocol (UDP). ).
  • the non-active congestion control protocol data message is a general term for the data messages that may exist in the non-active congestion control protocol, including passive congestion control protocol data messages (such as TCP messages) and neither active congestion control protocol data messages nor active congestion control protocol data messages.
  • passive congestion control protocol data messages such as TCP messages
  • active congestion control protocol data messages nor active congestion control protocol data messages.
  • Other congestion control protocol data messages such as UDP messages that are not passive congestion control protocol data messages.
  • virtual credit messages are used to represent inactive congestion control protocol data messages competing for bandwidth and other resources. It should be understood that the difference between virtual credit messages and objectively existing credit messages such as active congestion control protocol is that virtual credit messages are used to enable non-active congestion control protocol data messages to participate in the competition or allocation of resources such as bandwidth.
  • the temporarily generated intermediate amount is also called the transitional amount.
  • the type field In order to distinguish the message types of the above four types of messages (that is, active congestion control protocol credit messages, active congestion control protocol data messages, non-active congestion control protocol data messages and virtual credit messages), you can set the type field, And set different values that can be distinguished in the type field to distinguish. Since the inactive congestion control protocol data message is an existing message format, the original message format may not be changed, that is, no additional type field is set. For the other three types of messages, the type field can be set, and the three types of messages can be distinguished by setting different values of the type field. For example, you can set the type field value of the active congestion control protocol credit message to "1", and set the virtual The type field value of the credit message is "2", and the type field value of the active congestion control protocol data message is set to "3" and so on.
  • the active congestion control protocol credit message refers to a credit message used to reserve bandwidth for the active congestion control protocol data message and to trigger the sending of the active congestion control protocol data message.
  • the active congestion control protocol credit message is a message that does not carry data, and can be filled into a small packet message, for example, a small packet of 64 to 84 bytes.
  • the sending device first sends the active congestion control protocol credit message at the current moment to reserve the available bandwidth of the active active congestion control protocol data message to be sent at the next moment, then At the next moment, the sending device triggers the sending of the corresponding number of active congestion control protocols according to the number of received active congestion control protocol credit messages (the returned active congestion control protocol credit messages correspond to the available bandwidth reserved at the current moment). Data message. For example, suppose that at the current moment, the sending device sends 50 active congestion control protocol credit messages, and the forwarding device forwards 40 active congestion control protocol credit messages among the 50 active congestion control protocol credit messages according to the current network conditions.
  • the available bandwidth of the 40 active congestion control protocol credit messages corresponding to the active congestion control protocol data message is 10 kbps, then the target device returns the 40 active congestion control protocol credit messages to the sending device through the forwarding device, and sends The device receives the returned 40 active congestion control protocol credit messages, and at the next moment, the sending device sends a corresponding number of active congestion control protocol data messages according to the 40 received active congestion control protocol credit messages.
  • the bandwidth required for the number of active congestion control protocol data messages corresponds to the aforementioned 10 kbps.
  • the forwarding device can limit the rate according to the rate limit configuration of the active congestion control protocol credit messages, and discard the active congestion control protocol credit messages that exceed the rate limit, for example, limit the rate of the active congestion control protocol credit messages to a specific rate 10% of the port bandwidth. It can also schedule according to the QoS scheduling strategy, and discard the active congestion control protocol credit messages that do not meet the strategy.
  • the active congestion control protocol data message is a data message used for user data transmission, and is a data message triggered by the active congestion control protocol credit message to send.
  • the active congestion control protocol credit message can trigger a corresponding number of active congestion control protocol data messages according to the proportional relationship.
  • the virtual credit message is a temporarily generated credit message used to represent the non-active congestion control protocol data message participating in resource competition or allocation such as bandwidth, and is used to implement the concept introduced by the technical solution of the embodiment of the present application. That is to say, the virtual credit message is not an objectively existing message type in the network, but an intermediate quantity introduced in order to realize the technical solution of the embodiment of the present application, which can also be referred to as a transition quantity.
  • the virtual credit message can be used together with the active congestion control protocol credit message to compete for bandwidth for their corresponding data messages.
  • the virtual credit message is generated by the forwarding device, and is only scheduled for use within the forwarding device, and will not be sent to the network outside the forwarding device.
  • the virtual credit message can be understood as a form of credit message based on the "reservation system".
  • the "reservation system” is the same as the reservation system mentioned above in that both the active congestion control protocol credit message and the virtual credit message can represent the required resources of the corresponding data message ( For example, the bandwidth that needs to be occupied). That is to say, the bandwidth and other resources required for the corresponding number of active congestion control protocol data messages can be determined according to the number of active congestion control protocol credit messages, and the corresponding number of inactive congestion control can also be determined according to the number of virtual credit messages. The bandwidth and other resources that the protocol data message needs to occupy. However, there is also a difference between the "reservation system" and the reservation system mentioned above.
  • the reservation system is that the bandwidth is reserved by the credit message at the current moment, and the sending device will send according to the reserved bandwidth at the next moment The corresponding number of data messages.
  • the "reservation system” can only reserve bandwidth for the next moment based on the number of virtual credit messages at that moment at the current moment, but the sending device will not send a corresponding number of data packets based on the reserved bandwidth at the next moment.
  • the “reservation system” mainly uses the characteristic that the traffic in the network does not change suddenly. According to the number of non-active congestion control protocol data messages at the current moment, the bandwidth allocated to the non-active congestion control protocol data messages at the next moment is adjusted.
  • the "reservation system” is equivalent to reserving as much bandwidth as possible for the non-active congestion control protocol data message at the next moment based on the virtual credit message generated at the current moment, without affecting the network as much as possible.
  • the link performance does not affect the realization of the active congestion control mechanism.
  • the message format of the virtual credit message can use the same format as the active congestion control protocol credit message, except that different information is filled in its specific fields, for example, different information is filled in the type field to distinguish Message type.
  • the IP header information of the virtual credit message is copied corresponding to the IP header information of the inactive congestion control protocol data message, wherein the protocol field in the IP header of the virtual credit message is not copied.
  • the source port number of the UDP header of the virtual credit message fills in the protocol port number of the SCP, and the destination port number of the UDP header is the destination port number of the non-active congestion control protocol data message corresponding to the copy of the UDP header.
  • the value filled in the type field of the SCP protocol is not only different from the value of the type field of the active congestion control protocol credit message, but also different from the value of the type field of the active congestion control protocol data message to represent the virtual credit message.
  • the virtual credit message may also use a small packet of the same size as the active congestion control protocol credit message, for example, 64 bytes.
  • the virtual credit message may not limit the information in the IP header, UDP header, SCP header, etc., as long as the virtual credit message can be distinguished from the active congestion control protocol credit message.
  • a method for generating virtual credit messages based on non-active congestion control protocol data messages is provided. These generated virtual credit messages are used as intermediate quantities and are only generated in the forwarding device for corresponding The non-active congestion control protocol data messages compete for bandwidth and other resources, and will not be sent to the network other than the forwarding device, and can be discarded at an appropriate time.
  • the hybrid credit message refers to the hybrid sum of the active congestion control protocol credit message and the virtual credit message. That is to say, the mixed credit message is not a separate and new message type, but is only used to indicate a mixture of the above two types of credit messages. It is to facilitate the description when only the processing of the sum of the two needs to be expressed, without the need to distinguish the specific processing of the two.
  • the non-active congestion control protocol data message is a collective term for all data messages except the active congestion control protocol data message, and is also used for user data transmission.
  • Non-active congestion control protocol data messages include traditional transmission protocol messages such as TCP messages and UDP messages. Since TCP messages include TCP control signaling and data associated with the route, and UDP is completely data messages, all of them can be called data messages.
  • the TCP message and the UDP message are the general message forms of the traditional transmission protocol, so they can adopt the same message format as the corresponding traditional transmission protocol message, which will not be repeated here.
  • Inactive congestion control protocol data messages are sent from the sending device (source end) to the destination device (destination end), and intermediate forwarding devices (such as switches, routers) forward the message to the destination device.
  • intermediate forwarding devices such as switches, routers
  • Inactive congestion control protocol data messages are sent from the sending device (source end) to the destination device (destination end), and intermediate forwarding devices (such as switches, routers) forward the message to the destination device.
  • intermediate forwarding devices such as switches, routers
  • inactive congestion control protocol datagrams that do not meet the strategy may be discarded. Text.
  • the correspondence between the virtual credit message and the inactive congestion control protocol data message is used, and the correspondence between the active congestion control protocol credit message and the active congestion control protocol data message is used to compare Operations such as scheduling of virtual credit messages and active congestion control protocol credit messages realize the allocation of available bandwidth for the next moment inactive congestion control protocol data messages and active congestion control protocol data messages.
  • the QoS scheduling strategy is used to schedule the above two types of credit messages to determine the number of active congestion control protocol credit messages that the forwarding device can forward at the current moment. These forwarded active congestion control protocol credit messages represent the next moment.
  • the available bandwidth of active congestion control protocol data packets are also provided. This section mainly introduces the five message types and message formats involved in the embodiments of the present application, and the specific usage of various messages in related methods will be discussed below, and will not be described here.
  • virtual credit messages that do not meet the scheduling policy may be discarded. After completing the scheduling of virtual credit messages and active congestion control protocol credit messages, all virtual credit messages can be discarded.
  • FIG. 2 is a schematic flowchart of a method for scheduling messages provided by an embodiment of the present application. The method will be introduced below in conjunction with FIG. 2.
  • the multiple messages may include at least one of the following: active congestion control protocol data messages, active congestion control protocol credit messages, non-active congestion control protocol data messages, and the number of each message may be The same may be different.
  • the multiple messages include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, where M and N are both integers greater than or equal to 1. Then the N active congestion control protocol credit messages are used to reserve bandwidth for the next active congestion control protocol data message.
  • the sending device may send one or more of the foregoing multiple messages based on service requirements or a fixed ratio.
  • the sending device may be a device capable of sending messages, such as a terminal device, a host, or a server. It should also be understood that the sending devices that send the foregoing messages may be the same or different.
  • the multiple messages received in step 201 include M inactive congestion control protocol data messages
  • P virtual congestion control protocol data messages corresponding to the M inactive congestion control protocol data messages can be determined. Credit message, where M and P are both integers greater than or equal to 1.
  • the virtual credit message is only valid in the forwarding device that generated the virtual credit message, and will not be sent to a network other than the forwarding device.
  • the virtual credit message can be generated using the following generation mechanism.
  • the corresponding virtual credit message may be generated based on the inactive congestion control protocol data message received at the current moment.
  • corresponding virtual credit messages can be generated according to a predetermined ratio per message for non-active congestion control protocol data messages.
  • non-active congestion control protocol data messages and virtual credit messages use 1:1. 2:1, 3:1, 2:3 and other ratios.
  • the virtual credit message may use a small packet of the same size as the active congestion control protocol credit message, for example, 64 bytes.
  • the following uses the SCP protocol as an example to further illustrate the generation mechanism of the virtual credit message.
  • the credit message uses the custom SCP protocol
  • 1:1 is taken as an example, that is, the ratio of the credit message to the data message of the SCP protocol is 1:1
  • the virtual credit message also adopts the corresponding generation scheme, that is, the virtual credit message is generated in an equal proportion according to the non-active congestion control protocol data message, and the proportion is the same as that used by the SCP protocol. For example, if a 1:1 ratio is used, when a credit message is generated, a forwarding device receives an inactive congestion control protocol data message, and a corresponding virtual credit message is generated.
  • the information in the virtual credit message can be obtained using the following method.
  • the virtual credit message can adopt the same message format as the SCP protocol, and the IP header information of the virtual credit message is copied corresponding to the IP header information of the inactive congestion control protocol data message, wherein the protocol fields are not copied .
  • the source port number of the UDP header fills in the port number of the SCP protocol, and the destination port number of the UDP header is the destination port number of the TCP or UDP of the non-active congestion control protocol corresponding to the copy.
  • the virtual credit message also uses a small packet of the same size as the active congestion control protocol credit message, for example, 64 bytes.
  • the virtual credit message may not limit the information in the IP header, UDP header, SCP header, etc., as long as the virtual credit message can be distinguished from the active congestion control protocol credit message. It should also be understood that the virtual credit message is only valid in the forwarding device that generated the virtual credit message, and will not be sent to a network other than the forwarding device.
  • the active congestion control protocol credit message to be forwarded can be determined according to the available bandwidth of the credit message, the received active congestion control protocol credit message and the generated virtual credit message, for example, based on certain preset rules or policies choose between two types of credit messages.
  • the multiple messages received in step 201 include N active congestion control protocol credit messages and M inactive congestion control protocol data messages, and in step 202, it is determined that the M inactive congestion control protocol data messages are related to each other.
  • the available bandwidth of credit messages refers to the sum of available bandwidth of all credit messages, or can be understood as the sum of available bandwidth of all credit messages.
  • the credit message when the credit message only includes the aforementioned active congestion control protocol credit message and the virtual credit message, it is equivalent to the available bandwidth of the two types of credit messages, or can be understood as It is equivalent to the available bandwidth of the sum of the two types of credit messages (ie, mixed credit messages).
  • Available bandwidth for the current credit message may be, for example, a certain percentage of the total network bandwidth, such as 5%, 15%, 25.5%, etc., or may also be a specific bandwidth value, such as 100 megabits per second (million bits per second). second, Mbps).
  • the above-mentioned available bandwidth of the credit message may be based on the total network bandwidth, the correspondence between the active congestion control protocol credit message and the active congestion control protocol data message, and the relationship between the virtual credit message and the non-active congestion control protocol data message. The corresponding relationship is determined.
  • the active congestion control protocol credit message there is a corresponding relationship between the active congestion control protocol credit message and the dynamic congestion control protocol data message, such as a proportional relationship.
  • the sending device receives the returned active congestion control protocol credit message, it can Trigger a corresponding number of dynamic congestion control protocol data messages.
  • virtual credit messages and inactive congestion control protocol data messages there is a similar correspondence between virtual credit messages and inactive congestion control protocol data messages.
  • it can also be a proportional relationship, which is equivalent to reserving bandwidth based on a certain number of virtual credit messages. It can meet the transmission of a corresponding number of inactive congestion control protocol data messages. It can be understood that when the number of active congestion control protocol credit messages and virtual credit messages is changed, the number of their respective corresponding data messages will also change according to their respective corresponding relationships.
  • the rate of the sum of active congestion control protocol credit messages and virtual credit messages can be restricted.
  • the sum of the two can be restricted to a fixed proportion x% of the network bandwidth, such as 5%, 15%, 25.5%, etc.
  • x can be a real number greater than 0 and less than 100.
  • Limiting the bandwidth occupied by the sum of the two according to the network bandwidth can make the total amount of data packets represented by the two not exceed the network bandwidth.
  • a hybrid credit message is defined, which is used to represent the hybrid sum of the above two kinds of credit messages.
  • the rate of the mixed credit message can be limited to a fixed ratio x% of the link bandwidth, such as 5%, 15%, 25.5%, etc., where x can be a real number greater than 0 and less than 100.
  • the ratio of the bandwidth corresponding to the number of correspondence between the two needs to be occupied is 1:9. That is to say, when the ratio of the two numbers is 1:1, the ratio of the bandwidth occupied by the two is 1:9.
  • the correspondence between virtual credit messages and non-active congestion control protocol data messages is 1:1; the ratio of bandwidth that needs to be occupied is also 1:9.
  • 10% of the total network bandwidth can be allocated to credit messages, and 90% of the total network bandwidth can be allocated to data messages.
  • the bandwidth occupied by the total amount of credit packets is less than 10%
  • the bandwidth occupied by the total amount of corresponding data packets is less than 90%
  • the bandwidth occupied by the total amount of all packets does not exceed 100% of the network bandwidth
  • the bandwidth occupied by the total amount of credit packets is equal to 10%
  • the bandwidth occupied by the total amount of corresponding data packets is equal to 90%
  • the bandwidth occupied by the total amount of all packets is exactly 100% of the network bandwidth
  • the bandwidth occupied by the total amount of credit messages is greater than 10%
  • the bandwidth occupied by the total amount of corresponding data messages is greater than 90%
  • the bandwidth occupied by the total amount of all messages exceeds 100% of the network bandwidth, that is, it exceeds The maximum bandwidth of the network.
  • the following method of discarding more credit messages may be used to determine the active congestion control protocol credit messages to be forwarded.
  • Step 1 Compare the number of two types of credit messages
  • Step 2 Compare the bandwidth occupied by the sum of the two credit messages with the available bandwidth of the credit message. When the bandwidth occupied by the two does not exceed the available bandwidth of the credit message, determine to forward all received active congestion control protocols For credit messages, when the bandwidth occupied by the two is greater than the available bandwidth of the credit messages, perform step 3 and discard the excess part;
  • Step 3 When the bandwidth occupied by the two is greater than the available bandwidth of the credit message, discard the part of the credit message of the larger number determined in step 1. For example, when it is determined in step 1 that there are too many active congestion control protocol credit messages, some of the active congestion control protocol credit messages are discarded to ensure that the sum of the remaining active congestion control protocol credit messages and virtual credit messages does not exceed the credit. The available bandwidth of the message, that is, the remaining active congestion control protocol credit messages are determined to be forwarded. Similarly, when it is determined in step 1 that there are many virtual credit messages, some virtual credit messages are discarded.
  • step 3 since only the active congestion control protocol credit message to be forwarded needs to be determined, and the virtual credit message does not need to be sent out, in step 3, when the bandwidth occupied by the two is greater than the available bandwidth of the credit message, When the number of virtual credit messages is determined in step 1, there is no need to discard active congestion control protocol credit messages in step 3. Therefore, it can be directly determined that all active congestion control protocol credit messages that need to be forwarded are all, while for virtual credit The message can be completely discarded.
  • it can also be set to retain only a certain percentage of virtual credit messages each time, such as 60%, that is, each time after the corresponding virtual credit message is generated according to the received non-active congestion control protocol data message , Retain only 60% of the virtual credit messages, and then allocate all remaining bandwidth in the available bandwidth of the credit messages except the bandwidth that the 60% virtual credit messages need to occupy to the active congestion control protocol credit messages.
  • the weights of the two types of credit messages can be set, and then based on the available bandwidth of the credit messages and the respective weights of the two types of credit messages, the two types of credit messages can be selected to determine the active congestion control to be forwarded Agreement credit message.
  • the two types of messages can be selected for the following different situations.
  • the weight of the active congestion control protocol credit message and the virtual credit message can be set according to the traffic planned by the network. For example, if the active congestion control protocol traffic accounts for 50% and the non-active congestion control protocol traffic accounts for 50%, the weight of the active congestion control protocol credit message and the virtual credit message can be set to 1:1.
  • the multiple messages received in step 201 include N active congestion control protocol credit messages and M inactive congestion control protocol data messages, and in step 202, it is determined that the M inactive congestion control protocol data messages are related to each other.
  • the weights of the N active congestion control protocols can be determined according to the available bandwidth of the credit message, the active congestion control protocol credit message and the weight of the virtual credit message.
  • K proactive congestion control protocol credit messages are determined in the credit messages, where K is a positive integer less than or equal to N.
  • the first-level quality of service (quality of service, QoS) scheduling may be used, and the determination may be made according to the scheduling result.
  • K active congestion control protocol credit messages are determined from the N active congestion control protocol credit messages In the process, it can be realized through first-level QoS scheduling.
  • a weighted fair queue (WFQ) scheduling strategy can be used to perform this level-one QoS scheduling. This part of the content will be introduced in the relevant content of Figure 3 to Figure 7 below.
  • WFQ weighted fair queue
  • the active congestion control protocol credit messages that do not meet the requirements may be discarded, or some or all of the virtual credit messages may be discarded.
  • all virtual credit messages can be discarded after the first level of QoS scheduling is completed, or all virtual credit messages can be discarded after the completion of the two levels of QoS scheduling, and all virtual credit messages can be discarded after the completion of the two levels of QoS scheduling. Before round scheduling, discard all virtual credit messages.
  • step 201 to step 203 by introducing a virtual credit message corresponding to the non-active congestion control protocol data message, and determining the active congestion control protocol credit message forwarded to the destination device, the active congestion control
  • the protocol credit message reserves bandwidth, it can take into account the impact of non-active congestion control protocol data messages, ensuring that the active congestion control mechanism can still be implemented in the case of non-active congestion control protocol data messages.
  • the determined active congestion control protocol credit message can be forwarded to the destination device, and part or all of the received inactive congestion control protocol data can be forwarded Message.
  • step 204 it is also possible to set the forwarding sequence of different messages, and forward different messages according to the forwarding sequence. For example, by setting the forwarding sequence, the determined active congestion control protocol credit message and the received non-active congestion control protocol data message can be forwarded.
  • the active congestion control protocol credit message can be directly set to forward the active congestion control protocol credit message first and then forward the non-active congestion control protocol data message.
  • the multiple messages received in step 201 include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, and K to be forwarded is determined in step 203 Active congestion control protocol credit messages.
  • the K active congestion control protocol credit messages can be forwarded first, and then part or all of the M inactive congestion control protocol data messages are forwarded by using the remaining bandwidth. That is, the K active congestion control protocol credit messages are forwarded first, and then part or all of the M inactive congestion control protocol data messages are forwarded as much as possible according to the remaining bandwidth.
  • the K active congestion control protocol credit messages are allocated according to the available bandwidth of the credit message, there is no situation in which the K active congestion control protocol credit messages preempt the available bandwidth of the data message. In the above situation, the available bandwidth of all data messages can be used to forward the M inactive congestion control protocol data messages as much as possible.
  • the bandwidth required to forward the M non-active congestion control protocol data messages may exceed the available bandwidth of the data message. At this time, some non-active congestion control protocol data messages can be discarded, but it may also be based on If necessary, the bandwidth occupied by the virtual credit message in the available bandwidth of the original credit message is transferred to the M inactive congestion control protocol data messages.
  • the non-active congestion control protocol data message can also be directly set to forward the non-active congestion control protocol data message first and then forward the active congestion control protocol credit message.
  • the M non-active congestion control protocol data messages can be forwarded as much as possible by using the available bandwidth of all data messages, and then the K active congestion control protocol credit messages are forwarded.
  • it may also be set to alternately forward the K active congestion control protocol credit messages and the M non-active congestion control protocol data messages.
  • the credit message is a message that does not carry data
  • the number of credit messages to be forwarded is determined according to the available bandwidth of the credit message, so the K active messages to be forwarded
  • the congestion control protocol credit message does not exceed the available bandwidth of the credit message
  • the received inactive congestion control protocol data message is a message carrying data, and the required bandwidth may exceed the available bandwidth of the data message.
  • the foregoing forwarding sequence may also be determined according to the priority by setting a priority.
  • the priority of the active congestion control protocol credit message can be set higher than the priority of the non-active congestion control protocol data message. It is set to forward the high-priority packets first, and then forward the active congestion control protocol credit messages first, and then forward part or all of the non-active congestion control protocol data messages according to the remaining bandwidth.
  • the multiple messages received in step 201 include N active congestion control protocol credit messages and M non-active congestion control protocol data messages
  • K to be forwarded is determined in step 203 Active congestion control protocol credit messages.
  • the priority of the active congestion active congestion control protocol credit message is higher than the priority of the non-active congestion control protocol data message
  • the K active congestion control protocol credit messages may be forwarded first, and then the M Part or all of an inactive congestion control protocol data message.
  • a priority queuing (PQ) scheduling strategy may be used to implement the foregoing process of forwarding each message according to the forwarding order.
  • PQ priority queuing
  • the priority of the mixed credit message can be set higher than that of the inactive congestion control protocol data message. It should be noted that this may not be a mixed credit message, but an active congestion control protocol credit message. In this case, the priority of the active congestion control protocol credit message can be set higher than that of the non-active congestion control Protocol data message.
  • the active congestion control protocol credit message in the hybrid credit message is forwarded first to ensure bandwidth reservation for the active congestion control protocol data message at the next moment.
  • the scheduling of mixed credit messages is equivalent to informing the sending device of the number of active congestion control protocol data messages that the forwarding device can receive at the next moment, so that the sending device can accurately learn the active congestion control protocol reservations The bandwidth reached, and the bandwidth that can be reserved for subsequent moments at the next moment; in addition, it is equivalent to reserve the available bandwidth at the next moment for non-active congestion control protocol data messages, so that non-active congestion control protocol data messages can be Share bandwidth with active congestion control protocol data messages.
  • the above steps of generating virtual credit messages are performed.
  • the mixed credit messages are prioritized.
  • the mixed credit messages are When there is no data packet in the second-highest priority queue, the non-active congestion control protocol data message is then scheduled. At this time, there is no active congestion control protocol data message.
  • the received multiple packets also include active congestion control protocol data packets
  • the forwarding order is set according to the priority, and the PQ scheduling strategy can also be used for scheduling.
  • the active congestion control mechanism is a reservation system, that is to say, in this case, the received active congestion control protocol data message is triggered based on the bandwidth reserved through the active congestion control protocol credit message at the previous moment It is forwarded, so the received active congestion control protocol data message needs to occupy the bandwidth not to exceed the bandwidth reserved for it, and thus does not exceed the available bandwidth of the data message.
  • the multiple messages received in step 201 include N active congestion control protocol credit messages and M non-active congestion control protocol data messages, and Q active congestion control protocol data messages are also included.
  • the forwarding order can be set to be active congestion control protocol data messages, active congestion control protocol credit messages, and non-active congestion control protocol data messages.
  • First forward the Q active congestion control protocol data messages then forward the K active congestion control protocol credit messages determined from the N active congestion control protocol credit messages, and finally forward the Q active congestion control protocol data messages Part or all of the message.
  • forwarding sequences can also be set, for example, the forwarding sequence can be set to inactive congestion control protocol data messages, active congestion control protocol data messages, active congestion control protocol credit messages, and for example, forwarding rounds can also be set. , And the different forwarding sequence set in different forwarding rounds, etc.
  • the priority of the foregoing three types of messages can also be set, and the forwarding sequence is determined according to the priority. It is equivalent to forwarding the Q active congestion control protocol data to the destination device according to the priority of the active congestion control protocol data message, the priority of the active congestion control protocol credit message, and the priority of the non-active congestion control protocol data message Message, all of the K active congestion control protocol credit messages, and part or all of the M non-active congestion control protocol data messages, where Q is an integer greater than or equal to 1.
  • the priority of the active congestion control protocol data message can be the highest, the priority of the active congestion control protocol credit message is second, and the priority of the non-active congestion control protocol data message In the lowest priority order, forward the Q active congestion control protocol data messages, the K active congestion control protocol credit messages, and part or all of the M non-active congestion control protocol data messages to the destination device, where , Q is an integer greater than or equal to 1.
  • the active congestion control protocol data message can be forwarded preferentially, ensuring the low latency effect of the active congestion control protocol, and under this premise, it can also take into account the active congestion control used to reserve the bandwidth at the next moment.
  • the forwarding of protocol credit messages and the forwarding of inactive congestion control protocol data messages improves bandwidth utilization.
  • step 201 in the process of receiving multiple messages in step 201, there may be other situations, for example, no active congestion control protocol credit message is received, or for example, only one kind of message is received.
  • the method described above can be used to determine the message to be forwarded, and to forward the message according to the forwarding order.
  • step 204 when there is no active congestion control protocol credit message (for example, the above N active congestion control protocol credit messages), then in step 204, when the message is forwarded according to the forwarding order, only the active congestion control protocol data message and the inactive congestion control protocol data message need to be forwarded.
  • Congestion control protocol data message For example, in the second-level QoS scheduling process, only active congestion control protocol data messages for high-priority queues (such as the above Q active congestion control protocol data messages) and non-active congestion control protocols for low-priority queues can be used. Data messages (for example, the above M inactive congestion control protocol data messages) are scheduled.
  • step 202 to step 204 may not be executed, and the two received data messages may be directly forwarded, or step 202 to step 204 may be executed, and when step 203 is executed,
  • the bandwidth originally needed to be allocated to the active congestion control protocol credit message is converted to the virtual credit message, that is, the virtual credit message can occupy the available bandwidth of all credit messages at most.
  • the methods described above can still be used, such as two-level QoS scheduling, to reserve the next moment bandwidth for the non-active congestion control protocol, and the non-active congestion control The protocol data message is forwarded.
  • the active congestion control protocol credit message of the reserved bandwidth is not received, the remaining bandwidth of the active congestion control protocol credit message can be transferred to the virtual credit message.
  • the bandwidth reserved for inactive congestion control protocol data messages increases.
  • the forwarding order is determined according to the priority and the message is forwarded, it is equivalent to only the second highest priority queue where the mixed credit message is located and the low priority queue where the non-active congestion control protocol data message is located. Data packets, and there are only virtual credit messages in the hybrid credit messages, so the hybrid credit messages in the second-highest priority pair are scheduled first, and then the non-active congestion control protocol data messages are scheduled.
  • the method described above can also be used, for example, through two-level QoS scheduling, to allocate the bandwidth for the active congestion control protocol at the next moment.
  • step 203 because no non-active congestion control protocol data message is received, it can be considered that non-active congestion control is temporarily unnecessary, and the remaining bandwidth of the virtual credit message can be allocated to the active Congestion control protocol credit messages, then at the next moment, active congestion control protocol data messages can use a larger proportion of bandwidth.
  • step 204 when the forwarding order is determined according to the priority and the message is forwarded, it is equivalent to that there are only data packets in the second highest priority queue where the mixed credit message is located, and there is only the active congestion control protocol in the mixed credit message Credit messages, so only the mixed credit messages in the second-highest priority queue need to be scheduled.
  • step 204 when the forwarding sequence is determined according to the priority and the message is forwarded, it is equivalent to that only the active congestion control protocol data message is in the high-priority queue with data packets, so only the active congestion control protocol data message needs to be scheduled Text. This situation can occur when there is no non-active congestion control protocol traffic in the network at the previous moment (when forwarding the active congestion control protocol credit message used for bandwidth reservation) and the current moment. Or, it can appear in a network where there is no inactive congestion control protocol traffic.
  • all virtual credit messages can be discarded, or all virtual credit messages can be discarded before and after forwarding each message according to the forwarding order. All virtual credit messages are discarded after all the steps are completed, and all virtual credit messages can also be discarded after all the steps are executed and before the next round of incoming messages are received.
  • step 203 when determining the active congestion control protocol credit message to be forwarded according to the available bandwidth of the credit message, the active congestion control protocol credit message and the virtual credit message, part or all of the virtual credit message may be discarded.
  • the available bandwidth of the above two types of credit messages is 10Mbps, and the weight of the two is 1:1
  • the active congestion control protocol credit messages need to occupy bandwidth 6Mbps
  • the virtual credit messages need If the occupied bandwidth is 7 Mbps, part of the active congestion control protocol credit messages and part of the virtual credit messages are discarded, so that the bandwidth occupied by both is 5 Mbps, or all virtual credit messages may be directly discarded at this time.
  • the active congestion control mechanism in the case of non-active congestion control protocol traffic is realized by the above method, since the traffic of the non-active congestion control protocol is not controlled, the non-active congestion control protocol will arrive at the next moment.
  • the congestion control protocol data message may still exceed the bandwidth obtained by the inactive congestion control protocol data message in the above method, and by setting the forwarding sequence to forward the data, the excess part can be discarded without affecting network performance.
  • Figure 2 mainly introduces the method of scheduling messages provided by the embodiments of the present application.
  • step 201 it is mentioned that the types of received messages may be different, mainly because two congestion control mechanisms may exist at the same time or there may be only one. Moreover, the specific methods and procedures of the two congestion control mechanisms are different, which makes the types of messages existing in the network at the same time different.
  • the types of received messages are different, if the method shown in Figure 2 is used for congestion control, different execution processes will occur.
  • the embodiments of the present application also provide several scheduling methods to optimize them. Therefore, the method for scheduling messages provided by the embodiments of the present application by using the scheduling policy will be introduced in the following according to different situations.
  • Time T0 refers to the time when the active congestion control protocol credit message sent by the sending device arrives at the forwarding device.
  • the forwarding device schedules the message received at T0, it will send the backhaul active congestion control protocol credit message to the sending device, and the sending device receives and triggers the sending of active congestion control protocol data according to the backhaul active congestion control protocol credit message.
  • time T1 can be set as the time when the forwarding device receives the active congestion control protocol data message.
  • the sending device at time T0 is reserving bandwidth for the active congestion control protocol data message, and the sending device at time T1 sends the corresponding data message according to the bandwidth reserved at time T0, but for specific settings, There is no restriction on which time point in the process.
  • the forwarding device 400 includes an ingress port 410 and an egress port 420, and the two ports are respectively used for receiving and sending data such as packets.
  • the message 310 and the message 330 are messages sent by the sending device 300 to the destination device via the forwarding device 400, wherein the message 310 is an active congestion control protocol credit message, which is used to reserve bandwidth for the active congestion control protocol data message;
  • the message 330 is an inactive congestion control protocol data message.
  • the message 430 is a virtual credit message generated in the forwarding device 400, and is only valid in the forwarding device 400.
  • the message 440 is a mixed credit message, that is, the mixed sum of the message 310 and the message 430, but it should be understood that in some cases, there may be only two kinds of messages, the message 310 and the message 430, in the message 440. One of them.
  • QoS scheduling refers to the scheduling performed by the forwarding device 400 on some or all of the message 310, the message 430, the message 330, and the message 440 to allocate bandwidth and/or determine the message to be sent.
  • the process between the sending device and the forwarding device is mainly introduced. Therefore, the destination device is not shown in FIGS. 3 to 7, but it should be understood that the forwarding device is performing this In the process of applying the embodiment, when various types of messages are forwarded, they are forwarded to the destination device.
  • FIG. 3 is a schematic diagram of a method for scheduling a message at time T0 provided by an embodiment of the present application.
  • the sending device 300 sends the message 310 and the message 330 to the destination device via the forwarding device 400.
  • the sending device 300 that sends the message 310 and the sending device 300 that sends the message 330 may be the same device or different devices.
  • the sending device 300 sends the message 310 based on service requirements or a fixed ratio.
  • the sending device 300 may be a terminal device, or a device capable of sending packets, such as a host or a switch.
  • the forwarding device 400 receives the message 330 and the message 310 from the sending device 300.
  • T0 time is not unique.
  • the time at which the sending device 300 sends the message 310 can also be set to time T0, and the time at which the sending device 300 sends the message 330 can also be set to time T0. This will not be repeated here.
  • the forwarding device 400 may generate a message 430 based on the message 330 received at time T0.
  • the message 430 is only valid in the forwarding device 400 and will not be sent to the network. in.
  • step 202 in FIG. 2 may be used to generate the message 430.
  • the forwarding device 400 may also perform QoS scheduling on the foregoing packets, and the QoS scheduling may include one-level or multi-level scheduling, which will be described below in conjunction with FIG. 4 and FIG. 5.
  • Fig. 4 is a schematic diagram of a first-level QoS scheduling method at time T0 provided by an embodiment of the present application. It should be understood that the method involved in step 203 in FIG. 2 may also be used to perform the first-level QoS scheduling.
  • the forwarding device 400 may generate a message 430 based on the message 330 received at time T0.
  • the message 430 is only valid in the forwarding device 400 and will not be sent to the network.
  • step 202 in FIG. 2 may be used to generate the message 430.
  • the forwarding device 400 may also determine from the message 310 to be forwarded according to the available bandwidth of the credit message of the active congestion control protocol credit message and the virtual credit message, the received message 310 and the generated message 430 Part or all of the message 310 is used to allocate bandwidth for the data message represented by the message 310.
  • the method described in step 203 in FIG. 2 may be used to determine part or all of the messages 310 to be forwarded from the received messages 310, so as to allocate the bandwidth of the active congestion control protocol data message at the next moment. And to reserve bandwidth for non-active congestion control protocol data messages at the next moment.
  • the first-level QoS scheduling may be performed on the message 310 and the message 430.
  • a weighted fair queue (WFQ) scheduling strategy can be used to perform this level-one QoS scheduling.
  • WFQ weighted fair queue
  • fair queue (FQ) scheduling is to share network resources as fairly as possible, optimize the delay and jitter of all flows, and allow different queues to obtain fair scheduling opportunities.
  • the WFQ scheduling adds priority considerations on the basis of FQ, so that packets with higher priority have more opportunities for priority scheduling than packets with lower priority.
  • the WFQ scheduling classifies the traffic before the packet enters the queue.
  • the "session" information classification of the flow according to the protocol type of the message, source TCP or UDP port number, destination TCP or UDP port number, source IP address, destination IP address, type of service (ToS) field Automatically classify the traffic in the priority and so on, and provide as many queues as possible to evenly put each flow into a different queue, so as to balance the delay of each flow as a whole.
  • WFQ scheduling allocates the bandwidth that each stream can occupy according to the precedence of the stream. The smaller the priority value, the less bandwidth obtained. The higher the priority value, the more bandwidth is obtained.
  • classification by priority the traffic is marked as a local priority through priority mapping, and each local priority corresponds to a queue number.
  • Each interface is pre-allocated with 8 queues, and packets enter the queue according to the queue number.
  • the WFQ weights of the default queues are the same, and link bandwidth is evenly allocated to each flow.
  • the weight can be modified to change the allocation of the bandwidth that each stream can occupy.
  • the active congestion control protocol credit messages for example, message 310
  • virtual credit messages for example, message 430
  • the active congestion control protocol credit messages and The virtual credit message performs bandwidth allocation and realizes the fair competition of the above two kinds of credit messages.
  • the two types of credit messages can each be allocated a bandwidth of 100 Mbps.
  • the actual bandwidth of the active congestion control protocol credit message that is, the bandwidth that the active congestion control protocol credit message received at T0 needs to occupy
  • B1 the actual bandwidth of the virtual credit message
  • B2 the bandwidth required for the virtual credit message generated by the non-active congestion control protocol credit message
  • B1>100Mbps and B2 ⁇ 100Mbps increase B1 and B2 remain unchanged, where B1 can be increased up to 200Mbps-B2; that is, the actual bandwidth of the virtual credit message remains unchanged, but the virtual credit message The remaining bandwidth can be allocated to active congestion control protocol credit messages.
  • B1 When B1 ⁇ 100Mbps and B2>100Mbps, increase B2, B1 remains unchanged, where B2 can be increased to 200Mbps-B1 at most; that is, the actual bandwidth of the active congestion control protocol credit message remains unchanged, but active congestion The remaining bandwidth of the control protocol credit message can be allocated to the virtual credit message.
  • the forwarding device 400 may also set the rates of the two credit messages to a fixed ratio x% of the link bandwidth, such as 5%, 6%, 13%, etc., where x can be greater than 0 and less than 100.
  • x can be greater than 0 and less than 100.
  • the real number To ensure that the sum of the data messages corresponding to the two credit messages does not exceed the bandwidth of the network link.
  • the available bandwidth of the credit message can be determined according to the total network bandwidth and the correspondence between the two types of credit messages and their corresponding data messages. It should be understood that the available bandwidth of credit messages refers to the sum of available bandwidth of all credit messages, or can be understood as the sum of available bandwidth of all credit messages.
  • the credit message when the credit message includes only the above two types of credit messages, it is equivalent to the available bandwidth of the two types of credit messages, or can be understood as equivalent to the sum of the two types of credit messages (ie Hybrid credit message) available bandwidth.
  • the forwarding device 400 may also perform two-level QoS scheduling on the foregoing message, and the scheduling process may be as shown in FIG. 5.
  • Fig. 5 is a schematic diagram of a two-level QoS scheduling method at time T0 provided by an embodiment of the present application.
  • first-level QoS scheduling is performed on the message 310 and the message 430.
  • the first-level QoS scheduling may use the first-level QoS scheduling method shown in FIG. 4 to schedule the message 310 and the message 430, for example, perform WFQ scheduling, and may also use step 203 in FIG. 2 The method involved in this level of QoS scheduling is not repeated here.
  • the method described above can be used to limit the rate of the message 440 and determine the bandwidth occupied by the message 440.
  • second-level QoS scheduling may be performed on the message 440 and the message 330. It should be understood that the second-level QoS scheduling can also be performed by using the method of forwarding each message according to the forwarding sequence involved in step 204 in FIG. 2.
  • the message 440 may be a mixed credit message after scheduling using the method described in FIG. 4.
  • the message 440 may also be the message 310. For example, if the message 430 is discarded after the first-level QoS scheduling is performed, only the message 310 will be left in the message 440.
  • the second-level QoS scheduling may be to schedule the message 330 and the message 440 according to priority.
  • the second-level QoS scheduling may adopt a priority (priority queuing, PQ) scheduling strategy.
  • PQ priority queuing
  • the priority of the hybrid credit message can be set higher than that of the non-active congestion control protocol data message.
  • the priority of the active congestion control protocol credit message can be set.
  • the scheduling will be performed in strict accordance with the order of the priority of the queue. Only after all the packets in the high-priority queue are scheduled, the low-priority queue has a scheduling opportunity. If there are data packets in the high-priority queue, the data packets in the high-priority queue are processed first. Until the high-priority queue is empty, the next priority queue will be processed, and the data packets in it will be processed and the high-priority queue will be checked. Whether the high-priority queue is empty, if the high-priority queue is empty, continue to process the priority queue, if there are data packets in the high-priority queue, then switch to the high-priority queue.
  • packets in the low-priority queue can only be processed when all queues with a priority higher than themselves are empty. When there are too many packets in the higher priority queue, the packets in the lower priority queue will not be served, which causes "queue starvation".
  • the active congestion control protocol credit message in the hybrid credit message is forwarded first to ensure bandwidth reservation for the active congestion control protocol data message at the next moment.
  • the scheduling of mixed credit messages is equivalent to informing the sending device of the number of active congestion control protocol data messages that the forwarding device can receive at the next moment, so that the sending device can accurately learn the active congestion control protocol reservations The bandwidth reached, and the bandwidth that can be reserved for subsequent moments at the next moment; in addition, it is equivalent to reserve the available bandwidth at the next moment for non-active congestion control protocol data messages, so that non-active congestion control protocol data messages can be Share bandwidth with active congestion control protocol data messages.
  • the forwarding device 400 does not receive any active congestion control protocol data messages. Therefore, when performing PQ scheduling, the message 440 is scheduled first, and when the second-highest priority queue where the message 440 is located is empty, it will be scheduled instead.
  • the forwarding device 400 discards all the packets 430 to release the storage space occupied by the forwarding device 400.
  • some packets 430 that do not conform to the scheduling policy may also be discarded.
  • the message 430 may be discarded when the first-level QoS scheduling is performed, and the message 430 may be discarded after all the scheduling is completed, which will not be repeated here.
  • the forwarding device 400 forwards some or all of the scheduled packets 310 to the destination device, and then the destination device returns to the sending device 300 to trigger a corresponding amount of active congestion control Protocol data message. For example, it returns to the sending device 300 after 1 RTT.
  • the message 320 in Figure 6 and Figure 7 refers to the active congestion control protocol data message, which is determined by The active congestion control protocol credit message (ie message 310) triggers the sending.
  • FIG. 6 is a schematic diagram of a method for scheduling packets at time T1 provided by an embodiment of the present application.
  • the sending device 300 sends a message 310, a message 320, and a message 330 to the forwarding device 400, where the message 320 is triggered to be sent by the message 310 at time T0.
  • the sending device 300 that sends the message 310, the message 320, and the message 330 may be the same device or different devices.
  • the sending device 300 may be a device capable of sending messages, such as a terminal device, a host, or a server.
  • the forwarding device 400 receives the message 330 and the message 310 from the sending device 300, and the message 320 triggered by some or all of the messages 310 returned after scheduling at time T0.
  • the setting at time T1 is also not unique, and the time at which the sending device 300 sends the message 320 triggered by the message 310 at time T0 can also be set to time T1, which will not be repeated here.
  • the forwarding device 400 may generate a message 430 based on the message 330 received at time T1.
  • the message 430 is only valid in the forwarding device 400 and will not be sent to the network. in.
  • step 202 in FIG. 2 may be used to generate the message 430.
  • the forwarding device 400 may also perform QoS scheduling on the above-mentioned message.
  • the QoS scheduling may include one-level or multi-level scheduling.
  • the first-level QoS scheduling may be the scheduling between the message 310 and the message 430, and the method involved in step 203 in FIG. 2 may also be used to perform the first-level QoS scheduling.
  • details are not described again.
  • the packet 310 may not exist at time T1, that is, there is no need to reserve bandwidth for the active congestion control protocol data packet at this time, and the first-level QoS scheduling may not be performed. Or in this case, if the first-level QoS scheduling is performed, all the bandwidth available to the original message 310 can be allocated to the message 430, which is equivalent to that the message 430 occupies the available bandwidth of the credit message (here there are two types of bandwidth). Available bandwidth for credit messages).
  • the forwarding device 400 may also perform two-level QoS scheduling on the foregoing message, and the scheduling process may be as shown in FIG. 7.
  • FIG. 7 is a schematic diagram of a two-level QoS scheduling method at time T1 provided by an embodiment of the present application.
  • the two-level QoS scheduling at time T1 will be introduced below in conjunction with FIG. 7.
  • the first-level QoS scheduling is performed on the message 310 and the message 430 first.
  • the first-level QoS scheduling may use the first-level QoS scheduling method shown in FIG. 4 to schedule the packets 310 and 430 at time T1, for example, perform WFQ scheduling, and also use FIG. 2
  • the method involved in step 203 in step 203 performs the first-level QoS scheduling, and will not be repeated here.
  • the packet 310 may not exist at time T1, that is, there is no need to reserve bandwidth for the active congestion control protocol data packet at this time, and the first-level QoS scheduling may not be performed. Or in this case, if the first-level QoS scheduling is performed, all the bandwidth available to the original message 310 can be allocated to the message 430, which is equivalent to that the message 430 occupies the bandwidth.
  • the method described above can be used to limit the rate of the message 440 and determine the bandwidth occupied by the message 440.
  • second-level QoS scheduling may be performed on the message 440 and the message 330. It should be understood that the second-level QoS scheduling can also be performed by using the method of forwarding each message according to the forwarding sequence involved in step 204 in FIG. 2.
  • the message 440 may be a mixed credit message after scheduling using the method described in FIG. 4.
  • the message 440 may also be the message 310. For example, if the message 430 is discarded after the first-level QoS scheduling is performed, only the message 310 will be left in the message 440.
  • the second-level QoS scheduling may be to schedule the message 330 and the message 440 according to priority.
  • the second-level QoS scheduling can adopt a PQ scheduling strategy.
  • active congestion control protocol data message is set as the highest priority, the hybrid credit message as the second highest priority, and the non-active congestion control protocol data message as the low priority.
  • active congestion control protocol data messages have the highest priority; hybrid credit messages have lower priority than active congestion control protocol data messages, but higher than non-active congestion control protocol data messages; not active congestion control The protocol data message has the lowest priority.
  • the second-level QoS scheduling may not be hybrid credit messages, but active congestion control protocol credit messages.
  • the active congestion control protocol credit messages can be set as the second highest priority. .
  • the forwarding device receives the message 330, the message 310, and the message 320 triggered by the message 310 at the time T0. Therefore, when performing the second-level QoS scheduling, it is necessary to perform PQ scheduling on three types of messages: message 320, message 440, and message 330 according to the order of priority from high to low. Among them, message 320 can be set. The priority of is the highest, the message 440 has the second priority, and the message 330 has the lowest priority, which will not be repeated here.
  • both the inactive congestion control protocol data message (message 330) and the active congestion control protocol credit message (message 310) are received, and the active congestion control protocol data message (message 320) is received.
  • the active congestion control protocol data message is prioritized.
  • the mixed credit message is then scheduled, only when the active congestion control
  • the non-active congestion control protocol data message is only scheduled when there are no data packets in the high priority queue where the protocol data message is located and the second highest priority queue where the hybrid credit message is located.
  • the forwarding device 400 may discard all the packets 430 to release resources such as storage space occupied by the forwarding device 400.
  • the active congestion control protocol data message is forwarded first to ensure the low delay effect of the active congestion control mechanism.
  • the scheduling of mixed credit messages is equivalent to informing the sending device of the number of active congestion control protocol data messages that the forwarding device can receive at the next moment, so that the sending device can accurately learn the bandwidth reserved by the active congestion control protocol, and Determine the bandwidth that can be reserved at the next moment; in addition, it is equivalent to reserve the available bandwidth at the next moment for the non-active congestion control protocol data message, so that the non-active congestion control protocol data message can be combined with the active congestion control protocol data message Shared bandwidth.
  • non-active congestion protocol data messages can also be obtained by competition at time T0 Bandwidth for data transmission not only meets the low-latency requirements of active congestion control, but also enables non-active congestion control protocol data messages to compete with and share bandwidth with active congestion control protocol data messages.
  • the second-level QoS scheduling can also be implemented. When the received inactive congestion protocol data message exceeds the bandwidth reserved at T0, it can be discarded through this scheduling to ensure the transmission performance of the network link.
  • the two-level QoS scheduling can still be used to reserve the next time bandwidth for the inactive congestion control protocol, and to forward some or all of the message 330.
  • WFQ scheduling because the message 310 for the reserved bandwidth is not received, the remaining bandwidth of the message 310 can be transferred to the message 430, and then at the next moment, the credit report of the message 330 The available bandwidth for text has increased.
  • PQ scheduling it is equivalent to only the next highest priority queue where the message 440 is located and the low priority queue where the message 330 is located have data packets, and there is only the message 430 in the message 440, so the next highest priority queue can be scheduled first. For the message 440 in the priority pair, the message 330 is then scheduled.
  • the two-level QoS scheduling can also be used to allocate the bandwidth at the next moment for the active congestion control protocol.
  • WFQ scheduling because the message 330 is not received, it can be considered that inactive congestion control is not needed temporarily, and the remaining bandwidth of the message 430 can be allocated to the message 310.
  • the message 320 can use a larger proportion of bandwidth.
  • PQ scheduling it is equivalent to that there are only packets in the second-highest priority queue where the message 440 is located, and there is only the message 310 in the message 440, so only the message 440 in the second-highest priority queue needs to be scheduled.
  • the message 320 can also be forwarded through two-level QoS scheduling.
  • WFQ scheduling because the message 330 and the message 310 are not received, there is no need to generate the message 430, so WFQ scheduling may not be performed.
  • PQ scheduling it is equivalent to that there are only data packets in the high-priority queue where the message 320 is located, so only the message 320 needs to be scheduled. This situation may occur when there is no non-active congestion control protocol traffic in the network at the previous moment (when the message 310 for bandwidth reservation is sent) and the current moment. Or, it can appear in a network where there is no inactive congestion control protocol traffic.
  • the congestion control method of the embodiment of the present application is described above in conjunction with FIG. 1 to FIG. 7.
  • the congestion control apparatus of the embodiment of the present application will be introduced with reference to FIG. 8 to FIG. 9.
  • FIG. 8 is a schematic block diagram of an apparatus for scheduling messages provided by an embodiment of the present application.
  • the apparatus 800 may correspond to the forwarding device in the methods shown in FIGS. 2 to 7, or may be a chip or component applied to the forwarding device, and each module or unit in the processing apparatus 800 may be used for Perform various actions or processing procedures performed by the forwarding device in any of the methods in FIG. 2 to FIG. 7.
  • the processing device 800 may include: a processing unit 810 and a communication unit 820.
  • the processing unit 810 is configured to perform some operations on the received message to determine the message to be forwarded to the destination device.
  • the processing unit 810 may be configured to generate a corresponding virtual credit message according to the received inactive congestion control protocol data message.
  • the processing unit 810 can also be used to assign weights to active congestion control protocol credit messages and virtual credit messages, and can also assign weights to received active congestion control protocol credit messages and non-active congestion control protocol data messages according to the weights.
  • the virtual credit message generated by the document is scheduled to realize bandwidth allocation and so on.
  • processing unit 810 may be configured to perform the corresponding operations in the above method embodiments to realize the corresponding functions of the above method embodiments. For brevity, details are not described herein again.
  • the communication unit 820 is used to receive and send messages. For example, it is used to receive multiple packets from a sending device, and the multiple received packets may include packets related to active congestion control protocol traffic and non-active congestion control protocol traffic, and are also used to send packets to the destination device.
  • the message for example, is used to forward some or all of the above multiple messages from the sending device.
  • the communication unit 820 can be used to receive packets, and can also be used to forward corresponding packets to the destination device according to the scheduling result of the processing unit 810, so as to implement the corresponding functions of the foregoing method embodiments. Go into details again.
  • the processing unit 810 can be used to perform steps 202 and 203 in the method shown in FIG. 2, and the communication unit 820 can be used to perform steps 201 and 204 in the method shown in FIG. It has been introduced above, for the sake of brevity, I will not repeat it here.
  • FIG. 9 is a schematic structural diagram of a forwarding device provided by an embodiment of the present application.
  • the forwarding device 900 includes a processor 910 and a transceiver 920.
  • the forwarding device 900 further includes a memory 930.
  • the processor 910, the transceiver 920 and the memory 930 communicate with each other through internal connection paths to transfer control and/or data signals.
  • the memory 930 is used to store computer programs, and the processor 910 is used to call from the memory 930. And run the computer program to control the transceiver 920 to send and receive signals.
  • the foregoing processor 910 and the memory 930 may be combined into one processing device, and the processor 910 is configured to execute the program code stored in the memory 930 to implement the function of the forwarding device in the foregoing method embodiment.
  • the memory 930 may also be integrated in the processor 910 or independent of the processor 910.
  • the transceiver 920 may be implemented by a transceiver circuit.
  • the foregoing forwarding device may further include a communication interface 940 for forwarding the message output by the transceiver 920, or sending the received message to the transceiver 920 for further processing.
  • the processing device 900 may correspond to the forwarding device in the method embodiments shown in FIG. 2 to FIG. 7 according to the present application, and the processing device 900 may also be a chip or component applied to the forwarding device. Moreover, each module in the processing device 900 implements the corresponding processes in FIG. 2 to FIG. 7.
  • the memory 980 may be used to store program code, so that when the processor 910 executes the program code, the processor 910 is used to execute steps 202 and 203 in the method shown in FIG. 2, and the transceiver 920 is used to execute In the steps 201 and 204 in the method shown in FIG. 2, the process of each unit performing the above-mentioned corresponding steps has been introduced above, and for the sake of brevity, it will not be repeated here.
  • the memory and the memory in the foregoing device embodiments may be physically independent units, or the memory may also be integrated with the processor.
  • this application also provides a computer-readable storage medium.
  • the computer-readable storage medium stores computer instructions.
  • the computer instructions run on the computer, the computer executes the method for dispatching messages provided in this application by the forwarding device. Operations and/or processing performed.
  • the computer program product includes computer program code.
  • the computer program code runs on a computer, the computer executes the operations and/or operations performed by the forwarding device in the method for scheduling messages provided in this application. deal with.
  • the present application also provides a device, including a processor and an interface circuit, the interface circuit is used to receive computer code or instructions, and transmit to the processor, the processor is used to run the computer code or instructions to execute The operation and/or processing performed by the forwarding device in the method for scheduling messages provided in this application.
  • the application also provides a chip including one or more processors.
  • the one or more processors are used to execute a computer program stored in the memory to execute operations and/or processing performed by the forwarding device in any method embodiment.
  • the memory used for storing the computer program is provided independently of the chip.
  • the chip may also include one or more communication interfaces.
  • the one or more communication interfaces may be input/output interfaces, input/output circuits, and the like.
  • the chip may also include one or more of the memories.
  • the present application also provides a communication system, which includes at least one forwarding device in an embodiment of the present application, and also includes at least one sending device and at least one destination device.
  • the at least one forwarding device can perform the operations and/or processing performed by the forwarding device in the method for scheduling messages provided in this application
  • the at least one sending device and the at least one destination device may be Any device capable of sending and/or receiving messages described in the embodiments. It should be understood that the sending device and the destination device may be the same device or different types of devices.
  • the at least one forwarding device may also be the forwarding device shown in FIG. 9 or a device including the device for scheduling messages shown in FIG. 8.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a forwarding device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

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

Abstract

La présente invention concerne un procédé et un appareil de planification de message. Le procédé consiste à : recevoir de multiples messages provenant d'un dispositif d'envoi ; lorsque les multiples messages comprennent des messages de crédit de protocole de gestion d'encombrement actif et des messages de données de protocole de gestion d'encombrement non actif, déterminer des messages de crédit virtuels correspondant aux messages de données de protocole de gestion d'encombrement non actif, déterminer une partie ou la totalité des messages de crédit de protocole de gestion d'encombrement actif parmi les messages de crédit de protocole de gestion d'encombrement actif en fonction de la bande passante disponible pour les messages de crédit, les messages de crédit de protocole de gestion d'encombrement actif reçus et les messages de crédit virtuels reçus, et transmettre à un dispositif de destination la partie ou la totalité des messages de crédit de protocole de gestion d'encombrement actif déterminés et une partie ou la totalité des messages de données de protocole de gestion d'encombrement non actif reçus. Par introduction des messages de crédit virtuels, un trafic de protocole de gestion d'encombrement actif peut quand même être efficacement commandé en présence d'un trafic de protocole de gestion d'encombrement non actif.
PCT/CN2019/130825 2019-12-31 2019-12-31 Procédé et appareil de planification de message WO2021134621A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/130825 WO2021134621A1 (fr) 2019-12-31 2019-12-31 Procédé et appareil de planification de message
CN201980102805.8A CN114788243B (zh) 2019-12-31 2019-12-31 调度报文的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/130825 WO2021134621A1 (fr) 2019-12-31 2019-12-31 Procédé et appareil de planification de message

Publications (1)

Publication Number Publication Date
WO2021134621A1 true WO2021134621A1 (fr) 2021-07-08

Family

ID=76686855

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/130825 WO2021134621A1 (fr) 2019-12-31 2019-12-31 Procédé et appareil de planification de message

Country Status (2)

Country Link
CN (1) CN114788243B (fr)
WO (1) WO2021134621A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546098A (zh) * 2011-12-15 2012-07-04 福建星网锐捷网络有限公司 数据传输装置、方法及系统
CN102656848A (zh) * 2010-11-09 2012-09-05 华为技术有限公司 数据包的传输方法及装置
WO2013048517A1 (fr) * 2011-09-30 2013-04-04 Intel Corporation Gestion de puissance basée sur crédit
US20140307555A1 (en) * 2013-04-15 2014-10-16 International Business Machines Corporation Flow control credits for priority in lossless ethernet
US20160065477A1 (en) * 2014-08-28 2016-03-03 Xpliant, Inc. Phantom queue link level load balancing system, method and device
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8804523B2 (en) * 2012-06-21 2014-08-12 Microsoft Corporation Ensuring predictable and quantifiable networking performance
CN105282029B (zh) * 2014-06-30 2020-02-07 中兴通讯股份有限公司 外层标签编码方法、流量拥塞控制方法及装置
CN107046495B (zh) * 2016-02-06 2020-08-18 阿里巴巴集团控股有限公司 用于构建虚拟专用网络的方法、装置和系统
CN109067665B (zh) * 2018-09-25 2022-01-11 华为技术有限公司 拥塞控制方法和网络设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656848A (zh) * 2010-11-09 2012-09-05 华为技术有限公司 数据包的传输方法及装置
WO2013048517A1 (fr) * 2011-09-30 2013-04-04 Intel Corporation Gestion de puissance basée sur crédit
CN102546098A (zh) * 2011-12-15 2012-07-04 福建星网锐捷网络有限公司 数据传输装置、方法及系统
US20140307555A1 (en) * 2013-04-15 2014-10-16 International Business Machines Corporation Flow control credits for priority in lossless ethernet
US20160065477A1 (en) * 2014-08-28 2016-03-03 Xpliant, Inc. Phantom queue link level load balancing system, method and device
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHINA UNICOM: "Editorial correction on the numbering of NOTEs in TS 23.203", 3GPP DRAFT; S2-120092, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG2, no. Elbonia; 20120112 - 20120118, 10 January 2012 (2012-01-10), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France, XP050575940 *

Also Published As

Publication number Publication date
CN114788243A (zh) 2022-07-22
CN114788243B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
US8169909B2 (en) Optimization of a transfer layer protocol connection
US11171862B2 (en) Multi-subflow network transmission method and apparatus
US8170572B2 (en) Methods and apparatus for supporting quality of service in communication systems
US20080304416A1 (en) Method and Apparatus for Solving Data Packet Traffic Congestion
CN111432440A (zh) 实现业务连续性的方法、装置及系统
US20060291395A1 (en) Packet transmission control method and apparatus
CN110351201A (zh) 一种数据处理方法及装置
WO2021238676A1 (fr) Procédé et dispositif de transmission de données
CN109842570B (zh) 聚合速率控制方法、设备以及系统
US20220303825A1 (en) Data transmission method and apparatus
US20220103465A1 (en) Multi-Subflow Network Transmission Method and Apparatus
WO2022148371A1 (fr) Procédé et appareil de transmission de messages
CN110944358A (zh) 数据传输方法和设备
Irazabal et al. Dynamic buffer sizing and pacing as enablers of 5G low-latency services
Irazabal et al. Preventing RLC buffer sojourn delays in 5G
Eklund et al. Using multiple paths in SCTP to reduce latency for signaling traffic
CN103858474A (zh) 针对传输网络的增强性能的基于服务的配置
CN112822720B (zh) 无人机组网技术中基于mac层链路质量的跨层拥塞控制方法
Xia et al. Active queue management with dual virtual proportional integral queues for TCP uplink/downlink fairness in infrastructure WLANs
WO2021134621A1 (fr) Procédé et appareil de planification de message
Eklund et al. Efficient scheduling to reduce latency for signaling traffic using CMT-SCTP
Zhou et al. Managing background traffic in cellular networks
Seyedzadegan et al. The TCP fairness in WLAN: a review
WO2023193203A1 (fr) Procédé et appareil de commande de retard temporel, et dispositif de communication
WO2023050415A1 (fr) Procédé et appareil de transmission par trajets multiples, et dispositif de communication

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: 19958178

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19958178

Country of ref document: EP

Kind code of ref document: A1