Note how the window size limits the total number of packets that can be in transmission at one time. Host to host. For example, if multiple application connections share a single virtual circuit between two hosts. For example, in virtual circuits. An router might estimate the level of congestion by measuring the percentage of buffers in use, line utilizations, or average queue lengths.
Host sends as much data as it wants, the network informs it when it is sending too much.
Difficult to tune. The answer depends on how much traffic the host is sending, how much of the congestion it is responsible for, and the total capacity of the congested region. Such information is not readily available in practice. After receiving a choke packet, the sending host should ignore additional choke packets for a short while because packets currently in transmission may generate additional choke packets. Depends on such dynamic network conditions as delay.