Flow Control Flashcards
What is DECBIT?
When a router wants to signal congestion to the sender, it adds a bit in the header of packets sent. When a packet arrives at the router, the router calculates the average queue length for the last (busy + idle) period plus the current busy period. (The router is busy when it is transmitting packets, and idle otherwise). When the average queue length exceeds 1, then the router sets the congestion indication bit in the packet header of arriving packets.
When the destination replies, the corresponding ACK includes a bit of congestion. The sender receives the ACK and calculates how many packets it received with the congestion indication bit set to one. If less than half of the packets in the last window had the congestion indication bit set, then the window is increased linearly. Otherwise, the window is decreased exponentially.
Describe the TCP flow control mechanism.
- TCP flow control is implicit. The flow control window starts at 1 and increases exponentially during the slow start phase (the window size is increased by 1 for each ACK).
- On a timeout event, the current window size is stored in SSTHRESH and the window is decreased to 1. Slow start begins until SSTHRESH is reached.
- With TCP Tahoe, Triple ACKS also drop the window to 1, but with Reno, this halves the window size.