É importante entender que devido as conexões em TCP serem full duplex, duas tranferências ocorrem simultaneamente numa conexão, uma em cada direção. As duas transferências são completamente independentes já que em qualquer momento os dados podem fluir através da conexão numa direção ou em ambas. De modo que o software TCP em cada extremo da conexão mantém duas janelas por conexão (para um total de quatro), uma janela para os dados sendo enviados, e outra janela para os dados recebidos. O tamanho da janela pode ser definido, e no caso de TCP, ele permite que o tamanho da janela varie no tempo.