CN105991456B - A kind of OpenFlow interchanger, network system and bandwidth sharing method - Google Patents
A kind of OpenFlow interchanger, network system and bandwidth sharing method Download PDFInfo
- Publication number
- CN105991456B CN105991456B CN201510063448.2A CN201510063448A CN105991456B CN 105991456 B CN105991456 B CN 105991456B CN 201510063448 A CN201510063448 A CN 201510063448A CN 105991456 B CN105991456 B CN 105991456B
- Authority
- CN
- China
- Prior art keywords
- flow
- host
- crosspoint
- flow table
- forwarding
- 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
Abstract
The invention discloses a kind of OpenFlow interchanger, network system and bandwidth sharing methods.Between user network and egress gateways, OpenFlow interchanger is concatenated, which includes: crosspoint and control unit;When the port flow D for judging crosspoint is more than preset flow threshold values D0When, control unit calculates the average flow rate of each host and the flow summation that should be abandoned, the packet byte quantity for needing to abandon is calculated for the host beyond average flow rate in proportion, and issues flow table modification message to crosspoint, the operation of flow table is revised as discarding movement;Wherein, the ratio is the ratio that host forwarding number accounts for the flow summation that abandon according to the difference of size and average flow rate;The port flow is downlink port flow or uplink port flow.The present invention is realized when congestion occurs for network, Internet user's Fairshare network bandwidth.
Description
Technical field
The present invention relates to data communication field, in particular to a kind of OpenFlow interchanger, network system and bandwidth sharing
Method.
Background technique
Existing network causes network congestion processing method to be usually to select random packet loss skill multiple users share network bandwidth
Art, since part excess user occupies a large amount of network bandwidths, cause regardless of bandwidth traffic size (such as Web, P2P downloading, view
Frequently, mail etc.) can all it cause using operation slowly, the user experience for causing normal users to be applied especially with low bandwidth
(such as Web) is poor.For example, congestion often occurs in Intranet, cause certain customers' networking speed slow, bandwidth can not be moved
State Fairshare.
Software defined network (Software Defined Network, SDN) is a kind of new network of Emulex network innovation framework, core
Heart technology is to be separated network equipment control plane with data surface by agreements such as OpenFlow (open flows), is controlled using SDN
Device programmable software processed realizes the flexible management and control to network.
Summary of the invention
The technical problem that the present invention solves is: when congestion occurs for network, Internet user is unable to Fairshare network
Bandwidth.
According to the first aspect of the invention, a kind of OpenFlow interchanger is provided, comprising: crosspoint, for being based on
Flow table forwards the data of each host;Control unit, for being more than preset flow as the port flow D for judging the crosspoint
Threshold values D0When, the average flow rate of each host and the flow summation that should be abandoned are calculated, for exceeding the host of the average flow rate
The packet byte quantity for needing to abandon is calculated in proportion, and issues flow table modification message to the crosspoint;Wherein, the ratio
The ratio of the flow summation that abandon is accounted for according to the difference of size and the average flow rate for host forwarding number;The port
Flow is downlink port flow or uplink port flow.
Further, described control unit includes: acquisition module, for every setting time t0Read the port of crosspoint
Flow D.
Further, described control unit includes: computing module, for calculating the survival for obtaining the discarding movement of the flow table
Time ti, and by the time-to-live tiIt is issued to the crosspoint.
Further, described control unit further include: flow table modified module, for that will be flowed accordingly according to modification triggering message
The operation of table is revised as normal forwarding state by discarding movement;Wherein, the crosspoint reaches phase in the time for abandoning flow
The time-to-live t answerediWhen, the modification, which is sent, to described control unit triggers message.
Further, the computing module, which calculates, obtains the packet byte quantity dd that each host needs to abandoniIt is corresponding with each host
Flow table forwarding rate vi, and calculate the corresponding time-to-live and beWherein, the flow table modified module is by ddi>0
Host corresponding to flow table operation be revised as abandoning.
Further, the uplink port flow table quantity m for obtaining module and reading the crosspoint;The computing module meter
It calculates and obtains the forwarding size of data f that acquisition module described in host number reads corresponding each host from each flow tablei;
The computing module calculates the sum of each host forwarding size of data and average flow rate statistics is each
Data are forwarded to be greater than average flow rate f in hostmFlow, be denoted as (fb1, fb2... ..., fbq), wherein q >=1 and be integer;It calculates
The sum of described forwarding size of data is more than the flow D of flow threshold valuesC=f-D0, packet byte quantity that the flow summation and each host that should be abandoned described in calculating need to abandon and
It calculates and obtains the corresponding flow table forwarding rate v of each hostiFor
According to the second aspect of the invention, a kind of network system is provided, comprising: OpenFlow interchanger as previously described.
According to the third aspect of the invention we, a kind of bandwidth sharing method is provided, comprising: when the port for judging crosspoint
Flow D is more than preset flow threshold values D0When, the average flow rate of each host and the flow summation that should be abandoned are calculated, for exceeding
The host of the average flow rate calculates the packet byte quantity for needing to abandon in proportion, and modifies flow table;And based on modified
Flow table forwards data;Wherein, the ratio be host forwarding number according to the difference of size and the average flow rate account for described in should lose
The ratio of the flow summation of abandoning;The port flow is downlink port flow or uplink port flow.
It further, is more than preset flow threshold values D in the port flow D for judging crosspoint0Before, further includes: every
Setting time t0Read the port flow D of crosspoint.
Further, further includes: calculate the time-to-live t for obtaining the discarding movement of the flow tablei, and by the time-to-live
tiIt is issued to the crosspoint.
Further, further includes: be revised as the operation of corresponding flow table normally by discarding movement according to modification triggering message
Forwarding state;Wherein, the crosspoint reaches corresponding time-to-live t in the time for abandoning flowiWhen, send the modification
Trigger message.
Further, the time-to-live t for obtaining the discarding movement of the flow table is calculatediThe step of include: to calculate to obtain each master
Machine needs the packet byte quantity dd abandonediFlow table forwarding rate v corresponding with each hosti, and calculate the corresponding time-to-live and beWherein, by ddiThe operation of flow table corresponding to > 0 host is revised as abandoning.
Further, the step of calculating the average flow rate of each host includes: the uplink port flow table for reading the crosspoint
Quantity m calculates the forwarding size of data f for obtaining host number and reading corresponding each host from each flow tablei;
Calculate the sum of each host forwarding size of dataAnd average flow rate
Further, it calculates and obtains the packet byte quantity dd that each host needs to abandoniFlow table forwarding speed corresponding with each host
Rate viThe step of include: in each host of statistics forwarding data be greater than average flow rate fmFlow, be denoted as (fb1, fb2... ..., fbq),
Wherein q >=1 and be integer;Calculate the flow D that the sum of described forwarding size of data is more than flow threshold valuesC=f-D0, answer described in calculating
The packet byte quantity and calculate the corresponding flow table forwarding rate v of each host of acquisition that the flow summation of the discarding and each host need to abandoniFor
In the present invention, between user network and egress gateways, OpenFlow interchanger, the OpenFlow interchanger are concatenated
It include: crosspoint and control unit;When port flow (such as downlink port flow or the uplink port for judging crosspoint
Flow) D is more than preset flow threshold values D0When, control unit calculate each host average flow rate and the flow that should be abandoned it is total
With the packet byte quantity that abandons of needs is calculated in proportion for the host beyond average flow rate, and issue flow table to crosspoint
Message is modified, the operation of flow table is revised as discarding movement;Wherein, the ratio is host forwarding number according to size and average flow rate
Difference account for the ratio of the flow summation that abandon.The present invention is realized when congestion occurs for network, and Internet user's justice is total
Enjoy network bandwidth.
Further, when congestion occurs for network, the present invention can not waste network bandwidth, not influence major part normally
Under user's price bidding, for abnormal user flow scheduling, limitation appropriate is carried out to the flow of excess user, guarantees Netowrk tape
Wide makes full use of, to dynamically realize Internet user's Fairshare network bandwidth.
By referring to the drawings to the detailed description of exemplary embodiment of the present invention, other feature of the invention and its
Advantage will become apparent.
Detailed description of the invention
The attached drawing for constituting part of specification describes the embodiment of the present invention, and together with the description for solving
Release the principle of the present invention.
The present invention can be more clearly understood according to following detailed description referring to attached drawing, in which:
Fig. 1 is the network connection schematic diagram for showing OpenFlow interchanger according to some embodiments of the invention.
Fig. 2 is the OpenFlow protocol architecture figure shown according to some embodiments of the invention.
Fig. 3 is the structural schematic diagram for showing control unit according to some embodiments of the invention.
Fig. 4 is the flow chart for showing bandwidth sharing method according to some embodiments of the invention.
Fig. 5 is the flow chart for showing the bandwidth sharing method of other embodiments according to the present invention.
Specific embodiment
Carry out the various exemplary embodiments of detailed description of the present invention now with reference to attached drawing.It should also be noted that unless in addition having
Body explanation, the unlimited system of component and the positioned opposite of step, numerical expression and the numerical value otherwise illustrated in these embodiments is originally
The range of invention.
Simultaneously, it should be appreciated that for ease of description, the size of various pieces shown in attached drawing is not according to reality
Proportionate relationship draw.
Be to the description only actually of at least one exemplary embodiment below it is illustrative, never as to the present invention
And its application or any restrictions used.
Technology, method and apparatus known to person of ordinary skill in the relevant may be not discussed in detail, but suitable
In the case of, the technology, method and apparatus should be considered as authorizing part of specification.
It is shown here and discuss all examples in, any occurrence should be construed as merely illustratively, without
It is as limitation.Therefore, the other examples of exemplary embodiment can have different values.
It should also be noted that similar label and letter indicate similar terms in following attached drawing, therefore, once a certain Xiang Yi
It is defined in a attached drawing, then in subsequent attached drawing does not need that it is further discussed.
Fig. 1 is the network connection schematic diagram for showing OpenFlow interchanger according to some embodiments of the invention.Such as Fig. 1 institute
Show, OpenFlow interchanger 100 includes: crosspoint 102 and control unit 101;Crosspoint 102 is used to forward based on flow table
The data of each host;Control unit 101, which is used to work as, judges that the port flow D of crosspoint is more than preset flow threshold values D0When,
The average flow rate of each host and the flow summation that should be abandoned are calculated, needs are calculated in proportion for the host beyond average flow rate
The packet byte quantity of discarding, and flow table modification message is issued to crosspoint;Wherein, the ratio is host forwarding number according to size
The ratio for the flow summation that abandon is accounted for the difference of average flow rate;The port flow is downlink port flow or uplink
Port flow.
In this embodiment it is possible between user network and egress gateways (such as egress gateways of enterprise network), concatenation
OpenFlow interchanger, when the downlink port flow or uplink port flow for judging crosspoint are more than preset flow threshold values
D0When, control unit calculates the average flow rate of each host and the flow summation that should be abandoned, for exceeding the host of average flow rate
The packet byte quantity for needing to abandon is calculated in proportion, and issues flow table modification message to crosspoint, and the operation of flow table is modified
It is acted for discarding, so that crosspoint abandons flow in proportion, to can not waste Netowrk tape when congestion occurs for network
Width does not influence under most of normal users price bidding, for abnormal user flow scheduling, fits to the flow of excess user
When limitation, what is guaranteed network bandwidth makes full use of, thus dynamically realize Internet user's Fairshare network bandwidth.
Certainly, it will be understood by those skilled in the art that OpenFlow interchanger can be the interchanger of physics, it is also possible to
Virtual interchanger.If it is virtual switch, then need virtual switch OVS (Open vSwitch, open virtual switch
Standard) and the bandwidth sharing module realized based on SDN controller programming interface be installed on computer, and the computer band
There are two network interface card (or two logic interfacings of a network interface card).
Fig. 2 is the OpenFlow protocol architecture figure shown according to some embodiments of the invention.Wherein, " controller " in Fig. 2
It is similar with " control unit " in Fig. 1.As shown in Fig. 2, each stream entry includes three in each flow table of Openflow agreement
Part: (1) match (i.e. header field) is matched, comprising: inbound port (ingress port), packet header (packet header) and preceding
The metadata (metadata) that one flow table (flow table) passes over;(2) counter (counter), for matching
Successfully packet is counted;(3) (instruction) is operated, for modifying at behavior aggregate (action set) or assembly line
It manages (pipeline processing).OpenFlow specification in point out, each flow table, stream entry, port, queue, group and
Bucket (accumulation body) can have counter.Operational order includes: using movement (apply-action), empties movement
(clear-action), it writes movement (write-action), write metadata (write metadata) and go to action
(goto), in addition to this, operational order further include: abandon (Drop) movement.
For example, as shown in Figure 1, it is assumed that the host 1 in local area network requests external network server data, wherein Port1 and Port2
It is two ports of OpenFlow interchanger.Data in local area network are inputted by Port1, are exported from Port2, in order to guarantee local
The normal of host data sends and receives in netting, and control unit (such as SDN controller) needs to issue flow table to crosspoint.Stream
The data structure of table can be with reference to shown in Fig. 2.
Under normal circumstances, it when some host 1 sends data in local area network, is inputted by OpenFlow interchanger Port1, from
Port2 output, flow table are as shown in table 1.
The flow table example one of 1 OpenFlow interchanger of table
When the data traffic of host 1 is excessive, arrived by control unit issuing message FLOW_MOD (flow table modification message)
Crosspoint is revised as the operation of flow table to abandon (i.e. Drop), modified flow table such as 2 institute of table to modify the operation of flow table
Show.After modification, the data that host 1 is sent will be dropped.
The flow table example two of 2 OpenFlow interchanger of table
In this embodiment, the operation of the flow table of crosspoint is revised as abandoning by control unit, by data traffic
The data that excessive host is sent abandon, to reduce the flow of the host, realize that the flow progress to excess user is appropriate
Limitation, what is guaranteed network bandwidth makes full use of, to dynamically realize Internet user's Fairshare network bandwidth.
Fig. 3 is the structural schematic diagram for showing control unit according to some embodiments of the invention.Wherein, control unit 30 with
Control unit 101 in Fig. 1 is similar.
In an embodiment of the present invention, control unit 30 includes: to obtain module 301;Wherein, module 301 is obtained for every
Every setting time t0Read the port flow D (such as downlink port flow or uplink port flow) of crosspoint.At one
It in embodiment, is provided in a control unit timer (being not shown in Fig. 3), setting time interval t0, control unit is every setting
Fix time t0The port flow D (such as flow of port Port2) for reading crosspoint, for example, control unit can pass through
GetPort () method obtains port flow.For example, control unit is when calling getPort (), sending port type first is asked
Ask message STATS_Request to crosspoint, crosspoint returns to STATS_REPLY data packet, and control unit is from return
Data packet extract counter Counter, due to Counter can reside in each flow table, stream entry, port, queue, group and
In bucket, port Counter can be with the uninterrupted of read port, to obtain downlink port flow or uplink port stream
Amount.
In an embodiment of the present invention, control unit (on or) after row port flow, compares under this (on or) under acquisition
The size of row port flow and flow threshold values.Row port flow is less than flow threshold values (on or) under if, obtains module and continues often
Every setting time t0Row port flow (on or) under reading;Row port flow is greater than flow threshold values (on or) under if, is flowed
Amount control.
In an embodiment of the present invention, control unit 30 includes: computing module 302;Wherein, computing module is obtained for calculating
Obtain time-to-live (lifetime) t of the discarding movement of flow tablei, and by time-to-live tiIt is issued to crosspoint.
Since control unit is after being revised as discarding for the operation of crosspoint, the data that corresponding host is sent will be lost
It abandons, but after bandwidth shared by the flow of the host meets the requirements, which can be acted and be revised as normal forwarding state, therefore
Discarding movement needs certain time-to-live.Therefore, it " abandons " here and refers to sending and receiving within time-to-live host
Data are zero, i.e., flow is zero.In this embodiment, in a period of time (ti) in, the flow for being originated from or reaching the host is
Zero, until in tm(tm>ti, tmInclude ti) data are down to average value in the time, the bandwidth for guaranteeing that each host occupies is relatively average, respectively
Host energy justice uses network bandwidth.
In an embodiment of the present invention, control unit 30 further include: flow table modified module 303;The flow table modified module is used
Normal forwarding state is revised as in acting the operation of corresponding flow table by discarding according to modification triggering message;Wherein, exchange is single
Member reaches corresponding time-to-live t in the time for abandoning flowiWhen, modification triggering message is sent to control unit, to restore
Forwarding to the data of respective host.Certainly, the operation of flow table can also be revised as discarding movement by flow table modified module, or
It is revised as other movements.
In an embodiment of the present invention, computing module, which can calculate, obtains the packet byte quantity dd that each host needs to abandoni
Flow table forwarding rate v corresponding with each hosti, and calculate the corresponding time-to-live and beWherein, flow table modified module
By ddiThe operation of flow table corresponding to > 0 host is revised as abandoning.
In this embodiment, the packet byte quantity dd that control unit needs to abandon by calculating each hostiWith each host pair
The flow table forwarding rate v answeredi, and then calculate and obtain the time-to-live;Wherein, control unit is by excess traffic ddi> 0 host institute is right
The flow table operation answered is revised as abandoning, and for ddiThe corresponding flow table operation of≤0 host does not make an amendment, i.e. ddi≤ 0 host
Data will normally forward.
In an embodiment of the present invention, the uplink port flow table quantity m that module reads crosspoint is obtained;Computing module meter
It calculates and obtains host numberObtain the forwarding size of data f that module reads corresponding each host from each flow tablei(such as
The forwarding size of data of downlink flow table);Computing module calculates the sum of each host forwarding size of dataAnd it is flat
Equal flowCounting in each host forwards data to be greater than average flow rate fmFlow, be denoted as (fb1, fb2... ..., fbq),
Wherein q >=1 and be integer;Calculate the flow D that the sum of forwarding size of data is more than flow threshold valuesC=f-D0, what calculating should abandon
Flow summationThe packet byte quantity for needing to abandon with each hostAnd it calculates and obtains the corresponding flow table forwarding rate v of each hostiForSo as to
To calculate time-to-live ti。
Since major applications all have request/response, the transmission of network data could be completed and connect by needing 2 flow tables
It receives, the flow of these applications accounts for major part in a network, although there may be unidirectional flow table records, due to unidirectional flow table
It is few using the flow occupied, such as the data packet of broadcast nature, therefore can pass throughHost number n is obtained to calculate,
Wherein m is uplink port flow table quantity, and certainly, the host number n being at this moment calculated is approximation.
In one embodiment, control unit can read the uplink port flow table number of crosspoint by getFlow ()
M is measured, for example, control unit exists as shown in Figure 1, host in the input port of OpenFlow interchanger is Port1 in local area network
When calling getFlow (), then it is single to exchange to send flow table type requests message STATS_Request for designated port title
Member, then crosspoint returns to flow table type STATS_REPLY data packet, and control unit extracts counter from the data packet of return
Counter, due to pointing out in OpenFlow specification, each flow table, stream entry, port, queue, group and bucket can have
There is Counter, flow table Counter can be with the flow table number of read port, so as to read the uplink port for obtaining crosspoint
Flow table quantity.
In another embodiment, control unit can determine host number according to the IP address quantity in net.Due to hair
Flow table record matching field source address toward outer net is (transmission) host address, and destination address is then usually wildcard (i.e. outer net
Arbitrary address);Receiving the flow table record matching field source address from outer net then is usually wildcard, and destination address is then (to connect
Receive) host address.Control unit issues and records corresponding flow table record, and can determine that this two records are for one accordingly
Host, therefore control unit can be according to the IP address found in how many nets, it can how many host determined.
In one embodiment, control unit can read the forwarding number of host in each flow table using getByte ()
According to size fi.For example, as shown in Figure 1, host in the input port of OpenFlow interchanger is Port1 in local area network, control
Unit specifies flow table number when calling getByte (), then sends data type request message STATS_Request to friendship
Unit is changed, crosspoint returns to STATS_REPLY data packet, and control unit extracts counter Counter from the data packet of return,
Due to pointing out in OpenFlow specification, each flow table, stream entry, port, queue, group and bucket be can have
Counter, flow table Counter can read size of data, therefore control unit can use getByte () reading host
Forward size of data fi。
In an embodiment of the present invention, user accesses outer net, and first packet can send to control unit (such as controller) and touch
Hair request, control unit correspondingly configure the normal access that 2 flow tables realize user in crosspoint, there is n use accordingly
Then there is 2n forwarding flow table record at family.Control unit inquires port flow by get order in a manner of timing (can be second grade)
Amount statistics then further obtains all users by get order and corresponds to flow table record when port flow is more than flow threshold values
Traffic statistics situation, and the packet byte quantity for needing to abandon in proportion is calculated the user beyond average dose, it can make total
Bandwidth drops to flow threshold values hereinafter, further conversing the corresponding time just, and records to flow table corresponding in crosspoint
It modifies, is acted and be revised as abandoning, the time-to-live is set as the time value accordingly calculated.When reaching the time-to-live, hand over
It changes unit and issues message to control unit, trigger control unit makes control unit be revised as normally turning again by the operation of flow table
Hair, so as to ensure user's dynamically Fairshare bandwidth.In this embodiment, by automatically processing exception stream in network
Amount, inhibits the improper flow for leading to network congestion, and equilibrium assignment network flow guarantees Internet user's Fairshare Netowrk tape
Width provides stable network service to optimize network bandwidth utilization factor, it is ensured that the user experience of normal users, to excess
User carries out inhibition appropriate.
The present invention also provides a kind of network system (such as shown in Figure 1), comprising: foregoing OpenFlow exchange
Machine.
Fig. 4 is the flow chart for showing bandwidth sharing method according to some embodiments of the invention.
In step S41, when the port flow D for judging crosspoint is more than preset flow threshold values D0When, calculate each host
Average flow rate and the flow summation that should abandon, the packet word that needs abandon is calculated in proportion for the host beyond average flow rate
Joint number amount, and modify flow table.Wherein, the ratio is that host forwarding number is accounted for according to the difference of size and average flow rate and be abandoned
The ratio of flow summation;The port flow is downlink port flow or uplink port flow.
In step S42, data are forwarded based on modified flow table.
In this embodiment, when the downlink port flow or uplink port flow for judging crosspoint are more than preset flow
Threshold values D0When, calculate each host average flow rate and the flow summation that should be abandoned, for beyond average flow rate host press than
Example calculates the packet byte quantity for needing to abandon, and modifies flow table, and forwards data based on modified flow table.Due to by flow table
Operation be revised as discarding movement, therefore OpenFlow interchanger based on modified flow table forwarding data when, lose in proportion
Abandoned stream amount, to can not waste network bandwidth when congestion occurs for network, not influence most of normal users price bidding
Under, for abnormal user flow scheduling, limitation appropriate, the abundant benefit to guarantee network bandwidth are carried out to the flow of excess user
With to dynamically realize Internet user's Fairshare network bandwidth.
It in an embodiment of the present invention, is more than preset flow threshold values D in the port flow D for judging crosspoint0Before,
Bandwidth sharing method further include: every setting time t0Read crosspoint port flow D (such as downlink port flow or
Uplink port flow).
In an embodiment of the present invention, under acquisition (on or) after row port flow, compare under this row port flow (on or)
The size of amount and flow threshold values.Row port flow is less than flow threshold values (on or) under if, continues every setting time t0It reads
Under row port flow (on or);Row port flow is greater than flow threshold values (on or) under if, carries out flow control.
In an embodiment of the present invention, bandwidth sharing method further include: when calculating the survival for the discarding movement for obtaining flow table
Between ti, and by time-to-live tiIt is issued to crosspoint.
In an embodiment of the present invention, bandwidth sharing method further include: message is triggered for corresponding flow table according to modification
Operation is revised as normal forwarding state by discarding movement;Wherein, crosspoint reaches corresponding survival in the time for abandoning flow
Time tiWhen, send modification triggering message.
In an embodiment of the present invention, the time-to-live t for obtaining the discarding movement of flow table is calculatediThe step of include: calculate
Obtain the packet byte quantity dd that each host needs to abandoniFlow table forwarding rate v corresponding with each hosti, and calculate corresponding survival
Time isWherein, by ddiThe operation of flow table corresponding to > 0 host is revised as abandoning.
In an embodiment of the present invention, the step of calculating the average flow rate of each host includes: the uplink for reading crosspoint
Port flow table quantity m calculates the forwarding number for obtaining host number and reading corresponding each host from each flow table
According to size fi(such as forwarding size of data of downlink flow table);Calculate the sum of each host forwarding size of data with
And average flow rate
In an embodiment of the present invention, it calculates and obtains the packet byte quantity dd that each host needs to abandoniIt is corresponding with each host
Flow table forwarding rate viThe step of include: in each host of statistics forwarding data be greater than average flow rate fmFlow, be denoted as (fb1,
fb2... ..., fbq), wherein q >=1 and be integer;Calculate the flow D that the sum of forwarding size of data is more than flow threshold valuesC=f-D0,
The packet byte quantity and calculate the corresponding flow table forwarding rate v of each host of acquisition that the flow summation and each host that calculating should abandon need to abandoniFor
Fig. 5 is the flow chart for showing the bandwidth sharing method of other embodiments according to the present invention.
In step S501, Internet user initiates online request.
In step S502, first packet trigger request to control unit, control unit issues flow table.The flow table is two-way flow table,
It is issued to crosspoint.
In step S503, timer is set.That is setting time t0。
In step S504, obtain crosspoint port flow (such as downlink port flow or uplink port flow).
In step S505, judge whether port flow (such as downlink port flow or uplink port flow) is greater than flow valve
Value.If it is, step enters S507, otherwise enter S506.
In step S506, crosspoint normally forwards data.
In step S507, follow the steps below:
(1) crosspoint uplink port flow table quantity m, calculating main frame quantity N=m/2 are read by getFlow ();
(2) the forwarding size of data for being read the downlink flow table of host using getByte () in every flow table is calculated all
The sum of forwarding size of data of downlink flow table of host and average flow rate;
(3) the downlink flow table forwarding number of host is counted according to the flow for being greater than average flow rate;
(4) flow of the downlink flow table forwarding number according to the sum of size more than flow threshold values is calculated;
(5) the excess traffic summation that each host should abandon is calculated, the packet byte number that each host needs to abandon then is calculated
It measures (abandoning the excess traffic of each host in proportion);
(6) the corresponding flow table forwarding rate v of each host is obtainedi, calculate the time t that each host abandons excess traffici。
It in OpenFlow switch configuration is that discarding acts by host corresponding to all excess traffics in step S508,
The time-to-live of the corresponding discarding movement of the host is time ti。
In step S509, abandons flow-time and reach time tiAfterwards, crosspoint sends modification triggering to control unit and disappears
Breath.
In step S510, the discarding movement of flow table is revised as normal forwarding state by control unit.
In this embodiment, user accesses outer net, and first packet can send trigger request to control unit (such as controller),
Control unit correspondingly configures the normal access that 2 flow tables realize user in crosspoint, has n user accordingly, then has
2n forwarding flow table record.Control unit inquires port flow statistics by get order in a manner of timing (can be second grade),
When port flow is more than flow threshold values, then the flow system that all users correspond to flow table record is further obtained by get order
Situation is counted, and calculates the user beyond average dose the packet byte quantity for needing to abandon in proportion, total bandwidth can be made proper
It drops to well under flow threshold values, further converses the corresponding time, and modify to flow table corresponding in crosspoint record,
It is acted and is revised as abandoning, the time-to-live is set as the time value accordingly calculated.When reaching the time-to-live, crosspoint is issued
For message to control unit, trigger control unit makes control unit be revised as normally forwarding again by the operation of flow table, so as to
Ensure user's dynamically Fairshare bandwidth.By automatically processing abnormal flow in network, inhibit to cause network congestion it is non-just
Normal flow, equilibrium assignment network flow guarantee Internet user's Fairshare network bandwidth, thus optimize network bandwidth utilization factor,
There is provided stable network service, it is ensured that the user experience of normal users carries out inhibition appropriate to the user of excess.
So far, the present invention is described in detail.In order to avoid covering design of the invention, it is public that this field institute is not described
The some details known.Those skilled in the art as described above, completely it can be appreciated how implementing technology disclosed herein
Scheme.
Method and system of the invention may be achieved in many ways.For example, can by software, hardware, firmware or
Software, hardware, firmware any combination realize method and system of the invention.The said sequence of the step of for the method
Merely to be illustrated, the step of method of the invention, is not limited to sequence described in detail above, special unless otherwise
It does not mentionlet alone bright.In addition, in some embodiments, also the present invention can be embodied as to record program in the recording medium, these programs
Including for realizing machine readable instructions according to the method for the present invention.Thus, the present invention also covers storage for executing basis
The recording medium of the program of method of the invention.
Although some specific embodiments of the invention are described in detail by example, the skill of this field
Art personnel it should be understood that above example merely to being illustrated, the range being not intended to be limiting of the invention.The skill of this field
Art personnel are it should be understood that can without departing from the scope and spirit of the present invention modify to above embodiments.This hair
Bright range is defined by the following claims.
Claims (12)
1. a kind of OpenFlow interchanger characterized by comprising
Crosspoint, for forwarding the data of each host based on flow table;
Control unit judges that the port flow D of the crosspoint is more than preset flow threshold values D for working as0When, calculate each master
The average flow rate of machine and the flow summation that should be abandoned calculate the host beyond the average flow rate in proportion and need to abandon
Packet byte quantity, and to the crosspoint issue flow table modification message;Wherein, the flow summation that should be abandoned is each
Data are forwarded to be greater than the summation of the flow of average flow rate and the difference of the average flow rate in host;
Wherein, the ratio be host forwarding number according to the difference of size and the average flow rate account for described in the flow that should abandon it is total
The ratio of sum;The port flow is downlink port flow or uplink port flow;
Described control unit includes: acquisition module, for every setting time t0Read the port flow D of crosspoint.
2. OpenFlow interchanger according to claim 1, which is characterized in that
Described control unit includes:
Computing module, for calculating the time-to-live t for obtaining the discarding movement of the flow tablei, and by the time-to-live tiIt issues
To the crosspoint.
3. OpenFlow interchanger according to claim 2, which is characterized in that
Described control unit further include:
Flow table modified module, for being revised as normally turning by discarding movement by the operation of corresponding flow table according to modification triggering message
Hair-like state;
Wherein, the crosspoint reaches corresponding time-to-live t in the time for abandoning flowiWhen, it is sent to described control unit
The modification triggers message.
4. OpenFlow interchanger according to claim 2, which is characterized in that
The computing module, which calculates, obtains the packet byte quantity dd that each host needs to abandoniFlow table forwarding speed corresponding with each host
Rate vi, and calculate the corresponding time-to-live and be
Wherein, the flow table modified module is by ddiThe operation of flow table corresponding to > 0 host is revised as abandoning.
5. OpenFlow interchanger according to claim 4, which is characterized in that
The uplink port flow table quantity m for obtaining module and reading the crosspoint;
The computing module, which calculates, obtains host number
The forwarding size of data f for obtaining module and reading corresponding each host from each flow tablei;
The computing module calculates the sum of each host forwarding size of dataAnd average flow rateSystem
Counting in each host forwards data to be greater than average flow rate fmFlow, be denoted as (fb1, fb2... ..., fbq), wherein q >=1 and be integer;
Calculate the flow D that the sum of described forwarding size of data is more than flow threshold valuesC=f-D0, the flow summation that should abandon described in calculatingThe packet byte quantity for needing to abandon with each hostAnd
It calculates and obtains the corresponding flow table forwarding rate v of each hostiFor
6. a kind of network system characterized by comprising the OpenFlow interchanger as described in claim 1 to 5 is any.
7. a kind of bandwidth sharing method characterized by comprising
When the port flow D for judging crosspoint is more than preset flow threshold values D0When, calculate each host average flow rate and should
The flow summation of discarding calculates the packet byte quantity for needing to abandon for the host beyond the average flow rate in proportion, and repairs
Change flow table;Wherein, the flow summation that should be abandoned be each host in forwarding data be greater than average flow rate flow with it is described
The summation of the difference of average flow rate;And
Data are forwarded based on modified flow table;
Wherein, the ratio be host forwarding number according to the difference of size and the average flow rate account for described in the flow that should abandon it is total
The ratio of sum;The port flow is downlink port flow or uplink port flow;
It is more than preset flow threshold values D in the port flow D for judging crosspoint0Before, the method also includes: every setting
Time t0Read the port flow D of crosspoint.
8. bandwidth sharing method according to claim 7, which is characterized in that further include:
Calculate the time-to-live t for obtaining the discarding movement of the flow tablei, and by the time-to-live tiIt is single to be issued to the exchange
Member.
9. bandwidth sharing method according to claim 8, which is characterized in that further include:
The operation of corresponding flow table is revised as normal forwarding state by discarding movement according to modification triggering message;
Wherein, the crosspoint reaches corresponding time-to-live t in the time for abandoning flowiWhen, it sends the modification triggering and disappears
Breath.
10. bandwidth sharing method according to claim 8, which is characterized in that calculate the discarding movement for obtaining the flow table
Time-to-live tiThe step of include:
It calculates and obtains the packet byte quantity dd that each host needs to abandoniFlow table forwarding rate v corresponding with each hosti, and calculate phase
The time-to-live answered is
Wherein, by ddiThe operation of flow table corresponding to > 0 host is revised as abandoning.
11. according to the bandwidth sharing method of claim 7 or 10, which is characterized in that calculate the step of the average flow rate of each host
Suddenly include:
The uplink port flow table quantity m of the crosspoint is read, calculates and obtains host numberAnd
The forwarding size of data f of corresponding each host is read from each flow tablei;Calculate the sum of each host forwarding size of dataAnd average flow rate
12. bandwidth sharing method according to claim 11, which is characterized in that calculate and obtain the packet word that each host needs to abandon
Joint number amount ddiFlow table forwarding rate v corresponding with each hostiThe step of include:
Counting in each host forwards data to be greater than average flow rate fmFlow, be denoted as (fb1, fb2... ..., fbq), wherein q >=1 and it is
Integer;Calculate the flow D that the sum of described forwarding size of data is more than flow threshold valuesC=f-D0, the flow that should abandon described in calculating
SummationThe packet byte quantity for needing to abandon with each host
And it calculates and obtains the corresponding flow table forwarding rate v of each hostiFor
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510063448.2A CN105991456B (en) | 2015-02-06 | 2015-02-06 | A kind of OpenFlow interchanger, network system and bandwidth sharing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510063448.2A CN105991456B (en) | 2015-02-06 | 2015-02-06 | A kind of OpenFlow interchanger, network system and bandwidth sharing method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105991456A CN105991456A (en) | 2016-10-05 |
CN105991456B true CN105991456B (en) | 2019-04-05 |
Family
ID=57037506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510063448.2A Active CN105991456B (en) | 2015-02-06 | 2015-02-06 | A kind of OpenFlow interchanger, network system and bandwidth sharing method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105991456B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395451B (en) * | 2017-06-19 | 2020-07-21 | 中国移动通信集团江苏有限公司 | Processing method, device and equipment for internet traffic abnormity and storage medium |
CN107995127B (en) * | 2017-12-13 | 2022-01-21 | 深圳乐信软件技术有限公司 | Overload protection method and device |
CN109981409B (en) * | 2019-03-26 | 2021-05-07 | 新华三技术有限公司 | Message forwarding method, device and forwarding equipment |
CN110601989A (en) * | 2019-09-24 | 2019-12-20 | 锐捷网络股份有限公司 | Network traffic balancing method and device |
CN113347107B (en) * | 2020-03-02 | 2022-10-14 | 中国移动通信集团浙江有限公司 | Flow scheduling method and device based on uplink message and computing equipment |
CN114900470B (en) * | 2022-06-17 | 2023-10-31 | 中国联合网络通信集团有限公司 | Flow control method, device, equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022960B (en) * | 2013-02-28 | 2017-05-31 | 新华三技术有限公司 | Method and apparatus based on OpenFlow protocol realizations PVLAN |
CN103428094B (en) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | Message forwarding method in open flows OpenFlow system and device |
CN104158753B (en) * | 2014-06-12 | 2017-10-24 | 南京工程学院 | Dynamic stream scheduling method and system based on software defined network |
CN104243240B (en) * | 2014-09-23 | 2017-05-24 | 电子科技大学 | SDN (self-defending network) flow measuring method based on Open Flow |
-
2015
- 2015-02-06 CN CN201510063448.2A patent/CN105991456B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN105991456A (en) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105991456B (en) | A kind of OpenFlow interchanger, network system and bandwidth sharing method | |
Noormohammadpour et al. | Datacenter traffic control: Understanding techniques and tradeoffs | |
Alizadeh et al. | CONGA: Distributed congestion-aware load balancing for datacenters | |
Wang et al. | Rethinking the data center networking: Architecture, network protocols, and resource sharing | |
CN104854831B (en) | The output queue of equipment based on input rank postpones behavior | |
Xu et al. | RepFlow: Minimizing flow completion times with replicated flows in data centers | |
Prakash et al. | The {TCP} outcast problem: exposing unfairness in data center networks | |
Hafeez et al. | Detection and mitigation of congestion in SDN enabled data center networks: A survey | |
EP3556066B1 (en) | Flow control in a virtualized communication network | |
TW201824827A (en) | Message mirroring method based on SDN and network flow monitoring management system | |
Medhat et al. | Near optimal service function path instantiation in a multi-datacenter environment | |
US10819583B2 (en) | Network device management method and apparatus | |
EP3310011A1 (en) | Load sharing method and related apparatus | |
US10389636B2 (en) | Technologies for adaptive routing using network traffic characterization | |
Hwang et al. | Deadline and incast aware TCP for cloud data center networks | |
Wang et al. | SDN-based multi-class QoS guarantee in inter-data center communications | |
Zahavi et al. | Distributed adaptive routing convergence to non-blocking DCN routing assignments | |
Wang et al. | Low complexity multi-resource fair queueing with bounded delay | |
Abdelmoniem et al. | Efficient switch-assisted congestion control for data centers: an implementation and evaluation | |
Salah et al. | Performance analysis and comparison of interrupt-handling schemes in gigabit networks | |
M. Abdelmoniem et al. | Reducing latency in multi-tenant data centers via cautious congestion watch | |
Li et al. | FleCube: A flexibly-connected architecture of data center networks on multi-port servers | |
Beckmann et al. | Pika: A network service for multikernel operating systems | |
Canali et al. | A computation-and network-aware energy optimization model for virtual machines allocation | |
Zhihua | Greencloud for simulating qos-based naas in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |