Summary of the invention
The invention provides a kind of network management, network management system, the network switch and communication network of supporting elephant stream, when elephant stream being detected, utilize the offered load in path and the weight that network topology structure is calculated the respective path of supporting elephant stream, and form corresponding transmitting, the network switch can be distributed according to weight according to the flow of transmitting elephant stream, has guaranteed the performance of network.
The invention provides a kind of network management of supporting elephant stream, the method comprises:
When the elephant in network being detected is flowed, extract source address and the destination address of elephant stream, obtain a plurality of paths between source address and destination address, utilize the offered load in described path and the weight that network topology structure is calculated the respective path of supporting that elephant is flowed;
Transmitting of network management system generating network switch, and will transmit and be sent to the network switch, described transmitting comprises the weight of respective path and the operational order of the network switch of supporting elephant stream, described in carrying out for the network switch, transmit, the flow of elephant stream is distributed according to the weight in path.
Preferably, described stream table comprises destination address and corresponding action fields, and described action fields is pointed to respectively a group table; Described group of table comprises respectively a plurality of action items, and described action items comprises respectively the weight in path and the operational order of the network switch.
Preferably, the method also comprises: generate LLDP message and be regularly issued to the network switch; Receive the LLDP message that the network switch is uploaded, by the LLDP message receiving, obtain network topology structure; The statistics of the periodic polling network switch, to obtain the load of the network switch and the load of network link.
Preferably, the described offered load in described path and the weight that network topology structure is calculated the respective path of supporting elephant stream utilized, comprising:
Obtain the set that represents all available paths between source address and destination address, the number that makes described path is I; To each path i(0≤i≤I-1) the following operation of execution:
The number that makes it subpath comprising is J
i; Making the number of the link that subpath j comprises is K
ji(0≤j≤J
i-1); Make λ
kji(0≤k≤K
ji-1) be the load of link k; Make c
kji(0≤k≤K
ji-1) be the capacity of link k;
Calculate the link utilization of each link:
lU
kjilink utilization for link k;
The weight of calculating path:
w
i∈ 0,1 ..., 9} is the weight of path i.
The present invention also provides a kind of network management system, and described network management system comprises:
Elephant flow path computing unit, for when the elephant stream of network being detected, extract source address and the destination address of elephant stream, obtain a plurality of paths between source address and destination address, utilize the offered load in described path and the weight that network topology structure is calculated the respective path of supporting elephant stream;
Path management unit, for transmitting of generating network switch, and will transmit and be sent to the network switch, described transmitting comprises the weight of respective path and the operational order of the network switch of supporting elephant stream, described in carrying out for the network switch, transmit, the flow of elephant stream, according to the weight distribution in path, preferably, is distributed to next-hop network node corresponding to described path.
Preferably, described network management system also comprises: network topology unit, for generating LLDP message and being regularly issued to the network switch, and receive the LLDP message that the network switch is uploaded, and by the LLDP message receiving, obtain network topology structure; Offered load monitoring means, for the statistics of the periodic polling network switch, to obtain the load of the network switch and the load of network link.
Preferably, described elephant flow path computing unit, for utilizing the weight of offered load and the network topology structure calculating path in described path;
Wherein, described elephant flow path computing unit, for obtaining the set that represents all available paths between source address and destination address, the number that makes described path is I; Described elephant flow path computing unit, is further used for each path i(0≤i≤I-1) carry out following operation, with the weight of calculating path:
The number that makes it subpath comprising is J
i; Making the number of the link that subpath j comprises is K
ji(0≤j≤J
i-1); The load that makes link k is λ
kji(0≤k≤K
ji-1); The capacity that makes link k is c
kji(0≤k≤K
ji-1);
Calculate the link utilization of each link:
lU
kjilink utilization for link k;
The weight of calculating path:
w
i∈ 0,1 ..., 9} is the weight of path i.
The present invention also provides a kind of network switch, comprising: elephant stream reports unit, for choosing from the data flow receiving, is labeled as the data flow of elephant stream and selected data flow is reported to network management system; Retransmission unit, for receiving and carry out transmitting of network management system transmission, according to the weight distribution in transmitting, preferably, is distributed to next-hop network node corresponding to path by the flow of elephant stream.
The present invention also provides a kind of communication network, comprising: network management system as above; And signal is connected in the network switch as above of described network management system.
The beneficial effect of the embodiment of the present invention is: by according to the load information in each path of network, calculate the weight of the respective path of supporting elephant stream, then switch, according to the weight in each path by the traffic distribution of elephant stream, can improve network performance.By detecting elephant stream and carrying out the processing of the weight of calculating path for elephant stream, for mouse stream, use basic routing algorithm, can when improving network performance, control resource overhead.
Embodiment
For making the object, technical solutions and advantages of the present invention clearer, below in conjunction with accompanying drawing, embodiment of the present invention is described further in detail.
Technical conceive of the present invention is mainly, supports the weight (load light path weight value higher) of the respective path of elephant stream by calculating, and elephant stream can be distributed according to the load of network path.The path weight value light due to load is high, and the flow therefore flowing to the elephant of the light path distribution of load is large, thereby reaches load balancing and the technique effect that improves the overall performance of network.
Fig. 1 is a kind of flow chart of supporting the network management of elephant stream of one embodiment of the invention.As shown in Figure 1, the method comprises the following steps:
When S100, the stream of the elephant in network being detected, extract source address and the destination address of elephant stream, obtain a plurality of paths between source address and destination address, utilize the offered load in described path and the weight that network topology structure is calculated the respective path of supporting elephant stream.
Transmitting of S200, generating network switch, and will transmit and be sent to the network switch, described transmitting comprises the weight of respective path and the operational order of the network switch of supporting elephant stream, described in carrying out for the network switch, transmit, the flow of elephant stream is distributed according to the weight in path, preferably, the flow of elephant stream is distributed to next-hop network node corresponding to described path according to the weight in path.
By calculating, support the weight of the respective path of elephant stream, generation comprise support the weight of respective path of elephant stream and the operational order of the network switch transmit and be sent to switch, make the switch can be according to transmitting elephant stream according to the load distribution of network path.Owing to transmitting the operational order that comprises the network switch, so the network switch can be determined next-hop network node corresponding to path (switch or all the other network equipments) and data flow is sent to this network node according to operational order; And owing to transmitting the weight that comprises the respective path of supporting elephant stream, so the network switch can be according to the weight distribution elephant stream in path.Preferably, the flow of the elephant of distribution stream is directly proportional to weight.
Further, because accounting for the very large and above-mentioned offered load in described path and the weight that network topology structure is calculated each path utilized of the ratio of network traffics, the mouse stream in network needs certain calculation resources expense, if adopt said method of the present invention to process easily to cause resource overhead excessive for mouse stream is same.Therefore the present invention does not carry out aforesaid operations for mouse stream.Preferably, for mouse stream, use the mode of equal cost multipath (ECMP) to carry out multipath route.
Further, the method for the elephant stream in Sampling network can have multiple, for example, at network edge switch, detect also mark etc.
Further, the method also comprises: generate LLDP(Link Layer Discovery Protocol, Link Layer Discovery Protocol) message be regularly issued to the network switch; Receive the LLDP message that the network switch is uploaded, by the LLDP message receiving, obtain network topology structure.Particularly, every a predetermined time out period, will call maker function, during each calls, network management device generates LLDP message, and LLDP message is sent to the network switch of its management, the network switch that receives LLDP message forwards the packet to the adjacent network switch, and the network switch that receives the LLDP message being forwarded by all the other network switchs is uploaded to network management device by this LLDP message.Network management device is inferred link level connection by the LLDP message receiving, and then obtains network topology structure.Preferably, network topology structure is stored in an adjacency list, and network topology structure can be expressed as connected graph G=(V, E), wherein V is the set of node, E is the set of directed edge.
Further, the method also comprises: the statistics of the periodic polling network switch, and to obtain the load of the network switch and the load of network link.Particularly, can inquire about termly, consolidate and store the statistics of all switches, these data, can be used in the load of switch and the load of link of calculating communication network, and then for the calculating of elephant flow path.Preferably, from network on all switch, the statistical information of collecting based on each table, each stream and each port, is stored in internal memory with the form of snapshot object.Each snapshot is usingd a time series number as sign, and it increases 1 after each time interval, thereby can identify the network condition of special time.In order to save memory space, only have 2 nearest snapshots to be maintained in internal memory.
In the present embodiment, the described offered load in described path and the weight that network topology structure is calculated the respective path of supporting elephant stream utilized, is used following weighting routing algorithm, specifically comprises:
Obtain the set that represents all available paths between source address and destination address, the number that makes described path is I, particularly, the data flow that is marked as elephant stream that can detect from switch, obtain source address and the destination address of data flow, and then use various network topologies algorithm to obtain available path.Further, to each path i(0≤i≤I-1) the following operation of execution:
The number that makes it subpath comprising is J
i; Making the number of the link that subpath j comprises is K
ji(0≤j≤J
i-1); Make λ
kji(0≤k≤K
ji-1) be the load of link k; Make c
kji(0≤k≤K
ji-1) be the capacity of link k.
So, can by following formula (1), calculate the link utilization of each link, wherein, LU
kjilink utilization for link k.
Can be by the weight of following formula (2) calculating path, wherein, w
i∈ 0,1 ..., 9} is the weight of path i.
In the present embodiment, the assignment of traffic ratio of the respective path of the support elephant stream flowing out from some switches, is directly proportional to the weight in described path.For example, the path of the elephant stream of support flowing out from some switches has four, and weight is respectively 4,6,7,3, the flow of elephant stream is distributed according to 20%, 30%, 35%, 15% ratio.
In the present embodiment, the path load that weight is high is light, the path load weight that weight is low, the flow flowing due to the elephant of distribution is directly proportional to weight, if be the flow that elephant stream is not distributed in 0 Ze Duigai path, path so there is weight, all the other paths are according to the flow of the ratio distribution elephant stream being directly proportional to weight.For example, suppose to exist four paths, weight is respectively 0,2,3,5, the flow of elephant stream is distributed according to 0,20%, 30%, 50% ratio, certainly, in the present embodiment, also can directly get rid of weight and be 0 path (consulting the Exclude the overutilized path in false code), make not utilize the path of load too high to forward the flow of elephant stream, thereby the performance in the path of load too high is improved faster.
The path weight value light due to load is high, and the flow therefore flowing to the elephant of the light path distribution of load is large, thereby reaches load balancing, has improved the overall performance of network.
For weighting routing algorithm of the present invention is described better, provide the false code of weighting routing algorithm, false code is as follows.
Fig. 2 is the detailed view of transmitting of the present invention.Described transmitting comprises stream table (Flow Table) and group table (Group Table).
Described stream table (Flow Table) comprises destination address (IP Dst) and corresponding action fields (Instructions), and described action fields is pointed to respectively a group table, particularly, by group Table I D(Group ID) group table of sensing.
Described group of table (Group Table) comprises respectively a plurality of action items (Action Buckets), and described action items comprises respectively the weight (Weight) in path and the operational order (Action) of the network switch.
More specifically, the present embodiment is shown by stream and being used in conjunction with of group table, to support multipath route.Multipath route is to realize by the action fields in stream table is pointed to a group table.Each group table is comprised of a set of group of set of actions, and each group set of actions comprises a set of by the action being applied in the data flow that the match is successful.Each set has a weight field, and it has defined by this gathers the share that handled flow accounts for whole group of flow that table is processed.Action fields in the stream table of the elephant stream that each is detected can be pointed to a group table.Group table comprises set of actions, and each set is relevant to a paths, and elephant stream can arrive destination address via these paths.
Fig. 3 is the structured flowchart of a kind of communication network of one embodiment of the invention.Communication network comprises network management system 3, a plurality of network switch 2, only schematically shows a network switch 2 among Fig. 3, and Practical Project is not as limit.
Fig. 4 is the structured flowchart of a kind of network switch of one embodiment of the invention.The network switch 2, comprises that elephant stream reports unit 21 and retransmission unit 22.
Elephant stream reports unit 21, for choosing from the data flow receiving, is labeled as the data flow of elephant stream and selected data flow is reported to network management system 3.Particularly, be by selecting elephant stream packets (Marked Packets) and selected elephant stream packets being reported to network management system 3, for network management system 3 according to packet and the weight of calculating path.In the present embodiment, the unmarked packet (Unmarked Packets as shown in the figure) for elephant stream and the packet that to be labeled as elephant stream packets (Marked Packets as shown in the figure) be the network switch 2 receives from the network terminal or remaining network switch 2.
Retransmission unit 22, for receiving and carry out transmitting of network management system 3 transmissions, the flow of elephant stream is distributed according to the weight in transmitting (Weight), preferably, be distributed to next-hop network node corresponding to described path (such as the network switch or the network terminal or the core network device etc. of down hop).Preferably, for mouse stream, use the mode of equal cost multipath (ECMP) to carry out multipath route.
Fig. 5 is the structured flowchart of a kind of network management system of one embodiment of the invention.Network management system 3 comprises elephant flow path computing unit 31 and path management unit 32.
Elephant flow path computing unit 31, when the elephant in network being detected is flowed, the source address and the destination address that extract elephant stream, obtain a plurality of paths between source address and destination address, utilizes the offered load in described path and the weight that network topology structure is calculated the respective path of supporting elephant stream.
Path management unit 32, for transmitting of generating network switch, and will transmit and be sent to the network switch, described transmitting comprises the weight of respective path and the operational order of the network switch of supporting elephant stream, described in carrying out for the network switch, transmit, the flow of elephant stream, according to the weight distribution in path, preferably, is distributed to next-hop network node corresponding to described path.
The present invention is by the weight of elephant flow path computing unit 31 calculating paths, path management unit 32 generate comprise the weight in path and the operational order of the network switch transmit and be sent to the network switch 2, make the network switch 2 can be according to transmitting elephant stream according to the load distribution of network path.Owing to transmitting the operational order that comprises the network switch, so the network switch 2 can be determined next-hop network node corresponding to path (switch or all the other network equipments) and data flow is sent to this network node according to operational order; And owing to transmitting the weight that comprises path, so the network switch 2 can distribute elephant stream according to weight, the data volume of distribution is directly proportional to weight.
Further, because the mouse stream in network accounts for the very large and above-mentioned offered load in described path and the weight that network topology structure is calculated each path utilized of the ratio of network traffics, need certain calculation resources expense, if carry out above-mentioned processing by elephant flow path computing unit 31 equally for mouse stream, easily cause resource overhead excessive.Therefore the present invention does not carry out the operation of above-mentioned calculating weight by elephant flow path computing unit 31 for mouse stream, preferably, for mouse stream, uses the mode of equal cost multipath (ECMP) to carry out multipath route.
The network management system 3 of the present embodiment is not provided for the device of the elephant stream in Sampling network.It will be understood by a person skilled in the art that, in all the other embodiment, network management system 3 can be set up the device for detection of the elephant stream in network.
Further, network management system 3 also comprises network topology unit 33 and offered load monitoring means 34.
Network topology unit 33, network topology unit, be used for generating LLDP message (Link Layer Discovery Protocol, Link Layer Discovery Protocol) be also regularly issued to the network switch, and receive the LLDP message that the network switch is uploaded, by the LLDP message receiving, obtain network topology structure.Particularly, every a predetermined time out period network topology unit 33, will call maker function, during each calls, network topology unit 33 generates LLDP message, and LLDP message is sent to the network switch 2 of its management, the network switch 2 is sent to the adjacent network switch 2 by LLDP message, and the network switch 2 that receives the LLDP message being forwarded by all the other network switchs 2 is uploaded to network topology unit 33 by this LLDP message.Link level connection is inferred by the LLDP message receiving in network topology unit 33, and then obtains network topology structure.Preferably, network topology structure is stored in an adjacency list, and network topology structure can be expressed as connected graph G=(V, E), wherein V is the set of node, E is the set of directed edge.
Offered load monitoring means 34, for the statistics of the periodic polling network switch, to obtain the load of the network switch and the load of network link.Particularly, the statistics of all network switchs 2 can be inquired about, consolidates and be stored to offered load monitoring means 34 termly, these data, can be used in the load of the network switch 2 and the load of link of calculating communication network, and then for the calculating of elephant flow path.Preferably, from network on all network switch 2, the statistical information of collecting based on each table, each stream and each port, is stored in internal memory with the form of snapshot object.Each snapshot is usingd a time series number as sign, and it increases 1 after each time interval, thereby can identify the network condition of special time.In order to save memory space, only have 2 nearest snapshots to be maintained in internal memory.
In the present embodiment, elephant flow path computing unit 31, utilizes the offered load in path and the weight that network topology structure is calculated the respective path of supporting elephant stream, comprising:
Obtain the set that represents all available paths between source address and destination address, the number that makes described path is I, particularly, can be from being marked as the packet (Marked Packets as shown in Figure 3) of elephant stream to obtain source address and the destination address of data flow, and then use various network topologies algorithm to obtain available path.Further, to each path i(0≤i≤I-1) carry out following operation, with the weight of calculating path:
The number that makes it subpath comprising is Ji; Making the number of the link that subpath j comprises is K
ji(0≤j≤J
i-1); Make λ
kji(0≤k≤K
ji-1) be the load of link k; Make c
kji(0≤k≤K
ji-1) be the capacity of link k.
So, can by following formula (1), calculate the link utilization of each link, wherein, LU
kjilink utilization for link k.
Can be by the weight of following formula (2) calculating path, wherein, w
i∈ 0,1 ..., 9} is the weight of path i.
In the present embodiment, through the calculating of elephant flow path computing unit 31, the assignment of traffic ratio of the respective path of the support elephant of flowing out from some switches stream, is directly proportional to the weight in described path.For example, the path of the elephant stream of support flowing out from some switches has four, and weight is respectively 4,6,7,3, the flow of elephant stream is distributed according to 20%, 30%, 35%, 15% ratio.
The path weight value light due to load is high, and the flow therefore flowing to the elephant of the light path distribution of load is large, thereby reaches load balancing, has improved the overall performance of network.
Known from the above mentioned, in the present embodiment, network switch 2(for example, OpenFlow switch) elephant stream report unit 21 by the package forward being labeled to network management system 3.The elephant flow path computing unit 31 of network management system 3 receives after packet, source address and the destination address of data flow will be extracted, then by consultation network topology unit 33, to obtain the topology information between source host and destination host, and calculate all possible shortest path according to these information.Once after all shortest paths are calculated, the statistical information being provided by offered load monitoring means 34 will be used to calculate the load in each path.Then elephant flow path computing unit 31 is by according to the loading condition in current each path, use weighting multi-path routing algorithms, calculate the weight of each path candidate, and the path and the weight information thereof that after calculating, obtain are passed to path management unit 32, the stream entry of being responsible for these paths to convert to network of relation switch 2 by it, is finally issued on the network switch 2.
Fig. 6 (a) is for being used the schematic diagram of a kind of application scenarios of equal cost multipath routing algorithm.The schematic diagram of a kind of application scenarios that Fig. 6 (b) is one embodiment of the invention.Fig. 6 (a) and Fig. 6 (b) have described an application scenarios of data center, and two servers that are arranged in Pod1 transmit two elephant streams to same destination Pod4 simultaneously, and transfer rate is respectively 500Mbps and 300Mbps.This communication pattern is very common in data center, and for example distributed large data handling utility will produce this communication pattern.Suppose port one in core layer network switch 1 treated large batch stream, port utilization ratio has reached 80%, and the port one of the network switch 2 is in light condition, port utilization ratio only has 40%.If adopt equal cost multipath routing algorithm (ECMP), may there is Hash collision and finally all move towards the port one in the very high network switch of load 1 in the large stream that these two speed are large, life period is long.Suppose that link bandwidth is 1Gbps, after the polymerization of two elephant stream, required speed is 800Mbps, and it has surpassed the residual available bandwidth (200Mbps) of the network switch 1 port one.So now will occur congestedly, the service quality that causes producing the application of this elephant stream declines.In this example, if use scheme disclosed by the invention, these two elephant streams just can all reach their required transmission rates.Because the port one of core layer switch 1 can only transmit extra 200Mbps at most, this even can not meet the elephant stream (required speed is 300Mbps) that bandwidth requirement is less.Therefore, best forwarding scheme is, at the network switch AGG1 place of network polymerization layer, two elephants are flowed to polymerization, then the elephant stream of polymerization is cut apart to the port one place of the port one and the switch 2 that are forwarded to core layer switch 1 according to the ratio being inversely proportional to link load, for example, the flow rate of two link transmission is respectively 200Mbps, 600Mbps.Solve like this congestion problems, improved network utilization, can not produce infringement to producing the service quality of the application of elephant stream.
Fig. 7 is for being used the present invention and the contrast schematic diagram that uses the network delay of prior art.
In the present embodiment, use OpenFlow network simulator mininet to build a test environment, topological structure is as shown in Fig. 6 (a), Fig. 6 (b), the network switch is all the OpenFlow switch based on software, its use be Openflow agreement 1.3 editions, the network management of the support elephant stream of this embodiment, especially weighting routing algorithm operates on NOX controller.Meanwhile, equal cost multipath (ECMP) routing algorithm and single path routing algorithm on NOX controller, have been realized in contrast.
Further, simulation produces the flow rate mode that an elephant is flowed and mouse stream coexists.Each data flow is comprised of the sequence of data packet that has identical TCP five-tuple (source IP, source port, object IP address, destination interface, protocol type).The destination address of data flow is evenly distributed in network.Flow rate mode meets Poisson distribution, obtains the test result as shown in Fig. 7, Fig. 8, Fig. 9.
The transverse axis of Fig. 7 is that offered load (unit the is Mbps) longitudinal axis is time delay (unit is microsecond), and the ratio (for example, proportion is 95.6%-99.2%) that the present embodiment can account for by increasing the raw flow of elephant miscarriage all flows increases overall load.Along with the increase of offered load, use the time delay of single path route because serious data flow collision increases very fast.On the contrary, use ECMP and use weighting routing algorithm delay of control just occur the decline of performance in the situation that load is very high effectively.When elephant stream ratio is enough high, use the time delay of ECMP also to start to increase substantially, and add, use the time delay of weighting routing algorithm still to show well, be better than the time delay of using ECMP to obtain.
Fig. 8 is for being used the present invention and the contrast schematic diagram that uses the network throughput of prior art.The transverse axis of Fig. 8 is that offered load (unit the is Mbps) longitudinal axis is throughput (unit is Mbps), uses single path route and uses ECMP to reach rapidly bottleneck, because occur when network in after focus that mass data is coated with, is blocked in network.Use weighting routing algorithm to compare and use ECMP throughput to improve about 10%.
Fig. 9 is for being used the present invention and the contrast schematic diagram that uses the link utilization of prior art.The transverse axis of Fig. 9 is that offered load (unit the is Mbps) longitudinal axis is link utilization.When offered load reaches 100%, using the average link utilance of single path route is 70%, and using the average link utilance of ECMP is 84%, and use the average link utilance of weighting routing algorithm, is 92%.
The foregoing is only preferred embodiment of the present invention, be not intended to limit protection scope of the present invention.All any modifications of doing within the spirit and principles in the present invention, be equal to replacement, improvement etc., be all included in protection scope of the present invention.