Por que a classificação Wi-Fi do seu roteador não prevê a taxa da VPN
Uma velocidade Wi-Fi anunciada e uma velocidade VPN medida descrevem camadas diferentes. Faça esta verificação ordenada antes de comprar um roteador mais rápido.
Um roteador com selo Wi-Fi de 3,000 Mbps ainda pode mover tráfego cifrado a uma fração desse número, e nenhum dos dois números é desonesto. A classificação de rádio descreve a melhor modulação possível do link sem fio que o chipset suporta; o número da VPN descreve quão rápido um único dispositivo consegue empurrar pacotes cifrados pelo processador do roteador e para fora do seu circuito de acesso. São camadas diferentes, tamanhos de pacote diferentes e métodos de medição diferentes. Trate o número da caixa como um teto que ninguém alcança, não como uma previsão da velocidade do seu túnel.
Passo 1: Mapeie as quatro camadas que limitam o número
Quase toda reclamação de roteador lento com que trabalhei cai em um de quatro níveis: o link sem fio, a taxa de acesso WAN, o caminho de encaminhamento (NAT, firewall, rastreamento de conexões) ou o caminho criptográfico da VPN. Eles se empilham, e o nível mais lento define o resultado. Uma taxa Wi-Fi anunciada fala apenas do primeiro nível, e fala dele com generosidade.
Esse número vem dos fluxos multiplicados pela largura de canal e pela modulação mais alta que o chipset consegue negociar. Um rádio 2x2 em 5 GHz a 80 MHz com 1024-QAM é anunciado perto de 1,200 Mbps, mas o Wi-Fi é um meio compartilhado e semiduplex: os clientes se revezam, retransmissões e tráfego de gestão queimam tempo de ar, e o TCP acrescenta sua própria sobrecarga. Um cliente que negocia a velocidade máxima em condições ideais costuma medir bem abaixo da metade, e menos ainda quando aparecem redes vizinhas.
| Symptom | Tier to suspect first |
|---|---|
| Wired clients are slow too | WAN access or forwarding path |
| Only Wi-Fi clients are slow | Radio, airtime, or channel width |
| One stream is slow, four parallel streams add up | Per-connection CPU path, not the link |
| Every stream is slow and one core sits at 100% | Crypto path |
| Fast to LAN hosts, slow to the internet | WAN, not the tunnel |
Se a tabela aponta para o rádio, corrija primeiro o lado sem fio: banda, largura de canal, distância. Se aponta abaixo do rádio, os quatro passos seguintes importam, e nenhuma compra de antenas vai mudar isso.
Passo 2: Meça uma linha de base por cabo antes de mexer no rádio
Coloque o notebook no Ethernet e meça primeiro o caminho sem o túnel, porque isso lhe dá um denominador. Rode a ferramenta de taxa do outro lado, no VPS ou servidor doméstico que termina a VPN, e aponte o cliente para o endereço público dele, para o tráfego passar pelo roteador e pelo circuito de acesso.
# on the far host (VPN endpoint)
iperf3 -s
# wired client, direct to the endpoint's public address
iperf3 -c 203.0.113.10 -t 30
# same client, four parallel streams
iperf3 -c 203.0.113.10 -t 30 -P 4
Dois números desse bloco respondem a perguntas diferentes. Um fluxo mostra o teto por conexão, que inclui o comportamento da janela TCP e qualquer modelagem por fluxo no caminho. Quatro fluxos mostram se o link tem capacidade que você não usa, porque fluxos paralelos conseguem encher um tubo que um único fluxo não enche.
Mantenha honesto: mesmo host, hora do dia e duração, sem nada mais transmitindo em casa. Uma transferência em massa de trinta segundos é a unidade certa aqui, e o RFC 6349, o quadro para testar a taxa TCP, baseia-se exatamente nesse raciocínio, porque rajadas curtas e pedidos pequenos lisonjeiam um link. Anote a linha de base antes de mudar qualquer coisa.
Passo 3: Execute o mesmo teste através do túnel
Agora repita contra o endereço do túnel do ponto final, com o mesmo cliente, duração e número de fluxos, com o túnel ativo e sem outro tráfego. A razão entre os dois resultados diz quanto custam a cifragem e o encapsulamento naquele hardware; o número absoluto diz se basta para o trabalho.
Observe os contadores enquanto a transferência corre. No WireGuard, wg show informa os bytes transferidos por par; no OpenVPN, um arquivo de estado escrito em intervalos dá a mesma visão.
watch -n 1 'wg show wg0 transfer'
# OpenVPN: add --status /run/openvpn/server.status 10 to the server config
tail -f /run/openvpn/server.status
Se o número do túnel fica perto da linha de base por cabo, a VPN não é o seu gargalo e você pode parar de culpá-la. Se é uma fração da base, a perda aconteceu dentro do caminho de cifragem e encaminhamento do roteador, e o passo seguinte diz qual parte.
Um aviso: assim que o IP de saída muda, alguns serviços de teste de velocidade escolhem silenciosamente outro servidor de medição, então você acaba comparando dois destinos. Fixe você mesmo o endereço do servidor.
Passo 4: Leia a CPU como um caminho, não como uma média
Um roteador mostrando 30 por cento de CPU total ainda pode estar saturado: o trabalho de um túnel costuma cair em um núcleo, uma fila de interrupções ou uma thread do núcleo, então a média esconde o teto. Olhe os números por núcleo e de softirq em vez do medidor do painel.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Três coisas importam nessa saída. Um único núcleo preso perto de 100 por cento enquanto os outros estão ociosos aponta para um limite por conexão. Um %soft alto ou um ksoftirqd ocupado numa CPU aponta para processamento de pacotes no lado de recepção que não se distribui pelas filas. E um indicador aes ausente significa que a CPU não tem instruções AES, então a cifragem simétrica corre em software e custa muito mais por pacote.
A implementação também importa. Uma instância tradicional de OpenVPN no espaço de usuário processa os pacotes de um túnel em grande parte num único lugar, então uma máquina multinúcleo rápida pode comportar-se como mononúcleo para esse túnel. O WireGuard no kernel distribui o trabalho pelas CPUs, e o offload do canal de dados do OpenVPN também leva o tratamento de pacotes para o kernel, mas apenas em compilações e plataformas que o suportam. Uma alegação de aceleração por hardware na página de marketing não é prova de que o caminho de código que você executa a use.
Passo 5: Decida o que mudar, nessa ordem
Desça esta lista e pare na primeira linha que for verdadeira, porque mudar qualquer coisa abaixo dela não vai mover o número.
1. A taxa direta por cabo está abaixo do que você paga: fale com o provedor, porque o túnel não pode criar capacidade que o circuito de acesso não entrega. 2. O cabo direto está bom, mas um núcleo prende durante o teste do túnel: o caminho criptográfico do roteador é o limite. 3. A CPU está ociosa, mas o túnel está lento: verifique a MTU e a fragmentação, depois a capacidade do próprio ponto final remoto. 4. Só os clientes Wi-Fi estão lentos: mude a banda ou a largura de canal, e aceite que a velocidade anunciada nunca foi um número de VPN.
Quando o roteador é realmente o limite, as opções honestas são um aparelho com instruções AES e um caminho de encaminhamento mais rápido, um túnel do lado do kernel como o WireGuard em vez de um no espaço de usuário, ou mover o cliente para o próprio aparelho para o roteador parar de cifrar. Desligar a cifragem autenticada para ganhar um teste comparativo não é uma delas; troca uma propriedade de segurança por um número que ainda não vai bater com a caixa.
Antes de comprar qualquer coisa, rode de novo os passos 2 e 3 no aparelho novo com o mesmo servidor e duração, e depois compare razões em vez de picos.