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 PDF

Info

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
Application number
CN201510063448.2A
Other languages
Chinese (zh)
Other versions
CN105991456A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201510063448.2A priority Critical patent/CN105991456B/en
Publication of CN105991456A publication Critical patent/CN105991456A/en
Application granted granted Critical
Publication of CN105991456B publication Critical patent/CN105991456B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

A kind of OpenFlow interchanger, network system and bandwidth sharing method
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
CN201510063448.2A 2015-02-06 2015-02-06 A kind of OpenFlow interchanger, network system and bandwidth sharing method Active CN105991456B (en)

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)

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

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

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