Tcp – Congestion control,flow control, MTU and MSS, Rwnd-Cwnd and slow-start

congestiontcp

OK, so basically I'm getting confused with all the terms, and if some are related to others or not.

I'll explain myself:

From what I understand, flow control depends on the receiver side buffer capabilities, which are basically how many packets per unit of time can the receiver receive per unit of time.

Congestion control, on other hand, depends on the capabilities of the network
between the receiver and the sender (we don't want to overflow the network with packets until the network won't be able to route them around).

Now, here is where I'm not sure about the other terms.

  1. The MTU is the unit for the Congestion control, and the MSS is the unit for flow control?
  2. In the Rwnd (receive window) there will be the value of the MSS of the
    receiver?
  3. Now, here is where i get really confused, the Cwnd (Congestion window)
    is basically to know how many packets can the receiver receive before
    starting to lose some data (duplicate ACKs). Why do we need this window if the sender already knows the MSS of the receiver and the MTU between them?
    Is the MSS used to know the size of each packet individually that the sender should send, while the MTU is the capability of the network to transfer each packet from one point to another and the Congestion window will be related to the quantity of the packets that the receiver can receive?

Best Answer

  1. A host indicates the largest TCP segment size (local MTU - (IP overhead + TCP overhead)) it can receive by the MSS. The MTU is the largest IP packet the underlying L2 transport can send/receive. Usually, they are directly related.
  2. The receive window is another TCP connection parameter not directly related to MSS or MTU. It's rather about path throughput and latency.
  3. Likely there are slower hops in the path than either receiver or sender can see. They must not be overrun. Often both receiver and sender have fast local connections (at least 100 Mbit/s) while they are connected over much slower Internet connections (say 10 Mbit/s).
Related Topic