What is the delayed ACK algorithm?
In a simpleminded implementation of TCP, every data packet that comes in is immediately acknowledged with an ACK packet. (ACKs help to provide the reliability TCP promises.) In modern stacks, ACKs are delayed for a short time (up to 200 ms, typically) for several reasons: • to avoid the silly window syndrome • to allow ACKs to piggyback on a reply frame if one is ready to go when the stack decides to do the ACK • to allow the stack to send one ACK for several frames, if those frames arrive within the delay period. The stack is only allowed to delay ACKs for up to 2 frames of data.