Congestion avoiding method and system based on multipath transmission control protocol

By adopting the congestion avoidance method of multi-path transmission control protocol in the network, using the MPTCP path detection and the distributed architecture of the SDN controller, the scalability and throughput problems of network congestion control in the prior art are solved, and efficient Packet transfer and load sharing.

CN119299380APending Publication Date: 2025-01-10LESHAN POWER SUPPLY COMPANY STATE GRID SICHUAN ELECTRIC POWER
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411617529.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The existing network congestion control mechanism has flaws in scalability and throughput, resulting in data transmission latency and efficiency issues.

Method used

Using the congestion avoidance method based on the multi-path transmission control protocol (MPTCP) to perform MPTCP path detection and congestion detection on data packets, multiple path subflows are generated, and packet transmission is carried out when non-congested path subflows are detected. The distributed architecture and software programming control of SDN controllers enable load sharing and traffic re-routing.

Benefits of technology

It improves the scalability of the network and data transmission throughput, reduces latency and packet loss rate, reduces overall overhead, and ensures efficient packet transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299380A_ABST
    Figure CN119299380A_ABST
Patent Text Reader

Abstract

The invention discloses a congestion avoiding method and system based on a multipath transmission control protocol, and relates to the technical field of XX. The method comprises the following steps: performing MPTCP path detection on a data packet reaching a data layer, if an MPTCP path does not exist, generating all path substreams between a source host and a target host, and adding the path substreams into an MPTCP path list; sequentially executing congestion detection on the path substreams in the MPTCP path list until non-congestion path substreams are detected; and transmitting the data packet through the non-congested path sub-stream. According to the invention, congestion and pre-detection are carried out before data packet transmission, and if any congestion condition occurs, the member controller is indicated to re-route the flow through the next continuous sub-flow in the MPTCP path list, so that congestion can be avoided, packet loss can be reduced, and the data transmission rate and throughput can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network flow control, and in particular to a congestion avoidance method and system based on a multipath transmission control protocol. Background Art

[0002] The number of servers and switch ports in existing software-defined data center networks (DCNs) depends largely on the network topology. In data centers, distributed computing tools are used for data processing and analysis, which requires the transmission of large amounts of data between server nodes. Servers usually communicate in a "one-to-many" manner, which requires reasonable bandwidth allocation in data center networks. The Jellyfish DCN topology is a type of switch-centric DCN structure with a "device-device" architecture. It provides high scalability and supports multi-path data transmission. One of its major advantages is that it supports dynamic topology and random deployment of nodes. Therefore, data traffic congestion control in DCN is essential for daily management operations.

[0003] Congestion control mechanisms can be divided into intra-network congestion control mechanisms and hybrid congestion control mechanisms. Although the existing intra-network congestion control mechanisms and hybrid congestion control mechanisms have many advantages, they still have limitations. For example, the paths of the forward and reverse flows are exactly the same, and there is also high latency between the switch and the controller information sharing, high network overhead, control overhead, and equal treatment of large and small flows of network data, which may lead to high latency for low data rate transmission and insufficient transmission time for high data rate transmission. The network congestion control mechanism has defects in scalability and throughput. Summary of the invention

[0004] The present invention provides a congestion avoidance method and system based on a multipath transmission control protocol to solve the problems in scalability and throughput existing in the above-mentioned existing network congestion control mechanism.

[0005] The present invention is achieved through the following technical solutions:

[0006] A first aspect of the present invention provides a congestion avoidance method based on a multipath transmission control protocol, which is applied to an SDN controller. The method includes:

[0007] Perform MPTCP path detection on the data packet arriving at the data layer. If no MPTCP path exists, generate all path sub-flows between the source host and the destination host of the data packet and add them to the MPTCP path list;

[0008] Performing congestion detection on the path subflows in the MPTCP path list in sequence until a non-congested path subflow is detected;

[0009] The data packet is transmitted via the non-congested path sub-flow.

[0010] The congestion avoidance method of the present invention is applied to a distributed SDN controller. The SDN control layer architecture improves the scalability of the network. Under the same path load, the path sub-flows between a specific source host address and a target host address are increased by expanding the number of nodes, so that the load can be shared among multiple sub-flows, thereby improving the throughput.

[0011] Congestion and pre-detection are performed before data packet transmission. If any congestion occurs, the member controller is instructed to reroute the traffic through the next continuous sub-flow in the MPTCP path list, which can avoid congestion and reduce packet loss to improve data transmission rate and throughput.

[0012] At the same time, the data transmission of different sub-flows in the MPTCP path list is implemented by the data layer switch through storage and forwarding. Since all congestion avoidance work is programmed and controlled by the software in the controller, the switching transmission in the data layer does not incur any overhead, and the distributed controller environment also helps to overcome the overhead generated by data processing, thereby reducing the overall overhead.

[0013] Further, all path sub-flows between the source host and the target host of the data packet are generated, including:

[0014] S1-1, calculate the shortest transmission path between the source host and the destination host through the Dijkstra algorithm to obtain the first path sub-flow;

[0015] S1-2, excluding the nodes in the generated path subflow, and again calculating the shortest transmission path between the source host and the target host by the Dijkstra algorithm to obtain the next path subflow;

[0016] S1-3, repeat S1-2, generate all path sub-flows between the source host and the target host, and add the path sub-flows to the MPTCP path list in the order of generation.

[0017] Furthermore, if the detection result of the MPTCP path detection is that an MPTCP path exists, the data packet is transmitted according to the Open Shortest Path First protocol.

[0018] Furthermore, the congestion detection method includes:

[0019] Calculate the average length of the data cache queue of the root node switch average , if Queue average >Queue min, it is determined that the currently detected path subflow is congested, and the next path subflow is selected from the MPTCP path list for re-detection, where Queue min is the minimum threshold of the queue length; if not, the currently detected path subflow is determined to be a non-congested path subflow.

[0020] Furthermore, if Queue min <Queue average <Queue max , then indicate the congestion in the congestion field of the packet header to notify the source host, where Queue max is the maximum threshold of the queue length; if the Queue average >Queue max , then the packet loss probability is calculated according to the congestion field in the packet header to determine whether to discard the packet.

[0021] Furthermore, the SDN controller is Open Daylight.

[0022] The second aspect of the present invention provides a congestion avoidance system based on a multipath transmission control protocol, which is applied to a software defined network, including a control layer, a data layer and a host cluster, wherein the control layer includes multiple SDN controllers, and one of the multiple SDN controllers is a root controller; the root controller is used to execute the congestion avoidance method based on the multipath transmission control protocol described in any one of the first aspect of the present invention.

[0023] Furthermore, the software defined network is based on a Jellyfish topology.

[0024] According to a third aspect of the present invention, there is provided an electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the congestion avoidance method based on a multipath transmission control protocol as described in any one of the first aspects of the present invention when executing the computer program.

[0025] A fourth aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed by a processor, the congestion avoidance method based on a multipath transmission control protocol as described in any one of the first aspects of the present invention is implemented.

[0026] Compared with the prior art, the present invention has the following advantages and beneficial effects:

[0027] Before data packet transmission, congestion pre-detection is performed on the data packet transmission process between a specific source and destination node. If any congestion occurs, the root controller will instruct the member controllers to forward the congestion through the MPTCP path list MP i The next consecutive sub-flow in the pipeline reroutes traffic to detect congestion and prevent data packet loss during the pre-transmission stage.

[0028] If congestion is detected (buffer overload), a Congestion Notification Message (CN) from the buffer switch is sent to notify the sender to control the data rate at the source node to avoid congestion.

[0029] Distributed SDN controller,SDN control layer architecture improves the scalability of the network. Under the same path load, the path sub-flows between the specific source host address and the destination host address are increased by expanding the number of nodes, so that the load can be shared among multiple sub-flows, thereby improving the network throughput.

[0030] The data transmission of different sub-flows in the MPTCP path list is implemented by the data layer switch through storage and forwarding. Since all congestion avoidance work is programmed and controlled by the software in the controller, the switching transmission in the data layer does not incur any overhead, and the distributed controller environment also helps to overcome the overhead generated by data processing, thereby reducing the overall overhead. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] In order to more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present invention and should not be regarded as limiting the scope. For those of ordinary skill in the art, other relevant drawings can be obtained based on these drawings without creative work. In the drawings:

[0032] Figure 1 This is an application network architecture diagram of a congestion avoidance method based on a multipath transmission control protocol according to an embodiment of the present invention;

[0033] Figure 2 is a flow chart of a congestion avoidance method based on a multipath transmission control protocol according to an embodiment of the present invention;

[0034] Figure 3 It is a schematic diagram of an implementation of a congestion avoidance method based on a multipath transmission control protocol according to an embodiment of the present invention;

[0035] Figure 4 is a comparison diagram of path load and throughput between the method of the present invention and other methods when different congestion avoidance methods are used;

[0036] Figure 5It is a comparison diagram of the RTT experienced during the data packet transmission process of the method of the present invention and other methods when the load increases;

[0037] Figure 6 is a comparison diagram of the number of nodes and throughput of the method of the present invention and other methods when the path load is 1125Mbps;

[0038] Figure 7 This is a comparison diagram of the number of nodes and RTT of the method of the present invention and other methods when the path load is 1125Mbps;

[0039] Figure 8 is a comparison diagram of the number of nodes and throughput of the method of the present invention and other methods when the path load is 1385Mbps;

[0040] Fig. 9 This is a comparison chart of the number of nodes and RTT of the method of the present invention and other methods when the path load is 1385Mbps. DETAILED DESCRIPTION

[0041] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with embodiments and drawings. The exemplary embodiments of the present invention and their description are only used to explain the present invention and are not intended to limit the present invention.

[0042] It should be noted that the terms "including" and "having" and any variations thereof in the specification and claims of the present invention and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to or inherent to other steps or units of the device.

[0043] The terms used in the various embodiments of the application are only used to describe the purpose of specific embodiments and are not intended to limit the various embodiments of the application. As used herein, the singular form is intended to also include the plural form, unless the context clearly indicates otherwise. Unless otherwise limited, all terms used here (including technical terms and scientific terms) have the same meaning as the meanings commonly understood by ordinary technicians in the field of the various embodiments of the application. The terms (such as the terms defined in the dictionary generally used) will be interpreted as having the same meaning as the contextual meaning in the relevant technical field and will not be interpreted as having an idealized meaning or an overly formal meaning, unless clearly defined in the various embodiments of the application.

[0044] The embodiment of the present invention provides a congestion avoidance method and system based on a multipath transmission control protocol, which can detect congestion early through a congestion pre-detection mechanism, thereby effectively preventing data packet loss. Compared with traditional congestion control methods, the present invention improves network scalability (number of nodes) and path load.

[0045] The congestion avoidance method based on the multipath transmission control protocol of the present invention is applied in the SDN controller of the software-defined data center. The SDN-enabled data center separates the control layer and the data layer. The control layer is composed of controller elements programmed by the network operating system (NOS), that is, the NOS data management module, which is essentially a forwarding device. The data management module is responsible for moving data packets from the source address to the destination address. The work of the control layer is to centrally control the data layer to manage network traffic.

[0046] The SDN control layer architecture can be centralized or distributed, depending on the network and its actual application. It is a physically distributed but logically centralized SDN controller. Due to its structural properties, it can prevent single network node failure (single point failure). In a centralized controller environment, a single controller is responsible for the node data and stores the network metadata in its data storage. If it fails, the entire network will collapse. In a physically distributed and logically centralized environment, n (n is greater than 1) controllers can be used, but there is only one controller from the data layer. Among all the controllers, there is one controller that is regarded as the root controller, and the other controllers are responsible for various parts of the network.

[0047] OpenDaylight (ODL) is a controller implemented in SDN with a flat network structure, providing horizontal partitioning of the network. It divides the network into multiple parts, each of which is controlled by a controller on the control plane. ODL maintains global network status information, which is formed through local status information that can be shared between controllers. These characteristics of the ODL architecture help provide good scalability, flexibility, and low latency.

[0048] Multipath TCP (MPTCP) is a mechanism for creating multiple paths between a specific source address and a specific destination address. Given the path capacity and available bandwidth in the network, data packets can be rerouted through alternate substreams in MPTCP. The congestion avoidance method proposed in the present invention uses MPTCP in the ODL environment of the Jellyfish DCN architecture. This special topology enhances scalability and reasonably prevents congestion in a distributed SDN controller environment. In order to achieve higher throughput and reduce latency, the present invention also uses a congestion avoidance mechanism on this setting so that congestion can be sensed before starting transmission.

[0049] Many existing congestion control mechanisms lack reliability and scalability. For example, a mechanism that controls network transmission purely based on the threshold level of the size of the data flow transmitted through the path, that is, the port statistics of the switch, detects notifications at the controller level whenever there is congestion, and tests the current routing strategy by using the Mininet simulator. The biggest drawback of this method is that the controller overhead is extremely high when massive data packets are transmitted. The SDN congestion avoidance algorithm relies on the controller to calculate the utilization level of the path and initiates rerouting when the congestion reaches the set value. As well as controlling transmission based on bandwidth utilization and the bandwidth required by the data flow, the controller reserves bandwidth for burst flows, which can better complete the data transmission of burst flows, but the centralized SDN controller method used cannot support network scalability. The most important limitation caused by this mechanism is the delay experienced between the controller and the switch during information exchange.

[0050] In summary, the main problems that the existing technology needs to solve are that a single controller environment will trigger the control overhead problem, and maintaining a constant data round-trip time under various load distributions and node ranges may lead to high latency for low data rate transmission and insufficient transmission time for high data rate transmission.

[0051] Data center networks with SDN controllers use congestion control programs to achieve data packet transmission on the network, but there is still a need for a pre-judgment congestion control mechanism to achieve efficient and reliable transmission. Figure 1 The figure shows an application network architecture diagram of a congestion avoidance method based on a multipath transmission control protocol according to an embodiment of the present invention. By deploying an ODL-MPTCP structure in a software defined data center (SDDC), an ODL setting is used in an SDN environment to form a three-layer architecture including a control layer A1, a data layer A2, and a host cluster A3.

[0052] The control layer A1 has multiple controllers. Figure 1 The three shown are taken as an example, where controller R1 is the root controller, and C1 and C2 are member controllers. The root controller runs on the member controllers and assigns them responsibilities. The number of member controllers can be increased or decreased according to the number of hosts in the host cluster in the network topology.

[0053] When communicating within the SDN, the root controller is responsible for maintaining global data storage, including corresponding network information, such as the number of network-connected devices, the number of connected hosts, communication status, and resource utilization of the device (path bandwidth, achieved throughput, data rate, involved latency, etc.). In addition, the root controller is also responsible for coordinating the operations of the member controllers to process the data layer and maintaining the backup of the root controller. Before the root controller encounters certain failures, the root controller information retained on the member controller will be inactive. Conversely, once the root controller fails, the information backed up in the member controller will be enabled.

[0054] The data layer A2 consists of network devices where hosts connect and communicate. The number of member controllers increases or decreases according to the number of hosts in the network. The network devices in the data layer simply receive tasks from the controllers and then perform switching transmission and forwarding. Since all work content is programmed and controlled as software in the controller, there is no overhead in the switching transmission in the data layer.

[0055] Host cluster A3 contains nodes in the data center, which is connected to the upper data layer, and sends and receives applications through the network devices of the data layer to achieve normal operation. When the number of devices in the host cluster increases, the controller needs to consider adding more switches when necessary.

[0056] The congestion avoidance method based on the multipath transmission control protocol of the present invention is applied to the root controller, such as Figure 2 Shown is a flow chart of a congestion avoidance method based on a multipath transmission control protocol, comprising the following steps:

[0057] S1, when the network switch at the data layer receives a data packet sent from the source host, the root controller performs MPTCP path detection on the data packet arriving at the data layer.

[0058] The root controller will parse the data packet, obtain the source host address and the target host address, and check the existing MPTCP path between the source host and the target host. The root controller establishes a corresponding MPTCP path list for each pair of communicating hosts, which stores all possible TCP paths between the source host and the target host. When the source and target hosts of the current data packet are not communicating for the first time, the root controller detects that its corresponding MPTCP path list is not empty, and the data packet can be transmitted based on the existing path sub-flow in the MPTCP path list. The transmission of the data packet is routed according to the Open Shortest Path First protocol (OSPF). On the contrary, if it is detected that there is no MPTCP path between the source host and the target host, step S2 is executed.

[0059] S2, the root controller starts the MPTCP flow generation algorithm program, generates all path sub-flows between the source host and the destination host, and adds them to the corresponding MPTCP path list to access the corresponding member controller to which the switch is connected.

[0060] In one embodiment, MPTCP path generation is performed using the Dijkstra algorithm, which calculates the shortest path between a source and a destination based on the path cost, stores the calculated path in an MPTCP path list MPi, MPi = {f1, f2, ..., fn}, and generates the number of possible paths between a specific source and destination.

[0061] In the first iteration, a path containing some nodes is generated as a subflow f1, and the root controller runs the Dijkstra algorithm again to calculate the next available path between the same source and destination pair by excluding the nodes present in f1. The above steps are repeated until all different paths are generated between the two hosts, and the iterated paths are stored as subflows in the MPTCP path list MPi.

[0062] Specifically, the MPTCP path generation algorithm is described as follows.

[0063] S1-1, calculate the shortest transmission path between the source host and the target host through the Dijkstra algorithm, and obtain the first path subflow f1;

[0064] S1-2, excluding the nodes in the generated path subflow, and again calculating the shortest transmission path between the source host and the target host by the Dijkstra algorithm to obtain the next path subflow;

[0065] S1-3, repeat S1-2, generate all path sub-flows between the source host and the target host, and add the path sub-flows to the MPTCP path list in the order of generation.

[0066] S1-3, performing congestion detection on the path sub-flows in the MPTCP path list in turn until a non-congested path sub-flow is detected, and transmitting the data packet through the non-congested path sub-flow.

[0067] S3, performing congestion detection on the path subflows in the MPTCP path list in turn until a non-congested path subflow is detected, and transmitting data packets through the non-congested path subflow.

[0068] The routing of packets is handled using OSPF technology through flow f1, while a random early detection (RED) based congestion avoidance procedure is run in the root controller to detect congestion in the early stage and avoid packet loss. If any congestion occurs, the root controller will instruct the member controllers to reroute the traffic through the next consecutive subflow in the MPTCP path list MPi.

[0069] The present invention performs congestion pre-detection during data packet transmission and detects the congestion algorithm during data packet transmission between a specific source and destination node. The algorithm is mainly based on three parameters, namely, Queue average 、Queue min and Queue max , see Table 1.

[0070] Table 1 Congestion pre-detection algorithm parameters

[0071] parameter describe <![CDATA[Queue average ]]> Average queue length <![CDATA[Queue min ]]> Queue Minimum <![CDATA[Queue max ]]> Queue Maximum <![CDATA[P QL ]]> The probability that the length of queue Q is L

[0072] The queue refers to the data cache queue in the network root node switch. The longer the queue is, the more serious the congestion of the entire network is.

[0073] The congestion detection method includes: calculating the average length of the data cache queue of the root node switch Queue average , if Queue average >Queue min , then the current path subflow is judged to be congested, and the next path subflow is selected from the MPTCP path list for detection again, where Queue min is the minimum threshold of the queue length; if not, the currently detected path subflow is a non-congested path subflow, and the current data packet is transmitted through the non-congested path subflow.

[0074] Furthermore, if Queue average <Queue min , then mark the queue and the transmitted data packets first.

[0075] If Queue min <Queue average <Queue max , Queue min is the maximum threshold of the queue length, then the congestion notification bit (ECN) in the header field of the packet under test is used to indicate it. QL Based on the indicated header position, the congestion avoidance algorithm decides whether to discard the data packet.

[0076] If Queue max <Queue average , the controller has started the congestion notification message, notified the detailed congestion situation message to the switch in the data layer, and resent the data packet message. Then, the next continuous sub-flow MPi in the MPTCP path list is selected (if the current selected is f1 flow, the next continuous sub-flow is f2) to reselect and transmit.

[0077] The purpose of Congestion Notification (ECN) is to inform the sender of congestion information and control the data rate at the source node. After detecting whether there is congestion based on the queue, ECN uses the Congestion Field (CE) located in the packet header to indicate the congestion. Using ECN can prevent data packets from being dropped or delayed. The congestion field needs to be modified according to the notification issued by ECN. If the queue min <Queue average <Queue max , then the possible situations of checking the fields in the data packet are shown in Table 2.

[0078] Table 2 Congestion Notification (ECN) Procedure

[0079]

[0080] In the present invention, the congestion avoidance mechanism is executed in the root node controller, and the data transmission of different sub-flows in the MPTCP path list is realized by the data layer switch through storage and forwarding. The result of congestion detection determines whether the data message is directly transmitted through the current path sub-flow or continues to wait for the next sub-flow, and congestion detection is performed again until a non-congested path sub-flow is found, thereby achieving congestion avoidance.

[0081] like Figure 3 The figure shows the best implementation of a congestion avoidance method based on a multipath transmission control protocol provided by the present invention, which includes the following execution steps.

[0082] Step 1: MPTCP flow generation algorithm.

[0083] First, MPTCP flow generation is performed. When the root controller receives a flow generation message from a member controller, it first checks whether it exists in the MPTCP path set. If it exists, the path flow is used to complete the transmission. Otherwise, the Dijkstra algorithm is run and the possible shortest path between a specific source and a destination is calculated based on the path cost. In the first iteration, a path containing some nodes is generated as flow f1. The root controller runs the Dijkstra algorithm again to calculate the next available path between the same source and destination pair by excluding the nodes present in flow f1. The above steps are repeated until all different paths are generated between the two hosts, and the iterated paths are stored as sub-flows in the MPTCP path list MPi in the order of iteration.

[0084] Step 2: Perform congestion pre-detection algorithm during data packet transmission.

[0085] Based on three parameters Queue average 、Queue min and Queue maxCongestion detection is performed on the packet transmission process between a specific source and destination node. average i <Queue min , then mark the queue and the data packets to be transmitted. min <Queue average <Queue max , then the congestion notification bit (ECN) in the header field of the packet under test is completed. QL Based on the indicated header position, the congestion avoidance algorithm decides whether to discard the data packet.

[0086] Step 3: Congestion Notification (ECN) procedure occurs.

[0087] The purpose of ECN is to notify the sender of congestion and control the data rate at the source node. After detecting whether there is congestion based on the queue, ECN uses the congestion (CE) field in the packet header to indicate the congestion. Using ECN can prevent the loss or delay of packets. The congestion field needs to be modified according to the notification sent by ECN. If the queue is congested, the congestion field will be used to indicate the congestion. min <Queue average <Queue max , then the possible situations of checking the fields in the data packet are shown in Table 2.

[0088] If Queue max <Queue average , the controller has started the congestion notification message, notified the detailed congestion situation message to the switch in the data layer, and resent the data packet message. Then, the next continuous sub-flow MPi in the MPTCP path list is selected to reselect and transmit.

[0089] Furthermore, based on the best embodiment, the congestion avoidance method proposed in the present invention is evaluated and verified by Mininet simulation software. ODL-MPTCP is deployed on the Jellyfish topology. The performance of the congestion avoidance mechanism is measured by the throughput under different path loads and number of network topology nodes.

[0090] 1. Path load-throughput

[0091] Throughput refers to the amount of data transmitted in a specific period of time. In fact, a large number of packets will be queued when sent from the source to the destination host, and the network will have delays and cause congestion. Control of congestion in the network depends on two main factors, namely the load and capacity of the path.

[0092] The load of a path is the number of packets that can be sent through, and the capacity is the number of packets that can be processed by the path. If the load exceeds the capacity of the path, packets will be lost due to buffer overload. In this case, the source network node host will retransmit the lost packets to the destination node again. In the congestion avoidance method of the present invention, if the path is overloaded, MPTCP reroutes the packets between the source host and the destination host through another sub-flow (path).

[0093] The congestion avoidance mechanism can detect congestion early, thus effectively preventing packet loss. This experiment calculated the throughput under the following three different conditions: A, B, and C:

[0094] A. Transmit data packets through ODL-MPTCP (subsequent simulations are represented by "ODL-MPTCP");

[0095] B. Transmitting packets using conventional congestion avoidance methods through ODL-MPTCP (subsequent simulations are represented by “ECA”, i.e. Existing Congestion Avoidance);

[0096] C. Data packets are transmitted using the congestion avoidance method with congestion pre-detection mechanism through ODL-MPTCP (subsequent simulations use "ED" to represent Early Detection).

[0097] In Mininet, the congestion avoidance method based on ONOS will reroute data packets when congestion occurs. This experiment simulates 100 host nodes in a centralized controller environment. The data layer uses 6L1 and 3L2 switches, and the control layer uses 2 controllers. The maximum capacity of each path is 1600Mbps. If the load exceeds the path capacity, the path will be overloaded and congestion will occur. Through the congestion avoidance method proposed in the present invention, the state of the path is detected in advance before starting the transmission, and the data packet is rerouted through another sub-flow (path).

[0098] Among them, the performance indicators of the congestion avoidance method use the throughput, load and capacity of the path, as shown below:

[0099] Throughput=R / RTT

[0100] Among them, Throughput is the throughput, R is the size of the network transmission receiving window, and RTT is the round-trip time of data transmission.

[0101] The calculation of the network transmission receiving window R is as follows:

[0102] R=LL*RTT

[0103] Where LL is the path load, which indicates the amount of data traffic that a particular path can accommodate. It is calculated as twice the product of the available path bandwidth ABW and the path delay LD. The reason for this is twice the product is that each transmission is bidirectional (send and receive).

[0104] LL=2*ABD*LD

[0105] ABD=T d / L t

[0106] Among them, LD is the path delay, that is, the delay time experienced by the data packet from the source to the destination. The composition of LD is as follows:

[0107] LD=T t +P t +Q t +P Rd

[0108] Among them, T t is the transmission time (P l / L b ), in milliseconds; P l is the packet length, in bits per second (bps); l b is the link bandwidth, P t is the propagation time (M / P s ), in milliseconds; M is the time it takes for data to travel from source to destination; P s is the propagation speed, whose size depends on the propagation medium; Q t is the transmission queuing delay (Q d / L dr ), unit is bps; Q d is the queue depth, L dr represents the path data rate (bps), T d Indicates the total amount of data transmitted through the path; L t is the transmission time, P Rd To handle delays.

[0109] The test results are as follows Figure 4-5 shown. Figure 4The relationship between path load and throughput when different congestion avoidance methods are adopted is shown. The unit of throughput is bits per second (bps). Since the maximum capacity of the path is set to 1600Mbps, loads of 1850 and 2100Mbps in the path will cause congestion. Since there are many sub-flows for specific paths in the network topology, congestion can be prevented to a certain extent and better throughput can be obtained. When the load increases, the round-trip time (RTT) of transmission will also increase due to the delay experienced by the data packets, and the throughput is inversely proportional to the RTT. When the RTT increases, the throughput gradually decreases. This is because ODL has a distributed controller environment and a separate controller is assigned to each network segment. Therefore, the adoption of ODL reduces the RTT. Figure 5 It shows the round trip time (RTT) experienced during data packet transmission when the load increases.

[0110] 2. Throughput of different number of nodes

[0111] In this section, we analyze the throughput of different numbers of nodes in the network. In line with the previous analysis, we also consider the throughput of different transmission methods. In the simulation, three different numbers of nodes (100, 150, 200) and two load distributions are used: 1125Mbps and 1385Mbps. For the 150-node host layer setting, 9L1 and 5L2 switches are used with 3 controllers. For the 200-node host layer setting, 12L1 and 6L2 switches are used with 4 controllers. Figure 6 , Figure 7 The throughput and RTT consumed by packet transmission when the load is 1125Mbps are shown respectively. Figure 8 , Fig. 9 The cases with a load of 1385 Mbps are shown. For both cases, the path capacity is defined as 1385 Mbps.

[0112] It can be seen from the simulation graph that, under the same path load, when the number of nodes increases, the RTT gradually decreases, which reflects that the throughput is steadily improving when the number of nodes increases. This is because when more nodes are deployed, many sub-flows can be generated for a specific source address and destination address pair, and the load can be shared among multiple flows. In addition, the distributed controller environment also helps to overcome the overhead generated by data processing. From the results, compared with the existing algorithms, the ODL-MPTCP setting (ED) based on the congestion avoidance algorithm proposed by us has better throughput and low latency performance.

[0113] An embodiment of the present invention also provides a congestion avoidance system based on a multipath transmission control protocol, which is applied to a software defined network, including a control layer, a data layer and a host cluster, wherein the control layer includes multiple SDN controllers, one of the multiple SDN controllers is a root controller; the root controller is used to execute the congestion avoidance method based on the multipath transmission control protocol described in any of the above embodiments of the present invention.

[0114] Furthermore, the software defined network is based on the Jellyfish topology.

[0115] An embodiment of the present invention further provides an electronic device, which includes a processor and a memory, and the number of processors may be one or more. The memory, as a computer-readable storage medium, can be used to store software programs, computer executable programs, and modules. The processor executes various functional applications and data processing of the electronic device by running the software programs, instructions, and modules stored in the memory, so as to implement the congestion avoidance method based on the multipath transmission control protocol of any of the above embodiments of the present invention.

[0116] The memory may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal, etc. In addition, the memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0117] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the congestion avoidance method based on a multipath transmission control protocol according to any embodiment of the present invention.

[0118] An embodiment of the present invention further provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the congestion avoidance method based on a multipath transmission control protocol according to any of the above embodiments of the present invention.

[0119] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A congestion avoidance method based on a multipath transmission control protocol, characterized in that: Applied to an SDN controller, the method includes: Perform MPTCP path detection on data packets arriving at the data layer; If there is no MPTCP path, all path sub-flows between the source host and the destination host of the data packet are generated and added to the MPTCP path list; Performing congestion detection on the path subflows in the MPTCP path list in sequence until a non-congested path subflow is detected; The data packet is transmitted via the non-congested path sub-flow.

2. The congestion avoidance method based on the multipath transmission control protocol according to claim 1, characterized in that: Generate all path sub-flows between the source host and the destination host of the data packet, including: S1-1, calculate the shortest transmission path between the source host and the destination host through the Dijkstra algorithm to obtain the first path sub-flow; S1-2, excluding the nodes in the generated path subflow, and again calculating the shortest transmission path between the source host and the target host by the Dijkstra algorithm to obtain the next path subflow; S1-3, repeat S1-2, generate all path sub-flows between the source host and the target host, and add the path sub-flows to the MPTCP path list in the order of generation.

3. The congestion avoidance method based on multipath transmission control protocol according to claim 1, characterized in that: If the detection result of the MPTCP path detection is that an MPTCP path exists, the data packet is transmitted according to the Open Shortest Path First protocol.

4. The congestion avoidance method based on multipath transmission control protocol according to claim 1, characterized in that: The congestion detection method comprises: Calculate the average length of the data cache queue of the root node switch average , if Queue average >Queue min , it is determined that the currently detected path subflow is congested, and the next path subflow is selected from the MPTCP path list for re-detection, where Queue min is the minimum threshold of the queue length; if not, the currently detected path subflow is determined to be a non-congested path subflow.

5. The congestion avoidance method based on multipath transmission control protocol according to claim 4, characterized in that: If Queue min <Queue average <Queue max , then indicate the congestion in the congestion field of the packet header to notify the source host, where Queue max is the maximum threshold of the queue length; if the Queue average >Queue max , then the packet loss probability is calculated according to the congestion field in the packet header to determine whether to discard the packet.

6. The congestion avoidance method based on multipath transmission control protocol according to claim 1, characterized in that: The SDN controller is Open Daylight.

7. A congestion avoidance system based on a multipath transmission control protocol, characterized in that: Applied to software defined networks, including a control layer, a data layer and a host cluster, the control layer includes multiple SDN controllers, one of the multiple SDN controllers is a root controller; the root controller is used to execute the congestion avoidance method based on the multipath transmission control protocol as described in any one of claims 1 to 6.

8. The congestion avoidance system based on multipath transmission control protocol according to claim 7, characterized in that: The software defined network is based on the Jellyfish topology.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the congestion avoidance method based on the multipath transmission control protocol described in any one of claims 1 to 6 is implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the congestion avoidance method based on the multipath transmission control protocol described in any one of claims 1 to 6 is implemented.