A virtualized data center network transmission strategy
By employing the DCTCP protocol and priority bandwidth allocation strategy in virtual switches, the challenge of controlling the TCP/IP stack of user virtual machines in data center networks was solved, achieving efficient congestion control and improved fairness, thereby enhancing the throughput and quality of service in data centers.
Patent Information
- Application Number
- CN202411140035.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-08-20
AI Technical Summary
In data center networks, cloud providers cannot exercise fine-grained control over the TCP/IP stack of user virtual machines, leading to network congestion, packet loss, latency, and reduced throughput. Existing technologies struggle to achieve effective congestion control without modifying user virtual machines.
Design a virtualized data center network transmission strategy, adopting the DCTCP protocol in vSwitch and a priority-based dynamic and static bandwidth allocation strategy. Control the user TCP stack through the virtual switch, and distinguish between core users and ordinary users, adjusting bandwidth allocation using static and dynamic priority schemes respectively.
It enables flexible control over the TCP/IP stack without modifying user virtual machines, improving network throughput and fairness, alleviating the bandwidth consumption problem of high-traffic applications, and enhancing the stability and service quality of data center networks.
Smart Images

Figure CN119109872B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of flow control or congestion control, and more particularly to a virtualized data center network transmission strategy. Background Technology
[0002] With the rapid development of the internet and the emergence of new network applications, the number of clients is growing exponentially, and the amount of data on the network is constantly increasing. Since network bandwidth resources are limited, network congestion occurs when the network is continuously under high load. This can increase transmission latency or even cause network crashes, indirectly impacting business revenue. Therefore, ensuring stable network transmission is extremely important.
[0003] Multi-user data centers are a vital component of today's computing ecosystem, with major cloud providers like Tencent Cloud and Alibaba Cloud supporting a wide variety of users, applications, and systems through their public cloud products. The success of these products is partly due to their high performance for applications running on diverse platforms. Virtual machines (VMs) play a crucial role in this, allowing customers to run applications across various operating systems and configurations. However, while VMs offer convenient flexibility for users, cloud providers often lack control over them. Although they may be able to rate-limit user VMs, they cannot control their TCP / IP stacks. Updating numerous VMs to the latest, unified TCP stack is extremely time-consuming for data center network administrators, and in untrusted public cloud environments, administrators often lack the authority to modify user VMs. Furthermore, some user VMs may depend on specific operating systems or libraries that cannot be updated from the server. Since the TCP / IP stack has a significant impact on overall network performance, the lack of fine-grained control over one of the most critical components of the network stack by cloud providers can leave data center networks vulnerable to inefficient, outdated, or even misconfigured TCP / IP stacks from user VMs. The TCP / IP stack is the foundation 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 greatly lead to packet loss, increased latency, and decreased network throughput caused by network congestion.
[0004] How data center network administrators can achieve fine-grained control over the TCP / IP stack of user virtual machines without modifying them, and how to apply congestion control algorithms that are more suitable for data center networks, is a challenge in the entire network field.
[0005] To address the aforementioned technical shortcomings, a solution is proposed. Summary of the Invention
[0006] The purpose of this invention is to provide a virtualized data center network transmission strategy to address the aforementioned technical deficiencies. This invention aims to design a data center network transmission strategy based on a virtual switch, allowing administrators to control user TCP stacks without modifying user virtual machines. Furthermore, it proposes strategies to provide differentiated services for special users and to prevent ordinary users from consuming excessive critical path bandwidth when sending large amounts of link data, thus reducing network fairness.
[0007] The objective of this invention can be achieved through the following technical solution: a virtualized data center network transmission strategy, including the DCTCP protocol in vSwitch and a priority-based dynamic and static bandwidth allocation strategy;
[0008] The DCTCP protocol in the vSwitch is used to determine the support of ECN for the virtual machines of the sending and receiving ends. When the data packet is sent by the virtual machine of the sending end, the data packet will be forcibly set to ECN_Capable after arriving at the vSwitch, that is, the ECN field in the IP field will be set to ECT(0), thus restricting the data transmission of the sending end that causes network congestion.
[0009] The priority-based static and dynamic bandwidth allocation strategy distinguishes between core users and ordinary users. By acquiring congestion signals from the vSwitch, when core users and ordinary users compete for limited bandwidth, priority is given to restricting data transmission from ordinary users. Users with administrator privileges or high-quality service policies are classified as core users, and vice versa. Two schemes are used: a static priority scheme, where the network adjusts the transmission window based on priority; and a dynamic priority scheme, where the priority value β is dynamically allocated by the receiver. The receiver determines the β value for each flow based on the congestion status of data streams from different users in the network, including data uploads and service requests.
[0010] Preferably, the DCTCP protocol process in vSwitch is as follows:
[0011] When a data packet passes through a commercial switch, the IP field of the packet is checked to see if it is ECT(0). If it is, it indicates that ECN is supported, so the following checks are performed:
[0012] If the switch queue length is less than minth, where minth is a preset fixed value representing the maximum queue length without congestion, the data packets will be forwarded normally.
[0013] If the queue length is between minth and maxth, where maxth is a preset fixed value representing the maximum queue length at which non-serious congestion occurs, then network congestion is determined, and the switch sets the ECN field of the IP field of the data packet to CE according to probability.
[0014] If the queue length is greater than maxth but less than queueCapacity (where queueCapacity represents the maximum queue capacity), then the ECN field of the packet's IP field is directly set to CE.
[0015] If the queue length is greater than the queueCapacity, then the number of data packets exceeds the queue capacity, and the data packets are discarded.
[0016] Preferably, the DCTCP protocol process in vSwitch is as follows:
[0017] The data packet passes through the receiving end's vSwitch, where the vSwitch checks if the ECN in the packet's IP field is CE.
[0018] If the receiving virtual machine supports ECN, vSwitch sets the ECE field of the TCP field to 0, indicating that the packet experienced congestion in the switch, and then sends a PACK to the sending end. The rwnd field of the PACK is overwritten by the cwnd calculated by vSwitch using the DCTCP algorithm, as shown in the following formula:
[0019] cwnd = cwnd(1-α / 2)
[0020] Where α is the exponentially weighted moving average of the proportion of packets experiencing congestion. When updating each time a congested packet is received, in order to maintain the original semantics of TCP, the overwrite operation is only performed if the calculated cwnd is less than rwnd.
[0021] If the ECN field of the IP field of the data packet is not CE, it means that the receiving virtual machine does not support ECN. In this case, vSwi tch will set the ECN field of the IP field to NOT_ECN.
[0022] Preferably, the DCTCP protocol process in vSwitch is as follows:
[0023] The PACK passes through the switch to the vSwitch at the sending end. The vSwitch at the sending end retrieves the rwnd value from it, updates its local α and cwnd according to the sending end's default congestion control algorithm, and finally discards the PACK without forwarding it upwards.
[0024] Preferably, the DCTCP protocol process in vSwitch is as follows:
[0025] When the next ACK arrives, the vSwitch on the sending end resets its local rwnd to the received rwnd. The vSwitch then forwards the ACK upwards to the TCP / IP stack of the sending virtual machine. Thus, the number of data packets sent by the virtual machine each time is limited by min(cwnd, rwnd).
[0026] Preferably, the priority-based dynamic and static combined bandwidth allocation strategy is implemented as follows:
[0027] For core users, a static priority scheme is used. The network adjusts the sending window according to the priority, and the priority β is added to the cwnd overlay formula calculated by vSwi tch using the DCTCP algorithm based on the rwnd field of the PACK. The specific formula is as follows:
[0028]
[0029] As β increases, the value of rwnd decreases less, the rate decreases less, and the priority increases.
[0030] When β = 1, the algorithm is simply converted into DCTCP congestion control;
[0031] When β = 0, the stream transmission rate drops significantly.
[0032] Preferably, the priority-based dynamic and static combined bandwidth allocation strategy is implemented as follows:
[0033] For ordinary user scenarios, a dynamic priority scheme is used, where the value of β is dynamically allocated by the receiver. The receiver determines the value of β for each flow based on the congestion status of each flow in the network. The dynamic priority adjustment method aims to further improve network fairness, alleviate congestion, and improve the overall bandwidth utilization of the network. The vSwitch at the receiver maintains a timestamp queue for each sender, which records the timestamp of congested data packets entering the vSwitch and ensures that the timestamps in the queue are all within a certain time threshold time_thresh. Whenever the vSwitch receives a congested data packet, it immediately enqueues the timestamp of the congested data packet and calculates the difference between the timestamp at the head of the queue and the timestamp at the tail of the queue. If the difference is greater than time_thresh, the head element is dequeued, and the above process is repeated until the difference between the timestamp at the head of the queue and the timestamp at the tail of the queue is less than or equal to time_thresh.
[0034] With 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 amount of time, C4 can send more data packets.
[0035] The data rate of the transmission link of sender 3 is much higher than that of sender 1 and sender 2. The data rate of the transmission link of sender 1 is the lowest. Therefore, sender 3 will occupy more bandwidth resources on the critical path, followed by sender 2.
[0036] When congestion occurs in the buffer queue of a commercial switch, the ECE mark is added to the ECN field of the IP header of the passing data packets. Among the congested data packets entering the buffer queue, C4 data packets will also account for the largest proportion. Data packets sent by the C4 sender will have a higher probability of being marked. The length of the congestion time queue maintained in the vSwitch at the receiving end increases, and the priority assigned to C4 by the vSwitch decreases.
[0037] The beneficial effects of this invention are as follows:
[0038] This invention proposes implementing data center transmission strategies at virtual switches, enabling administrators to flexibly update and control user TCP stacks without touching user virtual machines. In addition, this invention designs static and dynamic methods for different scenarios to provide high bandwidth for special users and alleviates the problem of high-traffic applications crowding out bandwidth in ordinary user scenarios, thereby providing fair bandwidth allocation.
[0039] This invention was tested on the OMNET++ network simulation platform, using a typical INCAST scenario topology in a data center, including 10 clients and 1 server. The performance differences were compared between three scenarios: using the outdated TCP Reno congestion control protocol on the client side, implementing the DCTCP protocol on a virtual switch, and using the DCTCP protocol on the client side. Additionally, a five-to-one INCAST scenario was designed to verify the effectiveness of differentiated services and fair bandwidth.
[0040] To compare the performance of the three configurations, the total number of bytes received is recorded in the receiving application and divided by the transmission time to obtain the total network throughput. A line graph is then plotted as follows: Figure 4As shown in the figure, the blue line represents the implementation of DCTCP on the virtual switch, the red line represents the implementation of DCTCP on the endpoint, and the green line represents the outdated TCP Reno algorithm on the endpoint. The average throughput using the outdated TCP Reno algorithm on the endpoint is 1.03 Mbps, the average throughput using DCTCP on the virtual switch is 1.30 Mbps, and the average throughput using DCTCP on the endpoint is 1.30 Mbps. It can be seen that by modifying the virtual switch without affecting the endpoint protocol stack, we can achieve almost the same performance as using the same protocol stack on the endpoint, improving throughput by approximately 1.26 times compared to using the outdated TCP Reno protocol on the endpoint.
[0041] Figure 5 The diagram illustrates a five-to-one scenario with priority settings C2>C1>C3>C4>C5. As the diagram shows, when bandwidth converges, higher priority results in higher available bandwidth, which is in line with expectations.
[0042] Figure 6 The left figure shows the bandwidth of the corresponding links when the transmission rate from C1-5 to the switch is set to 15Mbps, 55Mbps, 15Mbps, 35Mbps, and 45Mbps respectively, under the condition that the five clients have the same priority in the five-to-one scenario. Figure 6 The right image shows the effect after enabling the dynamic priority fairness algorithm. According to the Jain Fairness Index:
[0043]
[0044] Where xi represents the throughput of the i-th link, F1∈[1 / n,1], and F1=1 indicates absolute fairness. After enabling the algorithm, Jain's fairness index increased from 0.9879 to 0.9978 compared to when the algorithm was not enabled.
[0045] Implementing a unified congestion control algorithm on virtual switches provides data center administrators with great flexibility, effectively improving data center throughput, service quality, and fairness. Attached Figure Description
[0046] The invention will now be further described with reference to the accompanying drawings;
[0047] Figure 1 This is the scenario for the virtual switch technology of this method.
[0048] Figure 2 This describes the implementation details of the exchange queue in this method.
[0049] Figure 3 This is a scenario for the priority algorithm part of this method.
[0050] Figure 4This presents throughput test results for three scenarios: using the outdated TCP Reno congestion control protocol on the end side in the INCAST scenario, 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 in the virtual switch part of this method.
[0054] Figure 8 This is a flowchart of the priority section of this method. Detailed Implementation
[0055] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0056] Example 1:
[0057] like Figures 1 to 8 The diagram shown is a structural schematic of a smart energy storage control system according to an embodiment of this application, comprising:
[0058] The DCTCP protocol in vSwitch and its priority-based static / dynamic bandwidth allocation strategy: The DCTCP protocol in vSwitch is used to determine the support of ECN for the virtual machines of the sending and receiving ends. When the data packet is sent by the sending virtual machine, it will be forcibly set to ECN_Capable after the data packet arrives at vSwitch, that is, the ECN field in the IP field will be set to ECT(0); The priority-based static / dynamic bandwidth allocation strategy distinguishes between core users and ordinary users. Users with administrator privileges or high-quality service policies are classified as core users, and otherwise as ordinary users. Static priority schemes and dynamic priority schemes are used respectively. The static priority scheme allows the network itself 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 DCTCP protocol process in vSwitch is as follows: When a data packet passes through a commercial switch, the IP field of the packet is checked to see if it is ECT(0). If it is, it indicates support for ECN. The switch then proceeds to determine the following: If the switch queue length is less than minth (a preset fixed value representing the maximum queue length without congestion), the packet will be forwarded normally. If the queue length is between minth and maxth (a preset fixed value representing the maximum queue length for non-serious congestion), network congestion is determined, and the switch sets the ECN field of the packet's IP field to CE according to probability. If the queue length is greater than maxth but less than queueCapacity (representing the maximum queue capacity), the ECN field of the packet's IP field is directly set to CE. If the queue length is greater than queueCapacity, the number of packets exceeds the queue capacity, and the packet is discarded.
[0060] The DCTCP protocol process in vSwitch is as follows: When a data packet passes through the receiving vSwitch, the vSwitch checks if the ECN in the IP field of the data packet is CE. If it is, it indicates that the data packet experienced congestion in the switch, and a PACK is sent to the sending end. 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:
[0061] cwnd = cwnd(1-α / 2)
[0062] Where α is the exponentially weighted moving average of the proportion of packets experiencing congestion. When updating each time a congested packet is received, in order to maintain the original semantics of TCP, the overwrite operation is only performed if the calculated cwnd is less than rwnd. If the receiving virtual machine does not support ECN, the vSwitch sets the ECN field of the IP field to NOT_ECN; if the receiving virtual machine supports ECN, the vSwitch sets the ECE field of the TCP field to 0. The process of the DCTCP protocol in the vSwitch is as follows: the PACK arrives at the sending vSwitch through the switch. The sending vSwitch obtains the value of rwnd from it, updates the local α and cwnd according to the sending end's default congestion control algorithm, and finally discards the PACK without forwarding it upward.
[0063] The DCTCP protocol process in vSwitch is as follows:
[0064] When the next ACK arrives, the vSwitch on the sending end resets its local rwnd to the received rwnd. The vSwitch then forwards the ACK upwards to the TCP / IP stack of the sending virtual machine. Thus, the number of data packets sent by the virtual machine each time is limited by 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, and then enters the vSwitch module. After the sending vSwitch receives the data packet from the network layer, it needs to modify the ECN field in the IP header to force the data packet to support ECN, thereby enabling the virtual machine TCP / IP stack, which cannot support ECN, to support ECN functionality. Then, it also needs to record the number of bytes of the data packet in the total number of bytes sent counter and record the sending window size. In addition, if the data packet is a retransmission data packet, the threshold and the size of the congestion window need to be 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 vSwitch on the receiving end. The vSwitch on the receiving end checks whether the IP field of the data packet is IP_ECT_CE to determine whether the data packet has experienced congestion. If so, it immediately sends a PACK piggybacking the data packet's byte count information. If the receiving end does not support ECN, the relevant ECN bits need to be cleared to maintain the original TCP settings. When the virtual machine's TCP stack does support ECN, this module removes the CE bit to prevent the virtual machine's TCP stack from excessively reducing the rate.
[0067] When a PACK arrives at the sending vSwitch, the vSwitch extracts the byte count information and records it in the total number of marked bytes counter, then discards the PACK. When an ACK arrives at the sending vSwitch, the vSwitch executes a congestion control algorithm: if the recorded total number of bytes sent is within a sending window and the total number of marked bytes is not 0, the DCTCP algorithm is executed; if the total number of marked bytes is 0, indicating no congestion, the slow start and congestion avoidance algorithms are executed; if the recorded total number of bytes sent is outside a sending window, the total number of bytes sent and the total number of 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, the process of the priority-based combined static and dynamic bandwidth allocation strategy is as follows:
[0070] For core users, a static priority scheme is used. The network adjusts the sending window according to the priority, and the priority β is added to the formula for covering the cwnd calculated by vSwitch using the DCTCP algorithm with the rwnd field of the PACK. The specific formula is as follows:
[0071]
[0072] As β increases, the value of rwnd decreases less, the rate decreases less, and the priority increases; when β = 1, the algorithm is simply converted into DCTCP congestion control.
[0073] When β = 0, the stream transmission rate drops significantly;
[0074] The priority-based dynamic and static bandwidth allocation strategy works as follows: For ordinary user scenarios, a dynamic priority scheme is used, where the value of β is dynamically allocated by the receiver. The receiver determines the value of β for each flow based on the congestion status of each flow in the network. The vSwitch at the receiver maintains a timestamp queue for each sender, which records the timestamp of congested data packets entering the vSwitch and ensures that the timestamps in the queue are all within a certain time threshold time_thresh. Whenever the vSwitch receives a congested data packet, it immediately enqueues the timestamp of the congested data packet and calculates the difference between the timestamp at the head of the queue and the timestamp at the tail of the queue. If the difference is greater than time_thresh, the head element is dequeued, and the above process is repeated until the difference between the timestamp at the head of the queue and the timestamp at the tail of the queue is less than or equal to time_thresh.
[0075] With 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 amount of time, C4 can send more data packets.
[0076] When congestion occurs in the buffer queue of a commercial switch, the ECE mark is added to the ECN field of the IP header of the passing data packets. Among the congested data packets entering the buffer queue, C4 data packets will also account for the largest proportion. Data packets sent by the C4 sender will have a higher probability of being marked. The length of the congestion time queue maintained in the vSwitch at the receiving end increases, and the priority assigned to C4 by the vSwitch decreases.
[0077] In this embodiment, for modules with static priorities, it is only necessary to modify the DCTCP formula at the corresponding location in the vSwitch at the sending end, so that the vSwitch updates the rwnd window size using the new formula after receiving the ACK packet; for modules with dynamic priorities, the flowchart is as follows. Figure 8 As shown, the receiving end vSwitch 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 in the queue is a value of type `simtime_t`, representing the arrival time of a congestion packet. Whenever the receiving vSwitch receives a congestion packet from the lower layer, it checks whether a congestion time queue has already been allocated for it. If not, a new congestion time queue is created; otherwise, its arrival time is enqueued into the congestion time queue, ensuring that all elements in it belong to a fixed time range `time_thresh`. It calculates the difference ε between the elements at the tail and the head of the queue and compares it with `time_thresh`. If ε > `time_thresh`, the element at the head of the queue is dequeued, and the above process is repeated until ε ≤ `time_thresh`.
[0079] Then, the congestion time queue lengths of all senders are ranked from largest to smallest, with smaller numbers indicating larger queue lengths and more congested data packets and greater congestion levels during that time. Before sending a PACK, the receiving vSwitch calculates β using the previously mentioned formula and sends β out via the PACK. After receiving the PACK, the sending vSwitch updates the current β value and uses β when calculating rwnd.
[0080] The above formulas are all derived from software simulation using a large amount of data, and are selected to be close to the actual values. The coefficients in the formulas are set by those skilled in the art according to the actual situation. The above are only preferred embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or changes made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.
Claims
1. A virtualized data center network transmission strategy, characterized in that, This includes the DCTCP protocol in vSwitch that provides congestion control, and a priority-based dynamic and static bandwidth allocation strategy that provides differentiated services for different types of traffic. The DCTCP protocol in the vSwitch is used to determine the support of ECN for the virtual machines of the sending and receiving ends. When the data packet is sent by the virtual machine of the sending end, the data packet will be forcibly set to ECN_Capable after it arrives at the vSwitch, that is, the ECN field in the IP field will be set to ECT(0), and the data transmission of the sending end that causes network congestion will be restricted. The priority-based static and dynamic bandwidth allocation strategy distinguishes between core users and ordinary users. By acquiring congestion signals from the vSwitch, when core users and ordinary users compete for limited bandwidth, the data transmission of ordinary users is prioritized for restriction. Users with administrator privileges or high-quality service policies are classified as core users, and vice versa. Two schemes are used: a static priority scheme, where the network adjusts the transmission window based on priority; and a dynamic priority scheme, where the priority value β is dynamically allocated by the receiver. The receiver determines the β value for each flow based on the congestion status of data streams from different users in the network, including data uploads and service requests. The DCTCP protocol process in the vSwitch is as follows: The data packet passes through the receiving vSwitch, and the vSwitch checks whether the ECN in the IP field of the data packet is CE: If the receiving virtual machine supports ECN, vSwitch sets the ECE field of the TCP field to 0, indicating that the packet experienced congestion in the switch, and then sends a PACK to the sending end. The rwnd field of the PACK is overwritten by the cwnd calculated by vSwitch using the DCTCP algorithm, as shown in the following formula: Where α is the exponentially weighted moving average of the proportion of packets experiencing congestion. When updating each time a congested packet is received, in order to maintain the original semantics of TCP, the overwrite operation is only performed if the calculated cwnd is less than rwnd. If the ECN field of the IP field of the data packet is not CE, it means that the receiving virtual machine does not support ECN, and vSwitch will set the ECN field of the IP field to NOT_ECN; The priority-based dynamic and static bandwidth allocation strategy works as follows: For high-value core users defined by the cloud provider's quality of service policy, a higher priority is assigned using a static priority scheme. The network adjusts the sending window according to the priority, and the priority β is added to the formula for covering the cwnd calculated by vSwitch using the DCTCP algorithm with the rwnd field of the PACK. The specific formula is as follows: As β increases, the value of rwnd decreases less, the rate decreases less, and the priority increases. When β=1, the algorithm is simply converted into DCTCP congestion control; When β=0, the stream transmission rate drops significantly.
2. The virtualized data center network transmission strategy according to claim 1, characterized in that, The DCTCP protocol process in vSwitch is as follows: When a data packet passes through a commercial switch, the IP field of the packet is checked to see if it is ECT(0). If it is, it indicates that ECN is supported, so the following checks are performed: If the switch queue length is less than minth, where minth is a preset fixed value representing the maximum queue length without congestion, the data packets will be forwarded normally. If the queue length is between minth and maxth, where maxth is a preset fixed value representing the maximum queue length at which non-serious congestion occurs, then network congestion is determined, 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 but less than queueCapacity (queueCapacity represents the maximum queue capacity), then the ECN field of the packet's IP field is directly set to CE. If the queue length is greater than queueCapacity, then the number of data packets exceeds the queue capacity, and the data packet is discarded.
3. The virtualized data center network transmission strategy according to claim 2, characterized in that, The DCTCP protocol process in vSwitch is as follows: The PACK passes through the switch to the sending vSwitch. The sending vSwitch retrieves the rwnd value from it, updates its local α and cwnd according to the sending end's default congestion control algorithm, and finally discards the PACK without forwarding it upwards.
4. The virtualized data center network transmission strategy according to claim 3, characterized in that, The DCTCP protocol process in vSwitch is as follows: When the next ACK arrives, the vSwitch on the sending end resets its local rwnd to the received rwnd. The vSwitch then forwards the ACK upwards to the TCP / IP stack of the sending virtual machine. Thus, the number of data packets sent by the virtual machine each time is limited by min(cwnd, rwnd).
5. The virtualized data center network transmission strategy according to claim 1, characterized in that, The priority-based dynamic and static combined bandwidth allocation strategy is as follows: For relatively low-value ordinary users, a dynamic priority scheme is used, where the value of β is dynamically allocated by the receiver. The receiver determines the value of β for each flow based on the congestion status of each flow in the network. The vSwitch at the receiver will establish a timestamp queue for each sender, which records the timestamp of congested data packets entering the vSwitch and ensures that the timestamps in the queue are all within a certain time threshold time_thresh. Whenever the vSwitch receives a congested data packet, it immediately enqueues the timestamp of the congested data packet and calculates the difference between the timestamp of the head of the queue and the timestamp of the tail of the queue. If 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 of the queue and the timestamp of the tail of the queue is less than or equal to time_thresh. With 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 amount of time, C4 can send more data packets. When congestion occurs in the buffer queue of a commercial switch, the ECE mark is added to the ECN field of the IP header of the passing data packets. Among the congested data packets entering the buffer queue, C4 data packets will also account for the largest proportion. Data packets sent by the C4 sender will have a higher probability of being marked. The length of the congestion time queue maintained in the vSwitch at the receiving end increases, and the priority assigned to C4 by the vSwitch decreases.
Citation Information
Patent Citations
Data transmission method and network equipment
CN108259383A
Virtual switch-based congestion control for datacenter networks
US20170264546A1