CN100421396C - Method and system for measuring bottleneck bandwidth and remanent bandwidth - Google Patents

Method and system for measuring bottleneck bandwidth and remanent bandwidth Download PDF

Info

Publication number
CN100421396C
CN100421396C CNB2005101236953A CN200510123695A CN100421396C CN 100421396 C CN100421396 C CN 100421396C CN B2005101236953 A CNB2005101236953 A CN B2005101236953A CN 200510123695 A CN200510123695 A CN 200510123695A CN 100421396 C CN100421396 C CN 100421396C
Authority
CN
China
Prior art keywords
token bucket
string
bag
bandwidth
speed limit
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.)
Expired - Fee Related
Application number
CNB2005101236953A
Other languages
Chinese (zh)
Other versions
CN1770711A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CNB2005101236953A priority Critical patent/CN100421396C/en
Publication of CN1770711A publication Critical patent/CN1770711A/en
Application granted granted Critical
Publication of CN100421396C publication Critical patent/CN100421396C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a method and a system for measuring bottleneck bandwidth and residual bandwidth under a network path of token bucket speed limitation. The method comprises the following steps: connection is established by a transmitting end and a receiving end so as to carry out data exchange; firstly, whether a test link is the network path of token bucket speed limitation or not is detected and judged; when the test link is the link of the token bucket speed limitation, each token bucket parameter, the bottleneck bandwidth and the residual bandwidth of the link are calculated, otherwise the bottleneck bandwidth and the residual bandwidth of the link are measured and calculated by adopting a traditional method. Thereby, the present invention can realize the end-to-end accurate measurement of the bottleneck bandwidth and the residual bandwidth no matter whether the link adopts the token bucket speed limitation or not, and measuring accuracy and efficiency are high; key parameters (comprising a token bucket size, a packet queue length, a token generating time interval, etc.) of the token bucket speed limiting link can also be measured, and the parameters can help operation business and users to better understand and maintain a network, which has good application prospect.

Description

The method of measurement of a kind of bottleneck bandwidth and remaining bandwidth and system
Technical field
The present invention relates to the active bandwidth measurement method and system in a kind of network measure field, exactly, relate to a kind of under token bucket speed limit network path the method for measurement and the system of bottleneck bandwidth and remaining bandwidth, belong to the bandwidth measurement technical field of the Internet.
Background technology
Every paths in the network normally is formed by connecting by the physical link of several sections different bandwidths, therefore, article one, the bottleneck bandwidth of network path is meant the band width in physical in that section chain path that bandwidth on this path is the narrowest, i.e. the maximum transmitted ability of this path when not having other background traffic.Now, end to end the bottleneck bandwidth method of measurement mainly based on packet to (Packet Pair) technology and packet string (Packet Train) technology.Below it is briefly introduced.
Packet is to being meant two isometric back-to-back measurement data bag packet I-1And packet iIdeally, the transmission time interval of back-to-back two groupings is 0, through the transmission on certain section link, packet packet I-1Last bit arrives the moment and the packet packet of this link end iA time interval is just arranged between the due in of last bit.If ignore the influence of other background traffic on the path, these two packets will (be jumped such as n) at the bottleneck link place and be scattered into maximum arrival interval so τ i n = L / μ n , Wherein L is long for measuring bag, μ nBandwidth for bottleneck link.After this two data wrap in the transmission course and will keep this interval, and when this organized packet to arrival receiving terminal (jumping such as H), the two at interval τ i n = l / μ n , Utilize formula this moment: μ = L / τ i H , Promptly can be regarded as the required bottleneck bandwidth value of finding the solution.
Packet string technology is the development of packet to technology: it sends N>2 back-to-back isometric (establishing Bao Changwei L) from transmitting terminal and measures bag, first packet that the receiving terminal utilization records and the interval between last packet τ H = Σ i = 1 N τ i H Estimate path capacity: μ n=(N-1) L/ τ H
Because the influence of background traffic if directly use above-mentioned two formula to calculate, may cause result of calculation inaccurate.To this, can take multiple measurements the influence of spreading, reduce background traffic with different bag length, obtain result more accurately according to the statistical analysis of measurement result repeatedly again; Also can by other parameters such as time delay identify the bag that is subjected to background traffic influence to or the bag string, thereby get rid of unreasonable result.In addition, more perfect method of measurement also will be considered the interruption gathering (Interrupt colaslate) of process scheduling, PCI-Express, many-sided influences such as clock accuracy of operating system.
Above-mentioned bag all is paroxysmal when measuring with bag string method, the paroxysmal probe bag of this usefulness to or the bag string come the method for the bandwidth (comprising bottleneck bandwidth, remaining bandwidth, link bandwidth and bottleneck location) of Measurement Network all to suppose a prerequisite: the network condition of the probe bag impression of burst is identical with the flow situation of real network.This supposition is all set up on most of network, thereby the method for measurement that realizes according to this principle (as pathrate[1], pathload[2], pathchirp[3] etc.) on most of network, can both record accurate measurement result.But it is very big at the result error that utilizes the token bucket principle to carry out to measure on the speed limit network of (or being called traffic shaping).This is that this link is in the front and back that token exhausts because token bucket speed limit network can not satisfy the supposition of front, and rapid variation can take place speed; The speed that the probe bag is experienced can be owing to the tangible difference that how much has of residue token in the token bucket.
Below concise and to the point introduction explanation is done in the principle and the model analysis of transmitting-receiving bag of token bucket speed limit.
Referring to Fig. 1, this figure has showed the general operational mode of token bucket rate-limiting algorithm: force to realize long-term average transmission rate, allow to pre-determine burst size simultaneously.In this method, token bucket is used for the administration queue adjuster, is responsible for controlling the speed that stream of packets enters network by the formation adjuster.
The token maker constantly generates token with the speed of a per second R token (promptly produce Δ T * R token every the Δ T time, wherein Δ T is the time interval that token generates), and it is placed in the token bucket that the degree of depth is a D token.Suppose that each token gets permission to transmit the byte of fixed qty, if token bucket is filled, newly-generated token will be dropped; Simultaneously, unadjusted stream of packets can arrive, and is placed in the packet queue that maximum length is L.If the packet count that grouping provides surpasses the quantity that formation can be stored, the grouping that surpasses will be dropped.The decision can form by the token of P size forward a packet in the network time, the formation adjuster must be considered following a plurality of factor:
(A) if token bucket is full, grouping is forwarded in the network, and the P token is removed from bucket.
(B) if token bucket is empty, is grouped on the queue heads and waits for, be generated up to the P token, and be placed in the bucket.When bucket comprises P token gradually, P token will be removed from bucket, and grouping is sent in the network.
(C) last, suppose that token bucket is that part is filled, and contains T token.If P≤T, P token will be removed from bucket, and grouping is forwarded in the network.If P>T, then grouping must wait for that remaining P deducts T token, can send in the network then.When comprising required P token in the bucket, P token will be removed from bucket, and grouping is forwarded in the network.
Can use token bucket as the rate limit instrument, regulate long-term average transmission rate, allow predetermined burst size simultaneously.The speed of token maker is determining long-term average communication speed, the degree of depth of token bucket is determining the Maximum Burst Size that reshaper (i.e. formation adjuster among the figure) allows, and the length of packet queue is determining to be grouped in the delay quantity that can cause on this communication reshaper.
Principle according to token bucket speed limit algorithm, usually, full and do not have under the situation of other background traffic when token bucket, a long enough and input string with enough big Mean Speed are during through token bucket, when pressing the state division of token bucket, three phases is arranged: the 1st stage-burst rate sends (the being also referred to as surface speed forwarding) stage, and also have the token that enough send a bag in the token bucket this moment; The 2nd stage-Mean Speed sends and packet loss stage not, and token is not enough in this moment token bucket sends a bag, but packet queue less than; The 3rd stage-Mean Speed sends but the continuous packet loss stage, and the token in the token bucket is not enough at this moment sends a bag, and packet queue is full.At some in particular cases, the 2nd stage may not occur.When dividing according to different rates, arranged two stages: burst rate stage before this is the Mean Speed stage then always.The state of this token bucket is divided the basis that has constituted bottleneck bandwidth method of measurement of the present invention.
Referring to the structural representation of the experimental system on Huawei's Layer 2 switch shown in Figure 2, introduce the curve chart (referring to Fig. 3, Fig. 4, Fig. 5 and Fig. 6) of measured result in four kinds of different coordinates of this experiment respectively.Wherein the X coordinate is to send sequence number or Receive sequence number, and the Y coordinate is with respect to previous bag or with respect to the time of reception of first bag poor (unit is second).This switch adopts the speed limit algorithm of token bucket, and port speed is 100M, and the port speed constraint that links to each other with receiving terminal is 4M.The network interface card of transmitting terminal and receiving terminal all is 100M.During test, transmitting terminal sends the UDP probe bag string of 3000 1000 bytes back-to-back, and sending sequence number is numbered 0~2999.According to the order of the bag received, after abandoning out of order bag, carry out the serial number of Receive sequence number since 0, and write down the time of reception of each bag during reception.Only received 822 bags in the actual measurement, thus Receive sequence number be numbered 0~821.
The X coordinate of Fig. 3 is to send sequence number, and the Y coordinate is poor with respect to the time of reception of the previous bag of receiving, promptly receives the interval of bag.As can be seen from this figure, measurement result obviously is divided into the three phases of dividing by the state of token bucket: from 0 to 520 bag was the 1st stage, and also have enough token in the token bucket this moment, and the probe bag passes through with the maximum rate of port.Bao Changwei 1000 bytes, speed are 100M, can calculate parlor and be divided into 80 microseconds, consider the influence of UDP head (8 byte), IP head (20 byte) or Ethernet frame head (28 byte), and actual packet at interval should be for about 85 microseconds, promptly 0.000085 second.Very identical with the measured result among the figure.From 521 to 746 bag was the 2nd stage, and token is not enough in this moment token bucket sends a bag, but packet queue less than, thereby send and packet loss not with Mean Speed.As the 1st stage, can calculate parlor according to Mean Speed 4M and be divided into 2000 microseconds, consider the influence in packet header, actual packet should be 2112 microseconds at interval, promptly 0.002112 second; Also with figure in measured result very identical.747 later bags were the 3rd stages, and token is not enough in the token bucket at this moment sends a bag, and packet queue is full, thereby passes through with Mean Speed, but continuous packet loss.Inter-packet gap is identical with the 2nd stage.
The X coordinate of Fig. 4 is to send sequence number, and the Y coordinate is the time difference with respect to first bag, and other situation is identical with Fig. 3.Because the time difference between adjacent two bags is than the influence that is easier to be subjected to some accidentalia, and more stable, therefore, adopted the mode of Fig. 4 in the actual measurement during calculating measurement result with respect to the time difference of first bag.
Fig. 5 and Fig. 6 are to be the X coordinate with the Receive sequence number.From these two figure as can be seen, measurement result obviously is divided into two different stages of speed: burst rate stage and Mean Speed stage, wherein wrapping 521 is separations-be the so-called trip point of the present invention.Its Changing Pattern and Fig. 3, Fig. 4 are similar, repeat no more.
In the prior art, the method for measurement of end-to-end remaining bandwidth initiatively also be adopt bag to or bag string technology and improve one's methods and realize.The bag that transmitting terminal sends given pace to or the bag string, receiving terminal is judged the remaining bandwidth in path according to the variation of inter-packet gap.Remaining bandwidth method of measurement (as pathchirp and pathload) commonly used all can be pre-estimated or definite a remaining bandwidth measuring range, the remaining bandwidth in Measurement Network path in this scope then.For the network path of token bucket speed limit, if can decide the speed limit scope of token bucket in advance, and, then can significantly reduce Measuring Time with its maximum upper limit as remaining bandwidth, convergence rate is faster, improves the accuracy and the efficiency of measurement of measurement result.
Bottleneck bandwidth measurement end to end has very important application, support such as the selection of network multiserver, in peer-to-peer network foundation, virtual private network user and other user of service quality QoS route to the autonomous monitoring of the renting network bandwidth, network operation safeguards and the bottleneck fault detect, based on the congested control of speed, optimize or the like based on mobile performance of handoffs in the admittance control of strategy and the wireless network.
But the measurement of adopting prior art to carry out on token bucket speed limit link (path) can't obtain accurate result.And this link is widely used in Access Network.This just causes existing end-to-end bottleneck bandwidth measuring technique to be difficult to be applied to the measurement of Access Network, has become a great problem that Access Network is measured.
Summary of the invention
In view of this, the purpose of this invention is to provide a kind of under token bucket speed limit network path bottleneck bandwidth and the method for measurement and the system of remaining bandwidth, no matter whether the present invention path adopts the token bucket speed limit, can both realize the accurate measurement of bottleneck bandwidth and remaining bandwidth end to end; Also can measure some key parameters (comprising the size of token bucket, the length of packet queue, the time interval that token generates etc.) in token bucket speed limit path.These parameters can help operator and user to understand better and maintaining network.
Another object of the present invention provides a kind ofly judges whether certain paths is the method for token bucket speed limit path (being the path of bottleneck with token bucket speed limit link promptly), so that with the traditional measurement method of this method and remaining bandwidth (as pathchirp, pathload) combine, make existing traditional remaining bandwidth method of measurement also be suitable for token bucket speed limit path.That is to say, in the measuring process of bottleneck bandwidth, to at first judge whether to be token bucket speed limit path, so that with this judged result and other method of measurement (as the remaining bandwidth method of measurement, the link bandwidth method of measurement) combines, make above-mentioned these traditional measurement methods after finding that the path is token bucket speed limit path, (for example carry out some special processings, give prompting of user or provide a rough result), to improve precision and the efficient of measuring.
In order to achieve the above object, the invention provides a kind of under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: after test path is set up, transmitting terminal sends abundant probe bag, be used for depleting the token of token bucket, the trip point of the transmission rate or the time delay of token was just discerned or is approached to deplete in the marked change of speed or time delay before and after receiving terminal depleted according to token, and whether judge whether to be token bucket speed limit path according to the existence of trip point, calculate the bottleneck bandwidth and the remaining bandwidth of associated pathway again; Comprise following operating procedure:
(1) transmitting terminal and receiving terminal connect, and carry out data interaction, survey and judge whether test path is the network path of token bucket speed limit, if test path is token bucket speed limit path, carry out subsequent step in proper order; Otherwise, redirect execution in step (5);
(2) calculate the token bucket parameters of this test path, determine the trip point of transmission rate or time delay;
(3) calculate the Mean Speed in token bucket speed limit path according to the measurement data after the trip point, promptly token bucket speed limit path bottleneck bandwidth;
(4) with the bottleneck bandwidth in token bucket speed limit path as the maximum bandwidth higher limit in the remaining bandwidth Measurement Algorithm, utilization comprises that traditional remaining bandwidth method of measurement of pathchirp or pathload calculates the remaining bandwidth in token bucket speed limit path again; Measure and finish;
(5) employing comprises the bottleneck bandwidth and the remaining bandwidth in this path of traditional remaining bandwidth method of measurement difference measurements and calculations of pathchirp or pathload.
Described step (1) further comprises following content of operation:
(11) transmitting terminal is set up control connection with receiving terminal and is connected with data: if adopt the control connection of TCP, be exactly that both sides set up a TCP and connect; Described data connect the connection that comprises User Datagram Protoco (UDP) UDP;
(12) transmitting terminal and receiving terminal exchange initial parameter: transmitting terminal sends to receiving terminal to the initial parameter of user input or acquiescence, and the frame structure of initial parameter comprises at least that string is long, bag is long, always go here and there number; Receiving terminal also returns to transmitting terminal to the initial parameter that comprises the port numbers that receives the probe bag at least;
(13) transmitting terminal sends the measurement data packet sequence to receiving terminal: transmitting terminal with back-to-back or equally spaced mode send the measurement data packet sequence one by one to receiving terminal, wherein each packet data package claims the probe bag again, promptly sends probe bag string; The frame structure of this probe bag string comprises following byte at least: string number, Bale No., timestamp second, timestamp microsecond, be used to supply the long and load that generate at random of bag;
(14) after transmitting terminal sends probe bag string, send a string finishing control signal to receiving terminal; Receiving terminal carries out analyzing and processing by analytical equipment to this string of just having received after receiving this string finishing control signal, draws PRELIMINARY RESULTS, judges whether to be token bucket speed limit path; If be defined as token bucket speed limit path, finish this operating procedure; If can not determine token bucket speed limit path, carry out subsequent operation;
(15) receiving terminal resets and comprises that at least string is long, bag is long, the initial parameter of stand-by period, add the start of string signal and send to transmitting terminal together, after transmitting terminal is received this start of string signal, after waiting for the corresponding time of token bucket recovery, with repeated execution of steps (13) and (14), when the string number reaches total string and counts, after receiving terminal calculates measurement result, after transmitting terminal sends a measurement finishing control signal, end operation; After transmitting terminal receives this measurement finishing control signal, end operation.
Described string length is the number of packet in the measurement data packet sequence, its numerical value>30; Bag length is the byte number of each packet, its numerical value>20; Total string number is the number of setting the measurement data packet sequence that sends in the whole measuring process, the i.e. maximum number of probe bag string; The frame structure of described string end signal comprises type and string number at least, and the frame structure of start of string signal comprises following field at least: type, string is long, bag is long, string number, stand-by period; The wherein frame structure type field integer representation of start of string signal: 1 is that start of string, 2 is that string end, 3 is the measurement end; When type field was 3, the field of back was nonsensical.
The data interaction of described step (1) transmitting terminal and receiving terminal is to be worked in coordination, finished jointly by the relevant apparatus at two ends, and wherein the operating procedure of transmitting terminal execution is as described below:
(101) obtain input parameter, set up control connection;
(102) send initial parameter to receiving terminal, and receive initial parameter, set up data and connect from receiving terminal;
(103) send probe bag string one by one after, certain interval of time sends string finishing control signal; Wait for the return control signal of receiving terminal again;
(104) if the receiving terminal return control signal of receiving is the start of string signal, then return step (103); If the receiving terminal return control signal of receiving is to measure end signal, then end operation.
The data interaction of described step (1) transmitting terminal and receiving terminal is to be worked in coordination, finished jointly by the relevant apparatus at two ends, and wherein receiving terminal is used to cooperate transmitting terminal to finish the token bucket detection process, and the operating procedure of its execution is as described below:
(111) obtain input parameter, set up control connection;
(112) receive initial parameter, and, set up data and connect to the initial parameter of transmitting terminal transmitting and receiving terminal from transmitting terminal;
(113) data of wait transmitting terminal, if what receive is the probe bag, earlier, judge whether to be legal bag according to string number and Bale No., so that abandon out of order bag and because of network delay overlong time the lag behind illegal packet of belonging to of receiving of a last bag string and the undesirable bag of the qos field of dropping packets; If be judged as legal bag, order is carried out subsequent operation; If what receive is not the probe bag, but during string finishing control signal, show to have received a probe bag string, redirect execution in step (115);
(114) write down following measurement parameter: comprise string number at least, as the Bale No., transmitting time, time of reception rcvTime, the Receive sequence number that send sequence number; Then return execution in step (113), continue to prepare the follow-up string grouped data of record;
(115) this probe bag string is carried out analyzing and processing, record testing result and adjustment parameter, and judge whether this test path is token bucket speed limit path: promptly judge to measure in the sequence whether have trip point; If judge that test path is token bucket speed limit path, then finish detection process; Otherwise, execution in step (116);
(116) judge the long maximum string long value of setting that whether surpasses of probe bag string, if do not surpass the maximum string long value of setting, then the length of probe bag string is added 20 or the positive integer set, and this new string long parameter fed back to transmitting terminal, allow transmitting terminal restart test and send, receiving terminal returns execution in step (113); If surpass the maximum string long value of setting, still do not find trip point, judge that then this test path is non-token bucket speed limit path, finish detection process.
Judge whether the path is that the foundation in token bucket speed limit path is to judge in the measurement sequence of time delay or speed whether have trip point in the described step (115), the judgment standard of the Receive sequence number j of trip point is to satisfy following three conditions simultaneously, wherein i is the Receive sequence number of probe bag, its span is [0, the long maximum of string]:
A, for avoiding the influence of accidentalia, this trip point will satisfy formula: ρ<j<N-1-ρ; Wherein, border thresholding ρ is a natural number, and the ρ value can not surpass token bucket size itself, otherwise can cause token bucket speed limit path is judged to be non-token bucket speed limit path; N is the number of the bag that receives, and N-1 is the Receive sequence number of last bag of receiving;
The average delay timeDiff of the probe bag before and after B, this trip point or the difference of speed reach maximum:
Sequence number is that the computing formula of front and back average delay timeDiff of probe bag of i is as follows: timeDiff[i]=(rcvTime[N-1]-rcvTime[i])/(N-1-i)-(rcvTime[i]-rcvTime[0])/(i-0), wherein, rcvTime is a time of reception, rcvTime[i] be the time of reception of i grouping;
The computing formula of Receive sequence number j of finding the solution trip point is as follows:
J=max{timeDiff[i] | for any i, ρ<i<N-1-ρ };
Delay variation ratio before and after the Receive sequence number j of C, trip point is greater than the difference factor lambda, λ>1, to prevent erroneous judgement: in the token bucket speed limit path of reality, burst rate and Mean Speed often differ greatly (as being band width in physical 100M speed limit 10M or 2M), so its corresponding time delay is also often widely different, if differ too little, then be non-token bucket speed limit path probably; In measurement, the difference factor lambda be preset greater than 1 numerical value, promptly the Receive sequence number j of trip point will satisfy following equation:
(rcvTime[N-1]-rcvTime[j])/(N-1-j)≥λ×((rcvTime[j]-rcvTime[0])/(j-0))。
Described step (2) further comprises following content of operation:
(21) with the burst rate maxRate in the measurement data computational token bucket speed limit path before the trip point, the transmission rate in the stage that just happens suddenly, i.e. burst bandwidth; Computing formula is as follows:
MaxRate=j * 1000 * 8/ (rcvTime[j]-rcvTime[0]); In the formula, j is the Receive sequence number of trip point, and rcvTime is a time of reception, rcvTime[0] be that Receive sequence number is 0 bag, i.e. the time of reception of first bag, rcvTime[j] be the time of reception that trip point takes place;
(22) with the Mean Speed avgRate in the measurement data computational token bucket speed limit path after the trip point, the just long-term transmission rate that on average obtains, i.e. average bandwidth or bottleneck bandwidth; Computing formula is as follows:
AvgRate=(N-1-j) * 1000 * 8/ (rcvTime[N-1]-rcvTime[j]); In the formula, N is the number of the bag that receives, and N-1 is the Receive sequence number of last bag of receiving, rcvTime[N-1] be the time of reception that receives last bag;
(23) the big or small D of computational token bucket according to the following equation:
D=j×1000-avgRate×(rcvTime[j]-rcvTime[0])/8;
(24) calculate the packet queue length L according to the following equation:
L=(Q-j) * 1000-avgRate * (rcvTime[Q]-rcvTime[j])/8, wherein, the Receive sequence number of the previous point that Q begins for first packet loss, just before Q point and Q point, never have packet loss, packet loss has taken place afterwards, promptly Q for last Receive sequence number with send sequence number identical bag;
(25) calculate the rise time interval delta T of each token according to the following equation:
Δ T=(rcvTime[R]-rcvTime[Q])/P, wherein, R is the sequence number of first bag that receives before the last packet loss, P is the number of times of continuous packet loss; 1/ Δ T represents the token generating rate of token bucket, the just average bandwidth of token bucket speed limit.
When actual measurement bottleneck bandwidth or other parameter, receiving terminal is chosen a plurality of probe bag strings and is calculated its relevant token bucket parameters respectively, these probe bag strings will meet following condition: first Receive sequence numbers that are dropped grouping in all bag strings are carried out rank, and receiving terminal is chosen a plurality of probe bag strings of preceding 5%~15% of Receive sequence number rank maximum wherein, and (token bucket was consumed and was over this moment; Because there is background traffic in network, except measuring grouping, background traffic also can consume the token of token bucket, and it is big therefore to measure the grouping serial number that string abandons, and the interference of expression background traffic is little) calculate the parameter of its relevant token bucket respectively; Ask its arithmetic mean as end product again, to eliminate the influence of background traffic and accidentalia.
In the described step (3), the measurement result of token bucket speed limit path bottleneck bandwidth is the Mean Speed avgRate result of calculation value of described step (22).
In the described step (4), the remaining bandwidth in computational token bucket speed limit path is as dividing value on the maximum bandwidth in the remaining bandwidth Measurement Algorithm with the speed limit of token bucket or bottleneck bandwidth, the rerun method of measurement of traditional remaining bandwidth of comprising pathchirp or pathload obtains the remaining bandwidth measurement result.
In order to achieve the above object, the present invention also provides a kind of measuring system that is used for the method for measurement of bottleneck bandwidth under token bucket speed limit network path and remaining bandwidth, it is characterized in that: this system by the dispensing device of the transmission probe bag that is positioned at transmitting terminal and be positioned at receiving terminal reception probe bag receiving system and the analytical equipment that measurement data is carried out computing formed, adopt User Datagram Protoco (UDP) UDP realization data to be connected between described dispensing device and the receiving system.
Described transmitting terminal and receiving terminal are respectively equipped with transmitting terminal control device and the receiving terminal control device that is used for transmitting mutually control signal, these two control device consist of same entity with dispensing device and receiving system respectively, adopt transmission control protocol TCP to realize that data connect between two control device, and guarantee the reliable transmission of control signal.
Method of measurement of the present invention has following advantage:
The invention solves the problem that existing bottleneck bandwidth Measurement Algorithm can not accurately be measured on token bucket speed limit path, this method can be used for the measurement of common path, also can be used for the measurement in token bucket speed limit path.
The present invention can be used for the determination methods in token bucket speed limit path, and mutually combine with other traditional method of measurement (comprising remaining bandwidth, link bandwidth or other bottleneck bandwidth method of measurement), solved the bandwidth measurement problem on the token bucket speed limit path to a certain extent.Particularly combine the remaining bandwidth that solves under the token bucket speed limit path and measure problem with remaining bandwidth method of measurement (comprising pathchirp, pathload at least).
The present invention can also calculate some key parameters of token bucket algorithm simultaneously, for example the time interval of the length of the size of token bucket, packet queue, generation token.In a word, the present invention has good application prospects.
The simplest a kind of application of the present invention is the autonomous monitoring of user to the renting network bandwidth.Rented the ADSL of 1M such as the party A-subscriber to telecom operators, perhaps the special line of 20M has been rented by the B Internet bar to telecom operators.Party A-subscriber or B Internet bar want to know very much whether operator has really given so much bandwidth on earth, the switch that A or B unlikely log on operator certainly gets on to check, just need go initiatively to measure this moment with end-to-end bottleneck survey tool, with the bandwidth resources of determining to be provided.Simultaneously, the present invention can measure some key parameters (comprising the size of token bucket, the length of packet queue, the time interval that token generates etc.) of token bucket speed limit link (path), and these parameters can help operator and user to understand better and maintaining network.
In addition, the 20M special line that current B rents the Internet bar is likely that switch adopts the token bucket algorithm restriction to provide, and physical port that it is actual and netting twine all are 100M.This moment with existing survey tool (as pathrate, articles of reference: " grouping dispersion analysis technology and path capacity estimation " " Packet DispersionTechniques and Capacity Estimation " publishes in In Proc IEEE INFOCOM 2001.) test, very possible find that the result is 100M unexpectedly, the desired measurement result of this and user differs very big.If using the inventive method just can accurately measure this path.
Description of drawings
Fig. 1 is the operation principle schematic diagram of the present token bucket speed limit algorithm that uses.
Fig. 2 is the present invention carries out the bottleneck bandwidth test on switch an experimental system structure composition schematic diagram.
Fig. 3~Fig. 6 is respectively four analysis diagrams of the test data that measures of Fig. 2 experimental system.
Fig. 7 be the present invention under token bucket speed limit network path bottleneck bandwidth and the measuring system result of remaining bandwidth form schematic diagram.
Fig. 8 is the bottleneck bandwidth of the present invention under token bucket speed limit network path and the method for measurement overall procedure block diagram of remaining bandwidth.
Fig. 9 is the data interaction schematic diagram in the test process of the present invention.
Figure 10 is a transmitting terminal operating procedure flow diagram among the present invention.
Figure 11 (A), (B), (C), (D), (E) are respectively the schematic diagrames of each frame structure of initial parameter, probe bag, string end signal and the start of string signal of initial parameter, the receiving terminal of transmitting terminal among the present invention.
Figure 12 is a receiving terminal operating procedure flow diagram among the present invention.
Embodiment
For making the purpose, technical solutions and advantages of the present invention clearer, the present invention is described in further detail below in conjunction with accompanying drawing.
Referring to Fig. 7, the present invention is the bottleneck bandwidth under token bucket speed limit network path and the measuring system of remaining bandwidth, this system is made up of with the receiving system of the reception probe bag that is positioned at receiving terminal and to the analytical equipment that the measurement of correlation data are handled the dispensing device of the transmission probe bag that is positioned at transmitting terminal, and this transmitting terminal and the data that being connected of receiving terminal adopt udp protocol connect.Wherein, dispensing device, receiving system, analytical equipment are solid box, represent that these three devices are basic device, and be indispensable.Two control device are frame of broken lines, are illustrated in the simple realization, can omit this two devices.All devices all are logic entities among the figure.Its interior arrangement of the ellipse representation of two dotted lines often (but being not limited to) is embodied as a physical entity, and the dotted ellipse on the left side is a transmitting terminal, and the dotted ellipse on the right is a receiving terminal.The line of band arrow is represented data flow among the figure, and dispensing device is used for the transmission of probe bag to single arrow line segment of receiving system, and normally (but being not limited to) UDP connection connects hereinafter referred to as data.Double arrowed line segment table between transmitting terminal control device and the receiving terminal control device shows the bi-directional of control signal, and normally (but being not limited to) TCP connects, and control signal will guarantee reliable transmission, hereinafter referred to as control connection.
Referring to Fig. 8, introduce each operating procedure of the main flow of the inventive method:
(1) transmitting terminal and receiving terminal connect, and carry out data interaction, survey and judge whether test path is the network path of token bucket speed limit, if test path is token bucket speed limit path, carry out subsequent step in proper order; Otherwise, redirect execution in step (5);
(2) calculate the token bucket parameters of this test path;
(3) carry out the measurements and calculations of the bottleneck bandwidth in token bucket speed limit path;
(4) carry out the measurements and calculations of the remaining bandwidth in token bucket speed limit path;
(5) adopt the conventional method bottleneck bandwidth and the remaining bandwidth in this path of measurements and calculations respectively.
Referring to Fig. 9, in the above-mentioned steps (1), the detection process of token bucket is that the relevant apparatus by transmitting terminal and receiving terminal carries out data interaction, finishes jointly.Fig. 9 has illustrated the data interaction situation in this test process.The real segment of band arrow is represented the transmission (being that data connect) of probe bag among the figure, is handled by dispensing device and receiving system; The phantom line segments of band arrow is represented the transmission of control signal, is handled by transmitting terminal control device and receiving terminal control device, for simple realization, can not have control signal.Control connection and data establishment of connection process have been omitted among the figure.
Referring to Fig. 9 and Figure 10, introduce the operations (based on transmitting terminal, wherein the parameter in each frame all is an integer) of the data exchange process of surveying token bucket.
(11) transmitting terminal is set up control connection with receiving terminal and is connected with data: if adopt the control connection of TCP, be exactly that both sides set up a TCP and connect; Described data connect the connection that includes but not limited to User Datagram Protoco (UDP) UDP;
(12) transmitting terminal and receiving terminal exchange initial parameter: after control connection is set up, transmitting terminal and receiving terminal exchange initial parameter.Transmitting terminal sends to receiving terminal to the initial parameter of user input or acquiescence, and its frame structure (referring to Figure 11 (A)) comprises at least that string is long, bag is long, always go here and there number; Receiving terminal also returns to transmitting terminal (be connected to frame structure that UDP connects for data and be the udp port that receives the probe bag number, referring to Figure 11 (B)) to the initial parameter of the necessity that comprises the port numbers that receives the probe bag at least.(annotate: the long number that is meant packet in the measurement data packet sequence of string, its numerical value>30, default value is 3000; Bag length is the byte number of each packet, its numerical value>20, and default value is 1000; Total string number is a maximum number of setting the test data packet sequence that sends in the whole measuring process, i.e. the maximum number of probe bag string, and default value is 50;
(13) transmitting terminal sends the measurement data packet sequence to receiving terminal, promptly send probe bag string: after the initial parameter exchange is finished, transmitting terminal begin to receiving terminal with back-to-back or equally spaced mode send probe bag string, the frame structure of probe bag string comprises following byte at least: string number, Bale No., timestamp second, timestamp microsecond, be used to supply the long and load (referring to Figure 11 (C)) that generate at random of bag
(14) transmitting terminal distributes probe bag string, sends a string finishing control signal to receiving terminal, and the frame structure of string finishing control signal comprises type and string number (referring to Figure 11 (D)) at least.Receiving terminal carries out analyzing and processing by analytical equipment to this string of just having received after receiving the string end signal, draws PRELIMINARY RESULTS; Judge whether to be token bucket speed limit path; If be defined as token bucket speed limit path, finish this flow operations; If can not determine token bucket speed limit path, carry out subsequent operation;
(15) receiving terminal resets and comprises type, string length, bag length, the initial parameter of stand-by period at least, adds the start of string signal and sends to transmitting terminal together, and the frame structure of start of string signal is shown in Figure 11 (E).After transmitting terminal is received this start of string signal, wait for the corresponding time (promptly waiting token bucket to recover); Then, will repeat above-mentioned steps (13) and (14), when the string number reaches total string and counts, after receiving terminal calculates measurement result, to transmitting terminal send one measure the finishing control signal after, end operation; After transmitting terminal receives this measurement finishing control signal, end operation.(wherein type integer representation, 1 is that start of string, 2 is that string end, 3 is for measuring end).
Referring to Figure 12, introduce the operations step of receiving terminal of the present invention in finishing the token bucket detection process:
(111) receiving terminal obtains input parameter, sets up control connection;
(112) receive initial parameter, and, set up data and connect to the initial parameter of transmitting terminal transmitting and receiving terminal from transmitting terminal;
(113) data of wait transmitting terminal, if what receive is the probe bag, earlier according to string number and Bale No., judge whether to be legal bag, so that abandon the illegal packet and the out of order bag that belong to a last bag string that lag behind and receive because of the network delay overlong time, and the undesirable bag of the qos field of dropping packets, satisfy the requirement of some special token bucket method for limiting speed; If be judged as legal bag, order is carried out subsequent operation; If what receive is not the probe bag, but string shows to have received a probe bag string, redirect execution in step (115) during end signal;
(114) write down following measurement parameter: comprise string number at least, as the Bale No., transmitting time, time of reception rcvTime, the Receive sequence number that send sequence number; Then return execution in step (113), continue to prepare the follow-up string grouped data of record;
(115) this probe bag string is carried out analyzing and processing, record testing result and adjustment parameter, and judge whether this path is token bucket speed limit path: promptly judge to measure in the sequence whether have trip point; If judge that the path is token bucket speed limit path, then finish detection process; Otherwise, execution in step (116);
(116) judge the long maximum string long value of setting that whether surpasses of probe bag string, if do not surpass the maximum string long value of setting, then the length of probe bag string is added 20 or certain positive integer of setting, and this new string long parameter fed back to transmitting terminal, allow transmitting terminal restart test and send, receiving terminal returns execution in step (113); If surpass the maximum string long value of setting, still do not find trip point, judge that then this path is non-token bucket speed limit path, finish detection process; The long peaked default value of described string is 10000.
Judge whether the path is that the foundation in token bucket speed limit path is to judge in the measurement sequence of time delay or speed whether have trip point in the step (115), for fear of false judgment, the judgment standard of trip point j is to satisfy following three conditions simultaneously, wherein j is the Receive sequence number of probe bag or sends sequence number, its span is [0, the long maximum N of string]:
A, this trip point can not to avoid the influence of accidentalia, promptly will satisfy formula: ρ<j<N-1-ρ too near two ends; Wherein, border thresholding ρ is a natural number, and the ρ value can not be too big, in order to avoid surpass token bucket size itself, causes token bucket speed limit path is judged to be non-token bucket restriction path, and its empirical value is 10, or is set by command line parameter by the user; The long maximum N of string is a natural number;
(should use speed, with time delay just for simplicity) difference reaches maximum to the average delay timeDiff of the probe bag before and after B, this trip point; Sequence number is that the computing formula of front and back average delay timeDiff of probe bag of i is as follows:
TimeDiff[i]=(rcvTime[N-1]-rcvTime[i])/(N-1-i)-(rcvTime[i]-rcvTime[0])/(i-0), wherein, rcvTime is a time of reception, rcvTime[i] be the time of reception of i grouping;
The computing formula of finding the solution trip point j is as follows:
J=max{timeDiff[i] | for any i, ρ<i<N-1-ρ };
It is enough big that delay variation before and after C, the trip point j is wanted, to prevent erroneous judgement: in the token bucket speed limit path of reality, burst rate and Mean Speed often differ greatly (as being band width in physical 100M speed limit 10M or 2M), so its corresponding time delay is also often widely different, if differ too little, then be non-token bucket speed limit path probably; In measurement, can set difference factor lambda (λ>1) is 1.5, and trip point j will satisfy following equation:
(rcvTime[N-1]-rcvTime[j])/(N-1-j)≥λ×((rcvTime[j]-rcvTime[0])/(j-0))。
For token bucket speed limit path, to calculate the parameters of this path token bucket in the step of the present invention (2), specifically be described below;
(21) with the transmission rate in burst rate maxRate-burst stage in the measurement data computational token bucket speed limit path before the trip point, i.e. burst bandwidth; Computing formula is as follows:
maxRate=j×1000×8/(rcvTime[j]-rcvTime[0]);
(22) transmission rate that on average obtains for a long time with the Mean Speed avgRate-in the measurement data computational token bucket speed limit path after the trip point, i.e. average bandwidth or bottleneck bandwidth; Computing formula is as follows:
avgRate=(N-1-j)×1000×8/(rcvTime[N-1]-rcvTime[j]);
(23) the big or small D of computational token bucket according to the following equation:
D=j×1000-avgRate×(rcvTime[j]-rcvTime[0])/8;
(24) calculate the packet queue length L according to the following equation:
L=(Q-j) * 1000-avgRate * (rcvTime[Q]-rcvTime[j])/8, wherein, the Receive sequence number of the previous point that Q begins for first packet loss or send sequence number;
(25) calculate the rise time interval delta T of each token according to the following equation:
Δ T=(rcvTime[R]-rcvTime[Q])/P, wherein, R is the sequence number of first bag received before the last packet loss, P is the number of times of continuous packet loss.
On token bucket speed limit path, background traffic can influence the CALCULATION OF PARAMETERS precision.Because background traffic can cause token bucket to use up in advance, formation is full in advance, thereby causes the packet loss of measuring probe bag to shift to an earlier date.That is to say, packet loss begin than later situation be subjected to background traffic to influence meeting smaller.During actual measurement, each that receive according to aforementioned receiving terminal exists the packet string of discontinuous point all can calculate the result of a token bucket parameters respectively, can choose the result of calculation that packet loss begins a plurality of probe bag strings of 5%~15% the latest, and then ask its arithmetic mean as last bottleneck bandwidth result.The factor of why carrying out repeatedly (a plurality of string) measurement is to eliminate the influence of background traffic and other accidentalia.In addition, other each parameter also can adopt same processing method, improves the order of accuarcy of end product.
The measurement result of token bucket speed limit path bottleneck bandwidth or access bandwidth is exactly the measurement calculating end value of the Mean Speed avgRate of step (22) in the step of the present invention (3).
The remaining bandwidth that calculates token bucket speed limit path in the step of the present invention (4) then is as dividing value on the maximum bandwidth in the remaining bandwidth Measurement Algorithm with the speed limit of token bucket or bottleneck bandwidth, the remaining bandwidth method of measurement of reruning obtains the remaining bandwidth measurement result; Described traditional remaining bandwidth method of measurement includes but not limited to pathchirp, pathload.
The present invention has adopted the C language to work out a bottleneck bandwidth method of measurement that energy moves on the linux machine, and verifies that on experimental network the Organization Chart of its pilot system as shown in Figure 2.Wherein the layer 2-switched speed limit algorithm of Huawei is a token bucket algorithm, and port speed is 100M, and the port speed constraint that links to each other with receiving terminal is constrained to 2M and 10M respectively in twice test, and the network interface card of transmitting terminal and receiving terminal all is 100M.When not having background traffic, the result of experiment measuring is as shown in table 1 below:
Method of measurement Result when speed limit becomes 2M (Mbps) Result when speed limit becomes 10M (Mbps)
Pathrate (bottleneck bandwidth instrument) 98~99 97~98
Pathload (available bandwidth instrument) 23.78~25.37 94.59~100.94
Pathneck (bottleneck bandwidth instrument) 98.075~98.444 98.201~98.920
Pathchirp (available bandwidth instrument) 65.5~97.4 67.4~99.3
Stab (link bandwidth instrument) 41.4~55.0 42.7~62.2
The inventive method Average (bottleneck) the bandwidth 1.9M of burst bandwidth 93M Average (bottleneck) the bandwidth 9.5M of burst bandwidth 93M
As can be seen from the table, on token bucket speed limit path, above listed several main end-to-end bottleneck bandwidth, available bandwidth, link bandwidth survey tools all can't be correct measurement; And the present invention can measure burst bandwidth and average bandwidth quite accurately.
In order to verify the influence of background traffic to this method, the applicant has done an experiment again.Promptly increase the transmitting terminal of a background traffic again in the topology of the pilot system of Fig. 2, send the UDP background traffic of Bao Changwei 1472 bytes at the uniform velocity, the receiving terminal of background traffic still adopts the receiving terminal of this method.This experimental result data (unit is Mbps) as shown in table 2 below:
Mean Speed after the speed limit Background traffic Measurement result-burst bandwidth Measurement result-average (bottleneck) bandwidth
10M 0M 93M 9.5M
10M 2M 92M 9.4M
10M 5M 89M 9.2M
10M 8M 87M 9.1M
2M 0M 93M 1.9M
2M 0.5M 93M 1.9M
2M 1.0M 93M 1.9M
2M 1.5M 92M 1.9M
From this result data form as can be seen: background traffic has some influences to measurement result, particularly to the obvious effect of burst bandwidth, but is not very big to the influence of average (bottleneck) bandwidth.
In addition, need to prove that the implementation procedure of the inventive method does not relate to the correlation properties of specific network types, therefore, the present invention can both be suitable for for wired or wireless data network.

Claims (12)

  1. One kind under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: after test path is set up, transmitting terminal sends abundant probe bag, be used for depleting the token of token bucket, the transmission rate when depleting token or the trip point of time delay were discerned in the variation of speed or time delay before and after receiving terminal depleted according to token, and whether judge whether to be token bucket speed limit path according to the existence of trip point, calculate the bottleneck bandwidth and the remaining bandwidth of associated pathway again; Comprise following operating procedure:
    (1) transmitting terminal and receiving terminal connect, and carry out data interaction, survey and judge whether test path is the network path of token bucket speed limit, if test path is token bucket speed limit path, carry out subsequent step in proper order; Otherwise, redirect execution in step (5);
    (2) calculate the token bucket parameters of this test path, determine the trip point of transmission rate or time delay;
    (3) calculate the Mean Speed in token bucket speed limit path according to the measurement data after the trip point, i.e. the bottleneck bandwidth in token bucket speed limit path;
    (4) with the bottleneck bandwidth in token bucket speed limit path as the maximum bandwidth higher limit in the remaining bandwidth Measurement Algorithm, utilization comprises that the remaining bandwidth method of measurement of pathchirp or pathload calculates the remaining bandwidth in token bucket speed limit path again; Measure and finish;
    (5) employing comprises the bottleneck bandwidth and the remaining bandwidth of traditional this test path of remaining bandwidth method of measurement difference measurements and calculations of pathchirp or pathload.
  2. 2. according to claim 1 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: described step (1) further comprises following content of operation:
    (11) transmitting terminal is set up control connection with receiving terminal and is connected with data: if adopt the control connection of TCP, be exactly that both sides set up a TCP and connect; Described data connect the connection that comprises User Datagram Protoco (UDP) UDP;
    (12) transmitting terminal and receiving terminal exchange initial parameter: transmitting terminal sends to receiving terminal to the initial parameter of user input or acquiescence, and the frame structure of initial parameter comprises at least that string is long, bag is long, always go here and there number; Receiving terminal also returns to transmitting terminal to the initial parameter that comprises the port numbers that receives the probe bag at least;
    (13) transmitting terminal sends the measurement data packet sequence to receiving terminal: transmitting terminal with back-to-back or equally spaced mode send the measurement data packet sequence one by one to receiving terminal, wherein each packet data package claims the probe bag again, promptly sends probe bag string; The frame structure of this probe bag string comprises following byte at least: string number, Bale No., timestamp second, timestamp microsecond, be used to supply the long and load that generate at random of bag;
    (14) after transmitting terminal sends probe bag string, send a string finishing control signal to receiving terminal; Receiving terminal carries out analyzing and processing by analytical equipment to this string of just having received after receiving this string finishing control signal, draws PRELIMINARY RESULTS, judges whether to be token bucket speed limit path; If be defined as token bucket speed limit path, finish this operation; If can not determine token bucket speed limit path, carry out subsequent operation;
    (15) receiving terminal resets and comprises that at least string is long, bag is long, the initial parameter of stand-by period, add the start of string signal and send to transmitting terminal together, after transmitting terminal is received this start of string signal, after waiting for the corresponding time of token bucket recovery, with repeated execution of steps (13) and (14), when the string number reaches total string and counts, after receiving terminal calculates measurement result, after transmitting terminal sends a measurement finishing control signal, end operation; After transmitting terminal receives this measurement finishing control signal, end operation.
  3. 3. according to claim 2 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: described string length is the number of packet in the measurement data packet sequence, its numerical value>30; Bag length is the byte number of each packet, its numerical value>20; Total string number is the number of setting the test data packet sequence that sends in the whole measuring process, the i.e. maximum number of probe bag string; The frame structure of described string finishing control signal comprises type and string number at least, and the frame structure of start of string signal comprises following field at least: type, string is long, bag is long, string number, stand-by period; The wherein type field integer representation of the frame structure of start of string signal: 1 is that start of string, 2 is that string end, 3 is the measurement end; When type field was 3, the field of back was nonsensical.
  4. 4. according to claim 1 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: the data interaction of described step (1) transmitting terminal and receiving terminal is to be worked in coordination, finished jointly by the relevant apparatus at two ends, and wherein the operating procedure of transmitting terminal execution is as described below:
    (101) obtain input parameter, set up control connection;
    (102) send initial parameter to receiving terminal, and receive initial parameter, set up data and connect from receiving terminal;
    (103) send probe bag string one by one after, certain interval of time sends string finishing control signal; Wait for the return control signal of receiving terminal again;
    (104) if the receiving terminal return control signal of receiving is the start of string signal, then return step (103); If the receiving terminal return control signal of receiving is to measure finishing control signal, then end operation.
  5. 5. according to claim 1 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: the data interaction of described step (1) transmitting terminal and receiving terminal is to be worked in coordination, finished jointly by the relevant apparatus at two ends, wherein receiving terminal is used to cooperate transmitting terminal to finish the token bucket detection process, and the operating procedure of its execution is as described below:
    (111) obtain input parameter, set up control connection;
    (112) receive initial parameter, and, set up data and connect to the initial parameter of transmitting terminal transmitting and receiving terminal from transmitting terminal;
    (113) data of wait transmitting terminal, if what receive is the probe bag, earlier, judge whether to be legal bag according to string number and Bale No., so that abandon out of order bag and because of network delay overlong time the lag behind illegal packet of belonging to of receiving of a last bag string and the undesirable bag of the qos field of dropping packets; If be judged as legal bag, order is carried out subsequent operation; If what receive is not the probe bag, but during string finishing control signal, show to have received a probe bag string, redirect execution in step (115);
    (114) write down following measurement parameter: comprise string number at least, as the Bale No., transmitting time, time of reception rcvTime, the Receive sequence number that send sequence number; Then return execution in step (113), continue to prepare the follow-up string grouped data of record;
    (115) this probe bag string is carried out analyzing and processing, record testing result and adjustment parameter, and judge whether this test path is token bucket speed limit path: promptly judge to measure in the sequence whether have trip point; If judge that test path is token bucket speed limit path, then finish detection process; Otherwise, execution in step (116);
    (116) judge the long maximum string long value of setting that whether surpasses of probe bag string, if do not surpass the maximum string long value of setting, then the length of probe bag string is added 20 or the positive integer set, and this new string long parameter fed back to transmitting terminal, allow transmitting terminal restart test and send, receiving terminal returns execution in step (113); If surpass the maximum string long value of setting, still do not find trip point, judge that then this test path is non-token bucket speed limit path, finish detection process.
  6. 6. according to claim 5 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: judge whether the path is that the foundation in token bucket speed limit path is to judge in the measurement sequence of time delay or speed whether have trip point in the described step (115), the judgment standard of the Receive sequence number j of trip point is to satisfy following three conditions simultaneously, wherein i is the Receive sequence number of probe bag, its span is [0, the long maximum of string]:
    A, for avoiding the influence of accidentalia, this trip point will satisfy formula: ρ<j<N-1-ρ; Wherein, border thresholding ρ is a natural number, and the ρ value can not surpass token bucket size itself, otherwise can cause token bucket speed limit path is judged to be non-token bucket speed limit path; N is the number of the bag that receives, and N-1 is the Receive sequence number of last bag of receiving;
    The average delay timeDiff of the probe bag before and after B, this trip point or the difference of speed reach maximum:
    Sequence number is that the computing formula of front and back average delay timeDiff of probe bag of i is as follows:
    timeDiff[i]=(rcvTime[N-1]-rcvTime[i])/(N-1-i)-(rcvTime[i]-rcvTime[0])/(i-0),
    Wherein, rcvTime is a time of reception, rcvTime[i] be the time of reception of i grouping;
    The computing formula of finding the solution trip point j is as follows:
    J=max{timeDiff[i] | for any i, ρ<i<N-1-ρ };
    Delay variation ratio before and after C, the trip point j is greater than the difference factor lambda, and λ>1 is to prevent erroneous judgement; The difference factor lambda be preset greater than 1 numerical value, promptly the Receive sequence number j of trip point will satisfy following equation:
    (rcvTime[N-1]-rcvTime[j])/(N-1-j)≥λ×((rcvTime[j]-rcvTime[0])/(j-0))。
  7. 7. according to claim 1 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: described step (2) further comprises following content of operation:
    (21) with the burst rate maxRate in the measurement data computational token bucket speed limit path before the trip point, the transmission rate in the stage that just happens suddenly, i.e. burst bandwidth; Computing formula is as follows:
    MaxRate=j * 1000 * 8/ (rcvTime[j]-rcvTime[0]); In the formula, j is the Receive sequence number of trip point, and rcvTime is a time of reception, rcvTime[0] be that Receive sequence number is 0 bag, i.e. the time of reception of first bag, rcvTime[j] be the time of reception that trip point takes place;
    (22) with the Mean Speed avgRate in the measurement data computational token bucket speed limit path after the trip point, the just long-term transmission rate that on average obtains, i.e. average bandwidth or bottleneck bandwidth; Computing formula is as follows:
    AvgRate=(N-1-j) * 1000 * 8/ (rcvTime[N-1]-rcvTime[j]); In the formula, N is the number of the bag that receives, and N-1 is the Receive sequence number of last bag of receiving, rcvTime[N-1] be the time of reception that receives last bag;
    (23) the big or small D of computational token bucket according to the following equation:
    D=j×1000-avgRate×(rcvTime[j]-rcvTime[0])/8;
    (24) calculate the packet queue length L according to the following equation:
    L=(Q-j) * 1000-avgRate * (rcvTime[Q]-rcvTime[j])/8, wherein, the Receive sequence number of the previous point that Q begins for first packet loss, just before Q point and Q point, never have packet loss, packet loss has taken place afterwards, promptly Q for last Receive sequence number with send sequence number identical bag;
    (25) calculate the rise time interval delta T of each token according to the following equation:
    Δ T=(rcvTime[R]-rcvTime[Q])/P, wherein, R is the sequence number of first bag that receives before the last packet loss, P is the number of times of continuous packet loss; 1/ Δ T represents the token generating rate of token bucket, the just average bandwidth of token bucket speed limit.
  8. 8. according to claim 7 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: when actual measurement bottleneck bandwidth or other parameter, first Receive sequence number that is dropped grouping in all bag strings is carried out rank, receiving terminal is chosen a plurality of probe bag strings of preceding 5%~15% of Receive sequence number rank maximum wherein, calculate its relevant token bucket parameters respectively, ask its arithmetic mean as end product again, to eliminate the influence of background traffic and accidentalia.
  9. 9. according to claim 7 under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: in the described step (3), the measurement result of token bucket speed limit path bottleneck bandwidth is the Mean Speed avgRate result of calculation value of described step (22).
  10. According to claim 1 or 7 or 8 described under token bucket speed limit network path bottleneck bandwidth and the method for measurement of remaining bandwidth, it is characterized in that: in the described step (4), the remaining bandwidth in computational token bucket speed limit path is as dividing value on the maximum bandwidth in the remaining bandwidth Measurement Algorithm with the speed limit of token bucket or bottleneck bandwidth, the rerun method of measurement of traditional remaining bandwidth of comprising pathchirp or pathload obtains the remaining bandwidth measurement result.
  11. 11. bottleneck bandwidth and system of measuring of the method for measurement of remaining bandwidth under token bucket speed limit network path according to claim 1, it is characterized in that: this system by the dispensing device of the transmission probe bag that is positioned at transmitting terminal and be positioned at receiving terminal reception probe bag receiving system and the analytical equipment that measurement data is carried out computing formed, adopt User Datagram Protoco (UDP) UDP realization data to be connected between described dispensing device and the receiving system.
  12. 12. measuring system according to claim 11, it is characterized in that: described transmitting terminal and receiving terminal are respectively equipped with transmitting terminal control device and the receiving terminal control device that is used for transmitting mutually control signal, these two control device consist of same entity with dispensing device and receiving system respectively, adopt transmission control protocol TCP to realize that data connect between two control device, and guarantee the reliable transmission of control signal.
CNB2005101236953A 2005-11-18 2005-11-18 Method and system for measuring bottleneck bandwidth and remanent bandwidth Expired - Fee Related CN100421396C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101236953A CN100421396C (en) 2005-11-18 2005-11-18 Method and system for measuring bottleneck bandwidth and remanent bandwidth

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101236953A CN100421396C (en) 2005-11-18 2005-11-18 Method and system for measuring bottleneck bandwidth and remanent bandwidth

Publications (2)

Publication Number Publication Date
CN1770711A CN1770711A (en) 2006-05-10
CN100421396C true CN100421396C (en) 2008-09-24

Family

ID=36751732

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101236953A Expired - Fee Related CN100421396C (en) 2005-11-18 2005-11-18 Method and system for measuring bottleneck bandwidth and remanent bandwidth

Country Status (1)

Country Link
CN (1) CN100421396C (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100448205C (en) * 2006-05-15 2008-12-31 西安西电捷通无线网络通信有限公司 Method for co-collecting IP network performance by active type measure and passive type measure
AU2008225072B2 (en) * 2007-03-12 2013-01-17 Citrix Systems, Inc. Systems and methods for dynamic bandwidth control by proxy
CN101453422B (en) * 2008-11-07 2011-03-16 广东科达机电股份有限公司 Network bandwidth allocation method and device
CN102710480B (en) * 2008-12-25 2015-11-18 三菱电机株式会社 Communications Management Units, communicator and communication means
CN101483603B (en) * 2009-02-04 2011-12-28 北京华力创通科技股份有限公司 Method and apparatus for controlling data flow of device
CN102812670B (en) * 2010-03-22 2015-11-25 飞思卡尔半导体公司 The method of token bucket management devices and management token bucket
CN102739518B (en) * 2012-05-30 2015-12-09 杭州华三通信技术有限公司 A kind of flow load sharing method and apparatus
US9674086B2 (en) * 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
CN103825775B (en) * 2013-12-31 2017-04-05 广东工业大学 The multi-hop wireless network available bandwidth real-time detection method of self-adaptive detection bag length
CN105634842B (en) * 2014-10-29 2019-01-11 华为技术有限公司 A kind of method, apparatus and system of detection bandwidth
CN105245399B (en) * 2015-09-08 2019-01-18 海南大学 The measure of bottleneck link in a kind of end to end network communication path
CN105553781B (en) * 2016-01-12 2019-12-06 腾讯科技(深圳)有限公司 method and device for measuring bottleneck bandwidth
CN107438013B (en) * 2016-05-27 2022-05-17 中兴通讯股份有限公司 Port optimization method, device and system
CN106302016B (en) * 2016-08-18 2019-09-10 成都网优力软件有限公司 The method and system of small flow quick obtaining network physical bandwidth
CN106302017B (en) * 2016-08-18 2019-10-08 成都网优力软件有限公司 The small capaciated flow network velocity-measuring system of high concurrent and method
CN110753004B (en) * 2019-10-18 2023-02-24 北京浪潮数据技术有限公司 Dynamic current limiting method, system and device for data transmission and readable storage medium
CN112306407B (en) * 2020-10-23 2022-10-25 苏州浪潮智能科技有限公司 Monitoring data storage method
CN114172847B (en) * 2021-11-29 2023-05-26 烽火通信科技股份有限公司 Multi-port bandwidth speed limiting method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1047223A2 (en) * 1999-04-21 2000-10-25 KDD Corporation Band width measuring method and apparatus for a packet switching network
US20020169880A1 (en) * 2001-04-19 2002-11-14 Koninklijke Philips Electronics N.V. Method and device for robust real-time estimation of the bottleneck bandwidth in the internet
CN1545277A (en) * 2003-11-19 2004-11-10 北京邮电大学 An end-to-end network bottleneck bandwidth measuring method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1047223A2 (en) * 1999-04-21 2000-10-25 KDD Corporation Band width measuring method and apparatus for a packet switching network
US20020169880A1 (en) * 2001-04-19 2002-11-14 Koninklijke Philips Electronics N.V. Method and device for robust real-time estimation of the bottleneck bandwidth in the internet
CN1545277A (en) * 2003-11-19 2004-11-10 北京邮电大学 An end-to-end network bottleneck bandwidth measuring method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
What do packect dispersion techniques measure? Dovrolis, C., Ramanathan, P., Moore, D.Proceeding of IEEE INFOCOM2001,Vol.2 . 2001
What do packect dispersion techniques measure? Dovrolis, C., Ramanathan, P., Moore, D.Proceeding of IEEE INFOCOM2001,Vol.2 . 2001 *
端到端网络带宽测量技术研究. 张峰,雷振明.电信科学,第2005卷第4期. 2005
端到端网络带宽测量技术研究. 张峰,雷振明.电信科学,第2005卷第4期. 2005 *

Also Published As

Publication number Publication date
CN1770711A (en) 2006-05-10

Similar Documents

Publication Publication Date Title
CN100421396C (en) Method and system for measuring bottleneck bandwidth and remanent bandwidth
CN101026509B (en) End-to-end low available bandwidth measuring method
Melander et al. A new end-to-end probing and analysis method for estimating bandwidth bottlenecks
JP3587352B2 (en) Network communication performance measurement method and apparatus, and computer-readable recording medium storing network communication performance measurement program
CN101272290B (en) Measuring method, measuring apparatus for route congestion state in IP network
CN101808016B (en) Method and system for rapidly measuring end-to-end network performance of DiffServ region under IPv6
JP4348124B2 (en) Method and communication device for estimating QoS
CN102045219B (en) High-efficiency single-end available bandwidth measuring method
JP6039797B2 (en) Method and node for improved estimation of available path capacity of a data transfer path
CN105634865A (en) Method and system for obtaining bandwidth
CN101119240A (en) PGM based effective bandwidth measuring method
EP2936741B1 (en) Probing a network
EP3513529B1 (en) Performance measurement in a packet-switched communication network
KR101369558B1 (en) A method for estimation of residual bandwidth
CN100396017C (en) Virtual chain-circuit performance real-time measuring method in covering route network
Neginhal et al. Measuring bandwidth signatures of network paths
EP3085021B1 (en) Probing a network
Xu et al. A bandwidth adaptive method for estimating end-to-end available bandwidth
Rés et al. rt-winf: Real time wireless inference mechanism
CN106571970B (en) The monitoring method and device of bearer network
Sequeira et al. Describing the access network by means of router buffer modelling: a new methodology
Jakimoski et al. Measurements of available bandwidth in computer networks
Zhang et al. Estimating available bandwidth using multiple overloading streams
Huang et al. Available bandwidth estimation via one-way delay jitter and queuing delay propagation model
Wei-Xuan et al. Prioritized tri-packets probes for available bandwidth measurement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080924

Termination date: 20181118