This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ise, that packet will end up getting retransmitted repeatedly, a pretty serious bug that will cause the throughput to diminish.
6 In our lab, this information will be printed when you click on the sender node. 14 CHAPTER 20. RELIABLE DATA TRANSPORT PROTOCOLS 20.5.2 Sliding Window Receiver At the receiver, the biggest change to the stop-and-wait case is to maintain a list of received
packets that are out-of-order. Call this list rcvbuf. Each packet that arrives is added to
this list, assuming it is not already on the list. It’s convenient to store this list in increasing
sequence order. Then, check to see whether one or more contiguous packets starting from
rcv seqnum + 1 are in rcvbuf. If they are, deliver them to the application, remove them
from rcvbuf, and remember to update rcv seqnum.
20.5.3 Throughput What is the throughput of the sliding window protocol we just developed? Clearly, we
send at most W packets per RTT, so the throughput can’t exceed W /RTT packets per second. So the question one should ask is, what should we set W to in order to maximize
throughput, at least when there are no packet or ACK losses?
Setting W One can answer this question using a straightforward application of Little’s law. W is the
number of packets in the system, RTT is the mean delay of a packet (as far as the sender is
concerned, since it introduces a new packet 1 RTT after some previous one in the window).
We would like to maximize the processing rate, which of course cannot exceed the bit rate
of the slowest link between the sender and receiver (i.e., the rate of the bottleneck link) . If
that rate is B packets per second, then by Little’s law, setting W = B × RTT will ensure
that the protocol comes close to achieving a thoroughput equal to the available bit rate.
This quantity, B · RTT is also called the bandwidth-delay product of the network path and
is a crucial factor in determining the performance of any sliding window protocol.
But what should the RTT be in the above formula? After all, the deﬁnition of a “RTT
sample” is the time that elapses between the transmission of a data packet and the receipt
of an ACK for it. As such, it depends on other data using the path. Moreover, if one looks
at the formula B = W / RTT, it suggests that one can simply increase the window size W to
any value and B may correspondingly just increase. Clearly, that can’t be right.
Consider the simple case when there is only one connection active over a network path.
When the window size, W is set to a value smaller than or equal to B × RTTmin , the queue
at the bottleneck link is empty and does not cause any queueing delay to the connection.
RTTmin is the RTT in the absence of queueing, and includes the propagation, transmission,
and processing delays experienced by data packets and ACKs. In this phase, the connection experiences a throughput that linearly increases as we increase the window size, W .
But once W exceeds B × RTTmin , the RTT experienced by the connection includes queueing as well, and the RTT will no longer be a constant independent of W ! That is, increasing
W will cause RTT to also increase, but the rate, B, will no longer increase. One can, in
this case (when W > B × RTTmin , think of W , the number of unacknowledged packets, as
being composed of a portion in the queue and a portion in the “pipe” between sender and
receiver (not in any queues).
This discussion shows that for our sliding window protocol, setting W = B × RTTmin
will sufﬁce to provide the maximum possible throughput in the absence of any data packet or
ACK losses. When packet losses occur, the window size will need to be higher to get max- 15 SECTION 20.5. SLIDING WINDOW PROTOCOL imum throughput (utilization), because we need a sufﬁcient number of unacknowledged
data packets to keep a B × RTTmin worth of packets even when losses occur.
Throughput of the sliding window protocol Assuming that one sets the window size properly, i.e., to be large enough so that W ≥
B × RTTmin always, even in the presence of data or ACK losses, what is the maximum
throughput of our sliding window protocol if the network has a certain probability of
Consider a simple model in which the network path loses any packet—data or ACK—
such that the probability of either a data packet being lost or its ACK being lost is equal to
, and the packet loss random process is independent and identically distributed (the same
model as in our analysis of stop-and-wait). Then, the utilization achieved by our sliding
window reliable transport protocol is at most 1 − . Moreover, for a large-enough window
size, W , our sliding window protocol comes close to achieving it.
The reason for the upper bound on utilization is that in this protocol, a packet is acknowledged only when the sender gets an ACK explicitly for that packet. Now consider
the number of transmissions that any given packet must incur before its ACK is received
by the sender. With probability 1 − , we need one...
View Full Document
This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.
- Fall '13