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.