CN102694736A - Method and device for obtaining throughput rate - Google Patents

Method and device for obtaining throughput rate Download PDF

Info

Publication number
CN102694736A
CN102694736A CN2012101975940A CN201210197594A CN102694736A CN 102694736 A CN102694736 A CN 102694736A CN 2012101975940 A CN2012101975940 A CN 2012101975940A CN 201210197594 A CN201210197594 A CN 201210197594A CN 102694736 A CN102694736 A CN 102694736A
Authority
CN
China
Prior art keywords
cycle
packet loss
contract
project
message
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.)
Pending
Application number
CN2012101975940A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2012101975940A priority Critical patent/CN102694736A/en
Publication of CN102694736A publication Critical patent/CN102694736A/en
Priority to PCT/CN2013/070192 priority patent/WO2013185480A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to a method and device for obtaining a throughput rate. The method comprises the followings steps of: obtaining the quantity of messages sent by a transmission network in a plurality of packet losing periods; and obtaining total packet sending time of a packet sending period in the plurality of packet losing periods, wherein the ratio of the message quantity to the total packet sending time is the throughput rate of the transmission network in a current network state. The method for obtaining the throughput rate, which is provided by the invention, is used for calculating the throughput rate of the transmission network in an actual network environment, thereby avoiding a calculation method based on pure theoretical derivation and reducing the calculation error of the throughput rate.

Description

The acquisition methods of throughput and device
Technical field
The present invention relates to internet arena, refer more particularly to a kind of acquisition methods and device of throughput.
Background technology
In the process of transmitted data on network, usually need be to the efficiency of transmission of network, just the TCP throughput calculates.
Prior art provides a kind of RENO algorithm, and the transmission course of its application is as shown in Figure 1, and the longitudinal axis is represented congestion window CWND among Fig. 1, and transverse axis is round-trip delay RTT.Suppose that so packet loss is p at random, the message number of then in a packet loss practice, sending continuously is equivalent to 1/p.
In Fig. 1, the extreme congestion window of supposing TCP is W, and the initial congestion window of TCP is W/2 usually.Suppose that receiving terminal all confirms each message that receives, just send ACK.The congestion window of TCP transmitting terminal is each to increase by 1, and then each is taken turns the TCP congestion window and increases that to reach the required time of extreme congestion window W be W/2, just can reach TCP extreme congestion window through the RTT wheel.Take turns in the process at this, the message number that sends altogether is:
( W 2 ) 2 + 1 2 ( W 2 ) 2 = 3 8 W 2 - - - ( 1 )
After each is taken turns and packet loss occurs, the TCP congestion window will be reduced to W/2; Thereby each is taken turns the message that is sent and releases through packet loss is counter: 1/p (2) with 1 and 2 simultaneous, obtains:
W = 8 3 p - - - ( 3 )
Above-mentioned TCP congestion window formula substitution TCP throughput formula is derived:
BW = data per cycle time per cycle = MSS * 3 8 W 2 RTT * W 2 = MSS / p RTT 2 3 p - - - ( 4 )
Constant in the above-mentioned formula is reduced to variable, and promptly
Figure BDA00001769119500022
then above-mentioned TCP throughput formula abbreviation is as follows:
BW = MSS RTT C p
Respond plan and packet loss model according to different ACK, the C value is different.
This algorithm is that the basis is analyzed with the TCP congestion avoidance algorithm based on RENO, is a kind of rationalistic derivation mode, and in the network environment of reality, the factor that influences the TCP throughput is very many.How when calculating the TCP throughput, more influences of considering the real network environment are problems that the present invention need solve more.
Summary of the invention
The embodiment of the invention provides a kind of computational methods of throughput, to solve existing TCP throughput computational methods because of not considering the real network situation, the problem that the error that causes is bigger.
On the one hand, the embodiment of the invention provides a kind of acquisition methods of throughput, and this method comprises:
Obtain transmission network and send the message number of message in the cycle at a plurality of packet loss;
Obtain total duration of giving out a contract for a project in said the give out a contract for a project cycle of a plurality of packet loss in the cycle;
The ratio of said message number and said total duration of giving out a contract for a project is the throughput of said transmission network under current network state.
On the other hand, the embodiment of the invention provides a kind of deriving means of throughput, and this device comprises:
Message is counted acquiring unit, sends the message number of message in order to obtain transmission network in the cycle at a plurality of packet loss;
Total duration acquiring unit is in order to obtain total duration of giving out a contract for a project in said the give out a contract for a project cycle of a plurality of packet loss in the cycle;
The ratio acquiring unit is in order to obtain the ratio of said message number and said total duration of giving out a contract for a project, as the throughput of said transmission network under current network state.
The embodiment of the invention provides a kind of acquisition methods of throughput; Its whole transmission cycle to transmission network is divided a plurality of packet loss cycle according to the time point that the packet loss incident takes place; The characteristic of giving out a contract for a project according to transmission network is subdivided into a plurality of subcycles of giving out a contract for a project with the packet loss cycle again; The throughput in different packet loss cycle is added up, and the subcycle duration of will giving out a contract for a project simultaneously adds up, to calculate the throughput of TCP under the real network environment; Thereby the computational methods of avoiding pure theory to derive, the error of calculation of minimizing throughput.
Description of drawings
Fig. 1 adopts the network diagram of Reno algorithm computation throughput for prior art;
Fig. 2 is the application network framework of embodiment of the invention throughput acquisition methods;
Fig. 3 is the flow chart of the acquisition methods of embodiment of the invention throughput;
Fig. 4 is the flow chart of the acquisition methods of another embodiment of the present invention throughput;
Fig. 5 is the particular flow sheet of the acquisition methods S401 of embodiment of the invention throughput;
Fig. 5 A is the detail flowchart of the acquisition methods S503 of embodiment of the invention throughput;
Fig. 5 B is the transmission course sketch map of each cycle RTT that gives out a contract for a project of acquisition methods of embodiment of the invention throughput;
Fig. 6 is the detail flowchart of the acquisition methods S501 of embodiment of the invention throughput;
Fig. 7 obtains N packet loss sends the sum of message in the cycle flow chart in the acquisition methods of embodiment of the invention throughput;
Fig. 8 is the flow chart that the acquisition methods of embodiment of the invention throughput obtains N packet loss another enforcement state of the sum of server transmission message in the cycle;
Fig. 9 is the flow chart that the acquisition methods of embodiment of the invention throughput obtains the give out a contract for a project subcycle total duration of the single packet loss of N packet loss in the cycle in the cycle;
Figure 10 is that the acquisition methods of embodiment of the invention throughput obtains give out a contract for a project in the cycle flow chart of total duration of giving out a contract for a project in cycle of N packet loss;
Figure 11 is the flow chart that obtains single packet loss another embodiment of the length of each subcycle of giving out a contract for a project in the cycle in the acquisition methods of embodiment of the invention throughput;
Figure 12 is that the acquisition methods of embodiment of the invention throughput obtains give out a contract for a project in the cycle flow chart of total duration of giving out a contract for a project in cycle of N packet loss;
Figure 13 is the general flow chart that the acquisition methods of embodiment of the invention throughput obtains throughput;
Figure 14 is the schematic representation of apparatus that the embodiment of the invention is obtained the TCP throughput.
Embodiment
Through accompanying drawing and embodiment, technical scheme of the present invention is done further detailed description below.
Fig. 2 is the network architecture sketch map of the acquisition methods of the throughput that provides of the embodiment of the invention.
As shown in the figure, specifically comprise transmitting terminal server 10 and receiving terminal server 20.
Concrete, transmitting terminal server 10 is used to send message, and this transmitting terminal server 10 is linked in the Internet, also inserts at least one reception server 20 in the Internet.Transmitting terminal server 10 sends media data as media server through Transmission Control Protocol, and receiving terminal server 20 is then as the client media data that receiving end/sending end server 10 sends from the Internet.In the network optimization of media services, need the throughput of test network usually, just calculate the number of treatable data bits of this network per second or grouping.Throughput in the data volume of transmission over networks, is a leading indicator of weighing network performance in the performance test middle finger unit interval.In application architecture shown in Figure 2, obtain the unit interval sends to any receiving terminal server 20 from transmitting terminal server 10 message total exactly.Embodiment provided by the invention divides a plurality of packet loss cycle with the whole transmission cycle that sends the media data message from transmitting terminal server 10 through Transmission Control Protocol according to the time point that the packet loss incident takes place; The characteristic of giving out a contract for a project according to TCP is subdivided into a plurality of giving out a contract for a project the cycle with the packet loss cycle again; The throughput in different packet loss cycle is added up; The cycle duration of will giving out a contract for a project simultaneously adds up; With the throughput of TCP under the calculating real network environment, thus the computational methods of avoiding pure theory to derive, the error of calculation of minimizing throughput.
Above-mentioned framework is to be example with the TCP host-host protocol; But in the practical application; The restriction of the throughput acquisition methods that should not provide as the embodiment of the invention; The those skilled in the art should be appreciated that the throughput computational methods that the embodiment of the invention provides also can be applied in other host-host protocol networks.
Fig. 3 is the flow chart of the acquisition methods of a kind of throughput of providing of the embodiment of the invention, and visible by figure, this method may further comprise the steps:
In step S301, obtain transmission network and send the message number of message in the cycle at a plurality of packet loss;
Particularly, the described packet loss cycle is to divide with the time point of twice packet loss incident generation, and it is exactly a packet loss cycle that twice time difference between the packet loss incident takes place, and also can be referred to as the packet loss interval of events.In the process of server transmission message packet loss incident many times can take place, therefore get the purpose of N packet loss server transmission message total in the cycle and take mode as much as possible exactly, reach accuracy.N is the natural number less than limiting value greater than 1, and value is big more, then calculates accurate more.
In step S302, obtain total duration of giving out a contract for a project in said the give out a contract for a project cycle of a plurality of packet loss in the cycle;
Particularly, each packet loss cycle can be divided into a plurality of giving out a contract for a project the cycle according to the TCP characteristic of giving out a contract for a project again, also can be referred to as the RTT propagation delay time cycle, and just one group of message is issued to the duration of receiving that reception server ACK confirms from server.The duration in N packet loss each RTT cycle in the cycle with Limit Statistics, is drawn give out a contract for a project in the cycle total duration in cycle of N packet loss.
Afterwards, in step S303, the ratio of said message number and said total duration of giving out a contract for a project is the throughput of said transmission network under current network state.
Particularly, total after the sum and the duration of giving out a contract for a project in the said cycle of giving out a contract for a project that get access to out N packet loss server transmission message in the cycle, both are done division, the ratio of gained is exactly the throughput of this transmission network in the unit interval.
In the present embodiment, step S301 and step S302 can intersect and calculate simultaneously, do not influence the effect of present embodiment.
Through the foregoing description, in the transmission network of reality, throughput is calculated, because consider TCP packet loss distribution situation at interval, so the result of gained is more accurate than pure theory.
Fig. 4 is that another embodiment of the present invention is carried out TCP throughput Calculation Method flow chart, and visible by Fig. 4, this method comprises:
Step S401, obtain transmission network a plurality of packet loss in the cycle each packet loss send the sum of message in the cycle;
Step S402 is accumulated as transmission network with said a plurality of packet losses sum that each packet loss sends message in the cycle in the cycle and sends the message number of message in the cycle at a plurality of packet loss.
Particularly, send in the process of message at server, have a plurality of packet loss cycles, each packet loss all can send message in the cycle, after the transmission message number addition of a plurality of packet loss in the cycle, as the sum of a plurality of packet loss server transmission message in the cycle.
Step S403 obtains the give out a contract for a project subcycle total duration of said a plurality of packet loss each packet loss in the cycle in the cycle;
Step S404 is accumulated as said a plurality of packet loss total duration of giving out a contract for a project of cycle of giving out a contract for a project in the cycle with the total duration of the subcycle of giving out a contract for a project of said a plurality of packet losses each packet loss in the cycle in the cycle.
Concrete, in the present embodiment, described a plurality of packet loss cycles are got limit N, so that calculate.For asking easy, below all with the usefulness of N packet loss cycle as description.
Two above-mentioned steps can be carried out in N packet loss sends the sum of message in the cycle process obtaining transmission network simultaneously.That is to say at server and send in the process of message; Have a plurality of packet loss cycles; Each packet loss all can send message in the cycle, and each packet loss sends message in the cycle must expend the subcycle of giving out a contract for a project, just RTT; Therefore after the total duration that each packet loss is sent message in the cycle adds up, be give out a contract for a project in the cycle total duration in cycle of N packet loss.
Step S405 sends the message number of message and total duration of giving out a contract for a project in the said cycle of giving out a contract for a project according to the transmission network that obtains at a plurality of packet loss in the cycle, obtain the throughput of this transmission network under the real network state.
Step S303 is identical among step S405 and the last embodiment, does not therefore do too much description, and one of ordinary skill in the art should be appreciated that.
Fig. 5 is the particular flow sheet of S401 among Fig. 4, and is visible by Fig. 5, and the said transmission network that obtains specifically comprises at a plurality of packet loss sum that each packet loss sends message in the cycle in the cycle:
S501: calculate N packet loss in the cycle single packet loss in the cycle M the cycle of giving out a contract for a project send message total CWND;
S502: the message total CWND summation with the M of single packet loss in the cycle the subcycle of giving out a contract for a project sends obtains ∑ CWND;
S503: obtain the transmission message total threshold value of a packet loss in the cycle, with as the reference value that judges whether to get into the next packet loss cycle;
Particularly, can be with reference to figure 5A, it is to obtain packet loss sends the message total threshold value in the cycle sketch map.Wherein, the packet loss gap model can be chosen arbitrarily, for example Poisson distribution, is evenly distributed or Gaussian distribution model.And packet loss PLR can be the occurrence of a packet capturing process, also can be the mean value after adding up repeatedly.Say that through PLR and packet loss a Model Calculation goes out twice packet loss sends message total between the cycle reference value P (n); P (n) is different and different with the N value; This reference value P (n) is used for judging; When each packet loss of calculating sends message total in the cycle, judge whether to get into the next packet loss cycle (next packet loss cycle).
S504: ∑ CWND and P (n) are done comparison; If ∑ CWND >=P (n); Get into the next packet loss cycle so; Send message total to calculate the preceding M of next packet loss in the cycle the subcycle of giving out a contract for a project, otherwise then continue to calculate the transmission message total of current packet loss many subcycles of giving out a contract for a project in the cycle.
Particularly, get into the next packet loss cycle and exactly N is added 1, carry out step S505, obtain the preceding M of next packet loss in the cycle the subcycle of giving out a contract for a project and send message total.And calculate the transmission message total of current packet loss many subcycles of giving out a contract for a project in the cycle, and then be that M is added 1, calculate the transmission message total ∑ CWND of current packet loss many subcycles of giving out a contract for a project in the cycle M+1, and N is constant, ∑ CWND M+1With P (n), so circulation is till satisfying the condition that gets into the next packet loss cycle again.
Fig. 5 B is the transmission course reference diagram of each subcycle RTT that gives out a contract for a project.Fig. 6 is the detailed process of obtaining said N packet loss single packet loss M subcycle transmission message total CWND that gives out a contract for a project in the cycle in the cycle, and is visible by Fig. 6:
The detailed process of obtaining N packet loss single packet loss M cycle transmission message total CWND that gives out a contract for a project in the cycle in the cycle specifically comprises:
Packet loss sum through a packet loss incident, packet loss number distributed model, congestion window maximum are through avoiding the transmission message total of each said subcycle of giving out a contract for a project in the said M of algorithm computation the subcycle of giving out a contract for a project.
Meaning according to the TCP congestion avoidance algorithm; It is CWND in the number of the transmission message of different phase that congestion avoidance algorithm can calculate each subcycle of giving out a contract for a project; These stages can be divided into: the startup stage of slow, congestion avoidance phase, re-transmission stage, steadily send the stage; At all contingent packet loss of these stages, therefore need to consider that separately the transmission course of each subcycle RTT that gives out a contract for a project can be with reference to figure 5B.According to the difference of different stage generation number of dropped packets, congestion avoidance algorithm can carry out different re-transmission actions, can be divided into: retransmit and consider to stand the re-transmission of time delay fast.
Be example with linux kernel, CUBIC algorithm below, describe the process of TCP throughput acquisition methods,
In slow the startup stage, the CUBIC algorithm is consistent with the RENO algorithm, and promptly to rise at 16 o'clock since 1 be linear growth to CWND, then the congestion avoidance phase during the entering startup;
In the congestion avoidance phase when starting; The CUBIC algorithm is consistent with the RENO algorithm, promptly in last one the subcycle RTT that gives out a contract for a project, receives S ACK, and the message number that the then next subcycle RTT that gives out a contract for a project sends adds S on the basis of last one-period transmission message number; Here be the mode that linux kernel is realized; Because when calculating, can't carry out such process quantitative statistics, be convenient to calculate so get a definite value here, that is:
The message that this RTT sends is counted the preceding RTT of CWND=and is sent message total CWND '+preceding RTT transmission message total CWND '/3
When the message number of RTT transmission is not less than CWND_MAX, get into the steady transmission stage;
Steadily the transmission stage, the CWND of each RTT equals CWND_MAX.
Following brief account is CWND_MAX once, the give out a contract for a project maximum of number CWND of the CWND_MAX maximum that to be TCP can reach when transmission.(Congestion Window's congestion window in whole TCP transmission course CWND) can not increase without limitation, and when rising to certain phase, TCP just gets into the smooth transport phase.
In actual use; The congestion window size CWND of TCP receives user's side joint to receive the restriction of window WindowSize, serve side application layer speed limit Rate_Limit and band width in physical Bandwidth; Usually the value of CWND_MAX is the minimum value among the three, promptly obtains through getting minimum value function min.
CWND_MAX=min{Window?Size、Rate_Limit*RTT/MSS、Bandwidth*RTT/MSS}
Congestion window maximum CWND_MAX be used for to maximum in the RTT in the subcycle of giving out a contract for a project give out a contract for a project the number limit.
In aforementioned calculation, be minimum value wherein like band width in physical Bandwidth*RTT/MSS, so when CWND rises to CWND_MAX according to certain rule, so just can judge that this moment can be because congested and the packet loss incident takes place.
Then be presented in when the message number of RTT transmission is not less than CWND_MAX the situation that gets into the steady transmission stage.
After in aforesaid three phases, sending the packet loss incident, get into the re-transmission stage:
In the re-transmission stage, lose the quantity b (n) of message during according to generation packet loss incident, congestion avoidance algorithm can adopt different reductions of speed and re-transmission policy.With the CUBIC algorithm is example, after receiving three repeat ACKs, retransmits fast.
The formula that congestion window increases under the CUBIC algorithm, it has stipulated the growth rule of TCP congestion window, formula (1):
CWND=W T=(W max+C*(t-K) 3)(1)
Wherein, C is a spreading factor, and t has been the time of disappearance since last time, congestion window reduced (being packet loss incident generation last time), W MaxBe congestion window minimizing last time congestion window size before, K is with W in the superior function 0Be increased to W MaxTime cycle.If packet loss no longer during this growth, then K is calculated by formula (2):
K = β W max c 3 - - - ( 2 )
Wherein, β is the property the taken advantage of minimizing factor after the packet loss incident takes place.C value 0.4 in linux kernel, β value 0.3.
According to the formula that CUBIC algorithm congestion window changes, the speed that we can obtain that after packet loss takes place the 1st the cycle RTT that gives out a contract for a project retransmit message is:
W 0=(1-β)W max(3)
If make the message lost not retransmit because of the message that abandons is too much at this RTT in the cycle, then in the next cycle RTT that gives out a contract for a project, the quantity that retransmits message is sent according to following formula:
W m=(1-β)W m-1(4)
As the CWND in the cycle RTT that gives out a contract for a project m=W m=1 o'clock, if this moment, the message that abandons did not also retransmit, afterwards the CWND=CWND of the cycle RTT that gives out a contract for a project then m=1, and the time interval of at every turn sending message be one and stand time delay t that retransmit and finish until losing message, common one to stand time delay t value be 200ms.
In the re-transmission stage, when the message re-transmission of losing finishes, if the CWND of this moment m>1, the CWND of RTT so afterwards just increases according to following formula:
CWND m+g+1=W g=(CWND g+C*(g*RTT-K) 3)(g=>0)(5)
K = β CWND m c 3 - - - ( 6 )
Retransmit when finishing when losing message, if this moment CWND m=1, TCP gets into the flow process that start to transmit data again so, gets into slow the startup stage.The congestion avoidance phase rule of CWND according to slow the startup stage, when starting increases, and until packet loss taking place or reach CWND_MAX, and the total duration h*t (h is for standing the number of time delay) that stands time delay counts total duration Time that TCP transmits.
Slowly starting, when packet loss takes place for re-transmission, Congestion Avoidance, smooth transport stage, all handling according to retransmitting phase rules.
In said process, since a new packet loss incident, give out a contract for a project after the CWND that cycle RTT calculate to obtain at every turn, all it is calculated this packet loss all CWND sum ∑ CWND in the cycle and sends message total desired value P (n) with this packet loss cycle and do comparison:
If ∑ CWND >=P (n) then gets into the next packet loss cycle, n adds 1, recomputates the packet loss total reference value P (n+1) that gives out a contract for a project at interval; M resets to 1, carries out give out a contract for a project in the cycle counting of cycle RTT number of n+1 packet loss again.
If ∑ CWND P (n), then this packet loss cycle does not finish; M adds 1, carries out the counting of this packet loss RTT number in the cycle.
In the above-described embodiments, considered that for obtaining of TCP throughput the re-transmission policy and the transmission window of TCP transmission different phase increases rule, improved, helped to reduce error the binding characteristic of TCP throughput calculating with real network.
Fig. 7 obtains N packet loss of transmission network sends the message number of message in the cycle flow chart according to the foregoing description; Each packet loss sum of giving out a contract for a project in the cycle is added up; Can obtain the sum of N packet loss server transmission message in the cycle; Specifically can be translated into after the byte number, be used for calculating the TCP throughput again.
Fig. 8 is the flow chart that obtains N packet loss another execution mode of the sum of server transmission message in the cycle according to the foregoing description.
By the visible difference of figure be with the foregoing description; In the present embodiment; When obtaining N packet loss of transmission network send message in the cycle message and count, considered that different operating systems is different for the agreement of packet encapsulation, therefore before the sum of giving out a contract for a project with each packet loss cycle adds up; Earlier its message number is divided into byte number according to the encapsulation process agreement of operating system with said message number, is accumulated as each packet loss sends message in the cycle total bytes again.
Operating system is to the encapsulation process of TCP Payload, and .6.32 is an example with LINUX kernel version 2, after the congestion window of TCP reaches CWND_MAX; This moment, application layer was identical with TCP transmission data speed to the speed of protocol stack transmission data; Be that protocol stack sends buffer memory and receives and send identically, at this moment, kernel will be that unit delivers to tcp protocol stack with data with the data block of 8192byte size; TCP encapsulates after cutting apart according to MSS again; This has just caused during steadily sending is not that each message all encapsulates with MSS, is example with MSS=1460, and the transmission data of this moment are divided into 5 1460 bytes and 1 892 byte.
Therefore when calculating the byte number that sends message, need consider the encapsulation process of operating system, the concrete processing as follows to TCP Payload:
Through a large amount of tests and analysis, for the linux kernel, starting slowly and congestion avoidance phase, TCPPayload is that size encapsulates according to MSS.
When CWND rise to be not less than CWND_MAX after; For simple operation; Here approximate think TCP Payload according to 8192/ceil (8192/MSS) [annotate: ceil is for rounding up] for size encapsulates, the error of the such processing of final testing result proof is acceptable.
The total bytes that sends message among all RTT is exactly the handle up total amount Total Size of TCP in whole operation stages.
Fig. 9 is the flow chart that obtains total duration of giving out a contract for a project in each packet loss the give out a contract for a project cycle in cycle of N packet loss in the cycle, and visible by figure, it comprises:
S901: the length of obtaining single packet loss each subcycle of giving out a contract for a project in the cycle;
Concrete; Calculate single packet loss each subcycle RTT length of giving out a contract for a project in the cycle; Be to calculate through each give out a contract for a project subcycle RTT duration desired value and RTT distributed model; Usually the RTT distributed model adopts and is evenly distributed model, in the subcycle of in the process of single packet loss length of each subcycle of giving out a contract for a project in the cycle, also will considering at every turn to give out a contract for a project, because of retransmit take place stand time delay and the number of times that stands time delay.
S902: the length of single packet loss each subcycle of giving out a contract for a project in the cycle is added up, to obtain each packet loss total duration of cycle of giving out a contract for a project in the cycle.
In this embodiment; Be through calculating the length of single packet loss each subcycle of giving out a contract for a project in the cycle; Calculate the single packet loss total duration of subcycle of giving out a contract for a project in the cycle again; The method of the total duration stack that at last N is obtained calculates give out a contract for a project in the cycle mode of total duration of giving out a contract for a project in cycle of said N packet loss, calculates the TCP throughput.
Figure 10 calculates give out a contract for a project in the cycle flow chart of total duration in cycle of N packet loss according to the foregoing description, by Fig. 8 it is thus clear that, this method comprises:
S901 is identical with S902 among step S1001 and S1002 and Fig. 9, therefore can not add to give unnecessary details with reference to abovementioned steps.
In S1003, with N packet loss in the cycle the single packet loss total duration of subcycle of giving out a contract for a project in the cycle add up, obtain N the packet loss total duration of giving out a contract for a project of cycle of giving out a contract for a project in the cycle, be used for calculating throughput.
The advantage of this embodiment is, the step of total duration of calculating the cycle of giving out a contract for a project is clear, and the procedure parameter that sends message total is independent with calculating.
Figure 11 is the flow chart that calculates single packet loss another embodiment of the total length of each subcycle of giving out a contract for a project in the cycle.
In practical operation, also can adopt the different packet losses unified counting of cycle of giving out a contract for a project in the cycle; The unified at last mode that adds up is calculated; Get function R TT (k) for the cycle of giving out a contract for a project; The k value begins counting from first cycle of giving out a contract for a project in first packet loss cycle and is k=1, until N the individual cycle k=M that gives out a contract for a project of the M of packet loss in the cycle 1+ M 2+ ... M N, the total duration calculation and the total calculations incorporated of giving out a contract for a project are calculated.Its flow chart is as shown in Figure 8.
When the CWND=1 in the cycle RTT that gives out a contract for a project; If the message that abandon this moment has not also retransmitted; The CWND=1 of the cycle RTT that gives out a contract for a project then; And the time interval of at every turn sending message is one and stands time delay t, retransmit to finish until losing message, and common one to stand time delay t value be 200ms.
In the re-transmission stage, when the message re-transmission of losing finishes, if the CWND of this moment m>1, the CWND of RTT so afterwards just increases according to following formula (5):
Retransmit when finishing when losing message, if this moment CWND m=1; Get into so (TCP gets into again and starts the flow process that transmits data) CWND slow the startup stage according to slow the startup stage, the congestion avoidance phase rule in when startup increases; Until packet loss taking place or reach CWND_MAX, and the total duration h*t (h is for standing the number of time delay) that stands time delay counts total duration Time that TCP transmits.
Slowly starting, when packet loss takes place for re-transmission, Congestion Avoidance, smooth transport stage, all handling according to retransmitting phase rules.
Since a new packet loss incident, give out a contract for a project behind the CWND that cycle RTT calculate to obtain at every turn, calculate this packet loss all CWND sum ∑ CWND in the cycle and send message total reference value P (n) with this packet loss cycle and do comparison:
If ∑ CWND >=P (n) then gets into the next packet loss cycle, n adds 1, recomputates the total threshold value P of giving out a contract for a project of packet loss cycle (n+1); K adds 1, obtains new RTT value RTT (k+1); M resets to 1, carries out give out a contract for a project in the cycle counting of cycle RTT number of this packet loss again.
If ∑ CWND P (n), then this packet loss cycle does not finish; K adds 1, obtains new RTT value RTT (k+1); M adds 1, carries out the counting of this packet loss RTT number in the cycle, and wherein, RTT (k) belongs to the part of TCP transmission duration as statistical value.
Figure 12 is according to the foregoing description shown in Figure 11, calculates give out a contract for a project in the cycle flow chart of total duration of giving out a contract for a project in cycle of N packet loss.
Visible in Figure 12; Because each subcycle duration of giving out a contract for a project be function with RTT (k) all, the k value is given out a contract for a project the cycle from first of first packet loss cycle, count down to always that last N the M of packet loss in the cycle is individual to give out a contract for a project the cycle; Therefore; When the total duration of final calculating, whole k RTT durations are added up, can obtain total duration.
Because k value first subcycle of giving out a contract for a project from first packet loss cycle begins; Count down to last N the M of packet loss in the cycle the subcycle of giving out a contract for a project always; Therefore for standing time delay and the number of times that stands time delay; Also can be no longer in each gives out a contract for a project subcycle, calculate separately, but last stands time delay from first subcycle of giving out a contract for a project begins to be added in N the M of packet loss the cycle the subcycle of giving out a contract for a project, makes that calculating is easier.But, stand time delay and also can calculate separately in addition, not as restriction.
Through the foregoing description, can obtain give out a contract for a project in the cycle total duration in cycle of N packet loss easily, realize more easy for software.
Figure 13 combines to carry out the general flow chart that the TCP throughput calculates through Figure 12 and embodiment shown in Figure 9.
Visible by Figure 13; In the transmission network that this embodiment will calculate with the CUBIC congestion avoidance algorithm N packet loss in the cycle whole single packet losses each in the cycle give out a contract for a project after message length that subcycle sends adds up; Packing rule according to operating system is converted into byte number again, tries to achieve the message total bytes that transmission network N packet loss sent in the cycle.
Simultaneously, with the give out a contract for a project duration of subcycle of each said packet loss each in the cycle, in conjunction with cause because of re-transmission stand the time elongatedness combine; To always the give out a contract for a project cycle duration statistics of N packet loss in the cycle; Obtain total duration value, total bytes and total duration value are asked the merchant, can obtain the TCP throughput.
Computational methods through TCP throughput provided by the invention; Can effectively calculate the throughput of TCP; Can partly substitute the mode that the mode that adopts tester/simulated scenario is obtained the TCP throughput in the network optimization field, adopt tester in the existing network environment, to build the method that test environment is beaten current test, reduce test period and cost than prior art; Reduce technical difficulty, reduce the error of calculation.
In addition, shown in figure 14, the present invention also provides a kind of deriving means 140 of throughput, and this device comprises:
Message is counted acquiring unit 141, sends the message number of message in order to obtain transmission network in the cycle at a plurality of packet loss;
Total duration acquiring unit 142 is in order to obtain total duration of giving out a contract for a project in said the give out a contract for a project cycle of a plurality of packet loss in the cycle;
Ratio acquiring unit 143 is in order to obtain the ratio of said message number and said total duration of giving out a contract for a project, as the throughput of said transmission network under current network state.
The working method of this device can no longer be done further elaboration with reference to aforementioned description about method embodiment.
The professional should further recognize; The unit and the algorithm steps of each example of describing in conjunction with embodiment disclosed herein; Can realize with electronic hardware, computer software or the combination of the two; For the interchangeability of hardware and software clearly is described, the composition and the step of each example described prevailingly according to function in above-mentioned explanation.These functions still are that software mode is carried out with hardware actually, depend on the application-specific and the design constraint of technical scheme.The professional and technical personnel can use distinct methods to realize described function to each certain applications, but this realization should not thought and exceeds scope of the present invention.
The software module that the method for describing in conjunction with embodiment disclosed herein or the step of algorithm can use hardware, processor to carry out, perhaps the combination of the two is implemented.Software module can place the storage medium of any other form known in random asccess memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable ROM, register, hard disk, moveable magnetic disc, CD-ROM or the technical field.
Above-described embodiment; The object of the invention, technical scheme and beneficial effect have been carried out further explain, and institute it should be understood that the above is merely embodiment of the present invention; And be not used in qualification protection scope of the present invention; All within spirit of the present invention and principle, any modification of being made, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (15)

1. the acquisition methods of a throughput is characterized in that, said method comprises:
Obtain transmission network and send the message number of message in the cycle at a plurality of packet loss;
Obtain total duration of giving out a contract for a project in said the give out a contract for a project cycle of a plurality of packet loss in the cycle;
The ratio of said message number and said total duration of giving out a contract for a project is the throughput of said transmission network under current network state.
2. the acquisition methods of throughput as claimed in claim 1 is characterized in that, the said transmission network that obtains specifically comprises at a plurality of packet loss sends message in the cycle message number:
Obtain said a plurality of packet loss in the cycle each packet loss send the sum of message in the cycle;
Said a plurality of packet losses sum that each packet loss sends message in the cycle in the cycle is accumulated as said transmission network sends the message number of message in the cycle at a plurality of packet loss.
3. the acquisition methods of throughput as claimed in claim 2 is characterized in that, said said a plurality of packet loss sum that each packet loss sends message in the cycle in the cycle that obtains specifically comprises:
Single packet loss all in the cycle of obtaining said a plurality of packet loss cycles part in subcycle subcycles of giving out a contract for a project of giving out a contract for a project send message total;
Calculate the transmission message total threshold value of each packet loss in the cycle;
When the said part subcycle of giving out a contract for a project sends the message total sum when being not less than said transmission message total threshold value, get into the next packet loss cycle.
4. the acquisition methods of throughput as claimed in claim 3 is characterized in that, said single packet loss all in the cycle of obtaining said a plurality of packet loss cycles part in subcycle subcycles of giving out a contract for a project of giving out a contract for a project send message total and specifically comprise;
Single packet loss all in the cycle that the packet loss number, congestion window maximum of utilizing a packet loss time obtained said a plurality of packet loss cycles through congestion avoidance algorithm part in subcycle subcycles of giving out a contract for a project of giving out a contract for a project send message total.
5. the acquisition methods of throughput as claimed in claim 3 is characterized in that, said single packet loss all in the cycle of obtaining said a plurality of packet loss cycles part in subcycle subcycles of giving out a contract for a project of giving out a contract for a project send message total and further comprise:
The give out a contract for a project message number that sends in the subcycle of said part is divided into byte number according to the encapsulation process agreement of operating system with said message number, be accumulated as again a plurality of packet losses in the cycle each packet loss send the total bytes of message in the cycle.
6. the acquisition methods of throughput as claimed in claim 1 is characterized in that, the said total duration of giving out a contract for a project that obtains said the give out a contract for a project cycle of a plurality of packet loss in the cycle specifically comprises:
Obtain the give out a contract for a project subcycle total duration of said a plurality of packet loss each packet loss in the cycle in the cycle;
The give out a contract for a project subcycle total duration of said a plurality of packet losses each packet loss in the cycle in the cycle is accumulated as said a plurality of packet loss total duration of giving out a contract for a project of cycle of giving out a contract for a project in the cycle.
7. the acquisition methods of throughput as claimed in claim 6 is characterized in that, said the give out a contract for a project subcycle total duration of said a plurality of packet loss each packet loss in the cycle in the cycle that obtain specifically comprises:
Obtain each subcycle duration of giving out a contract for a project in said each packet loss cycle middle part distributing packets subcycle;
Said part given out a contract for a project, and the duration of each subcycle of giving out a contract for a project is accumulated as the give out a contract for a project subcycle total duration of said a plurality of packet loss each packet loss in the cycle in the cycle in the subcycle.
8. the acquisition methods of throughput as claimed in claim 7 is characterized in that, obtains that each subcycle duration of giving out a contract for a project further comprises in middle part distributing packets subcycle of said each in packet loss cycle:
Obtain the duration of the single subcycle of giving out a contract for a project according to give out a contract for a project the cycle duration desired value and the cycle duration distributed model of giving out a contract for a project.
9. the acquisition methods of throughput as claimed in claim 7 is characterized in that, said part each subcycle duration of giving out a contract for a project of giving out a contract for a project in the subcycle also is included in this cycle of giving out a contract for a project and retransmits the time delay that produces according to agreement because of packet loss.
10. the acquisition methods of throughput as claimed in claim 4; It is characterized in that; In said packet loss number, the congestion window maximum of utilizing a packet loss incident; Single packet loss all in the cycle of obtaining said a plurality of packet loss cycles through congestion avoidance algorithm part in subcycle subcycles of giving out a contract for a project of giving out a contract for a project send in the message total, and said congestion window maximum is the minimum value among the three after server side speed limit, band width in physical and receive window convert.
11. the acquisition methods of throughput as claimed in claim 4 is characterized in that, the packet loss number of a packet loss incident of said usefulness obtains according to the packet loss number desired value of a packet loss number distributed model and a packet loss incident.
12. the acquisition methods of throughput as claimed in claim 10 is characterized in that, when congestion window surpasses said band width in physical, judges the packet loss incident in the single packet loss cycle that takes place this moment.
13. the deriving means of a throughput is characterized in that, said device comprises:
Message is counted acquiring unit, sends the message number of message in order to obtain transmission network in the cycle at a plurality of packet loss;
Total duration acquiring unit is in order to obtain total duration of giving out a contract for a project in said the give out a contract for a project cycle of a plurality of packet loss in the cycle;
The ratio acquiring unit is in order to obtain the ratio of said message number and said total duration of giving out a contract for a project, as the throughput of said transmission network under current network state.
14. the deriving means of throughput as claimed in claim 13 is characterized in that, said message acquiring unit specifically is used for:
Obtain said a plurality of packet loss in the cycle each packet loss send the sum of message in the cycle;
Said a plurality of packet losses sum that each packet loss sends message in the cycle in the cycle is accumulated as said transmission network sends the message number of message in the cycle at a plurality of packet loss.
15. the deriving means of throughput as claimed in claim 13 is characterized in that, said total duration acquiring unit specifically is used for:
Obtain the give out a contract for a project subcycle total duration of said a plurality of packet loss each packet loss in the cycle in the cycle;
The give out a contract for a project subcycle total duration of said a plurality of packet losses each packet loss in the cycle in the cycle is accumulated as said a plurality of packet loss total duration of giving out a contract for a project of cycle of giving out a contract for a project in the cycle.
CN2012101975940A 2012-06-15 2012-06-15 Method and device for obtaining throughput rate Pending CN102694736A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2012101975940A CN102694736A (en) 2012-06-15 2012-06-15 Method and device for obtaining throughput rate
PCT/CN2013/070192 WO2013185480A1 (en) 2012-06-15 2013-01-08 Method and device for obtaining throughput rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012101975940A CN102694736A (en) 2012-06-15 2012-06-15 Method and device for obtaining throughput rate

Publications (1)

Publication Number Publication Date
CN102694736A true CN102694736A (en) 2012-09-26

Family

ID=46860025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012101975940A Pending CN102694736A (en) 2012-06-15 2012-06-15 Method and device for obtaining throughput rate

Country Status (2)

Country Link
CN (1) CN102694736A (en)
WO (1) WO2013185480A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401635A (en) * 2013-06-28 2013-11-20 国家超级计算深圳中心(深圳云计算中心) Method and device for analyzing throughout collapse behavior in cluster storage system
WO2013185480A1 (en) * 2012-06-15 2013-12-19 华为技术有限公司 Method and device for obtaining throughput rate
CN104378307A (en) * 2014-10-27 2015-02-25 北京华夏创新科技有限公司 Optimizing method and system based on throughput rate and packet loss control CWND
CN105207954A (en) * 2015-08-25 2015-12-30 东软集团股份有限公司 Transmitting data packet and throughput test method and device
CN114793302A (en) * 2022-03-09 2022-07-26 广州狮威能源技术有限公司 Instant-plugging wireless transmission metering analysis system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852147A (en) * 2005-09-19 2006-10-25 华为技术有限公司 Method for realizing statistics of business throughput rate and system therefor
CN1881909A (en) * 2006-05-15 2006-12-20 西安西电捷通无线网络通信有限公司 Method for co-collecting IP network performance by active type measure and passive type measure
CN101359979A (en) * 2008-08-01 2009-02-04 中国联合通信有限公司 Link packet drop rate control method and system based on terminal
US7653025B1 (en) * 2001-07-10 2010-01-26 Lg Electronics Inc. Scheduling shared channels and scheduler in wireless packet system
CN101808016A (en) * 2010-03-02 2010-08-18 河海大学常州校区 Method and system for rapidly measuring end-to-end network performance of DiffServ region under IPv6
CN101977151A (en) * 2010-11-09 2011-02-16 中南大学 Congestion control method used for wide area network environment with high packet loss rate

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114982A (en) * 2006-07-24 2008-01-30 互联天下科技发展(深圳)有限公司 IP network based audio-video QoS algorithm
CN102694736A (en) * 2012-06-15 2012-09-26 华为技术有限公司 Method and device for obtaining throughput rate

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653025B1 (en) * 2001-07-10 2010-01-26 Lg Electronics Inc. Scheduling shared channels and scheduler in wireless packet system
CN1852147A (en) * 2005-09-19 2006-10-25 华为技术有限公司 Method for realizing statistics of business throughput rate and system therefor
CN1881909A (en) * 2006-05-15 2006-12-20 西安西电捷通无线网络通信有限公司 Method for co-collecting IP network performance by active type measure and passive type measure
CN101359979A (en) * 2008-08-01 2009-02-04 中国联合通信有限公司 Link packet drop rate control method and system based on terminal
CN101808016A (en) * 2010-03-02 2010-08-18 河海大学常州校区 Method and system for rapidly measuring end-to-end network performance of DiffServ region under IPv6
CN101977151A (en) * 2010-11-09 2011-02-16 中南大学 Congestion control method used for wide area network environment with high packet loss rate

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013185480A1 (en) * 2012-06-15 2013-12-19 华为技术有限公司 Method and device for obtaining throughput rate
CN103401635A (en) * 2013-06-28 2013-11-20 国家超级计算深圳中心(深圳云计算中心) Method and device for analyzing throughout collapse behavior in cluster storage system
CN104378307A (en) * 2014-10-27 2015-02-25 北京华夏创新科技有限公司 Optimizing method and system based on throughput rate and packet loss control CWND
CN104378307B (en) * 2014-10-27 2017-11-21 北京华夏创新科技有限公司 Optimization method and system based on throughput and packet loss control CWND
CN105207954A (en) * 2015-08-25 2015-12-30 东软集团股份有限公司 Transmitting data packet and throughput test method and device
CN105207954B (en) * 2015-08-25 2018-03-20 东软集团股份有限公司 Send packet and throughput testing approach and device
CN114793302A (en) * 2022-03-09 2022-07-26 广州狮威能源技术有限公司 Instant-plugging wireless transmission metering analysis system

Also Published As

Publication number Publication date
WO2013185480A1 (en) 2013-12-19

Similar Documents

Publication Publication Date Title
CN102045362B (en) Data transmission method and system based on UDP protocol
He et al. Reliable blast UDP: Predictable high performance bulk data transfer
US9838318B2 (en) TCP congestion control for large latency networks
EP2119171B1 (en) Improved data transfer method, system and protocol
Ren et al. A survey on TCP Incast in data center networks
Yu et al. Performance modeling of licklider transmission protocol (LTP) in deep-space communication
CN111817977B (en) Network congestion control method and device
CN102694736A (en) Method and device for obtaining throughput rate
CN102150395A (en) Method for non-cooperative measurement of network data-path quality
Brown Resource sharing of TCP connections with different round trip times
CN107800642A (en) A kind of jamming control method and device
CN102404187A (en) Congestion control method and system as well as network equipment
CN106656679B (en) Availability bandwidth measurement method
Wang et al. TCP congestion control algorithm for heterogeneous Internet
CN102317801A (en) Efficient and loss tolerant method and mechanism for measuring available bandwidth
CN103152285B (en) Local terminal network element, opposite end network element and send window method of adjustment
CN103763374A (en) Method and device for data transmission based on UDT
Huh et al. RUDP design and implementation using OPNET simulation
Herrero Analytical model of IoT CoAP traffic
Salah et al. Performance analysis and comparison of interrupt-handling schemes in gigabit networks
Hegde et al. FAST TCP in high-speed networks: An experimental study
Gu et al. Udt: An application level transport protocol for grid computing
Bergstrom et al. The distributed open network emulator: Using relativistic time for distributed scalable simulation
CN105406915A (en) File transmission method facing satellite-to-earth link
Kiddle et al. Improving scalability of network emulation through parallelism and abstraction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120926