2053 throughput what is the throughput of the sliding

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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 definition 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 suffice 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 sufficient 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 packet loss? 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.

Ask a homework question - tutors are online