1. Consider a TCP connection between Host A and Host B. Suppose that the TCP segments traveling
from Host A to Host B have source port number W and destination port number Z. What are the
source and destination port numbers for the segments traveling from Host B to Host A?
2. Suppose a process in Host X has a UDP socket with port number 1234. Suppose both Host A and
Host B each send a UDP segment to Host X with destination port number 1234. Will both of
these segments be directed to the same socket at Host X? If so, how will the process at Host X
know that these two segments originated from two different hosts?
3. Suppose that a Web server runs in Host X on port 80. Suppose this Web server uses persistent
connections, and is currently receiving requests from two different Hosts, A and B. Are all of the
requests being sent through the same socket at Host X? If they are being passed through
different sockets, do both of the sockets have port 80? Discuss and explain.
4. True or false? Consider congestion control in TCP. When the timer expires at the sender, the
value of ssthresh is set to one half of its previous value.
5. We discussed TCP’s estimation of RTT. Why do you think TCP avoids measuring the SampleRTT
for retransmitted segments?
6. We saw that TCP waits until it has received three duplicate ACKs before performing a fast
retransmit. Why do you think the TCP designers chose not to perform a fast retransmit after the
first duplicate ACK for a segment is received?
7. Suppose Host A sends two TCP segments back to back to Host B over a TCP connection. The first
segment has sequence number 100; the second has sequence number 150.
a) How much data is in the first segment?
b) Suppose that the first segment is lost but the second segment arrives at B. In the
acknowledgment that Host B sends to Host A, what will be the acknowledgment number?
8. What characteristics do we assume in rdt 2.1/2.2 for the underlying unreliable channel? What
characteristics do we assume in rdt 3.0 for the underlying unreliable channel?
9. Consider a scenario where two hosts use a sliding window protocol, either Go-Back-N or
Selective Repeat, to exchange data packets. Assume that the RTT is 30 milliseconds and the
sending rate is R = 1Gbps, and the size of every packet is L = 2,000 bytes, including both header
fields and data. (a). How big would the window size have to be for the channel utilization to be
greater than 98%?
(b). Assume that we use the window size calculated in (a). How many different sequence
numbers do we need to guarantee that Selective Repeat can operate correctly (that is, the
receiver will not be confused by whether a packet is a new packet or a retransmitted packet)?
(c). Assume that we use the minimum number of sequence numbers, as indicated by (b). How
many bits do we need to use (in the packet header) to represent the sequence numbers.
10. Consider transferring an enormous file of L bytes from Host A to Host B. Assume an MSS of 1460
a) What is the maximum value of L such that TCP sequence numbers are not exhausted?
Recall that the TCP sequence number field has 4 bytes.
b) For the L you obtain in (a), find how long it takes to transmit the file. Assume that a total
of 66 bytes of transport, network, and data-link header are added to each segment
before the resulting packet is sent out over a 200 Mbps link. Ignore flow control and
congestion control so A can pump out the segments back to back and continuously.
11. Host A and B are communicating over a TCP connection, and Host B has already received from A
all bytes up through byte 126. Suppose Host A then sends two segments to Host B back-to-back.
The first and second segments contain 100 and 200 bytes of data, respectively. In the first
segment, the sequence number is 127, the source port number is 340, and the destination port
number is 120. Host B sends an acknowledgment whenever it receives a segment from Host A.
a) In the second segment sent from Host A to B, what are the sequence number, source
port number, and destination port number?
b) If the first segment arrives before the second segment, in the acknowledgment of the
first arriving segment, what is the acknowledgment number, the source port number,
and the destination port number?
c) If the second segment arrives before the first segment, in the acknowledgment of the
first arriving segment, what is the acknowledgment number?
12. Consider TCP connection management.
a) How many segments are typically involved in the TCP connection establishment? What
TCP flag(s) is/are set in each of these segments?
b) How many segments are typically involved in the TCP connection teardown process?
What TCP flag(s) is/are set in each of these segments?
c) Please give the general relationship between the acknowledgement number in a
segment that is answering a segment and the sequence number in the segment that is
13. Consider the following figure. Assuming that TCP Reno is the protocol experiencing the behavior
shown in the figure, answer the following questions. In all cases, you should provide a short
discussion justifying your answer.
a) Identify the intervals of time when TCP slow start is operating.
b) Identify the intervals of time when TCP congestion avoidance is operating.
c) After the 16th transmission round, is segment loss detected by a triple duplicate ACK or
by a timeout?
d) After the 22nd transmission round, is segment loss detected by a triple duplicate ACK or
by a timeout?
e) What is the initial value of ssthresh at the first transmission round?
f) What is the value of ssthresh at the 18th transmission round?
g) What is the value of ssthresh at the 24th transmission round?
Purchase answer to see full