O desempenho real de uma conexão de rede raramente atinge a velocidade nominal contratada. Quando dados são transferidos via protocolo TCP, a latência física do caminho, o tamanho dos buffers de recepção e a perda de pacotes atuam como limitadores severos da velocidade máxima de um único fluxo de dados. A ferramenta realiza o cálculo exato desses limites diretamente no navegador do usuário, identificando qual fator atua como o gargalo ativo no cenário configurado.
Como funciona a vazão limite do TCP
A velocidade de uma transferência TCP não depende apenas da capacidade bruta do cabo. Ela é governada pelo menor valor entre três limites físicos e matemáticos independentes: a capacidade útil do link (descontando os cabeçalhos dos protocolos), a janela de recebimento do destinatário dividida pelo tempo de ida e volta (RTT) e o limite imposto pela perda de pacotes calculado pelo modelo de Mathis.
A fórmula geral que rege esse comportamento é expressa na ferramenta como:
vazão = min(taxa × eff, janela ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = taxa × RTT
Onde:
- taxa representa a Taxa do link.
- eff é a Eficiência do protocolo.
- janela é a Janela de recebimento.
- RTT é o Tempo de ida e volta (RTT).
- MSS é o Maximum Segment Size (tamanho máximo do segmento).
- p é a probabilidade de Perda de pacotes.
Parâmetros de entrada e restrições
Para calcular o comportamento do fluxo, a ferramenta exige a configuração de parâmetros do caminho físico e do protocolo TCP:
- Taxa do link: O salto mais lento no caminho, geralmente a velocidade contratada do seu plano. Este valor deve ser estritamente maior que zero. Se um valor inválido for inserido, a ferramenta exibirá o erro:
"Taxa do link: “‹token›” não é um número."ou"A taxa do link deve ser maior que zero.". - Tempo de ida e volta (RTT): O tempo de ping até a outra ponta, representando o maior valor esperado sob carga. Deve ser maior que zero. Erros associados incluem:
"Tempo de ida e volta: “‹token›” não é um número."ou"O tempo de ida e volta deve ser maior que zero.". - Tamanho dos dados: A carga útil a ser movida, como um arquivo, um backup ou um conjunto de dados. Deve ser maior que zero. Erros associados:
"Tamanho dos dados: “‹token›” não é um número."ou"O tamanho dos dados deve ser maior que zero.". - Janela de recebimento: Os bytes que o receptor pode armazenar em buffer. O valor deve ser maior que zero e não pode ultrapassar o limite de 1.073.725.440 bytes. Se deixado em branco, indica que não há limite de janela. Erros associados:
"A janela de recebimento deve ser maior que zero."ou"O TCP não pode negociar uma janela acima de 1,073,725,440 bytes (escala de janela RFC 7323).". - MSS: Bytes de carga útil por pacote. Deve ser um número inteiro entre 1 e 65.495. Se deixado vazio, o overhead e a perda são ignorados. O erro para valores fora do limite é:
"O MSS deve ser um número inteiro de bytes entre 1 e 65,495.". - Perda de pacotes (%): A probabilidade média de perda de pacotes. Deve estar entre 0 e 100 por cento. Se deixado vazio ou configurado como 0, indica que não há limite por perda. O erro correspondente é:
"A taxa de perda deve estar entre 0 e 100 por cento.".
A interface conta com os botões Carregar exemplo para preenchimento rápido e Limpar para redefinir os campos.
O impacto do overhead de protocolo
A transmissão de dados na Ethernet consome largura de banda adicional para transportar metadados de controle. O modelo adota o padrão Ethernet, adicionando 78 bytes de overhead por pacote (sendo 40 bytes para os cabeçalhos TCP/IP e 38 bytes de overhead físico no cabo).
A eficiência do protocolo é calculada pela relação:
Eficiência do protocolo = MSS ÷ (MSS + 78 B) = ‹mss› ÷ ‹frame› = ‹eff› (cabeçalhos de pacote de 40 B + 38 B no cabo)
Dessa forma, o limite real do link após o overhead é obtido por:
Limite do link = taxa × eficiência = ‹rate› × ‹eff› = ‹value›
Um MSS típico de 1.460 bytes em uma rede Ethernet resulta em uma eficiência de aproximadamente 94,9%, o que significa que cerca de 5% da banda nominal é consumida apenas por cabeçalhos de protocolo.
O Produto Largura de Banda-Atraso (BDP) e a Janela TCP
O produto largura de banda-atraso (BDP) define o volume de dados que deve estar em trânsito ("no cabo") para manter o link totalmente ocupado. A fórmula do BDP é:
BDP = taxa × RTT = ‹rate› × ‹rtt› = ‹bdp› = ‹bytes›
A janela de recebimento necessária para preencher esse caminho é derivada diretamente do BDP:
Janela para preencher o caminho = BDP ÷ 8 = ‹bdp› → ‹window›
Se a janela de recebimento configurada for menor do que o BDP, o transmissor será obrigado a interromper o envio de novos pacotes enquanto aguarda a confirmação (ACK) dos pacotes anteriores, limitando a velocidade máxima através da fórmula:
Limite da janela = janela ÷ RTT = ‹window› ÷ ‹rtt› = ‹value›
Alertas de Escala de Janela (RFC 7323)
O protocolo TCP original limita o tamanho da janela de recebimento a 65.535 bytes. Quando o BDP do caminho exige uma janela superior a esse limite, a ferramenta exibe o alerta:
- "Preencher este caminho requer uma janela de
‹window›— acima do máximo não escalonado de 65,535 bytes, portanto, ambas as pontas devem negociar a escala de janela TCP (RFC 7323)."
Se a latência e a velocidade forem tão altas que a janela necessária ultrapasse o limite máximo absoluto que o protocolo TCP consegue negociar (1.073.725,440 bytes), a ferramenta exibe o seguinte aviso:
- "Preencher este caminho requer
‹window›— além da maior janela que o TCP pode negociar (1,073,725,440 bytes). Um único fluxo neste caminho nunca poderá exceder‹value›."
Caso o usuário configure uma janela restritiva, mas o link suporte velocidades maiores, o sistema exibe uma nota de otimização:
- "Aumentar a janela de recebimento para
‹window›permitiria que esta transferência atingisse até‹value›."
O Limite de Perda pelo Modelo de Mathis
A perda de pacotes é interpretada pelo TCP como um sinal de congestionamento na rede, forçando o algoritmo a reduzir a janela de transmissão. O limite de vazão imposto pela perda é calculado através da equação de Mathis:
Limite por perda (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value›
Este modelo assume que as perdas ocorrem de forma independente e uniforme. Ele é altamente confiável para taxas de perda de até 1%. Se a perda configurada for superior a 1%, a ferramenta exibe o alerta:
- "Perdas acima de 1% estão fora da faixa confiável do modelo de Mathis — trate o limite de perda como otimista."
Resultados e tempos de transferência
Após processar as variáveis, a ferramenta exibe a Vazão TCP esperada acompanhada do sub-rótulo indicando o gargalo ativo: limitada por capacidade do link, limitada por janela de recebimento ou limitada por perda de pacotes.
O tempo total estimado para concluir a transferência é calculado somando o tempo de ida e volta inicial (latência de estabelecimento) ao tempo necessário para transmitir o volume de dados na vazão efetiva calculada:
Tempo de transferência = RTT + 8 × tamanho ÷ vazão = ‹rtt› + 8 × ‹size› ÷ ‹throughput› = ‹time›
Os resultados detalhados incluem o Tempo de transferência, Tempo até o primeiro byte (1 RTT), Tempo de transferência em lote, Produto largura de banda-atraso, Janela para preencher o caminho, Vazão limitada por janela, Vazão limitada por perda (Mathis), Limite do link após overhead e a Eficiência do protocolo. O usuário pode utilizar o botão Copiar resultado para exportar os dados calculados.
Privacidade e processamento local
A privacidade dos dados inseridos é mantida integralmente durante o uso da ferramenta. Cada valor inserido é calculado neste navegador — nada é enviado para lugar nenhum. Os cálculos ocorrem localmente na máquina do usuário, sem qualquer comunicação com servidores externos.
Perguntas Frequentes
Por que minha transferência é mais lenta do que a taxa de link pela qual pago?
Um único fluxo TCP enfrenta três limites independentes, e o menor deles vence. O overhead do protocolo reduz o próprio link em cerca de 5% — um quadro Ethernet padrão carrega 1.460 bytes de carga útil de um total de 1.538 no cabo. A janela de recebimento limita a vazão em janela ÷ RTT, de modo que a clássica janela de 65.535 bytes limita um caminho de 50 ms a cerca de 10.5 Mbit/s, independentemente da velocidade do link. E a perda limita a vazão em (MSS ÷ RTT) ÷ √perda. O resultado acima indica qual limite está restringindo seus números.
O que é o produto largura de banda-atraso e por que ele define o tamanho da janela?
O BDP — taxa do link × tempo de ida e volta — é a quantidade de dados em trânsito a qualquer momento. O TCP pode ter no máximo uma janela não confirmada pendente, portanto, uma janela menor que o BDP deixa o canal parcialmente vazio: a 100 Mbit/s com um RTT de 50 ms, o canal comporta 625 kB, e uma janela de 65.535 bytes preenche mal um décimo dele. É por isso que caminhos rápidos e longos precisam da escala de janela TCP (RFC 7323), que eleva o máximo negociável de 65.535 bytes para cerca de 1 GB.
Como a perda de pacotes limita a vazão do TCP?
O TCP trata a perda como congestionamento e reduz sua taxa de envio pela metade a cada evento de perda, de modo que mesmo taxas de perda minúsculas importam em caminhos rápidos. O modelo de Mathis estima o limite como (MSS ÷ RTT) ÷ √p — com 0.01% de perda em um caminho de 50 ms com um MSS de 1.460 bytes, isso equivale a cerca de 23 Mbit/s, independentemente da velocidade do link. O modelo assume eventos de perda independentes e distribuídos uniformemente; abaixo de aproximadamente 1%, ele acompanha bem a realidade, e para perdas em rajadas, ele é otimista.
Os megabytes aqui são os mesmos do meu gerenciador de arquivos?
Não exatamente. Esta página usa unidades decimais, a convenção de redes: 1 kbit = 1.000 bits e 1 MB = 1.000.000 bytes. A maioria dos gerenciadores de arquivos conta em unidades baseadas em 1024, muitas vezes rotuladas incorretamente como MB — um arquivo de “100 MB” lá geralmente tem 100 MiB ≈ 104.86 MB decimais, portanto, leva cerca de 5% a mais para ser movido do que o valor decimal sugere. Insira 104.86 MB aqui para corresponder exatamente.