34.7k views
2 votes
(a) 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 for a segment is received?
(b) Host A is sending an enormous file to Host B over a TCP
connection. Over this connection there is never any packet loss and the
timers never expire. Denote the transmission rate of the link connecting
Host A and the Internet by Rbps. Suppose that the process in Host A
is capable of sending data into its TCP socket at a rate Sbps, where
S = 10×R. Further suppose that the TCP receive buffer is large enough
to hold the entire file, and the send buffer can hold only 1% of the file.
What prevents the process in Host A from continuously passing data to
its TCP socket at rate Sbps?

1 Answer

4 votes

Final answer:

The TCP designers chose to wait for three duplicate ACKs before performing a fast retransmit to avoid misinterpreting random network variations as packet loss. In a scenario with different send and receive rates, TCP's flow control mechanism regulates the data flow to prevent buffer overflow and to ensure the network and receiver can handle the incoming data.

Step-by-step explanation:

The Transmission Control Protocol (TCP) is designed for reliable data transmission.

(a) TCP does not perform a fast retransmit after the first duplicate ACK because a single duplicate ACK can occur for reasons that do not indicate a packet loss, such as out-of-order delivery of segments. By waiting for three duplicate ACKs, TCP gains more confidence that a segment has been lost rather than interpreting random variations in the network as packet loss.

(b) In the scenario where Host A's process can send data at a rate of 10×R, but the TCP send buffer can only hold 1% of the file, TCP's flow control mechanism prevents the sender from overwhelming the receiver. Flow control ensures that the sender does not send more data than the receiver's buffer and the network can handle, thus the sender must wait for acknowledgments from the receiver before sending more data.

User Darron
by
8.5k points