Cisco
O TCP também fornece mecanismos para o controle de fluxo. O controle de fluxo ajuda na confiabilidade de transmissões TCP através do ajuste da taxa de fluxo de dados efetiva entre os dois serviços na sessão. Quando a origem é informada de que uma quantidade especificada de dados nos segmentos é recebida, ela pode continuar a enviar mais dados para essa sessão.
O campo Tamanho de Janela no cabeçalho TCP especifica a quantidade de dados que podem ser transmitidos antes que uma confirmação precise ser recebida. O tamanho de janela inicial é determinado durante a inicialização da sessão através do handshake triplo.
O mecanismo de feedback do TCP ajusta a taxa efetiva de transmissão de dados até o fluxo máximo que a rede e o dispositivo de destino podem suportar sem perda. O TCP tenta gerenciar a taxa de transmissão de modo que todos os dados sejam recebidos e as retransmissões sejam minimizadas.
Veja a figura para uma representação simplificada do tamanho de janela e confirmações. Neste exemplo, o tamanho de janela inicial para uma sessão TCP representada é definido em 3000 bytes. Quando o remetente tiver transmitido 3000 bytes, ele espera por uma confirmação destes bytes antes de transmitir mais segmentos nesta sessão.
Quando o remetente tiver recebido esta confirmação do receptor, o remetente poderá transmitir mais 3000 bytes.
Durante o atraso no recebimento de uma confirmação, o remetente não enviará quaisquer segmentos adicionais para essa sessão. Em períodos em que a rede está congestionada ou os recursos do host de recebimento estão extenuados, o atraso pode aumentar. À medida que este atraso aumenta, a taxa de transmissão efetiva dos dados para esta sessão diminui. A diminuição da velocidade na taxa de dados ajuda a reduzir a contenção de recursos.