5 a 11 a 11 a 11 b assuming no acks were lost what

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: t, it sends an ACK saying “I got every packet up to and including ￿”, where ￿ is the highest, in-order packet received so far. The definition of the window is the same as before: a window size of W means that the maximum number of unacknowledged packets is W . Every time the sender gets an ACK, it may transmit one or more packets, within the constraint of the window size. It also implements a timeout mechanism to retransmit packets that it believes are lost using the algorithm described in these notes. The protocol runs over a besteffort network, but no packet or ACK is duplicated at the network or link layers. 19 SECTION 20.6. SUMMARY The sender sends a stream of new packets according to the sliding window protocol, and in response gets the following cumulative ACKs from the receiver: 1234444444 (a) Now, suppose that the sender times out and retransmits the first unacknowledged packet. When the receiver gets that retransmitted packet, what can you say about the ACK, a, that it sends? i. ii. iii. iv. v. a = 5. a ≥ 5. 5 ≤ a ≤ 11. a = 11. a ≤ 11. (b) Assuming no ACKs were lost, what is the minimum window size that can produce the sequence of ACKs shown above? (c) Is it possible for the given sequence of cumulative ACKs to have arrived at the sender even when no packets were lost en route to the receiver when they were sent? (d) A little bit into the data transfer, the sender observes the following sequence of cumulative ACKs sent from the receiver: 21 22 23 25 28 The window size is 8 packets. What packet(s) should the sender transmit upon receiving each of the above ACKs, if it wants to maximize the number of unacknowledged packets? On getting ACK # → Send ?? 21 23 28 → → → On getting ACK # → Send ?? 22 25 → → 8. Give one example of a situation where the cumulative ACK protocol described in the previous problem gets higher throughput than the sliding window protocol described in the notes and in lecture. 9. A sender S and receiver R communicate reliably over a series of links using a sliding window protocol with some window size, W packets. The path between S and R has one bottleneck link (i.e., one link whose rate bounds the throughput that can be achieved), whose data rate is C packets/second. When the window size is W , the queue at the bottleneck link is always full, with Q data packets in it. The round trip time (RTT) of the connection between S and R during this data transfer with window size W is T seconds, including the queueing delay. There are no packet or ACK losses in this case, and there are no other connections sharing this path. (a) Write an expression for W in terms of the other parameters specified above. 20 CHAPTER 20. RELIABLE DATA TRANSPORT PROTOCOLS (b) We would like to reduce the window size from W and still achieve high utilization. What is the minimum window size, Wmin , which will achieve 100% utilization of the bottleneck link? Express your answer as a function of C, T , and Q. (c) Now suppose the sender starts with a window size set to Wmin . If all these packets get acknowledged and no packet losses occur in the window, the sender increases the window size by 1. The sender keeps increasing the window size in this fashion until it reaches a window size that causes a packet loss to occur. What is the smallest window size at which the sender observes a packet loss caused by the bottleneck queue overflowing? Assume that no ACKs are lost. 10. Ben Bitdiddle decides to use the sliding window transport protocol described in these notes on the network shown in Figure 20-8. The receiver sends end-to-end ACKs to the sender. The switch in the middle simply forwards packets in best-effort fashion. !"#$"%& 017&34)"565& 017&34)"565& B%<;:=:><#&$"?:4&& @&1&A(??(5"*<#$5& ./"/"& !'()*+& 012&34)"565& ,"*"(-"%& 012&34)"565& 8#"9':4&;%<;:=:><#&$"?:4&& @&01&A(??(5"*<#$5& C:D&E/"/"&5(F"&@&011&;:*G")5& B:*G")&5(F"&@&0111&34)"5& HIJ&5(F"&@&K1&34)"5& L#(>:?&5"#$"%&'(#$<'&5(F"&@&01&;:*G")5& Figure 20-8: Ben’s network. (a) The sender’s window size is 10 packets. At what approximate rate (in packets per second) will the protocol deliver a multi-gigabyte file from the sender to the receiver? Assume that there is no other traffic in the network and packets can only be lost because the queues overflow. i. ii. iii. iv. Between 900 and 1000. Between 450 and 500. Between 225 and 250. Depends on the timeout value used. SECTION 20.6. SUMMARY 21 (b) You would like to double the throughput of this sliding window transport protocol running on the network shown on the previous page. To do so, you can apply one of the following techniques alone: i. Double the window size. ii. Halve the propagation time of the links. iii. Double the speed of the link between the Switch and Receiver. For each of the following sender window sizes, list which of the above techniques, if any, can approximately double the throughput. If no technique does the job, say “None”. There might be more than one answer for each window size, in which case you should list them all. Each technique works in isolation. 1. W = 10: 2. W = 50: 3. W = 30: 11. Eager B. Eaver starts MyFace, a next-generation social networking web site in which the only pictures allowed are users’ faces. MyFace has a simple request-response interface. The client sends a request (for a face), the server sends a response (the face). Both request and response fit in one packet (the faces in the responses are small pictures!). When the client gets a response, it immediately sends the next request. The size of the largest packet is S = 1000 bytes. Eager’s server is in Cambridge. Clients come from all over the world. Eager’s measurements show that one can model the typical client as having a 100 millisecond round-trip time (RTT) to the server (i.e., the network component of the requestresponse delay, not counting the additional processing time taken by the server, is 100 milliseconds). If the client does not get a response from the server in a time τ , it resends the request. It keeps doing that until it gets a response. (a) Is the protocol described above “at least once”, “at most once”, or “exactly once”? (b) Eager needs to provision the link bandwidth for MyFace. He anticipates that at any given time, the largest number of clients making a request is 2000. What minimum outgoing link bandwidth from MyFace will ensure that the link connecting MyFace to the Internet will not experience congestion? (c) Suppose the probability of the client receiving a response from the server for any given request is p. What is the expected time for a client’s request to obtain a response from the server? Your answer will depend on p, RTT, and τ . 12. Lem E. Tweetit is designing a new protocol for Tweeter, a Twitter rip-off. All tweets in Tweeter are 1000 bytes in length. Each tweet sent by a client and received by the Tweeter server is immediately acknowledged by the server; if the client does not receive an ACK within a timeout, it re-sends the tweets, and repeats this process until it gets an ACK. 22 CHAPTER 20. RELIABLE DATA TRANSPORT PROTOCOLS Sir Tweetsalot uses a device whose data transmission rate is 100 Kbytes/s, which you can assume is the bottleneck rate between his client and the server. The round-trip propagation time between his client and the server is 10 milliseconds. Assume that there is no queueing on any link between client and server and that the processing time along the path is 0. You may also assume that the ACKs are very small in size, so consume neglible bandwidth and transmission time (of course, they still need to propagate from server to client). Do not ignore the transmission time of a tweet. (a) What is the smallest value of the timeout, in milliseconds, that will avoid spurious retransmissions? (b) Suppose that the timeout is set to 90 milliseconds. Unfortunately, the probability that a given client transmission gets an ACK is only 75%. What is the utilization of the network?...
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