$24
Problem 1. Assuming that a TCP endpoint have received everything up to sequence number 2499 successfully,
show the acknowledgments in response to the following segments, arriving in that order:
Seg(2500, 500)
• Seg(4000, 200)
• Seg(4200, 300)
• Seg(3000, 1000)
• Seg(4500, 100, with FIN=1)
where Seg(X, Y) denotes a segment with sequence number X and Y bytes of data.
Problem 2. Using the equations
RT T = RT T × 0.9 + N EW _RT T _SAM P LE × 0.1,
T imeout = 2 × RT T .
Starting from RTT = 100ms, calculate the Timeout value after processing 3 RTT samples: 120ms, 50ms, and
400ms. Notice that there probably is a developing congestion situation as implied in the 3rd sample. Your Timeout
result will be used as the timeout interval for the next leaving packet. If the round-trip time of that packet is again
400ms, will it suffer retransmission ?
Problem 3. Calculate Timeout again with the same set of RTT samples but using refined RTT estimation equa-
tions:
DIF F = SAM P LE − RT T
RT T = RT T + DIF F/8
DEV = DEV + (|DIF F | − DEV )/4
T imeout = RT T + DEV × 4
Initial RTT=100ms and initial DEV=10. Your Timeout result will be used as the timeout interval for the next
leaving packet. If the round-trip time of that packet is again 400ms, will it suffer retransmission ?
Problem 4. Calculate Timeout yet again using the refined RTT estimation equations and with RTT samples:
104ms, 99ms, 97ms. Initial RTT=100ms and initial DEV=10. Notice how confident you are this time to use a
Timeout value close to RTT.
Problem 5. (Chapter 6 Exercise 16 in PBook)
Assume that TCP implements an extension that allows window sizes much larger than 64 KB. Suppose that you are
using this extended TCP over a 1 Gbps link with a latency of 50 ms to transfer a 10 MB file, and the TCP receive
window is 1 MB. If TCP sends 1 KB packets (assuming no congestion and no lost packets):
(a) How many RTTs does it take until slow start opens the send window to 1 MB?
(b) How many RTTs does it take to send the file?
(c) If the time to send the file is given by the number of required RTTs multiplied by the link latency, what is the
effective throughput for the transfer? What percentage of the link bandwidth is utilized?
Problem 6. (Chapter 6 Exercise 19 in PBook)
During linear increase, TCP computes an increment to the congestion window as
Increment = MSS × (MSS/Congestion Window)
Explain why computing this increment each time an ACK arrives may not result in the correct increment. Give
a more precise definition for this increment. (Hint: A given ACK can acknowledge more or less than one MSS’s
worth of data.)
Problem 7. (Chapter 6 Exercise 31 in PBook)
Suppose a TCP connection has a window size of eight segments and an RTT of 800 ms, the sender sends segments
at a regular rate of one every 100 ms, and the receiver sends ACKs back at the same rate without delay. A segment is
lost, and the loss is detected by the fast retransmit algorithm on the receipt of the third duplicate ACK. At the point
when the ACK of the retransmitted segment finally arrives, how much total time has the sender lost (compared to
lossless transmission) if
(a) The sender waits for the ACK from the retransmitted lost packet before sliding the window forward again?
(b) The sender uses the continued arrival of each duplicate ACK (after three duplicate ACKs) as an indication it
may slide the window forward one segment?
Problem 8. (Chapter 2 Problem 7 in KBook)
Suppose within your Web browser you click on a link to obtain a Web page. The IP address for the associated
URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n
DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of
RTT 1 ,...,RTT n . Further suppose that the Web page associated with the link contains exactly one object, consisting
of a small amount of HTML text. Let RTT 0 denote the RTT between the local host and the server containing the
object. Assuming zero transmission time of the object, how much time elapses from when the client clicks on the
link until the client receives the object?
Problem 9. (Chapter 2 Problem 8 in KBook)
Referring to the problem above, suppose the HTML file references eight very small objects on the same server.
Neglecting transmission times, how much time elapses with
(a) Non-persistent HTTP with no parallel TCP connections?
(b) Non-persistent HTTP with the browser configured for 5 parallel connections?
(c) Persistent HTTP?
Problem 10. (adapted from Chapter 2 Problem 19 of KBook)
In this problem, we use the useful dig tool available on Unix and Linux hosts to explore the hierarchy of DNS
servers. Recall that a DNS server higher in the DNS hierarchy delegates a DNS query to a DNS server lower in the
hierarchy, by sending back to the DNS client the name of that lower-level DNS server. First read the man page for
dig, and answer the following question.
Starting with a root DNS server (from one of the root servers [a-m].root-servers.net), initiate a sequence of queries
for the IP address for cs.binghamton.edu by using dig. List each intermediate name server contacted.