Virtualized data center network transmission strategy

By adopting the DCTCP protocol and priority bandwidth allocation strategy in virtual switches, the problem of TCP/IP stack control in virtual machines in data center networks is solved, effective management of network congestion is achieved, throughput and fairness is improved, and virtualization is solved Machine stack control and bandwidth usage issues.

CN119109872AActive Publication Date: 2024-12-10LINGBO ZHIXIN (CHANGZHOU) TECHNOLOGY CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411140035.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-20
Publication Date
2024-12-10
Estimated Expiration
2044-08-20

AI Technical Summary

Technical Problem

The TCP/IP stack of virtual machines in data center networks is difficult to be controlled by cloud providers in fine-grained control, resulting in network congestion, latency and throughput declines. The prior art cannot implement effective congestion control without modifying user virtual machines.

Method used

A data center network transmission strategy based on virtual switch is designed, using DCTCP protocol and priority-based dynamic and static combination bandwidth allocation strategy, and forced ECN field and priority adjustment transmission window through vSwitch to realize TCP stack control of virtual machines and Bandwidth management.

Benefits of technology

Without touching the user virtual machine, flexible control and congestion management of the TCP stack is achieved, network throughput and fairness are improved, bandwidth occupancy problem of large-traffic applications, and stability of data center networks is improved Sex and quality of service.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109872A_ABST
    Figure CN119109872A_ABST
Patent Text Reader

Abstract

The invention relates to the field of flow control or congestion control, in particular to a virtualized data center network transmission strategy which comprises a DCTCP protocol in vSwitch and a dynamic and static combined bandwidth allocation strategy based on priority. A DCTCP protocol in the vSwitch is used for judging support of virtual machine ECNs of a sending end and a receiving end, a data packet is sent through the virtual machine of the sending end, after the data packet reaches the vSwitch, the packet is forcibly set to be ECNCapable, unified and flexible configuration of a congestion control algorithm is achieved, and a user virtual machine does not need to be touched; wherein users with administrator authority or under a high-quality service strategy are divided into core users, otherwise, the users are common users, a static priority scheme and a dynamic priority scheme are respectively used, and the static priority scheme can improve the service quality of the core users and reduce the influence of competition of the common users; the dynamic priority scheme enables the network to adjust the sending window according to the priority, so that the throughput of the data center can be effectively improved, the service quality is improved, and the fairness is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of flow control or congestion control, and in particular to a virtualized data center network transmission strategy. Background Art

[0002] With the rapid development of the internet, new network applications continue to emerge, leading to an exponential increase in the number of clients and a surge in the amount of data flowing through the network. Since network bandwidth is limited, sustained high network loads can lead to network congestion, which can increase transmission latency at best and even cause network downtime, indirectly impacting business revenue. Therefore, ensuring stable network transmission is crucial.

[0003] Multi-tenant data centers are a vital component of today's computing ecosystem. Major cloud providers, such as Tencent Cloud and Alibaba Cloud, support a diverse range of users, applications, and systems through their public cloud offerings. The success of these offerings stems in part from their efficient performance for a wide range of applications running on diverse platforms. Virtual machines (VMs) play a key role in this by allowing customers to run applications on a variety of operating systems and configurations. However, while VMs offer convenient flexibility for users, cloud providers lack control over them. While they may be able to enforce rate limits on user VMs, they lack control over their TCP / IP stacks. For data center network administrators, updating numerous VMs with the latest, unified TCP stack is time-consuming and laborious. Furthermore, in untrusted public cloud environments, administrators often lack access to modify user VMs, and some user VMs may rely on specific operating systems or libraries that cannot be updated from the server. Because the TCP / IP stack significantly impacts overall network performance, cloud providers lack fine-grained control over one of the most critical components of the network stack. This leaves data center networks vulnerable to inefficient, outdated, or even misconfigured TCP / IP stacks in user VMs. The TCP / IP stack is the basis for implementing various congestion control methods. If the stack cannot be effectively controlled, the latest and optimized congestion control algorithms cannot be applied to it, which will largely lead to packet loss, increased latency and decreased network throughput caused by network congestion.

[0004] How data center network administrators can fine-grainedly control the TCP / IP stack of user VMs without modifying them, and how to implement congestion control algorithms more suitable for data center networks, is a current challenge in the entire networking field.

[0005] In view of the above technical defects, a solution is now proposed. Summary of the Invention

[0006] The purpose of the present invention is to provide a virtualized data center network transmission strategy to address the above-mentioned technical deficiencies. The present invention aims to design a data center network transmission strategy based on a virtual switch, allowing administrators to control the user TCP stack without modifying the user's virtual machine, and further propose a strategy to provide differentiated services for special users and prevent ordinary users from occupying too high a critical path bandwidth when sending link data rates are relatively high, thereby reducing network fairness.

[0007] The object of the present invention can be achieved by the following technical solutions: a virtualized data center network transmission strategy, including the DCTCP protocol in the vSwitch and a priority-based dynamic and static combined bandwidth allocation strategy;

[0008] The DCTCP protocol in the vSwitch is used to determine the ECN support of the virtual machines at the sending and receiving ends. When a data packet is sent through the sending virtual machine, the packet will be forced to be set to ECN_Capable after arriving at the vSwitch, that is, the ECN field in the IP field is set to ECT(0), thereby limiting the data transmission of the sending end that causes network congestion.

[0009] The priority-based, dynamic and static combined bandwidth allocation strategy distinguishes between core users and ordinary users. By obtaining congestion signals in the vSwitch, when core users and ordinary users compete for limited bandwidth, ordinary users' data transmission is prioritized. Users with administrator privileges or high-quality service policies are classified as core users, and vice versa. Static priority schemes and dynamic priority schemes are used respectively. The static priority scheme allows the network to adjust the sending window according to the priority. The dynamic priority scheme gives the priority value β to the receiving end for dynamic allocation. The receiving end determines the β value of each flow based on the congestion status of the data flows sent by different users in the network. The data flows include data uploads and service requests.

[0010] Preferably, the process of the DCTCP protocol in the vSwitch is as follows:

[0011] When a data packet passes through a commercial switch, the switch checks whether the IP field of the data packet is ECT(0). If so, it indicates that ECN is supported. Then the following judgment is made:

[0012] If the switch queue length is less than minth, which is a preset fixed value indicating the maximum queue length without congestion, the packet will be forwarded normally.

[0013] If the queue length is between minth and maxth, where maxth is a preset fixed value indicating the maximum queue length with minimal congestion, the network is considered congested and the switch sets the ECN field in the IP field of the packet to CE based on the probability.

[0014] If the queue length is greater than maxth and less than queueCapacity, where queueCapacity represents the maximum capacity of the queue, the ECN field in the IP field of the packet is directly set to CE.

[0015] If the queue length is greater than queueCapacity, it is determined that the number of packets is greater than the queue capacity and the packet is discarded.

[0016] Preferably, the process of the DCTCP protocol in the vSwitch is as follows:

[0017] The data packet passes through the receiving vSwitch, which checks whether the ECN in the IP field of the data packet is CE:

[0018] If the receiving VM supports ECN, vSwitch sets the ECE field of the TCP field to 0, indicating that the packet has experienced congestion in the switch. Then, a PACK is sent to the sender. The rwnd field of the PACK is overwritten with the cwnd calculated by vSwitch using the DCTCP algorithm. The specific formula is as follows:

[0019] cwnd=cwnd(1-α / 2)

[0020] Where α is the exponentially weighted moving average of the proportion of packets experiencing congestion, which is updated each time a congested packet is received. In order to maintain the original semantics of TCP, the overwrite operation is performed only when the calculated cwnd is less than rwnd;

[0021] If the ECN of the IP field of the data packet is not CE, it means that the receiving virtual machine does not support ECN, so vSwitch sets the ECN field of the IP field to NOT_ECN.

[0022] Preferably, the process of the DCTCP protocol in the vSwitch is as follows:

[0023] The PACK passes through the switch and reaches the vSwitch at the sending end. The vSwitch at the sending end obtains the value of rwnd from it and updates the local α and cwnd according to the default congestion control algorithm of the sending end. Finally, the PACK is discarded and not forwarded upward.

[0024] Preferably, the process of the DCTCP protocol in the vSwitch is as follows:

[0025] When the next ACK arrives, the vSwitch on the sending end resets the local rwnd to the received rwnd. The vSwitch continues to forward the ACK upward and sends it to the TCP / IP stack of the sending virtual machine. The number of data packets sent by the virtual machine each time is subject to min(cwnd, rwnd).

[0026] Preferably, the process of the priority-based dynamic and static combined bandwidth allocation strategy is as follows:

[0027] For core users, a static priority scheme is used. The network adjusts the sending window based on the priority. The priority β is added to the cwnd coverage formula calculated by vSwitch using the DCTCP algorithm using the rwnd field of the PACK. The specific formula is as follows:

[0028]

[0029] As β increases, the smaller the rwnd value decreases, the smaller the rate decreases, and the higher the priority;

[0030] When β = 1, the algorithm simply converts to DCTCP congestion control;

[0031] When β=0, the streaming rate drops significantly.

[0032] Preferably, the process of the priority-based dynamic and static combined bandwidth allocation strategy is as follows:

[0033] For common user scenarios, a dynamic priority scheme is used to dynamically allocate the value of β through the receiving end. The receiving end determines the value of β for each flow based on the congestion status of each flow in the network. The dynamic priority adjustment method is to further improve network fairness, alleviate congestion, and improve the overall bandwidth utilization of the network. The vSwitch at the receiving end will maintain a timestamp queue for each sender, which records the timestamp of the congested data packet entering the vSwitch and ensures that the timestamps in the queue are within a certain time threshold t ime_thresh. Whenever the vSwitch receives a congested data packet, it immediately queues the congested data packet and calculates the difference between the timestamps of the head and tail of the queue. When the difference is greater than t ime_thresh, the head element is dequeued and the above process is repeated until the difference between the timestamps of the head and tail of the queue is less than or equal to t ime_thresh.

[0034] When there are four transmitters, the data rates of the transmission links of transmitters C1-C4 are 1Gbps, 10Gbps, 50Gbps, and 100Gbps respectively. Therefore, transmitter C4 has the highest transmission rate limit, followed by C3, C2, and C1. In the same time, C4 can send more data packets;

[0035] The data rate of the transmission link of transmitter 3 is much higher than that of transmitter 1 and transmitter 2. Transmitter 1 has the lowest data rate of the transmission link, so transmitter 3 will occupy more bandwidth resources on the critical path, followed by transmitter 2.

[0036] When congestion occurs in the buffer queue of a commercial switch, the ECN field in the IP header of the passing data packet will be marked with an ECE mark. Among the congested data packets queued in the buffer queue, C4 data packets will also account for the largest proportion. The data packets sent by the C4 sender will have a greater probability of being marked. The length of the congestion time queue maintained in the vSwitch at the receiving end will increase, and the priority assigned to C4 by the vSwitch will decrease.

[0037] The beneficial effects of the present invention are as follows:

[0038] By implementing data center transmission policies at the virtual switch, the present invention enables administrators to flexibly update and control user TCP stacks without touching user virtual machines. Furthermore, the present invention designs static and dynamic methods for different scenarios to provide high bandwidth for special users. This alleviates the problem of high-traffic applications crowding out bandwidth in common user scenarios, thereby providing fair bandwidth allocation.

[0039] This paper tested its effectiveness on the OMNET++ network simulation platform, using a typical INCAST scenario topology in a data center, consisting of 10 clients and one server. We compared the performance differences between using the outdated TCP Reno congestion control protocol on the client side, implementing the DCTCP protocol on the virtual switch, and using the DCTCP protocol on the client side. We also designed a five-to-one INCAST scenario to verify the effectiveness of differentiated services and fair bandwidth.

[0040] For the performance comparison of the three configurations, record the total number of bytes received in the receiving application and divide it by the transmission time to obtain the total throughput of the entire network. Draw a line graph as shown in the figure. Figure 4As shown in the figure, the blue line represents our method's implementation of DCTCP on the virtual switch, the red line represents DCTCP implementation on the client, and the green line represents the outdated TCP Reno algorithm on the client. The average throughput using the outdated TCP Reno algorithm on the client is 1.03 Mps, while the average throughput of DCTCP implemented on the virtual switch is 1.30 Mps, and the average throughput of DCTCP on the client is 1.30 Mps. This shows that by modifying the virtual switch without touching the client-side protocol stack, we can achieve nearly equivalent performance to using the same protocol on the client-side protocol stack, achieving a throughput improvement of approximately 1.26 times compared to using the outdated TCP Reno algorithm on the client.

[0041] Figure 5 In a five-to-one traffic scenario, the priorities are set as C2 > C1 > C3 > C4 > C5. The figure shows that when bandwidth converges, higher priorities increase available bandwidth, as expected.

[0042] Figure 6 The left figure shows the bandwidth of the corresponding links when the transmission rates from C1-5 to the switch are set to 15 Mbps, 55 Mbps, 15 Mbps, 35 Mbps, and 45 Mbps, respectively, in a five-to-one scenario with five clients of the same priority. Figure 6 The right figure shows the effect of enabling the dynamic priority fairness algorithm. According to the Jane fairness index:

[0043]

[0044] Where xi represents the throughput of the i-th link, F1∈[1 / n,1], and F1=1 indicates absolute fairness. The Jain fairness index improves from 0.9879 to 0.9978 after the algorithm is enabled compared to when the algorithm is not enabled.

[0045] Implementing a unified congestion control algorithm in virtual switches provides data center managers with great flexibility, effectively improving data center throughput, providing quality of service, and improving fairness. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The present invention will be further described below with reference to the accompanying drawings;

[0047] Figure 1 This is the scenario of the virtual switch technology of this method.

[0048] Figure 2 It is the switch queue implementation detail of this method.

[0049] Figure 3 This is the scenario for the priority algorithm part of this method.

[0050] Figure 4These are the throughput test results of this method in the INCAST scenario: using the outdated TCP Reno congestion control protocol on the end side, and using the DCTCP protocol on the end side.

[0051] Figure 5 This is the throughput test result of this method using the static priority algorithm in the INCAST scenario.

[0052] Figure 6 This is the throughput test result of this method using the dynamic priority algorithm in the INCAST scenario.

[0053] Figure 7 This is a flowchart of the congestion control algorithm implemented by the virtual switch part of this method.

[0054] Figure 8 It is a flowchart of the priority part of this method. DETAILED DESCRIPTION

[0055] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0056] Example 1:

[0057] like Figures 1 to 8 FIG. 1 is a schematic diagram of the structure of a smart energy storage control system according to an embodiment of the present application, including:

[0058] The DCTCP protocol in the vSwitch and the priority-based dynamic and static combined bandwidth allocation strategy; the DCTCP protocol in the vSwitch is used to determine the ECN support of the virtual machines at the sending and receiving ends. When the sending virtual machine sends a data packet, the data packet will be forced to be set to ECN_Capable after arriving at the vSwitch, that is, the ECN field in the IP field is set to ECT(0); the priority-based dynamic and static combined bandwidth allocation strategy distinguishes between core users and ordinary users, among which users with administrator privileges or high-quality service policies are classified as core users, and ordinary users are classified as ordinary users. Static priority scheme and dynamic priority scheme are used respectively. The static priority scheme allows the network to adjust the sending window according to the priority; the dynamic priority scheme gives the priority value β to the receiving end for dynamic allocation. The receiving end determines the value of β for each flow based on the congestion status of each flow in the network;

[0059] The process of the DCTCP protocol in the vSwitch is as follows: When a data packet passes through a commercial switch, it checks whether the IP field of the data packet is ECT(0). If so, it indicates that ECN is supported. Then the judgment continues: If the switch queue length is less than minth, minth is a preset fixed value, indicating the maximum queue length without congestion, the data packet will be forwarded normally; if the queue length is between minth and maxth, maxth is a preset fixed value, indicating the maximum queue length with mild congestion, the network is determined to be congested, and the switch sets the ECN field of the IP field of the data packet to CE according to probability; if the queue length is greater than maxth and less than queueCapacity, queueCapacity indicates the maximum capacity of the queue, the ECN field of the IP field of the data packet is directly set to CE; if the queue length is greater than queueCapacity, it is determined that the number of data packets exceeds the queue capacity and the data packet is discarded;

[0060] The DCTCP protocol in the vSwitch works as follows: When a data packet passes through the receiving vSwitch, the vSwitch checks whether the ECN of the IP field of the data packet is CE. If so, it indicates that the data packet has experienced congestion in the switch. The vSwitch then sends a PACK to the sending end. The rwnd field of the PACK is overwritten with the cwnd calculated by the vSwitch using the DCTCP algorithm. The specific formula is as follows:

[0061] cwnd=cwnd(1-α / 2)

[0062] Where α is the exponentially weighted moving average of the proportion of packets experiencing congestion, and is updated each time a congested packet is received. To maintain the original semantics of TCP, the overwrite operation is performed only when the calculated cwnd is less than the rwnd. If the receiving VM does not support ECN, the vSwitch sets the ECN field of the IP field to NOT_ECN. If the receiving VM supports ECN, the vSwitch sets the ECE field of the TCP field to 0. The DCTCP protocol process in the vSwitch is as follows: The PACK passes through the switch and reaches the sending vSwitch. The sending vSwitch obtains the value of rwnd from it and updates the local α and cwnd according to the default congestion control algorithm of the sending end. Finally, the PACK is discarded and not forwarded upstream.

[0063] The DCTCP protocol process in the vSwitch is as follows:

[0064] When the next ACK arrives, the vSwitch on the sending end resets the local rwnd to the received rwnd. The vSwitch continues to forward the ACK upward and sends it to the TCP / IP stack of the sending virtual machine. The number of data packets sent by the virtual machine each time is subject to min(cwnd, rwnd).

[0065] In this embodiment, we logically distinguish between the sending vSwitch and the receiving vSwitch. When the sending application sends a data packet, it passes through the TCP module and the IP module before entering the vSwitch module. After receiving the data packet from the network layer, the sending vSwitch needs to modify the ECN field in the IP header to force the data packet to support ECN, thereby enabling the TCP / IP stack of the virtual machine that does not support ECN to support ECN. The number of bytes in the data packet is then recorded in the total bytes sent counter and the send window size. In addition, if the data packet is a retransmission data packet, the threshold and congestion window size are adjusted accordingly. Finally, the data packet is forwarded to the interface and enters the data center network.

[0066] When a data packet arrives at the destination server, it first enters the receiving vSwitch. The receiving vSwitch checks whether the IP field of the packet is IP_ECT_CE to determine whether the packet has experienced congestion. If so, it immediately sends a PACK with the packet's byte count information. If the receiving end does not support ECN, the ECN bit must be cleared to maintain the original TCP settings. If the virtual machine's TCP stack does support ECN, this module removes the CE bit to prevent the virtual machine's TCP stack from overly aggressively reducing the rate.

[0067] When the PACK reaches the sending vSwitch, the vSwitch extracts the byte count information and records it in the total marked byte count counter, then discards the PACK. When the ACK reaches the sending vSwitch, the vSwitch executes the congestion control algorithm: if the recorded total sent bytes are within a sending window and the total marked bytes are not 0, the DCTCP algorithm is executed. If the total marked bytes are 0, indicating no congestion, the slow start and congestion avoidance algorithms are executed. If the recorded total sent bytes are outside a sending window, the total sent bytes and the total marked bytes counters are reset. Finally, the rwnd field in the ACK is modified and updated.

[0068] Example 2:

[0069] like Figures 1 to 8 As shown in FIG, the process of the priority-based dynamic and static combined bandwidth allocation strategy is as follows:

[0070] For core users, a static priority scheme is used. The network adjusts the sending window based on the priority. The priority β is added to the cwnd coverage formula calculated by the vSwitch using the DCTCP algorithm using the rwnd field of the PACK. The specific formula is as follows:

[0071]

[0072] As β increases, the value of rwnd decreases, the rate decreases, and the priority becomes higher. When β = 1, the algorithm simply switches to DCTCP congestion control.

[0073] When β = 0, the flow sending rate decreases significantly;

[0074] The process of the priority-based dynamic and static combined bandwidth allocation strategy is as follows: For ordinary user scenarios, a dynamic priority scheme is used, and the value of β is dynamically allocated by the receiving end. The receiving end determines the value of β for each flow based on the congestion status of each flow in the network. The vSwitch at the receiving end maintains a timestamp queue for each sender, which records the timestamp of the congested data packet entering the vSwitch and ensures that the timestamps in the queue are within a certain time threshold t ime_thresh. Whenever the vSwitch receives a congested data packet, it immediately queues the congested data packet reception timestamp and calculates the difference between the timestamps at the head and tail of the queue. When the difference is greater than t ime_thresh, the head element is dequeued and the above process is repeated until the difference between the timestamps at the head and tail of the queue is less than or equal to t ime_thresh.

[0075] When there are four transmitters, the data rates of the transmission links of transmitters C1-C4 are 1Gbps, 10Gbps, 50Gbps, and 100Gbps respectively. Therefore, transmitter C4 has the highest transmission rate limit, followed by C3, C2, and C1. In the same time, C4 can send more data packets;

[0076] When congestion occurs in the buffer queue of a commercial switch, the ECN field in the IP header of the passing data packet will be marked with an ECE mark. Among the congested data packets queued in the buffer queue, C4 data packets will also account for the largest proportion. The data packets sent by the C4 sender will have a greater probability of being marked. The length of the congestion time queue maintained in the vSwitch at the receiving end will increase, and the priority assigned to C4 by the vSwitch will decrease.

[0077] In this embodiment, for the module with static priority, it is only necessary to modify the DCTCP formula at the corresponding position in the vSwitch at the sending end so that the vSwitch uses the new formula to update the rwnd window size after receiving the ACK packet; for the module with dynamic priority, the flow chart is as follows Figure 8 As shown, the vSwitch on the receiving end maintains a map-type attribute, where the key is the IP address and the value is the corresponding congestion time queue. In this way, a congestion time queue is maintained for each sending end.

[0078] Each element of the queue is a value of type simtime_t, representing the arrival time of a congested packet. Whenever the receiving vSwitch receives a congested packet from the lower layer, it determines whether a congested time queue has been assigned to it. If not, it creates a new congested time queue. Otherwise, it enqueues the arrival time in the congested time queue and ensures that all elements in it fall within a fixed time range time_thresh. It calculates the difference ε between the elements at the end and the beginning of the queue and compares it with time_thresh. If ε>time_thresh, it removes the element at the beginning of the queue and repeats the above process until ε≤time_thresh.

[0079] The congestion time queue lengths of all senders are then calculated by ranking them from largest to smallest. The smaller the number, the longer the congestion time queue length, indicating a greater number of congested packets from the sender during this period and a greater degree of congestion. Before sending a PACK, the receiving vSwitch calculates β using the previously mentioned formula and then sends it through the PACK. After receiving the PACK, the sending vSwitch updates the current β value and uses it when calculating rwnd.

[0080] The above formulas are obtained by collecting a large amount of data and performing software simulation, and a formula close to the actual value is selected. The coefficients in the formula are set by those skilled in the art according to actual conditions. The above are only preferred specific implementation methods of the present invention, but the protection scope of the present invention is not limited to this. Any technician familiar with this technical field, within the technical scope disclosed by the present invention, can make equivalent replacements or changes based on the technical solution and inventive concept of the present invention, which should be covered by the protection scope of the present invention.

Claims

1. A virtualized data center network transmission strategy, characterized in that: This includes the DCTCP protocol that provides congestion control in the vSwitch and a priority-based, dynamic and static combined bandwidth allocation strategy that provides differentiated services for different traffic flows. The DCTCP protocol in the vSwitch is used to determine the support of ECN of the virtual machines at the sending and receiving ends. The sending virtual machine sends a data packet. After the data packet arrives at the vSwitch, the packet will be forced to be set to ECN_Capable, that is, the ECN field in the IP field is set to ECT(0), and the data transmission of the sending end that causes network congestion is restricted; The priority-based, static and dynamic bandwidth allocation strategy distinguishes between core users and ordinary users, and obtains congestion signals in the vSwitch. When core users and ordinary users compete for limited bandwidth, ordinary users are given priority in data transmission. Users with administrator privileges or high-quality service policies are classified as core users, and vice versa. Static priority schemes and dynamic priority schemes are used respectively. The static priority scheme allows the network to adjust the sending window according to the priority. In the dynamic priority scheme, the priority value β is dynamically allocated by the receiving end. The receiving end determines the β value of each flow according to the congestion status of the data flows sent by different users in the network. The data flows include data uploads and service requests.

2. A virtualized data center network transmission strategy according to claim 1, characterized in that: The process of the DCTCP protocol in the vSwitch is as follows: The data packet passes through the commercial switch and checks whether the IP field of the data packet is ECT(0). If it is, it means that ECN is supported. Then continue to judge: If the switch queue length is less than minth, where minth is a preset fixed value, indicating the maximum queue length without congestion, the packet will be forwarded normally; If the queue length is between minth and maxth, where maxth is a preset fixed value indicating the maximum queue length at which no serious congestion occurs, the network is considered to be congested, and the switch sets the ECN field of the IP field of the data packet to CE according to probability; If the queue length is greater than maxth and less than queueCapacity, where queueCapacity indicates the maximum capacity of the queue, the ECN field in the IP field of the packet is directly set to CE; If the queue length is greater than queueCapacity, it is determined that the number of packets is greater than the queue capacity and the packet is discarded.

3. A virtualized data center network transmission strategy according to claim 2, characterized in that: The process of the DCTCP protocol in the vSwitch is as follows: The data packet passes through the vSwitch at the receiving end. The vSwitch checks whether the ECN of the IP field of the data packet is CE: If the receiving VM supports ECN, the vSwitch sets the ECE field of the TCP field to 0, indicating that the packet has experienced congestion in the switch, and then sends a PACK to the sender. The rwnd field of the PACK is overwritten by the cwnd calculated by the vSwitch using the DCTCP algorithm. The specific formula is as follows: cwnd=cwnd(1-α / 2) Where α is the exponentially weighted moving average of the proportion of packets experiencing congestion, which is updated each time a congested packet is received. In order to maintain the original semantics of TCP, the overwrite operation is performed only when the calculated cwnd is less than rwnd; If the ECN of the IP field of the data packet is not CE, it means that the receiving virtual machine does not support ECN, and the vSwitch sets the ECN field of the IP field to NOT_ECN.

4. A virtualized data center network transmission strategy according to claim 3, characterized in that: The process of the DCTCP protocol in the vSwitch is as follows: The PACK passes through the switch and reaches the vSwitch at the sending end. The vSwitch at the sending end obtains the value of rwnd from it, and updates the local α and cwnd according to the default congestion control algorithm of the sending end. Finally, the PACK is discarded and not forwarded upward.

5. A virtualized data center network transmission strategy according to claim 4, characterized in that: The process of the DCTCP protocol in the vSwitch is as follows: When the next ACK arrives, the vSwitch on the sending end resets the local rwnd to the received rwnd. The vSwitch continues to forward the ACK upward and sends it to the TCP / IP stack of the sending virtual machine. The number of data packets sent by the virtual machine each time is subject to min(cwnd, rwnd).

6. A virtualized data center network transmission strategy according to claim 5, characterized in that: The process of the priority-based dynamic and static combined bandwidth allocation strategy is as follows: For high-value core users defined by the cloud provider based on its service quality policy, they are given higher priority through a static priority scheme. The network adjusts the sending window according to the priority, and uses the rwnd field of the PACK to cover the cwnd calculated by the vSwitch through the DCTCP algorithm, adding the priority β. The specific formula is as follows: As β increases, the value of rwnd decreases, the rate decreases, and the priority becomes higher; When β=1, the algorithm simply converts to DCTCP congestion control; When β=0, the streaming rate drops significantly.

7. A virtualized data center network transmission strategy according to claim 6, characterized in that: The process of the priority-based dynamic and static combined bandwidth allocation strategy is as follows: For ordinary users with relatively low value, a dynamic priority scheme is used to dynamically allocate the value of β through the receiving end. The receiving end determines the value of β for each flow according to the congestion status of each flow in the network. The vSwitch at the receiving end will establish a timestamp queue for each sending end, which records the timestamp of the congested data packet entering the vSwitch and ensures that the timestamps in the queue are within a certain time threshold time_thresh. Whenever the vSwitch receives a congested data packet, it immediately queues the receiving timestamp of the congested data packet and calculates the difference between the timestamp of the head and the tail of the queue. When the difference is greater than time_thresh, the head element is dequeued and the above process is repeated until the difference between the timestamp of the head and the tail of the queue is less than or equal to time_thresh. When there are four transmitters, the data rates of the transmission links of transmitters C1-C4 are 1Gbps, 10Gbps, 50Gbps, and 100Gbps respectively. Therefore, transmitter C4 has the highest transmission rate limit, followed by C3, C2, and C1. In the same time, C4 can send more data packets; When congestion occurs in the buffer queue of a commercial switch, the ECN field in the IP header of the passing data packet will be marked with an ECE mark. Among the congested data packets entering the buffer queue, C4 data packets will account for the largest proportion. The data packets sent by the C4 sender will have a greater probability of being marked. The length of the congestion time queue maintained in the vSwitch at the receiving end will increase, and the priority assigned to C4 by the vSwitch will decrease.

Citation Information

Patent Citations

  • TCP (transmission control protocol) congestion control method based on network effective bandwidth and ECN (Explicit Congestion Notification) mechanism

    CN103051555A

  • TCP friendly rate control method based on change rate of handling capacity and ECN mechanism

    CN103281255A

  • Method for processing synchronous priority bursty flow in data center network

    CN103795643A

  • Data transmission method and network equipment

    CN108259383A

  • Practical data center network active transmission system and method

    CN115442314A