the main reason for RTO to be variable is to avoid congestion collapse.
if the timer is set to a too shorter value, there is a danger that the sender starts retransmitting packets, that are still being in-flight, thus overloading the network with unnecessary packets (that may end up delivered twice). The Jackobson algorithm for calculating RTO is intended to ...
If I am running a high performance local area TCP network then I would want the timeout value to be low. On the other hand, if I am sending messages to
a low performance, over loaded TCP server I would want the timeout value to be long because the server might not be able to get to my traffic right away.
the answer to "is definitelly NOT is A."
routing is done by network layer
before i go in the next ones here is disabmiguity warning. B. and C. are performed by TCP which is transport layer. if the application is using a custom transport protocol on top of UDP, i.e., RTP for transmitting multimedia, then, depending on the definition, it ...
assuming that the client only sends and the server only receives and acks:
(1) the server may or may not contain a buffer. Go-Back-N will function perfectly, if there is a buffer for only one packet on the receiver. However, you could include a buffer (which comes with a window) as an optimization.
(2) the server should not memorize the sender window, or do ...