Starting from:

$30

Homework 3 Solution

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.

More products