Regra geral para o requisito de largura de banda TCP upstream

2

No TCP, o recevier reconhece de vez em quando o recebimento de pacotes enviados. Portanto, para obter uma largura de banda downstream específica, sempre é necessária uma largura de banda mínima a montante.

O que eu estou procurando é um fator para calcular o upstream necessário para uma determinada largura de banda downstream. Estou ciente do fato de que existem vários tamanhos de janelas e provavelmente outros fatores no TCP que tornam esse cálculo mais difícil. Mas talvez haja um cenário padrão a partir do qual se pode obter uma aproximação pelo menos.

    
por aef 12.11.2012 / 15:09

1 resposta

1

Essa é uma pergunta difícil de responder porque depende de muitos outros fatores. Tentar obter uma resposta muito específica seria difícil e ainda mais difícil, pelo menos para mim, tentar explicar.

Supondo que o link de ponta a ponta é estável o suficiente para a escala da janela no máximo, poderíamos dizer que precisamos de um ACK por cada tamanho máximo de janela. Um tamanho de janela max típico é 64KB, pelo menos eu acho que é o padrão para o Windows ... ele é definido por uma chave de registro.

Sabendo disso, agora precisamos saber qual é o tempo de ida e volta porque você só receberá um tamanho máximo de janela de dados por cada RTT; Uma maneira de os dados chegarem até você e uma maneira de reconhecê-los. Agora vamos jogar como se estivéssemos tentando calcular o upstream necessário para um soquete TCP através de um satélite.

RTT = ~ 500ms
Tamanho máximo da janela = 64 KB

(64KB * 8) /. 5 = O download máximo seria de 1Mbps. Os tempos 8, é claro, transformam nosso valor de byte em bits.

BTW muitas vezes você vê o tamanho da janela referido como buffer e você vê o cálculo do throughput TCP dado como (RxBuffer / RTT = Througput). Agora precisamos calcular o upstream. Espero que com todas as coisas acima da resposta seja óbvia, precisamos de dois ACKs por segundo para voltar ao remetente. Esses ACKs são, 20Bs + 20Bs * 8 (cabeçalho IP + TCP), 320bps por peça. Portanto, para uma conexão com os 500ms de RTT e um RxBuffer máximo de 64KB, não devemos esperar mais que 1Mbps de download e 640bps de upload.

Espero que você esteja no caminho certo. Lendo de volta, confundi-me ...

    
por 16.11.2012 / 00:10