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 PDF

Info

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
Application number
CN201911139617.0A
Other languages
Chinese (zh)
Other versions
CN110932989A (en
Inventor
董守玲
黄冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201911139617.0A priority Critical patent/CN110932989B/en
Publication of CN110932989A publication Critical patent/CN110932989A/en
Application granted granted Critical
Publication of CN110932989B publication Critical patent/CN110932989B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput

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

Elephant flow path monitoring and scheduling method based on SDN data center network
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),
Figure BDA0002280560090000041
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
Figure BDA0002280560090000042
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 be
Figure BDA0002280560090000051
Wherein, tFront sideFor the detection interval of the last detection period,
Figure BDA0002280560090000052
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),
Figure BDA0002280560090000081
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
Figure BDA0002280560090000111
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 to
Figure BDA0002280560090000121
Wherein, tFront sideFor the detection interval of the last detection period,
Figure BDA0002280560090000122
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),
Figure FDA0003023730060000021
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
Figure FDA0003023730060000031
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 be
Figure FDA0003023730060000041
Wherein, tFront sideFor the detection interval of the last detection period,
Figure FDA0003023730060000042
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.
CN201911139617.0A 2019-11-20 2019-11-20 Elephant flow path monitoring and scheduling method based on SDN data center network Active CN110932989B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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