CN110932989B - Elephant flow path monitoring and scheduling method based on SDN data center network - Google Patents
Elephant flow path monitoring and scheduling method based on SDN data center network Download PDFInfo
- Publication number
- CN110932989B CN110932989B CN201911139617.0A CN201911139617A CN110932989B CN 110932989 B CN110932989 B CN 110932989B CN 201911139617 A CN201911139617 A CN 201911139617A CN 110932989 B CN110932989 B CN 110932989B
- Authority
- CN
- China
- Prior art keywords
- link
- path
- bandwidth
- elephant
- flow
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
Abstract
The invention discloses a elephant flow path monitoring and scheduling method based on an SDN data center network, which comprises the following specific processes: when the exchanger receives the data stream, if the data stream is the elephant stream, the data stream is encapsulated into a Packet _ in message and reported to the controller; the controller selects a path for the elephant flow to transmit by adopting a path evaluation method, and adds a link on the path through which the elephant flow passes into a link monitoring table; the controller periodically checks the load condition of each link in the link monitoring table, selects a elephant flow to be scheduled to other paths when the load of a certain link exceeds a certain threshold value, and updates the link monitoring table; and meanwhile, the controller dynamically adjusts the link detection period according to the load condition of each path in the link monitoring table. The invention can make a balance between the signaling overhead and the effectiveness of the link state information collected by the controller, reduce the problem of link congestion caused by untimely update of the link state information, save the computing resource of the controller and reduce the signaling overhead.
Description
Technical Field
The invention relates to the technical field of data center networks, in particular to a elephant flow path monitoring and scheduling method based on an SDN data center network.
Background
With the rise of technologies such as cloud computing, data centers have gained wide attention in the industry and academia in recent years. Statistics and analysis on the traffic in the real data center network show that two different types of traffic exist in the data center network, namely rat flow and elephant flow. The number of the mouse streams in the data center network is huge, the percentage of the mouse streams is 80%, but the mouse streams carry no more than 10% of data volume, the duration is short, the mouse streams are usually generated by application of a webpage search engine and the like, and certain requirements are imposed on transmission delay; the elephant flow accounts for a small amount in the data center network, the amount of the elephant flow does not exceed 20%, but carries over 90% of data volume, the duration is long, the elephant flow is usually generated by file transmission, backup and other applications, and certain requirements are made on transmission bandwidth; the elephant flow is usually the main cause of network congestion, and therefore how to effectively schedule the elephant flow is the key to avoid network congestion and guarantee service quality.
With the development of a novel Software Defined Networking (SDN) network technology, many researchers apply a network architecture of an SDN to a data center network, and propose a distributed and centralized scheduling method, which reduces the transmission delay and packet loss rate of a mouse flow to a certain extent, and obtains a better performance of a elephant flow in throughput. However, most of the current methods still have the following problems: when a path is selected for the elephant flow, link residual bandwidth is usually only adopted as an evaluation index of the path, link residual bandwidth collected by an SDN controller has instantaneity, when the arrival rate of the elephant flow is frequent, the elephant flow is distributed to the path with high link load because the next detection period is not reached and link state information cannot be updated in time, so that the problem of link congestion is caused; in addition, most SDN controllers collect and monitor the state of the network according to a fixed period, an excessively small detection period may increase signaling overhead, an excessively large detection period may cause collected network state information not to be updated in time, how to dynamically adjust the detection period according to the network state is also a problem that needs to be continuously improved when a tradeoff is made between the signaling overhead and the validity of the network state information.
In order to improve the performance of the data center network and guarantee the quality of each service, how to realize congestion avoidance and load balance of the whole network is very important, so that how to reasonably schedule the flow in the data center network, improve the resource utilization rate and reduce congestion is a problem which needs to be mainly solved in the current data center network construction.
Disclosure of Invention
The invention aims to overcome the defects of the prior art, provides an elephant flow path monitoring and scheduling method based on an SDN data center network, and can solve the problem of link congestion caused by untimely link state information updating in the prior art while reducing signaling overhead.
In order to achieve the purpose, the technical scheme provided by the invention is as follows: an elephant flow path monitoring and scheduling method based on an SDN data center network comprises the following steps:
1) when a sending end sends a data stream, a mouse stream and an elephant stream are identified, when a switch receives a data Packet, if the data Packet is the mouse stream, the data Packet is forwarded by adopting an equal-cost multipath ECMP algorithm, and if the data Packet is the elephant stream, the data Packet is packaged into a Packet _ in message and reported to an SDN controller;
2) the SDN controller calculates k shortest paths between a source address and a destination address of the elephant flow according to existing network topology information, evaluates each path by adopting a maximum path average assignable residual bandwidth method, selects an optimal path for the elephant flow to transmit, and meanwhile adds links of the path through which the elephant flow passes into a link monitoring table; the k shortest paths can be calculated in advance when the network is initialized, and k is set to be half of the number of all equivalent paths between a source address and a destination address so as to reduce searching and calculating time;
3) the SDN controller periodically checks the load condition of each link in the link monitoring table, when the load of a certain link exceeds a set threshold value, one elephant flow on the link is selected and rescheduled to other paths, and meanwhile, the link monitoring table is updated; when the transmission of the elephant flow is finished, deleting the link of the elephant flow from the link monitoring table; and when each detection period is finished, dynamically adjusting the detection period according to the load condition of each link in the current link monitoring table.
In step 1), a method that a sending end identifies a data stream is adopted to distinguish a mouse stream from an elephant stream, when the accumulated storage amount in a cache when the sending end sends the data stream exceeds a set threshold value, a TOS field of a data stream packet header of the data stream is set to be 1 to indicate that the data stream is the elephant stream, otherwise, the TOS field is set to be 0 to indicate that the data stream is the mouse stream; and the switch forwards and sends a default flow table, when the data flow with the TOS field of 0 is matched, the data flow is forwarded by adopting an equal-cost multi-path ECMP algorithm, and when the data flow with the TOS field of 1 is matched, the data flow is encapsulated into a Packet _ in message and is reported to the SDN controller.
In step 2), the method for averagely allocating the maximum path to the remaining bandwidth specifically comprises the following steps:
2.1) the SDN controller sets a counter for each link through a link counting table, and the counter is used for storing the number of elephant streams newly added between two detection periods of each link;
2.2) the SDN controller calculates k shortest paths between the source address and the destination address of the elephant flow, and records P ═ P1,P2,...,Pk}; for each shortest path PiThe SDN network system consists of n links, and P is calculated according to the state information of each port of the switch collected by the SDN controlleriThe remaining bandwidth of each uplink is denoted as free _ bandwidthi={free_bandwidthi1,free_bandwidthi2,...,free_bandwidthinWherein, free _ bandwidthijIs path PiThe remaining bandwidth size on the j-th link, i ═ 1,2, …, k, j ═ 1,2, …, n;
2.3) for each shortest Path PiThe number of elephant streams on each link is recorded as the elementary _ numberi={elephant_numberi1,elephant_numberi2,...,elephant_numberinWhere, elepthnat _ numberijIs path PiThe j link is newly added with the number of elephants between two detection periods, i is 1,2, …, k, j is 1,2, …, n;
2.4) for each shortest Path PiCalculating the average residual bandwidth size which can be allocated to each newly added elephant flow on each link, taking the average residual bandwidth size as the average allocable residual bandwidth of the link, and recording the average residual bandwidth size as equal _ bandwidthijWherein, in the step (A),equal_bandwidthijis path PiThe average of the j-th link can allocate the residual bandwidth, i is 1,2, …, k, j is 1,2, …, n;
2.5) for each shortest Path PiSelecting the link with the smallest average allocable residual bandwidth on the path as the average allocable residual bandwidth of the path, and marking as equivalent _ bandwidthiWherein, the equivalent _ bandwidthi=min(equal_bandwidthi1,equal_bandwidthi2,...,equal_bandwidthin},equal_bandwidthiIs path PiI ═ 1,2, …, k;
2.6) selecting the path with the maximum path average allocable residual bandwidth in the k shortest paths as the transmission path of the elephant flow:
choose_path=max(equal_bandwidth1,equal_bandwidth2,...,equal_bandwidthk}
simultaneously adding the link of the path of the elephant flow into a link monitoring table, updating the information in the link monitoring table, and adding 1 to the number of the elephant flows on the corresponding link in a link counting table;
2.7) when the next detection period comes, the residual bandwidth information of each link can be updated, and at the moment, the number of the elephant streams on each link in the link counting table is reset to 0; in the next detection period, if the elephant flow is received, repeating the steps 2.1) -2.6) to select a path for the elephant flow.
In step 3), the link monitoring table mainly records the monitored link and the source IP address and the destination IP address of the elephant flow passing through the link; the SDN controller periodically checks the links in the link monitoring table; firstly, judging whether only one elephant flow exists on the link, if only one elephant flow exists, skipping the check of the link, otherwise, executing the following steps to check the link load:
3.1) the SDN controller calculates the Load of the current check link according to the collected statistical information of the switch portsi,Wherein, LoadiIndicating the load situation on the ith monitoring link, BiIndicates the occupied bandwidth size on the ith monitoring link, CiRepresenting the maximum bandwidth size on the ith monitoring link; when Load is loadediWhen the current link is more than or equal to Th, the link is overloaded, wherein Th is a fixed threshold value which is defined in advance;
3.2) when the link to be checked is overloaded, checking the elephant flow information passing through the link in the link monitoring table, carrying out bandwidth evaluation on each elephant flow, selecting an elephant flow occupying the largest bandwidth, reselecting a new path for the elephant flow according to the method in the step 2), and updating the link monitoring table;
3.3) when the transmission of the elephant flow is finished, the switch sends flow table deleting information to the SDN controller due to the flow table expiration mechanism of the switch, the SDN controller obtains the original path information of the elephant flow, and the corresponding link information on the path is deleted from the link monitoring table.
In step 3), when each detection period is finished, the SDN controller dynamically adjusts the detection period according to the load condition of each link in the link monitoring table, and the specific process is as follows:
first, upon network initialization, the SDN controller sets the minimum detection period to tminThe maximum detection period is set to tmaxAnd according to the detection period t ═ tminPeriodically checking the load condition of each link in the link monitoring table at the time interval; in three continuous detection periods, if each link in the link monitoring table is not overloaded, the current detection period is increased linearly and is set to beWherein, tFront sideFor the detection interval of the last detection period,for a linear increase of the factor t cannot exceed the maximum detection period tmaxAfter the setting is successful, carrying out periodic detection on the link monitoring table according to a new detection period; in any detection period, if the link in the link monitoring table is overloaded, setting the current detection period to t-tminAnd increasing the detection frequency of the link monitoring table, and periodically detecting the link monitoring table according to a new detection period.
Compared with the prior art, the invention has the following advantages and beneficial effects:
1. the invention provides an evaluation method for the maximum path average allocable residual bandwidth, which adds the number of elephant flows newly added on a link between two detection periods as an evaluation index when evaluating the path, and can reduce the link congestion problem caused by distributing a plurality of elephant flows to the same path due to untimely link state updating to a certain extent.
2. The invention provides a method for monitoring based on a elephant flow path, wherein the elephant flow is the main cause of network congestion, so that the method is different from the prior method, and only monitors links on the path through which the elephant flow passes, thereby further reducing the problem of link congestion caused by untimely link state updating on one hand, and reducing the calculation overhead of a controller on the other hand.
3. The SDN controller of the invention adopts a dynamic detection period to monitor the whole network state, and dynamically adjusts the detection period according to the network load condition, thereby reducing the signaling overhead generated between the SDN controller and the switch.
4. The invention effectively balances signaling overhead and the effectiveness of network state information, reduces the signaling overhead and can effectively avoid the problem of link congestion caused by untimely update of link state information.
Drawings
Fig. 1 is an overall architecture diagram of the present invention.
FIG. 2 is a flow chart of the method of the present invention.
Fig. 3 is a flow allocation diagram after path selection using only link residual bandwidth as an evaluation factor.
Fig. 4 is a flow distribution diagram after path selection by the method of the present invention.
Fig. 5 is a link count table diagram.
Fig. 6 is a link monitoring table diagram.
Detailed Description
In order that those skilled in the art will better understand the technical solution of the present invention, the present invention will be described in further detail with reference to the accompanying drawings and specific embodiments.
Referring to fig. 1, in the elephant flow path monitoring and scheduling method based on the SDN data center network provided in this embodiment, a network architecture in which a control plane is separated from a data plane is adopted, and an SDN controller performs centralized management, so as to implement topology discovery, link detection, flow table distribution and path calculation on the entire network; the adopted switches are all switches supporting an OpenFlow protocol, a default flow table is issued on the switches in advance, when mouse flows are received, the mouse flows can be forwarded by adopting an ECMP algorithm, and when elephant flows are received, data flows can be reported to an SDN controller for processing; the mouse flow and elephant flow are mainly identified on the terminal host.
Referring to fig. 2, the elephant flow path monitoring and scheduling method based on the SDN data center network according to the embodiment includes the following steps:
1) when a sending end sends a data stream, a mouse stream and an elephant stream are identified, when a switch receives a data Packet, if the data Packet is the mouse stream, the data Packet is forwarded by adopting an equal-cost multipath ECMP algorithm, and if the data Packet is the elephant stream, the data Packet is packaged into a Packet _ in message and reported to an SDN controller;
2) the SDN controller calculates k shortest paths between a source address and a destination address of the elephant flow according to existing network topology information, evaluates each path by adopting a maximum path average assignable residual bandwidth method, selects an optimal path for the elephant flow to transmit, and meanwhile adds links of the path through which the elephant flow passes into a link monitoring table;
3) the SDN controller periodically checks the load condition of each link in the link monitoring table, when the load of a certain link exceeds a set threshold value, one elephant flow on the link is selected and rescheduled to other paths, and meanwhile, the link monitoring table is updated; when the transmission of the elephant flow is finished, deleting the link of the elephant flow from the link monitoring table; and when each detection period is finished, dynamically adjusting the detection period according to the load condition of each link in the current link monitoring table.
In step 1), a method that a sending end identifies a data stream is adopted to distinguish a mouse stream from an elephant stream, when the accumulated storage amount in a cache when the sending end sends the data stream exceeds a set threshold value, a TOS field of a data stream packet header of the data stream is set to be 1 to indicate that the data stream is the elephant stream, otherwise, the TOS field is set to be 0 to indicate that the data stream is the mouse stream; and the switch forwards and sends a default flow table, when the data flow with the TOS field of 0 is matched, the data flow is forwarded by adopting an equal-cost multi-path ECMP algorithm, and when the data flow with the TOS field of 1 is matched, the data flow is encapsulated into a Packet _ in message and is reported to the SDN controller.
In step 2), the method for averagely allocating the residual bandwidth by the maximum path specifically comprises the following steps:
2.1) the SDN controller sets a counter for each link through a link counting table, and the counter is used for storing the number of elephant streams newly added between two detection periods of each link;
2.2) the SDN controller calculates k shortest paths between the source address and the destination address of the elephant flow, and records P ═ P1,P2,...,PkK shortest paths can be calculated in advance when the network is initialized, and k can be set to be half of the number of all equivalent paths between the source address and the destination address so as to reduce the searching and calculating time; for each shortest path PiThe SDN network system consists of n links, and P is calculated according to the state information of each port of the switch collected by the SDN controlleriThe remaining bandwidth of each uplink is denoted as free _ bandwidthi={free_bandwidthi1,free_bandwidthi2,...,free_bandwidthinWherein, free _ bandwidthijIs path PiThe remaining bandwidth size on the j-th link, i ═ 1,2, …, k, j ═ 1,2, …, n;
2.3) for each shortest Path PiThe number of elephant streams on each link is recorded as the elementary _ numberi={elephant_numberi1,elephant_numberi2,...,elephant_numberinWhere, elepthnat _ numberijIs path PiThe j link is newly added with the number of elephants between two detection periods, i is 1,2, …, k, j is 1,2, …, n;
2.4) for each shortest Path PiCalculating the average residual bandwidth size which can be allocated to each newly added elephant flow on each link, taking the average residual bandwidth size as the average allocable residual bandwidth of the link, and recording the average residual bandwidth size as equal _ bandwidthijWherein, in the step (A),equal_bandwidthijis path PiThe average of the j-th link can allocate the residual bandwidth, i is 1,2, …, k, j is 1,2, …, n;
2.5) for each shortest Path PiSelecting the link with the smallest average allocable residual bandwidth on the path as the average allocable residual bandwidth of the path, and marking as equivalent _ bandwidthiWherein, the equivalent _ bandwidthi=min(equal_bandwidthi1,equal_bandwidthi2,...,equal_bandwidthin},equal_bandwidthiIs path PiI ═ 1,2, …, k;
2.6) selecting the path with the maximum path average allocable residual bandwidth in the k shortest paths as the transmission path of the elephant flow:
choose_path=max(equal_bandwidth1,equal_bandwidth2,...,equal_bandwidthk}
simultaneously adding the link of the path of the elephant flow into a link monitoring table, updating the information in the link monitoring table, and adding 1 to the number of the elephant flows on the corresponding link in a link counting table;
2.7) when the next detection period comes, the residual bandwidth information of each link can be updated, and at the moment, the number of the elephant streams on each link in the link counting table is reset to 0; in the next detection period, if the elephant flow is received, repeating the steps of 2.1) -2.6) to select a path for the elephant flow.
Referring to fig. 3, it is assumed that five switches a, B, C, D, and E exist in a network, where the size of the remaining link bandwidth between a- > B is 70Mbps, B- > C is 60Mbps, a- > D is 40Mbps, D- > E is 60Mbps, and the detection cycle of the SDN controller on the link state is 5 s; if only the link residual bandwidth is used as an evaluation index, when a path is selected, a path with the maximum residual bandwidth is selected as a transmission path of the elephant flow, and the elephant flow path is selected according to the following steps:
1) initially, when a first elephant Flow1 enters the network, there are two paths that can transmit, a- > B- > C and a- > D- > E, denoted as path 1 and path 2;
2) for the path 1, since the residual bandwidth of the link a- > B is 70Mbps, and the residual bandwidth of the link B- > C is 60Mbps, the maximum residual bandwidth of the path can be calculated to be min (70Mbps,60Mbps) which is 60Mbps, and similarly, the maximum residual bandwidth of the path 2 can be calculated to be 40Mbps, and since 60Mbps >40Mbps, the large video stream is forwarded along the path 1;
3) if after 3s, the second elephant Flow2 enters the network, and path 1 or path 2 can be selected for transmission, but because the next detection period has not yet arrived, the size of the residual bandwidth on the link has not been updated in time, so that the link residual bandwidths of a- > B and B- > C used for calculation are still 70Mbps and 60Mbps, and the elephant Flow also selects path 1 with larger path residual bandwidth for forwarding; since two elephant flows are simultaneously allocated to path 1, link bandwidths contend for each other, thereby causing a reduction in the throughput of the network and increasing the likelihood of occurrence of link congestion for path 1.
Referring to fig. 4 and 5, if the path is selected by using the maximum path average allocable residual bandwidth method, the step of selecting the elephant flow path is as follows:
1) the link counting table is shown in fig. 5, and records the number of the elephant streams newly added to each link between two detection periods, and assuming that a new round of detection period just starts, the number of the newly added elephant streams on each link is 0 at this time; initially, when a first elephant Flow1 enters the network, there are two paths that can transmit, a- > B- > C and a- > D- > E, denoted as path 1 and path 2;
2) for the path 1, the path comprises two links A- > B and B- > C, the bandwidth of the residual link A- > B is 70Mbps, the number of the newly added elephants is 0, the bandwidth of the residual link B- > C is 60Mbps, and the number of the newly added elephants is 0; if the elephant Flow1 is allocated to the path, the average remaining bandwidth that can be allocated to each elephant Flow on a- > B is 70Mbps/(0+1) 70Mbps, and the average remaining bandwidth that can be allocated to each elephant Flow on B- > C is 60Mbps/(0+1) 60Mbps, so for path 1, the average allocable remaining bandwidth on the path is min (70Mbps,60Mbps) 60Mbps, similarly, the average allocable remaining bandwidth of path 2 is min (40Mbps,60Mbps) 40Mbps, and since 60Mbps >40Mbps, the first elephant Flow1 will be transmitted along path 1, and at the same time, the number of newly added elephants flows on links a- > B and B- > C is added by 1;
3) if after 3s, the second elephant Flow2 enters the network, and at this time, because the next detection period is not reached yet, the link state is not updated yet, so the size of the remaining link bandwidth of a- > B for calculation is 70Mbps, the size of the remaining link bandwidth of B- > C is 60Mbps, but the number of newly-increased elephants on a- > B and B- > C is 1; if the elephant Flow2 is allocated to the path 1 for transmission, two elephant flows exist on a- > B and B- > C, the average remaining bandwidth size that each elephant Flow can allocate on a- > B is 70Mbps/(1+1) ═ 35Mbps, and B- > C is 60Mbps/(1+1) ═ 30Mbps, so the average allocable remaining bandwidth size min (35Mbps,30M) of the path 1 is 30Mbps, the average allocable remaining bandwidth size of the path 2 is min (40Mbps,60Mbps) ═ 40Mbps, and since 40Mbps >30Mbps, the second elephant Flow2 will be transmitted along the path 2, at this time, the number of newly added elephants flows on a- > D and D- > E is added by 1; if the bandwidth information of each link can be updated when the next detection period comes, resetting the newly increased number of the elephants of all the links to 0; since the two elephant flows are transmitted along different paths, the problem of link congestion resulting from assigning both elephant flows to path 1 is avoided.
Referring to fig. 6, after a path is allocated to an elephant flow, all links passing through the elephant flow path are added to a link monitoring table, if a link passing through the elephant flow already exists in the monitoring table, only the corresponding link is found, and the source IP address and the destination IP address information of the elephant flow are added, and if the link passing through the elephant flow does not exist in the monitoring table, the link and the source IP address and the destination IP address information of the elephant flow need to be added.
In step 3), the link monitoring table mainly records the monitored link and the source IP address and the destination IP address of the elephant flow passing through the link; the SDN controller periodically checks the links in the link monitoring table; firstly, judging whether only one elephant flow exists on the link, if only one elephant flow exists, skipping the check of the link, otherwise, executing the following steps to check the link load:
3.1) the SDN controller calculates the Load of the current check link according to the collected statistical information of the switch portsi,Wherein, LoadiIndicating the load situation on the ith monitoring link, BiIndicates the occupied bandwidth size on the ith monitoring link, CiRepresenting the maximum bandwidth size on the ith monitoring link; when Load is loadediWhen the current link is more than or equal to Th, the link is overloaded, wherein Th is a fixed threshold value which is defined in advance;
3.2) when the link to be checked is overloaded, checking the elephant flow information passing through the link in the link monitoring table, carrying out bandwidth evaluation on each elephant flow, selecting an elephant flow occupying the largest bandwidth, reselecting a new path for the elephant flow according to the method in the step 2), and updating the link monitoring table;
3.3) when the transmission of the elephant flow is finished, the switch sends flow table deleting information to the SDN controller due to the flow table expiration mechanism of the switch, the SDN controller obtains the original path information of the elephant flow, and the corresponding link information on the path is deleted from the link monitoring table.
In step 3), when each detection period is finished, the SDN controller dynamically adjusts the detection period according to the load condition of each link in the link monitoring table, and the specific process is as follows:
first, upon network initialization, the SDN controller sets the minimum detection period to tminThe maximum detection period is set to tmaxAnd according to the detection period t ═ tminPeriodically checking the load condition of each link in the link monitoring table at the time interval; in three continuous detection periods, if each link in the link monitoring table is not overloaded, the current detection period is carried outLinearly increasing, setting the current detection period toWherein, tFront sideFor the detection interval of the last detection period,for a linear increase of the factor t cannot exceed the maximum detection period tmaxAfter the setting is successful, carrying out periodic detection on the link monitoring table according to a new detection period; in any detection period, if the link in the link monitoring table is overloaded, setting the current detection period to t-tminAnd increasing the detection frequency of the link monitoring table, and periodically detecting the link monitoring table according to a new detection period.
The above-mentioned embodiments are only preferred embodiments of the present invention, and the scope of the present invention is not limited thereby; it should be noted that modifications and embellishments within the scope of the invention may be made by those skilled in the art without departing from the principle of the invention.
Claims (4)
1. An elephant flow path monitoring and scheduling method based on an SDN data center network is characterized by comprising the following steps:
1) when a sending end sends a data stream, a mouse stream and an elephant stream are identified, when a switch receives a data Packet, if the data Packet is the mouse stream, the data Packet is forwarded by adopting an equal-cost multipath ECMP algorithm, and if the data Packet is the elephant stream, the data Packet is packaged into a Packet _ in message and reported to an SDN controller;
2) the SDN controller calculates k shortest paths between a source address and a destination address of the elephant flow according to existing network topology information, evaluates each path by adopting a maximum path average assignable residual bandwidth method, selects an optimal path for the elephant flow to transmit, and meanwhile adds links of the path through which the elephant flow passes into a link monitoring table; the k shortest paths can be calculated in advance when the network is initialized, and k is set to be half of the number of all equivalent paths between a source address and a destination address so as to reduce searching and calculating time;
the method for averagely allocating the residual bandwidth by the maximum path comprises the following specific steps:
2.1) the SDN controller sets a counter for each link through a link counting table, and the counter is used for storing the number of elephant streams newly added between two detection periods of each link;
2.2) the SDN controller calculates k shortest paths between the source address and the destination address of the elephant flow, and records P ═ P1,P2,...,Pk}; for each shortest path PiThe SDN network system consists of n links, and P is calculated according to the state information of each port of the switch collected by the SDN controlleriThe remaining bandwidth of each uplink is denoted as free _ bandwidthi={free_bandwidthi1,free_bandwidthi2,...,free_bandwidthinWherein, free _ bandwidthijIs path PiThe remaining bandwidth size on the j-th link, i ═ 1,2, …, k, j ═ 1,2, …, n;
2.3) for each shortest Path PiThe number of elephant streams on each link is recorded as the elementary _ numberi={elephant_numberi1,elephant_numberi2,...,elephant_numberinWhere, elepthnat _ numberijIs path PiThe j link is newly added with the number of elephants between two detection periods, i is 1,2, …, k, j is 1,2, …, n;
2.4) for each shortest Path PiCalculating the average residual bandwidth size which can be allocated to each newly added elephant flow on each link, taking the average residual bandwidth size as the average allocable residual bandwidth of the link, and recording the average residual bandwidth size as equal _ bandwidthijWherein, in the step (A),equal_bandwidthijis path PiThe average of the j-th link can allocate the residual bandwidth, i is 1,2, …, k, j is 1,2, …, n;
2.5) for each shortest Path PiSelecting the path having the smallest average distributable residualThe link of the bandwidth is the average allocable residual bandwidth of the path and is marked as equivalent _ bandwidthiWherein, the equivalent _ bandwidthi=min{equal_bandwidthi1,equal_bandwidthi2,...,equal_bandwidthin},equal_bandwidthiIs path PiI ═ 1,2, …, k;
2.6) selecting the path with the maximum path average allocable residual bandwidth in the k shortest paths as the transmission path of the elephant flow:
choose_path=max{equal_bandwidth1,equal_bandwidth2,...,equal_bandwidthk}
simultaneously adding the link of the path of the elephant flow into a link monitoring table, updating the information in the link monitoring table, and adding 1 to the number of the elephant flows on the corresponding link in a link counting table;
2.7) when the next detection period comes, the residual bandwidth information of each link can be updated, and at the moment, the number of the elephant streams on each link in the link counting table is reset to 0; in the next detection period, if the elephant flow is received, repeating the steps 2.1) -2.6) to select a path for the elephant flow;
3) the SDN controller periodically checks the load condition of each link in the link monitoring table, when the load of a certain link exceeds a set threshold value, one elephant flow on the link is selected and rescheduled to other paths, and meanwhile, the link monitoring table is updated; when the transmission of the elephant flow is finished, deleting the link of the elephant flow from the link monitoring table; and when each detection period is finished, dynamically adjusting the detection period according to the load condition of each link in the current link monitoring table.
2. The elephant flow path monitoring and scheduling method based on the SDN data center network as claimed in claim 1, wherein: in step 1), a method that a sending end identifies a data stream is adopted to distinguish a mouse stream from an elephant stream, when the accumulated storage amount in a cache when the sending end sends the data stream exceeds a set threshold value, a TOS field of a data stream packet header of the data stream is set to be 1 to indicate that the data stream is the elephant stream, otherwise, the TOS field is set to be 0 to indicate that the data stream is the mouse stream; and the switch forwards and sends a default flow table, when the data flow with the TOS field of 0 is matched, the data flow is forwarded by adopting an equal-cost multi-path ECMP algorithm, and when the data flow with the TOS field of 1 is matched, the data flow is encapsulated into a Packet _ in message and is reported to the SDN controller.
3. The elephant flow path monitoring and scheduling method based on the SDN data center network as claimed in claim 1, wherein: in step 3), the link monitoring table mainly records the monitored link and the source IP address and the destination IP address of the elephant flow passing through the link; the SDN controller periodically checks the links in the link monitoring table; firstly, judging whether only one elephant flow exists on the link, if only one elephant flow exists, skipping the check of the link, otherwise, executing the following steps to check the link load:
3.1) the SDN controller calculates the Load of the current check link according to the collected statistical information of the switch portsi,Wherein, LoadiIndicating the load situation on the ith monitoring link, BiIndicates the occupied bandwidth size on the ith monitoring link, CiRepresenting the maximum bandwidth size on the ith monitoring link; when Load is loadediWhen the current link is more than or equal to Th, the link is overloaded, wherein Th is a fixed threshold value which is defined in advance;
3.2) when the link to be checked is overloaded, checking the elephant flow information passing through the link in the link monitoring table, carrying out bandwidth evaluation on each elephant flow, selecting an elephant flow occupying the largest bandwidth, reselecting a new path for the elephant flow according to the method in the step 2), and updating the link monitoring table;
3.3) when the transmission of the elephant flow is finished, the switch sends flow table deleting information to the SDN controller due to the flow table expiration mechanism of the switch, the SDN controller obtains the original path information of the elephant flow, and the corresponding link information on the path is deleted from the link monitoring table.
4. The elephant flow path monitoring and scheduling method based on the SDN data center network as recited in claim 1, wherein in step 3), each time a detection period ends, the SDN controller dynamically adjusts the detection period according to a load condition of each link in the link monitoring table, and the specific process is as follows:
first, upon network initialization, the SDN controller sets the minimum detection period to tminThe maximum detection period is set to tmaxAnd according to the detection period t ═ tminPeriodically checking the load condition of each link in the link monitoring table at the time interval; in three continuous detection periods, if each link in the link monitoring table is not overloaded, the current detection period is increased linearly and is set to beWherein, tFront sideFor the detection interval of the last detection period,for a linear increase of the factor t cannot exceed the maximum detection period tmaxAfter the setting is successful, carrying out periodic detection on the link monitoring table according to a new detection period; in any detection period, if the link in the link monitoring table is overloaded, setting the current detection period to t-tminAnd increasing the detection frequency of the link monitoring table, and periodically detecting the link monitoring table according to a new detection period.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911139617.0A CN110932989B (en) | 2019-11-20 | 2019-11-20 | Elephant flow path monitoring and scheduling method based on SDN data center network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911139617.0A CN110932989B (en) | 2019-11-20 | 2019-11-20 | Elephant flow path monitoring and scheduling method based on SDN data center network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110932989A CN110932989A (en) | 2020-03-27 |
CN110932989B true CN110932989B (en) | 2021-09-21 |
Family
ID=69850368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911139617.0A Active CN110932989B (en) | 2019-11-20 | 2019-11-20 | Elephant flow path monitoring and scheduling method based on SDN data center network |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110932989B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654418A (en) * | 2020-06-11 | 2020-09-11 | 中国人民解放军军事科学院军事科学信息研究中心 | Self-adaptive real-time detection method for available bandwidth of wireless network |
CN111698122A (en) * | 2020-06-12 | 2020-09-22 | 南京北星极网络科技有限公司 | Network topology discovery method based on SDN |
CN112187639B (en) * | 2020-08-31 | 2021-11-19 | 西安交通大学 | Method and system for generating data packet path code based on stream attribute |
CN112260959A (en) * | 2020-09-02 | 2021-01-22 | 中电积至(海南)信息技术有限公司 | Method for realizing load balance of SDN (software defined network) of cloud data center |
CN112615798B (en) * | 2020-11-25 | 2022-05-17 | 华南师范大学 | Bandwidth allocation method and device based on elephant flow reservation |
CN113794638B (en) * | 2021-08-24 | 2022-10-14 | 内蒙古农业大学 | SDN data center network elephant flow scheduling method based on differential evolution algorithm |
CN115378876B (en) * | 2022-07-29 | 2023-05-30 | 南京邮电大学 | Data center network load balancing method in SDN environment |
CN115277574B (en) * | 2022-09-27 | 2023-02-03 | 南京邮电大学 | Data center network load balancing method under SDN architecture |
CN116248578A (en) * | 2022-12-21 | 2023-06-09 | 重庆邮电大学 | Flow scheduling method for comprehensive link load and bandwidth fragmentation in software defined network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227481B (en) * | 2015-09-02 | 2018-10-12 | 重庆邮电大学 | SDN congestion control method for routing based on path cost and stream scheduling cost minimization |
CN106209669B (en) * | 2016-06-30 | 2019-06-07 | 中国人民解放军国防科学技术大学 | Towards SDN data center network maximum probability path stream scheduling method and device |
US20180176153A1 (en) * | 2016-12-15 | 2018-06-21 | NoFutzNetworks Inc. | Method of Load-Balanced Traffic Assignment Using a Centrally-Controlled Switch |
CN109547340B (en) * | 2018-12-28 | 2020-05-19 | 西安电子科技大学 | SDN data center network congestion control method based on rerouting |
-
2019
- 2019-11-20 CN CN201911139617.0A patent/CN110932989B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN110932989A (en) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110932989B (en) | Elephant flow path monitoring and scheduling method based on SDN data center network | |
US10129043B2 (en) | Apparatus and method for network flow scheduling | |
US9191331B2 (en) | Delay-based traffic rate control in networks with central controllers | |
KR102104047B1 (en) | Congestion control in packet data networking | |
US7929440B2 (en) | Systems and methods for capacity planning using classified traffic | |
US8699348B2 (en) | Methods and apparatus to control traffic in a packet-switched network | |
CN109547341B (en) | Load sharing method and system for link aggregation | |
US8537669B2 (en) | Priority queue level optimization for a network flow | |
CN106533960A (en) | Data center network routing method based on Fat-Tree structure | |
US20120087377A1 (en) | Methods and apparatus for hierarchical routing in communication networks | |
CN109818881B (en) | CDN bandwidth scheduling method, acquisition and scheduling server and storage medium | |
EP2869506B1 (en) | Congestion avoidance and fairness in data networks with multiple traffic sources | |
US10341224B2 (en) | Layer-3 flow control information routing system | |
CN113225253B (en) | Message forwarding method and device | |
CN110351187A (en) | Data center network Road diameter switches the adaptive load-balancing method of granularity | |
US8149694B2 (en) | Enforcing fairness in ad hoc mesh networks | |
CN107995121B (en) | Method for counting flow in software defined network based on wildcard | |
Wang et al. | An ACO-based elephant and mice flow scheduling system in SDN | |
CN113055301A (en) | Congestion control method and related equipment | |
CN110324255B (en) | Data center network coding oriented switch/router cache queue management method | |
US11463370B2 (en) | Scalable deterministic services in packet networks | |
Isravel et al. | Preferential multi-attribute rank based forwarding node selection in software defined networks | |
CN108737286B (en) | Method for calculating global congestion price | |
CN115174480A (en) | Load balancing method, device, equipment and readable storage medium | |
Wang et al. | Towards Intelligent Flow Scheduling in Software Defined Data Center Networking |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |