CN117278473A - Congestion control method and related equipment - Google Patents

Congestion control method and related equipment Download PDF

Info

Publication number
CN117278473A
CN117278473A CN202311231261.XA CN202311231261A CN117278473A CN 117278473 A CN117278473 A CN 117278473A CN 202311231261 A CN202311231261 A CN 202311231261A CN 117278473 A CN117278473 A CN 117278473A
Authority
CN
China
Prior art keywords
tenant
target
target network
network
congestion
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202311231261.XA
Other languages
Chinese (zh)
Inventor
陆赛杰
贾玉
钱岭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202311231261.XA priority Critical patent/CN117278473A/en
Publication of CN117278473A publication Critical patent/CN117278473A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

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

Abstract

The disclosure provides a congestion control method and related equipment, and relates to the technical field of cloud computing, wherein the method comprises the following steps: acquiring multiple groups of telemetry information of multiple tenants of a target network; analyzing the plurality of groups of telemetry information to obtain congestion analysis results; and under the condition that the congestion analysis result indicates that the target network has network congestion problems, performing speed limiting processing on the target network. The method and the device utilize the plurality of transmission nodes of the target network in a centralized regulation mode to acquire the data transmission condition of each tenant in the network in each transmission node of the network, further realize the fine regulation of the flow of each tenant in the network and improve the congestion regulation effect acquired by the target network.

Description

Congestion control method and related equipment
Technical Field
The disclosure relates to the technical field of cloud computing, in particular to a congestion control method and related equipment.
Background
Currently, the related art adopts a distributed control technology to improve the congestion problem of the network.
By applying the distributed control technology, the congestion state of the whole network can not be obtained, and the information of each tenant in the network can not be obtained, so that the fine regulation and control of the flow of each tenant in the network can not be realized, that is, the congestion regulation and control effect of the network congestion control scheme adopted by the related technology is poor.
Disclosure of Invention
The disclosure aims to provide a congestion control method and related equipment, which are used for solving the technical problem of poor congestion control effect of a network congestion control scheme applied by related technologies.
In a first aspect, the present disclosure provides a congestion control method, including:
acquiring multiple groups of telemetry information of multiple tenants of a target network;
analyzing the plurality of groups of telemetry information to obtain congestion analysis results;
and under the condition that the congestion analysis result indicates that the target network has network congestion problems, performing speed limiting processing on the target network.
In one embodiment, the target network includes a plurality of transmission nodes for transmitting data, the telemetry information includes a plurality of telemetry data, and the plurality of telemetry data and the plurality of transmission nodes are in one-to-one correspondence.
In one embodiment, the telemetry data includes a buffer utilization rate of the corresponding transmission node, a length of a message queue of the corresponding tenant message, and a time delay of the corresponding tenant message on the transmission node;
analyzing the plurality of groups of telemetry information to obtain congestion analysis results, wherein the congestion analysis results comprise:
under the condition that the plurality of groups of telemetry information are analyzed and target data are included in the plurality of groups of telemetry information, congestion analysis results indicating that network congestion problems exist in the target network are obtained;
under the condition that the plurality of groups of telemetry information are analyzed and the target data are not included in the plurality of groups of telemetry information, congestion analysis results indicating that the target network has no network congestion problem are obtained;
the target data is remote sensing data in any one set of remote sensing information in the plurality of sets of remote sensing information, and the target data meets at least one of the following conditions:
the buffer utilization rate of the corresponding transmission node is larger than or equal to a first preset threshold value;
the length of the message queue corresponding to the tenant message is larger than or equal to a second preset threshold value;
the time delay of the corresponding tenant information on the transmission node is larger than or equal to a third preset threshold value.
In one embodiment, the plurality of tenants respectively correspond to a plurality of tenant priorities, and tenant priorities corresponding to different tenants are different;
the speed limiting processing for the target network comprises the following steps:
and carrying out speed limiting processing on a flow interface corresponding to a first target tenant in the target network, wherein the first target tenant is the tenant with the lowest priority of the corresponding tenant in a plurality of tenants which are not subjected to speed limiting processing.
In one embodiment, before the obtaining the plurality of sets of telemetry information for the plurality of tenants of the target network, the method further comprises:
determining a minimum bandwidth according to the total bandwidth of the target network and the tenant numbers of the plurality of tenants, wherein the tenant numbers are inversely related to the minimum bandwidth;
the speed limiting processing for the flow interface corresponding to the first target tenant in the target network includes:
and adjusting the bandwidth of the flow interface corresponding to the first target tenant in the target network to the minimum bandwidth.
In one embodiment, the plurality of tenants respectively correspond to a plurality of tenant priorities, and tenant priorities corresponding to different tenants are different;
after obtaining the congestion analysis result according to the multiple sets of telemetry information, the method further comprises:
and under the condition that the congestion analysis result indicates that the target network has no network congestion problem, the speed limit of a corresponding flow interface of a second target tenant in the target network is relieved, wherein the second target tenant is the tenant with the highest priority of the corresponding tenant in a plurality of tenants subjected to speed limit processing.
In one embodiment, before the obtaining the plurality of sets of telemetry information for the plurality of tenants of the target network, the method further comprises:
determining an initial bandwidth of the second target tenant according to the total bandwidth of the target network and the priorities of the plurality of tenants, wherein the initial bandwidth of the second target tenant is positively correlated with the tenant priority of the second target tenant;
the step of releasing the speed limit of the corresponding flow interface of the second target tenant in the target network comprises the following steps:
and adjusting the bandwidth of the flow interface corresponding to the second target tenant in the target network to be the initial bandwidth of the second target tenant.
In one embodiment, the speed limiting process for the target network includes:
determining a third target tenant in the plurality of tenants according to the congestion analysis result, wherein the third target tenant is the tenant with the network congestion problem in data transmission in the plurality of tenants;
and carrying out speed limiting processing on a flow interface corresponding to the third target tenant in the target network.
In a second aspect, the present disclosure also provides a congestion control apparatus, the apparatus comprising:
the information acquisition module is used for acquiring multiple groups of telemetry information of multiple tenants of the target network;
the analysis module is used for analyzing the plurality of groups of telemetry information to obtain congestion analysis results;
and the control module is used for carrying out speed limiting processing on the target network under the condition that the congestion analysis result indicates that the target network has network congestion problems.
In a third aspect, an embodiment of the disclosure further provides an electronic device, including a processor, a memory, and a computer program stored on the memory and executable on the processor, where the computer program when executed by the processor implements the steps of the congestion control method described above.
In a fourth aspect, the disclosed embodiments also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the congestion control method described above.
In the method, a plurality of transmission nodes of a target network are utilized in a centralized regulation mode in combination with telemetry, so that the data transmission condition of each tenant in the network in each transmission node of the network is acquired, further, the fine regulation of the flow of each tenant in the network is realized, and the congestion regulation effect obtained by the target network is improved.
Drawings
Fig. 1 is a schematic diagram of a congestion control method provided in an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of a target system according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of a controller cluster according to an embodiment of the disclosure;
fig. 4 is a schematic diagram of a congestion determination flow provided by an embodiment of the present disclosure;
figure 5 is a flow diagram of another congestion control method provided by embodiments of the present disclosure;
fig. 6 is a schematic diagram of a congestion control apparatus provided by an embodiment of the present disclosure;
fig. 7 is a schematic diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
The following description of the technical solutions in the embodiments of the present disclosure will be made clearly and completely with reference to the accompanying drawings in the embodiments of the present disclosure, and it is apparent that the described embodiments are some embodiments of the present disclosure, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without inventive effort, based on the embodiments in this disclosure are intended to be within the scope of this disclosure.
The embodiment of the disclosure provides a congestion control method, as shown in fig. 1, including:
step 101, acquiring multiple groups of telemetry information of multiple tenants of a target network.
The target network may be an Overlay network, for example.
Telemetry data may be understood as data acquired based on the INT technique, among other things.
And 102, analyzing the plurality of groups of telemetry information to obtain congestion analysis results.
And 103, under the condition that the congestion analysis result indicates that the target network has a network congestion problem, carrying out speed limiting processing on the target network.
In the method, a plurality of transmission nodes of a target network are utilized in a centralized regulation mode in combination with telemetry, so that the data transmission condition of each tenant in the network in each transmission node of the network is acquired, further, the fine regulation of the flow of each tenant in the network is realized, and the congestion regulation effect obtained by the target network is improved.
In one embodiment, the target network includes a plurality of transmission nodes for transmitting data, the telemetry information includes a plurality of telemetry data, and the plurality of telemetry data and the plurality of transmission nodes are in one-to-one correspondence.
In the embodiment, the telemetry data reported by each transmission node in the plurality of transmission nodes is acquired, so that the problem of data loss caused by partial transmission node faults can be avoided, the reliability of the acquired telemetry data is ensured, and the robustness of a congestion control scheme implemented based on the telemetry data is improved.
In one embodiment, the telemetry data includes a buffer utilization rate of the corresponding transmission node, a length of a message queue of the corresponding tenant message, and a time delay of the corresponding tenant message on the transmission node;
analyzing the plurality of groups of telemetry information to obtain congestion analysis results, wherein the congestion analysis results comprise:
under the condition that the plurality of groups of telemetry information are analyzed and target data are included in the plurality of groups of telemetry information, congestion analysis results indicating that network congestion problems exist in the target network are obtained;
under the condition that the plurality of groups of telemetry information are analyzed and the target data are not included in the plurality of groups of telemetry information, congestion analysis results indicating that the target network has no network congestion problem are obtained;
the target data is remote sensing data in any one set of remote sensing information in the plurality of sets of remote sensing information, and the target data meets at least one of the following conditions:
the buffer utilization rate of the corresponding transmission node is larger than or equal to a first preset threshold value;
the length of the message queue corresponding to the tenant message is larger than or equal to a second preset threshold value;
the time delay of the corresponding tenant information on the transmission node is larger than or equal to a third preset threshold value.
In this embodiment, by sensing the buffer utilization rate of the corresponding transmission node, the length of the message queue of the corresponding tenant message, and the time delay of the corresponding tenant message on the transmission node in each transmission node, and combining with the threshold comparison mode, whether the target network has a network congestion problem is comprehensively determined from multiple dimensions, which can make the output congestion analysis result more accurate and reliable, and further promote the robustness of the congestion control scheme implemented based on telemetry data.
The delay of the corresponding tenant message on the transmission node may be a difference between a dequeue timestamp of the corresponding tenant message leaving a message transmission queue of the corresponding transmission node and an enqueue timestamp entering the transmission message queue.
The first preset threshold, the second preset threshold and the third preset threshold can be set according to actual requirements, and specific values of the three thresholds are not limited in the disclosure; for example, the three thresholds may be adaptively determined according to the type of the tenant service currently operated by the target network, for example, when the target network is mainly used to support the service of the storage type, the first preset threshold, the second preset threshold, and the third preset threshold may be set to be 85%, 500, and 5ms, respectively, and when the target network is mainly used to support the service of the interaction type, the first preset threshold, the second preset threshold, and the third preset threshold may be set to be 60%, 100, and 1ms, respectively.
In one embodiment, the plurality of tenants respectively correspond to a plurality of tenant priorities, and tenant priorities corresponding to different tenants are different;
the speed limiting processing for the target network comprises the following steps:
and carrying out speed limiting processing on a flow interface corresponding to a first target tenant in the target network, wherein the first target tenant is the tenant with the lowest priority of the corresponding tenant in a plurality of tenants which are not subjected to speed limiting processing.
In this embodiment, when it is identified that a network congestion problem occurs in a target network, selecting a tenant with the lowest tenant priority from among multiple tenants that are not rate-limited, to perform rate-limiting processing, so as to adapt to tenant priority differences among different tenants, provide more reliable network service for a tenant with a higher tenant priority, and reduce economic loss caused by the network congestion problem.
For example, the tenant priority may be determined based on a tenant time period for the virtual machine in the target network and/or a network configuration of the virtual machine leased by the tenant, where the longer the lease time period, the higher the tenant priority of the corresponding tenant; the higher the network configuration of the virtual machine leased by the tenant, the higher the tenant priority of the corresponding tenant.
For example, the telemetry data may further include a tenant name (tenant_name) of the corresponding tenant, VNI information corresponding to the VXLAN message, and an IP address (ip_addr) of the virtual machine, after determining the first target tenant, the virtual machine corresponding to the first target tenant in the target network may be located according to the VNI carried in the telemetry data of the first target tenant and the IP address of the virtual machine, and then a virtual interface corresponding to the virtual machine of the first target tenant may be determined, and a transmission rate of the virtual interface may be limited by a ovs-vsctl command, for example, the following command may be set:
sudo ovs-vsctl
set interface vboxnet0
ingress_policing_rate=500
ingress_policing_burst=500
the command is used to set the maximum rate of the corresponding virtual interface to 500 bytes/sec and the maximum burst traffic to 500 bytes.
In one embodiment, before the obtaining the plurality of sets of telemetry information for the plurality of tenants of the target network, the method further comprises:
determining a minimum bandwidth according to the total bandwidth of the target network and the tenant numbers of the plurality of tenants, wherein the tenant numbers are inversely related to the minimum bandwidth;
the speed limiting processing for the flow interface corresponding to the first target tenant in the target network includes:
and adjusting the bandwidth of the flow interface corresponding to the first target tenant in the target network to the minimum bandwidth.
In this embodiment, based on the total bandwidth of the target network and the number of tenants in the target network, a minimum bandwidth is dynamically determined, and when a network congestion problem occurs in the target network, the bandwidth of a traffic interface corresponding to a first target tenant in the target network is adjusted to the minimum bandwidth, so that when the network congestion problem of the target network is relieved, a basic bandwidth resource is provided for a tenant under the speed limit, the basic bandwidth requirement of the service of the tenant under the speed limit in the speed limit stage is met, and the use experience of the tenant with low priority on the target network is improved.
By way of example, the calculation formula for the minimum bandwidth may be as shown in formula (1):
(1)) In (B) min For the minimum bandwidth, B total And n is the number of tenants in the target network for the total bandwidth of the target network.
In one embodiment, the plurality of tenants respectively correspond to a plurality of tenant priorities, and tenant priorities corresponding to different tenants are different;
after obtaining the congestion analysis result according to the multiple sets of telemetry information, the method further comprises:
and under the condition that the congestion analysis result indicates that the target network has no network congestion problem, the speed limit of a corresponding flow interface of a second target tenant in the target network is relieved, wherein the second target tenant is the tenant with the highest priority of the corresponding tenant in a plurality of tenants subjected to speed limit processing.
In the method, multiple groups of telemetry information of multiple tenants of a target network are periodically acquired, if the network congestion problem of the target network is identified in one monitoring period, the speed limiting processing is carried out on the tenant with the lowest priority level of the corresponding tenant in the multiple tenants which are not subjected to the speed limiting processing, so that the multiple tenants subjected to the speed limiting processing exist after the multiple monitoring periods are subjected to the speed limiting processing, and after the network congestion problem is identified in a new monitoring period, the speed limiting of the tenant with the highest priority level of the corresponding tenant in the multiple tenants subjected to the speed limiting processing is relieved to gradually restore the bandwidth limitation of the target network, so that the use experience of the tenant on the target network is optimized.
For example, in this embodiment, in one monitoring period, the method disclosed in the present disclosure only performs speed limiting processing or removes speed limiting processing on one tenant, so as to realize stable regulation and control on bandwidth resources of the target network, avoid excessive fluctuation of bandwidth resources, and ensure stability of service corresponding to each tenant running on the target network.
In the application, two queues can be set to record the limited tenant and the non-limited tenant in a plurality of tenants of the target network respectively, in the process of periodically acquiring multiple groups of telemetry information of the plurality of tenants of the target network, in a monitoring period, when no network congestion problem is identified in the target network, one tenant with the highest tenant priority is moved into the queue with the non-limited tenant from the queue with the limited tenant, and if the queue with the limited tenant is empty, the operation is skipped; and in one monitoring period, when the occurrence of the network congestion problem is identified in the target network, moving one tenant with the lowest tenant priority from the queue recorded with the non-rate-limited tenant into the queue recorded with the rate-limited tenant.
In one embodiment, before the obtaining the plurality of sets of telemetry information for the plurality of tenants of the target network, the method further comprises:
determining an initial bandwidth of the second target tenant according to the total bandwidth of the target network and the priorities of the plurality of tenants, wherein the initial bandwidth of the second target tenant is positively correlated with the tenant priority of the second target tenant;
the step of releasing the speed limit of the corresponding flow interface of the second target tenant in the target network comprises the following steps:
and adjusting the bandwidth of the flow interface corresponding to the second target tenant in the target network to be the initial bandwidth of the second target tenant.
In this embodiment, based on the total bandwidth of the target network and the priorities of multiple tenants corresponding to multiple tenants in the target network, the initial bandwidth of each tenant is dynamically determined, so that bandwidth resources owned by each tenant are reasonably allocated according to tenant priority differences among different tenants, and economic benefits of the target network are improved.
Illustratively, the calculation formula of the initial bandwidth of the i-th tenant of the plurality of tenants may be as shown in formula (2):
in the formula (2), the amino acid sequence of the compound,is the first of the plurality of tenantsinitial bandwidth of i tenants, B total And n is the number of tenants in the target network for the total bandwidth of the target network.
In one embodiment, the speed limiting process for the target network includes:
determining a third target tenant in the plurality of tenants according to the congestion analysis result, wherein the third target tenant is the tenant with the network congestion problem in data transmission in the plurality of tenants;
and carrying out speed limiting processing on a flow interface corresponding to the third target tenant in the target network.
In the embodiment, the network congestion problem of the target network is solved in a targeted manner by performing speed limiting processing on the tenant with the network congestion problem, so that the processing efficiency of the network congestion problem of the target network is improved.
For ease of understanding, examples are illustrated below:
as shown in fig. 2, the method of the present disclosure may be applied to a target system, where the target system includes: a Sender server (Sender), a controller cluster (Controller Cluster), a plurality of transmission nodes (transmission nodes) and a Receiver server (Receiver); the system comprises a transmitting end server, a receiving end server, a controller cluster, a congestion control command and a congestion control command, wherein the transmitting end server and the receiving end server are communicated and transmitted through a plurality of transmission nodes, the controller cluster is used for receiving telemetry data reported by each transmission node in the plurality of transmission nodes, and the controller cluster is also used for issuing congestion control commands to the transmitting end server based on analysis results of the telemetry data; in fig. 2, VM1, VM2, VMn refer to virtual node 1, virtual node 2, and virtual node n in the target network, respectively.
The sending end server comprises a plurality of virtual machines and virtual interactive machine software (such as Open VSwitch (OVS)), wherein the plurality of virtual machines are in one-to-one correspondence with a plurality of tenants of the target network, and the sending end server is used for generating a VXLAN message and providing telemetry capability for the VXLAN message.
The controller cluster is mainly used for analyzing telemetry data, judging congestion and sending the result feedback to the sending server so as to control the sending rate of the server;
as shown in fig. 3, the controller cluster may include: the system comprises a threshold value configuration module, a congestion calculation module, a telemet Telemetry data processing module, a tenant management module and a configuration issuing module;
the threshold configuration module is responsible for configuring a forwarding delay threshold (the third preset threshold), a transmission queue length threshold (the second preset threshold), and a buffer threshold (the first preset threshold), and the configuration result of the threshold is stored in the database cluster;
the telemetric Telemetry data processing module mainly analyzes Telemetry data reported by a transmission node (Transit node), extracts time delay information (namely time delay of the corresponding tenant information on the transmission node) of a data packet in VNI (virtual local area network) message inner layer source IP and INT (virtual local area network) message Metadata, length information (namely the length of the message queue of the corresponding tenant information) of a queue, and buffer utilization information (namely buffer utilization of the corresponding transmission node) and transmits the information to the congestion calculation module;
the congestion calculation module is used for carrying out congestion judgment and speed limit management based on tenant priority;
two queues are configured in the tenant management module, namely a tenant queue and a limited-speed tenant queue, wherein the tenant queue stores non-limited tenant information, and in an initial stage, all tenant information needs to be acquired from a database cluster, and the limited-speed tenant queue is used for storing limited-speed tenant information, wherein the tenant information comprises: the tenant name (tenant_name), VNI information (VNI) corresponding to the tenant VXLAN message, ip address (ip_addr) corresponding to the virtual machine, and initial bandwidth information of the tenant, minimum bandwidth information, and calculation of the initial bandwidth and minimum bandwidth of the tenant may be referred to the foregoing formulas (1) and (2);
the configuration issuing module is used for providing a function of CLI configuration issuing, and simultaneously provides a function of inquiring a corresponding virtual interface through a virtual machine IP address (VXLAN inner layer source IP) so as to achieve the purpose of performing a speed limiting function on a specified virtual interface (namely, the virtual interface corresponding to the first target tenant) through a ovs-vsctl instruction.
The transmission node is used for identifying the INT data packet transmitted by the last transmission node/sender server in the INT Postcard mode and uploading the INT data packet to the controller cluster besides the service flow corresponding to the service of the transmission tenant.
The congestion determination performed by the congestion calculation module may be as shown in fig. 4, where the data portion (i.e., INT Metadata) of the telemetry data carries data such as an ingress and egress timestamp, an ingress and egress port, a transmission queue length, a buffer usage rate, etc., and the congestion calculation module analyzes whether the buffer usage rate, the transmission queue length, and the time (i.e., a difference between the egress timestamp and the ingress timestamp of the tenant data packet) of each telemetry data exceed corresponding thresholds, and if any comparison result is yes, determines that the corresponding telemetry data indicates that the congestion problem occurs in the target network, otherwise determines that the corresponding telemetry data does not indicate that the congestion problem occurs in the target network.
When the congestion calculation module recognizes that the congestion problem occurs in the target network, the congestion calculation module enters a deceleration sub-flow, namely enters a speed limiting management flow according to the priority of the tenant, as shown in fig. 5, the controller cluster applies for the tenant queue and the speed-limited tenant queue, wherein the tenant queue stores tenant information of all tenants in the target network in an initial stage, queues up according to the priority of the tenants from high to low, the speed-limited tenant queue is empty in the initial stage, and meanwhile, the transmitting end server controls all virtual interfaces to transmit INT messages according to a preset frequency.
For example, the sender server may send VXLAN service messages and corresponding telemetry messages (i.e., INT messages, i.e., the foregoing telemetry data) at a fixed frequency based on OVS, such as: every 200 service messages send 1 telemetering message, the sender server adds INT message header, and adds VXLAN encapsulation through OVS.
The transmission node analyzes the telemetry message and reports the analysis result to the controller cluster, and the controller cluster analyzes the analysis result according to the congestion judging flow shown in fig. 4 to identify whether a congested tenant exists in the target network;
if so, finding a tenant with the current bandwidth being greater than the minimum bandwidth (namely meeting the minimum bandwidth) and the lowest priority in the tenant queue, transferring tenant information of the tenant into a limited-speed tenant queue, and then issuing a speed limiting instruction so that a transmitting end server limits the speed of a virtual interface of the tenant based on the speed limiting instruction (namely adjusting the bandwidth of the virtual interface of the tenant to the minimum bandwidth);
if the queue is not available, further analyzing whether the queue of the limited tenant is empty, if the queue of the limited tenant is not empty, transferring the tenant positioned at the head of the queue of the limited tenant into the queue of the tenant, re-queuing the queue of the tenant (still sequencing from high to low according to the priority of the tenant), and then issuing an speed limiting release instruction so that the sending end server releases the speed limit of the virtual interface of the tenant (namely, adjusting the bandwidth of the virtual interface of the tenant to the initial bandwidth corresponding to the tenant) based on the speed limiting release instruction; if the processing is empty, no other processing is performed.
Referring to fig. 6, fig. 6 is a congestion control apparatus provided in an embodiment of the present disclosure, and as shown in fig. 6, the congestion control apparatus 600 includes:
an information obtaining module 601, configured to obtain multiple sets of telemetry information of multiple tenants of a target network, where the target network includes multiple transmission nodes for transmitting data, and the telemetry information includes multiple telemetry data, where the multiple telemetry data corresponds to the multiple transmission nodes one to one;
the analysis module 602 is configured to analyze the multiple sets of telemetry information to obtain a congestion analysis result;
and the control module 603 is configured to perform speed limiting processing on the target network when the congestion analysis result indicates that the target network has a network congestion problem.
In one embodiment, the telemetry data includes a buffer utilization rate of the corresponding transmission node, a length of a message queue of the corresponding tenant message, and a time delay of the corresponding tenant message on the transmission node;
the analysis module 602 is specifically configured to:
under the condition that the plurality of groups of telemetry information are analyzed and target data are included in the plurality of groups of telemetry information, congestion analysis results indicating that network congestion problems exist in the target network are obtained;
under the condition that the plurality of groups of telemetry information are analyzed and the target data are not included in the plurality of groups of telemetry information, congestion analysis results indicating that the target network has no network congestion problem are obtained;
the target data is remote sensing data in any one set of remote sensing information in the plurality of sets of remote sensing information, and the target data meets at least one of the following conditions:
the buffer utilization rate of the corresponding transmission node is larger than or equal to a first preset threshold value;
the length of the message queue corresponding to the tenant message is larger than or equal to a second preset threshold value;
the time delay of the corresponding tenant information on the transmission node is larger than or equal to a third preset threshold value.
In one embodiment, the plurality of tenants respectively correspond to a plurality of tenant priorities, and tenant priorities corresponding to different tenants are different;
the control module 603 includes:
and the speed limiting unit is used for limiting the speed of the corresponding traffic interface of the first target tenant in the target network, wherein the first target tenant is the tenant with the lowest priority of the corresponding tenant among a plurality of tenants which are not subjected to speed limiting.
In one embodiment, the control module 603 further includes:
a bandwidth determining unit, configured to determine a minimum bandwidth according to a total bandwidth amount of the target network and tenant numbers of the plurality of tenants, where the tenant numbers are inversely related to the minimum bandwidth;
the speed limiting unit is specifically used for:
and adjusting the bandwidth of the flow interface corresponding to the first target tenant in the target network to the minimum bandwidth.
In one embodiment, the plurality of tenants respectively correspond to a plurality of tenant priorities, and tenant priorities corresponding to different tenants are different;
the control module 603 further includes:
and the speed limit removing unit is used for removing the speed limit of a second target tenant corresponding to the flow interface in the target network under the condition that the congestion analysis result indicates that the target network has no network congestion problem, wherein the second target tenant is the tenant with the highest priority of the corresponding tenant in a plurality of tenants subjected to speed limit processing.
In an embodiment, the bandwidth determining unit is further configured to:
determining an initial bandwidth of the second target tenant according to the total bandwidth of the target network and the priorities of the plurality of tenants, wherein the initial bandwidth of the second target tenant is positively correlated with the tenant priority of the second target tenant;
the speed limit releasing unit is specifically configured to:
and adjusting the bandwidth of the flow interface corresponding to the second target tenant in the target network to be the initial bandwidth of the second target tenant.
In one embodiment, the control module 603 further includes:
and the control unit is used for determining a third target tenant from the plurality of tenants according to the congestion analysis result, and carrying out speed limiting processing on a flow interface corresponding to the third target tenant in the target network, wherein the third target tenant is the tenant with the network congestion problem in data transmission among the plurality of tenants.
The congestion control apparatus 600 provided in the embodiments of the present disclosure can implement each process in the embodiments of the congestion control method, and in order to avoid repetition, a description thereof is omitted here.
According to an embodiment of the disclosure, the disclosure further provides an electronic device, a readable storage medium.
Fig. 7 illustrates a schematic block diagram of an example electronic device 700 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 7, the apparatus 700 includes a computing unit 701 that can perform various appropriate actions and processes according to a computer program stored in a Read-Only Memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access Memory (Random Access Memory, RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 may also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in device 700 are connected to I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, etc.; an output unit 704 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, an optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 701 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 701 include, but are not limited to, a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphic Process Unit, GPU), various dedicated artificial intelligence (Artificial Intelligence, AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (Digital Signal Processing, DSP), and any suitable processor, controller, microcontroller, etc. The calculation unit 701 performs the respective methods and processes described above, for example, a congestion control method. For example, in some embodiments, the congestion control method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709. When a computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of the congestion control method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the congestion control method by any other suitable means (e.g. by means of firmware).
Various implementations of the systems and techniques described here above can be implemented in digital electronic circuitry, integrated circuitry, field programmable gate arrays (Field-Programmable Gate Array, FPGA), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), application specific standard products (Application Specific Standard Product, ASSP), system On Chip (SOC), complex programmable logic devices (Complex Programmable Logic Device, CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially, or in a different order, provided that the desired results of the disclosed aspects are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (11)

1. A method of congestion control, the method comprising:
acquiring multiple groups of telemetry information of multiple tenants of a target network;
analyzing the plurality of groups of telemetry information to obtain congestion analysis results;
and under the condition that the congestion analysis result indicates that the target network has network congestion problems, performing speed limiting processing on the target network.
2. The method of claim 1, wherein the target network comprises a plurality of transmission nodes for transmitting data, wherein the telemetry information comprises a plurality of telemetry data, and wherein the plurality of telemetry data corresponds one-to-one to the plurality of transmission nodes.
3. The method of claim 2, wherein the telemetry data includes a buffer utilization rate for the corresponding transmitting node, a length of a message queue for the corresponding tenant message, and a time delay of the corresponding tenant message on the transmitting node;
analyzing the plurality of groups of telemetry information to obtain congestion analysis results, wherein the congestion analysis results comprise:
under the condition that the plurality of groups of telemetry information are analyzed and target data are included in the plurality of groups of telemetry information, congestion analysis results indicating that network congestion problems exist in the target network are obtained;
under the condition that the plurality of groups of telemetry information are analyzed and the target data are not included in the plurality of groups of telemetry information, congestion analysis results indicating that the target network has no network congestion problem are obtained;
the target data is remote sensing data in any one set of remote sensing information in the plurality of sets of remote sensing information, and the target data meets at least one of the following conditions:
the buffer utilization rate of the corresponding transmission node is larger than or equal to a first preset threshold value;
the length of the message queue corresponding to the tenant message is larger than or equal to a second preset threshold value;
the time delay of the corresponding tenant information on the transmission node is larger than or equal to a third preset threshold value.
4. The method of claim 1, wherein the plurality of tenants respectively correspond to a plurality of tenant priorities, and the tenant priorities corresponding to different tenants are different;
the speed limiting processing for the target network comprises the following steps:
and carrying out speed limiting processing on a flow interface corresponding to a first target tenant in the target network, wherein the first target tenant is the tenant with the lowest priority of the corresponding tenant in a plurality of tenants which are not subjected to speed limiting processing.
5. The method of claim 4, wherein prior to the obtaining the plurality of sets of telemetry information for the plurality of tenants of the target network, the method further comprises:
determining a minimum bandwidth according to the total bandwidth of the target network and the tenant numbers of the plurality of tenants, wherein the tenant numbers are inversely related to the minimum bandwidth;
the speed limiting processing for the flow interface corresponding to the first target tenant in the target network includes:
and adjusting the bandwidth of the flow interface corresponding to the first target tenant in the target network to the minimum bandwidth.
6. The method of claim 1, wherein the plurality of tenants respectively correspond to a plurality of tenant priorities, and the tenant priorities corresponding to different tenants are different;
after obtaining the congestion analysis result according to the multiple sets of telemetry information, the method further comprises:
and under the condition that the congestion analysis result indicates that the target network has no network congestion problem, the speed limit of a corresponding flow interface of a second target tenant in the target network is relieved, wherein the second target tenant is the tenant with the highest priority of the corresponding tenant in a plurality of tenants subjected to speed limit processing.
7. The method of claim 6, wherein prior to the obtaining the plurality of sets of telemetry information for the plurality of tenants of the target network, the method further comprises:
determining an initial bandwidth of the second target tenant according to the total bandwidth of the target network and the priorities of the plurality of tenants, wherein the initial bandwidth of the second target tenant is positively correlated with the tenant priority of the second target tenant;
the step of releasing the speed limit of the corresponding flow interface of the second target tenant in the target network comprises the following steps:
and adjusting the bandwidth of the flow interface corresponding to the second target tenant in the target network to be the initial bandwidth of the second target tenant.
8. The method of claim 1, wherein the speed limiting the target network comprises:
determining a third target tenant in the plurality of tenants according to the congestion analysis result, wherein the third target tenant is the tenant with the network congestion problem in data transmission in the plurality of tenants;
and carrying out speed limiting processing on a flow interface corresponding to the third target tenant in the target network.
9. A congestion control apparatus, the apparatus comprising:
the information acquisition module is used for acquiring multiple groups of telemetry information of multiple tenants of the target network;
the analysis module is used for analyzing the plurality of groups of telemetry information to obtain congestion analysis results;
and the control module is used for carrying out speed limiting processing on the target network under the condition that the congestion analysis result indicates that the target network has network congestion problems.
10. An electronic device comprising a processor, a memory and a computer program stored on the memory and executable on the processor, which when executed by the processor performs the steps of the method according to any one of claims 1 to 8.
11. A computer readable storage medium, characterized in that it has stored thereon a computer program which, when executed by a processor, implements the steps of the method according to any of claims 1 to 8.
CN202311231261.XA 2023-09-22 2023-09-22 Congestion control method and related equipment Pending CN117278473A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311231261.XA CN117278473A (en) 2023-09-22 2023-09-22 Congestion control method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311231261.XA CN117278473A (en) 2023-09-22 2023-09-22 Congestion control method and related equipment

Publications (1)

Publication Number Publication Date
CN117278473A true CN117278473A (en) 2023-12-22

Family

ID=89205671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311231261.XA Pending CN117278473A (en) 2023-09-22 2023-09-22 Congestion control method and related equipment

Country Status (1)

Country Link
CN (1) CN117278473A (en)

Similar Documents

Publication Publication Date Title
CN111769998B (en) Method and device for detecting network delay state
US9185047B2 (en) Hierarchical profiled scheduling and shaping
CN113038191B (en) Live stream scheduling method and device, electronic equipment and readable storage medium
EP4024778A1 (en) Method for determining required bandwidth for data stream transmission, and devices and system
CN109981225B (en) Code rate estimation method, device, equipment and storage medium
CN112508768B (en) Single-operator multi-model pipeline reasoning method, system, electronic equipment and medium
CN103416022A (en) In-service throughput testing in distributed router/switch architectures
CN114978433B (en) Data transmission method, apparatus, device, storage medium and computer program product
WO2022247308A1 (en) Flow measurement method and apparatus, and related device
CN103634223A (en) Network service flow based dynamic control transmission method and device
US20150109915A1 (en) Network traffic management
CN109905331B (en) Queue scheduling method and device, communication equipment and storage medium
CN113542148A (en) Message aggregation method and device, network card and readable storage medium
CN117278473A (en) Congestion control method and related equipment
US8006006B2 (en) System and method for aggregating transmit completion interrupts
JP2011182115A (en) Communication method, communication system and server
CN115633037A (en) Method, device, virtual gateway equipment, medium and system for forwarding data packet
CN115277504A (en) Network traffic monitoring method, device and system
CN114124856B (en) Flow control method, device and storage medium
CN113179218B (en) Model training method, network congestion control method, device and related products
CN114785864B (en) Data interaction method, system, electronic equipment and storage medium
WO2021259286A1 (en) Slice service processing method and apparatus, network device, and readable storage medium
CN108111571B (en) QoS (quality of service) storage method based on iSCSI (Internet small computer system interface) protocol
CN116016357A (en) Data transmission method, device, storage medium and electronic equipment
CN117376212A (en) Network rate adjustment method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination