O protocolo de comunicação Transmission Control Protocol (TCP) fornece um serviço orientado à conexão com controle de fluxo e erro fim-a-fim. Para fazer um controle de fluxo eficiente, o TCP adota o mecanismo de janela deslizante e permite que o tamanho da janela varie com o tempo. Para evitar receber mais dados do que pode armazenar, o receptor envia anúncios de janela menores enquanto seu buffer se enche. No caso extremo de buffer cheio, o receptor anuncia um tamanho de janela zero para interromper a transmissão do emissor. Quando o espaço do buffer se torna disponível, o receptor anuncia um tamanho de janela diferente de zero para disparar o fluxo de dados novamente. Após o anúncio de um tamanho de janela zero, é importante evitar a síndrome da janela tola, na qual cada confirmação do receptor anuncia uma pequena quantidade de espaço disponível no seu buffer e cada
segmento enviado pelo emissor transporta uma pequena quantidade de dados, que volta a encher o buffer do receptor e a interromper a transmissão do emissor.
segmento enviado pelo emissor transporta uma grande quantidade de dados, que provoca um erro no receptor e o encerramento da conexão.
segmento enviado pelo emissor transporta uma grande quantidade de dados, que é ignorada e descartada pelo receptor.
confirmação é entregue e ignorada pelo emissor, que mantém a interrupção da transmissão do emissor.
confirmação é perdida e não chega até o emissor, que mantém a interrupção da transmissão do emissor.