In this section we describe a deterministic multi-packet model that is more powerful than the models described in the previous section and show how it can be used to measure link bandwidths along a path. The new model takes into account all the packets in a single flow as well as latency. We developed the multi-packet model as a result of attempting to unify the one-packet and packet pair models. In fact, as we show below, the multi-packet model can derive both the one-packet and packet pair models as well as the new tailgating technique.
The multi-packet model consists of a delay equation derived from two other equations: an arrival time equation and a queueing delay equation. The following arrival time equation is a slight variation on the one-packet equation (1) (variables defined in Table 1):
This equation predicts that packet k arrives at link l at its
transmission time (tk0) plus the sum over all the previous links
of the latencies (di), transmission delays
![]()
![]()
, and queueing delays (qki) of
those links. Equation 3 differs from the one-packet
equation (1) in that it considers k - 1
packets in the same flow and the queueing delays of those packets.
|
We model the queueing delay due to other packets in the same flow using the following equation:
This equation predicts that packet k is queued at the router just before link l from the time it arrives at that router (tkl) until it can begin transmitting, which is the time when the previous packet (k - 1) arrives at the next router ( tk - 1l + 1) minus the latency of this link (dl). We assume that the first packet is never queued ( q00 = ... = q0n - 1 = 0). An example of using Equation 4 to compute queueing delay is shown in Figure 4. This equation is equivalent to those described by Paxson [15] and Stoica [18]. Notice that packet k + 1 in the figure is not queued at all because it arrives at link l after packet k has been transmitted. Queueing delay cannot be negative, so the max() function in the queueing equation causes it to be 0 in this case.We combine Equations 3 and 4 to form the multi-packet delay equation:
The multi-packet equation is as least as powerful as both the one-packet and packet pair models because we can derive both of those models from Equation 5. We reduce the multi-packet equation to the one-packet equation (1) by taking k = 0. To derive the packet pair equation from Equation 5 we reformulate the packet pair equation as the following property:
Using Equation 5, we derive the Packet Pair Property in Appendix A.
As well as combining the advantages of previous models, the multi-packet model combines the assumptions of previous models. The model assumes that packets from other flows do not cause queueing in the modeled flow. As with previous models, this assumption can be worked around by using the minimum of several observed delays of particular packet size. Like previous models, it assumes that transmission delay is linear with respect to packet size and that routers are store-and-forward.
The basic approach we take is to start with the multi-packet delay equation and try to solve for the bandwidth blq of the link lq at which queueing occurs. We rewrite Equation (5) to state the time packet k takes to arrive at the destination link n (with variables defined in Table 1):
Assuming no queuing except at the queuing link, we can split this delay into the time to travel to the queueing link, the time spent at the queueing link, and the time spent after the queueing link:
We substitute using (5) and simplify:
We substitute using (5), include the assumption that the first packet experiences no queueing, and simplify:
Before continuing with the derivation, we define the following variables for more compact notation:
Using these definitions, we continue simplifying the equation:
Solving for blq and collecting terms,
This shows that we can compute the bandwidth of a link at which queuing occurs (blq) from the sizes of the two packets ( sk - 1, sk), the arrival time of the second packet (tkn), the transmission time of the first packet (tk - 10), the bandwidth of all earlier links (blq - 1) and (bn - 1), and the delay of all earlier links (dn - 1). To use this equation in practice, we have to solve various problems including calculating the inter-packet transmission time, dealing with clock skew, and using round trip measurements. We describe our solutions to these and other implementation problems in the next section.
Kevin Lai 2001-04-04