Recall that in Section 2, we listed several reasons why two links may impact each other's throughput. If we ignore the ACKs (given their relatively small size), we can then use the following simple methodology to estimate the impact of carrier sensing and collision of data packets as follows.
First, have one node, say , broadcast packets as fast as it can. Only
one node is active at a time. Denote the send rate by
. Keep track
of the delivery rate of packets at all other nodes in the network. For
example, the delivery rate at node
will be denoted by
.
Have each node broadcast in turn. Then, select a pair of nodes, say
and
, have them broadcast packets together. Denote their send rates
by
and
. At all remaining nodes measure the delivery
rate of packets they receive from each of the two broadcasting nodes. For
example, at node
, the delivery rate of packets from
is denoted
by
. Similarly, at node
, the delivery rate of packets
from
is denoted by
. Have each pair broadcast in turn.
Thus, we have carried out a total of
experiments.
Consider links and
. Using the data gathered from the
above methodology, we can define the ``broadcast interference ratio''
(BIR) as follows.
Our hypothesis is that the is a good approximation of
.
If the hypothesis is true, we can estimate interference for every pair of
links using only
experiments, while testing each link pair will
require far more (potentially
) experiments. This is a
substantial improvement: if we use 30 second transfers, and repeat each
experiment 5 times, calculating
for every pair of links requires
just over 28 hours. The key idea is that we can estimate unicast
interference using broadcast packets, if we ignore impact of ACKs.
There are several reasons to believe that our hypothesis is correct.
It is easy to see that captures impact of carrier sensing on the
two senders. It also captures the impact of data packet collisions at
the receivers. The ACK packets are quite small (only 14 bytes) and the
chance of them colliding with each other is also small. There are also
some reasons to believe that the hypothesis is not correct. First, if a
broadcast packet is lost (say due to collision), it is not retransmitted.
On the other hand, a lost unicast packet is retransmitted multiple
times, and the mean wait time (802.1 backoff) before sending the next
retransmission is doubled. Thus, a lost unicast packet has a higher
impact on throughput measured at the user level. Second, while ACK
packets may not collide with one another, data and ACK packets can still
collide. We now test our hypothesis experimentally.