Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

HW 4

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

15-441: Computer Networks

Homework 4
Assigned: Nov 9, 2011
Due: Nov 17, 2011 1:30 PM in class
Lead TAs:
Charles Guo <rang@andrew.cmu.edu>
Athula Balachandran <abalacha@cs.cmu.edu>

1 Congestion Window
1. Consider the following plot of TCP window size as a function of time:
45

40

35
Congestion Window Size

30
(segments)

25

20

15

10

0
0 5 10 15 20 25 30

Transmission Round
[Sec 6.3-6.4] Assuming TCP Reno is the protocol experiencing the behavior shown above, answer the
following questions.

1
(a) Identify the intervals of time when TCP slow start is operating.

(b) Identify the intervals of time when TCP congestion avoidance is operating (AIMD).

(c) After the 16th transmission round, is segment loss detected by a triple duplicate ACK or by a
timeout?

(d) What is the initial value of ssthreshold at the first transmission round?

(e) What is the value of ssthreshold at the 18th transmission round?

(f) What is the value of ssthreshold at the 24th transmission round?

(g) During what transmission round is the 70th segment sent?

(h) Assuming a packet loss is detected after the 26th round by the receipt of a triple duplicate ACK,
what will be the values of the congesion-window size and of ssthreshold?

Page 2
2 TCP Congestion Control
2. [Sec 6.3.2] The Transmission Control Protocol uses a method called congestion control to regulate the
traffic entering the network. The behavior of TCP congestion control can be represented as a graph
in which the x-axis indicates the time, and the y-axis indicates congestion window size. Please use the
graph shown below to the answer the following questions. Note that the graph does not explicitly show
timeouts, but you should be able to figure out when timeouts happened based on the events shown.

(a) Slow Start: Give two reasons why slow start is used, and explain why it does a better job than
congestion avoidance for that function.

(b) Slow Start: Identify the intervals of time when TCP slow start is operating. For each interval,
identify which of the above reasons apply and do not apply and explain why.

Page 3
(c) Congestion Avoidance: Identify the intervals of time when TCP congestion avoidance is operat-
ing. Why should congestion avoidance be used instead of slow start during these intervals? Please
clearly identify one specific reason.

(d) Fast Retransmission: Identify the intervals of time when TCP fast retransmission is used. Please
explain what fast retransmission does and how it is triggered.

(e) Fast Recovery: Identify the intervals of time when TCP fast recovery is operating. What does
fast recovery do and explain why is it beneficial.

(f) Lack of fast recovery: Identify the interval(s) of time when fast recovery could have happened,
but did not. Identify one specific example of a circumstance that may prevent fast recovery from
happening.

Page 4
3 CDN

3. [Sec. 9.4.3] Answer the following questions regarding content distribution networks.
(a) When browsing web sites that use the Akamai CDN, most users at CMU notice greatly improved
performance. But a friend of yours who’s a visiting student from the west coast campus reports
that these same web sites appear SLOWER to them than many other web sites! What’s likely
happening?
(b) A popular Web site’s server cluster is in San Jose, California. Assuming you have the DNS responses
cached already, what’s the shortest time possible for you (in CMU) to display the front page of the
website? Its HTML code is very simple:
<html>
<h1>Hello!</h1>
<img src="cuteKitten.jpg"/>
<img src="lonewolf.png"/>
</html>

Make the following assumptions:

• Your browser uses persistent TCP connections.

• The bandwidth from CMU to San Jose is effectively infinite.

• There are no errors in transmission

• The processing power of both my computer and the San Jose server is infinite

• Your browser is able to display the front page once all data is recieved (thus, dont have to wait
for connection to close)

• RTT time between CMU and San Jose is 100ms

• Stop-and-Wait Protocol is used


(c) What’s the minimum time, again with all DNS responses cached (so ignore DNS lookup time), if
the web site used a CDN as described in class? Explain your calculations and draw a very quick
figure of what communication is going on. Assume the same in part (b), in addition to assuming
the RTT between CMU and a nearby CDN that contains the two image files is 10ms.

Page 5
Token Rate Bucket Size
1 10
2 4
4 1

Table 1: Token bucket parameters

4 Token Bucket delays


4. [Sec 6.5.2] Suppose a router has accepted flows with the token bucket parameters shown in Table 1. All
flows are in the same direction, and the router can forward one packet every 0.1 seconds.
(a) What is the maximum delay a packet might face?
(b) What is the minimum number of packets from the third flow that the router would send over 2
seconds, assuming that the flow sent packets at its maximum rate of 4 packets/second uniformly?

5 TCP Congestion Control - Using Wireshark


5. In this problem, you will get experience using wireshark to do real network packet analysis. Packet
traces are useful for debugging and understanding the packet-level behavior of network protocols, among
other things.
In this problem, we would like you to use wireshark to obtain TCP sequence and delay plots for the
capture of a large file.
We would like for you to do the following:

• Run wireshark and be able to capture network traffic.


• Capture the download of any suitably large file. You may use any file, but the file should take at
least 5 seconds to download.
Based on the resulting packet capture:
1. Generate a TCP sequence plot based on the traffic generated by downloading the file. Highlight
where losses occur during the transfer.
2. Generate a packet delay plot, showing the per-packet delay as a function of the sequence number.
(Hint: Statistics → TCP Stream Graph → Round Trip Time Graph)

Page 6

You might also like