MTU correto
MTU correto explicado: padrão 1500, PPPoE 1492, como o PMTUD funciona, cálculo para VPN e como diagnosticar problemas causados por MTU incorreto.
O MTU correto para a maioria das conexões Ethernet e 1500 bytes, mas conexões PPPoE usam 1492 e VPNs precisam de valores ainda menores. Um MTU incorreto não gera uma mensagem de erro clara: o sintoma clássico e um site que carrega o texto mas não carrega imagens, ou HTTPS que trava logo após o handshake. O problema pode ficar meses sem diagnóstico. Este artigo mostra como identificar o MTU certo para cada tipo de conexão e como ajustar em cada sistema operacional.
O que e MTU e por que 1500 não serve para tudo
MTU (Maximum Transmission Unit) define o tamanho máximo em bytes de um pacote que pode transitar por um enlace de rede sem ser fragmentado. O valor de 1500 bytes para Ethernet foi definido na RFC 894 e corresponde ao limite fisico do frame Ethernet padrão.
Quando um pacote maior que o MTU do enlace precisa passar, o sistema tem duas opções. A primeira e fragmentar: divide o pacote em partes menores, cada uma com seu próprio cabeçalho, aumentando o overhead total. A segunda e descartar o pacote e notificar o emissor, se o pacote tiver a flag DF (Don't Fragment) ativada. Nesse caso, o roteador que encontrou o MTU menor envia de volta uma mensagem ICMP Tipo 3 Código 4 (Fragmentation Needed) informando o MTU disponível.
O problema surge quando firewalls bloqueiam ICMP. Sem o retorno do ICMP, o emissor nunca sabe que precisa reduzir o tamanho do pacote. A conexão estabelece normalmente, começa a enviar dados e para. Silenciosamente. O handshake TCP funciona porque os pacotes SYN/SYN-ACK são pequenos. Os dados reais, maiores, ficam presos.
Como um pacote e fragmentado em roteadores
O SVG abaixo ilustra o que acontece quando um pacote IP de 1500 bytes tenta atravessar um enlace PPPoE com MTU de 1492 bytes.
MTU padrão por tipo de conexão (comparativo visual)
Tabela de MTU por tipo de conexão
A composição de um frame Ethernet com payload TCP fica clara quando visualizada em camadas coloridas no estilo book-style. Cada celula mostra um cabeçalho ou região de dados, com o tamanho em bytes:
MAC origem + destino + EtherType
RFC 791 (sem opções)
RFC 793 (sem opções)
1500 - 20 IP - 20 TCP
Em PPPoE, soma-se um cabeçalho extra de 8 bytes após o Ethernet, reduzindo o MSS para 1452 bytes. Em WireGuard, o overhead total chega a 60 bytes (20 IP + 8 UDP + 32 WireGuard), reduzindo o MTU efetivo para 1420.
| Tipo de conexão | MTU recomendado | Overhead | Base normativa |
|---|---|---|---|
| Ethernet padrão (LAN) | 1500 | Nenhum além do frame Ethernet | RFC 894 |
| PPPoE (ADSL / fibra PPPoE) | 1492 | 8 bytes de cabeçalho PPPoE | RFC 2516, RFC 4638 |
| PPPoE com VLAN 802.1Q | 1472 | 8 PPPoE + 4 VLAN tag | RFC 2516 + IEEE 802.1Q |
| WireGuard | 1420 | 60 bytes de overhead do tunel | WireGuard whitepaper |
| IPsec ESP modo tunel | 1400-1420 | ~80 bytes (ESP + IV + padding) | RFC 4303 |
| OpenVPN (UDP) | 1380-1400 | Variavel conforme config e cipher | OpenVPN manual |
| OpenVPN (TCP) | 1350-1380 | Overhead TCP adicional ao tunel | OpenVPN manual |
| Wi-Fi 802.11 (MSDU) | 1500 | Fragmentação feita na camada Wi-Fi | IEEE 802.11 |
| IPv6 (mínimo garantido) | 1280 | MTU mínimo mandatorio do IPv6 | RFC 8200 |
O MTU de 1492 para PPPoE e resultado direto do protocolo: o cabeçalho PPPoE tem 6 bytes fixos mais 2 bytes de identificador de protocolo PPP, totalizando 8 bytes de overhead. Como o frame Ethernet suporta 1500 bytes de payload, sobram 1492 para o pacote IP.
Como o PMTUD descobre o MTU do caminho
PMTUD (Path MTU Discovery) e o mecanismo automático definido na RFC 1191 (IPv4) e RFC 8200 (IPv6) para descobrir o menor MTU ao longo do caminho até o destino. O objetivo e evitar fragmentação sem ter que configurar manualmente o MTU de cada destino.
O processo funciona assim: o emissor envia pacotes com flag DF ativada e com o MTU máximo configurado localmente. Se algum roteador no caminho tiver MTU menor, ele descarta o pacote e retorna ICMP Tipo 3 Código 4 (Fragmentation Needed) com o MTU disponível naquele enlace. O emissor reduz o MTU dos próximos pacotes e repete o processo até chegar ao destino. O menor valor encontrado vira o Path MTU para aquele destino especifico.
A RFC 4821 define o PLPMTUD (Packetization Layer Path MTU Discovery), uma abordagem alternativa que não depende de ICMP. Em vez disso, usa probes na camada de transporte (TCP ou SCTP) com tamanhos crescentes para descobrir o MTU do caminho sem necessidade de mensagens ICMP intermediárias.
Sintomas de MTU incorreto
| Sintoma | Explicação | MTU provavel errado |
|---|---|---|
| Site carrega texto mas não carrega imagens ou CSS | Pacotes pequenos (HTML) passam; pacotes maiores (imagens) são descartados | MTU configurado acima do limite do enlace |
| HTTPS trava logo após o handshake | SYN/SYN-ACK passam (pequenos); Certificate e Application Data são descartados | MTU acima do Path MTU real |
| Download começa e para após alguns KB | Cabeçalho HTTP passa; dados iniciam e são fragmentados ou descartados | MTU incorreto na interface de saida |
| VPN conecta mas trafego não flui | Overhead do tunel reduz MTU efetivo; pacotes encapsulados excedem o MTU fisico | MTU da interface VPN não ajustado para o overhead do protocolo |
| Problema especifico por site; outros funcionam | Servidor do site especifico usa pacotes maiores ou tem PMTUD bloqueado | Problema no PMTUD do caminho, não no MTU local |
MTU em VPN: como calcular o valor certo
VPNs encapsulam os pacotes originais dentro de um tunel, adicionando bytes de cabeçalho. O calculo básico e: MTU da VPN = MTU do enlace externo menos overhead do protocolo de tunel.
Para descobrir experimentalmente o MTU correto com a VPN ativa:
- Com a VPN conectada, abra o terminal.
-
Execute o ping com tamanho decrescente e flag DF:
Windows:ping -n 1 -f -l 1400 8.8.8.8
Linux/macOS:ping -c 1 -M do -s 1400 8.8.8.8 - Se receber resposta, aumente o tamanho em 10 bytes e repita.
- Se receber "Fragmentation needed" ou timeout, diminua o tamanho em 1 byte até encontrar o maior pacote que passa.
- Some 28 bytes (20 bytes cabeçalho IP + 8 bytes cabeçalho ICMP) ao valor encontrado: esse e o MTU correto para a interface da VPN.
Exemplo prático: se o maior pacote ICMP que passa com VPN WireGuard e 1392 bytes, o MTU correto da interface WireGuard e 1392 + 28 = 1420 bytes. Esse valor bate com o padrão documentado do WireGuard.
Fluxo de diagnóstico de problema de MTU
- Confirme o sintoma: site carrega parcialmente, HTTPS trava após conexão estabelecida, download inicia e para. Se o problema e generalizado em todos os sites, o MTU pode não ser a causa (verifique DNS e conexão primeiro).
-
Teste ping com tamanhos decrescentes (Windows):
ping -f -l 1472 8.8.8.8(testa 1500 bytes total)
ping -f -l 1464 8.8.8.8(testa 1492 bytes total)
Se 1464 falhar e 1456 funcionar, o Path MTU e 1484 (1456 + 28 = 1484 bytes). -
Verifique o MTU configurado no sistema:
Windows:netsh interface ipv4 show subinterfaces
Linux:ip link show
macOS:ifconfig | grep mtu - Compare: se o MTU configurado e maior que o Path MTU descoberto no passo 2, ha mismatch e o PMTUD não esta corrigindo automaticamente (ICMP provavelmente bloqueado na rota).
-
Ajuste o MTU na interface:
Windows:netsh interface ipv4 set subinterface "Ethernet" mtu=1492 store=persistent
Linux:sudo ip link set dev eth0 mtu 1492
macOS:sudo ifconfig en0 mtu 1492 - Verifique o roteador: para conexões PPPoE, configure 1492 nas configurações WAN. Aplicar no roteador resolve para todos os dispositivos da rede de uma vez.
Como configurar o MTU por sistema operacional
| Sistema | Comando de verificação | Comando de configuração | Persistente? |
|---|---|---|---|
| Windows | netsh interface ipv4 show subinterfaces |
netsh interface ipv4 set subinterface "Ethernet" mtu=1492 store=persistent |
Sim (store=persistent) |
| Linux | ip link show |
sudo ip link set dev eth0 mtu 1492 |
Não (reinicio apaga); persistir via NetworkManager ou netplan |
| macOS | ifconfig | grep mtu |
sudo ifconfig en0 mtu 1492 |
Não (reinicio apaga); persistir via LaunchDaemon |
| Roteador | Painel web > WAN > MTU | Campo MTU nas configurações WAN/PPPoE | Sim (salvo no firmware) |
Linux: persistindo o MTU via NetworkManager
Para tornar a alteração permanente no Linux com NetworkManager, edite o arquivo de conexão em /etc/NetworkManager/system-connections/ e adicione mtu=1492 na secao [ethernet] ou [802-11-wireless]. Reinicie o NetworkManager com sudo systemctl restart NetworkManager.
Roteador (recomendado para redes inteiras)
Acesse o painel do roteador (geralmente 192.168.0.1 ou 192.168.1.1). Localize as configurações WAN ou PPPoE. Altere o campo MTU para 1492. Salve e reinicie o roteador. Essa configuração aplica o MTU correto para todos os dispositivos da rede sem necessidade de ajustes individuais.
MTU e conexões PPPoE no Brasil
Grande parte das conexões de fibra residencial no Brasil usa PPPoE como protocolo de autenticação na camada WAN, incluindo planos da Vivo (AS26599), Claro NET (AS28573) e TIM Live (AS26615). Nesses casos, o MTU correto e 1492, não 1500.
Roteadores fornecidos pelos próprios provedores geralmente chegam pre-configurados com MTU 1492. O problema aparece quando o usuário troca o equipamento por um modelo próprio comprado separadamente, especialmente roteadores de gaming ou dual-WAN. Esses equipamentos costumam vir de fabrica com MTU 1500, e a interface WAN precisa ser ajustada manualmente para 1492 nas configurações PPPoE.
Um MTU de 1500 em conexão PPPoE causa fragmentação continua. Em conexões rápidas (500 Mbps ou mais), essa fragmentação pode reduzir o throughput efetivo de forma mensurável e aumentar a latência média porque cada pacote grande gera um fragmento adicional que precisa ser remontado no destino.
Como verificar o MTU atual da sua conexão
Antes de ajustar qualquer coisa, convem saber o MTU que esta sendo usado atualmente. No Windows, o comando netsh interface ipv4 show subinterfaces lista as interfaces de rede com seus MTUs configurados. A coluna "MTU" mostra o valor para cada interface (Ethernet, Wi-Fi, adaptador VPN etc.). No Linux, ip link show exibe o MTU de cada interface na linha que contém "mtu". No macOS, ifconfig | grep -i mtu lista todos.
Para verificar o Path MTU real, e não apenas o MTU configurado localmente, use o teste de ping com flag DF descrito na secao de diagnóstico. O Path MTU pode ser menor que o MTU local se houver um roteador intermediário com MTU menor no caminho.
MSS clamping e sua relação com o MTU em PPPoE
MSS (Maximum Segment Size) e o parâmetro TCP que define o tamanho máximo dos dados em cada segmento TCP, negociado durante o handshake via opção MSS no segmento SYN. Para Ethernet com MTU 1500, o MSS ideal e 1460 (1500 menos 20 bytes de cabeçalho IP e 20 de cabeçalho TCP). Para PPPoE com MTU 1492, o MSS deve ser 1452.
Quando o MSS anunciado pelo cliente e maior que o MTU efetivo do enlace PPPoE, o servidor envia segmentos TCP que são fragmentados no roteador PPPoE. Se o roteador também tem ICMP bloqueado, o PMTUD falha e a conexão trava. A solucao nos roteadores de borda e o MSS clamping: o roteador intercepta os segmentos SYN e reduz o MSS anunciado para o valor correto antes de encaminhar. Essa função e ativada automaticamente em muitos roteadores de consumo quando o modo PPPoE e selecionado, mas pode precisar ser habilitada manualmente em firmware mais antigo.
Jumbo frames em redes corporativas e NAS
Em redes locais de alta performance (conexões 10GbE entre servidores ou NAS), e possível configurar MTU maior que 1500, os chamados jumbo frames, com valores típicos de 9000 ou 9216 bytes. Jumbo frames reduzem o overhead de cabeçalho por bit de dado transferido e diminuem a carga de CPU dos adaptadores de rede. Para funcionar, todos os dispositivos no caminho (switches, NICs, servidores e NAS) precisam ter o mesmo MTU configurado. Um dispositivo com MTU 1500 no caminho entre dois equipamentos com jumbo frames força fragmentação ou descarte silencioso dos frames grandes.
Em redes residenciais e SOHO, jumbo frames não trazem benefício prático. O MTU de 1500 e o padrão correto para essas redes. Jumbo frames só fazem sentido em redes de data center ou produtoras de vídeo com transferências massivas de arquivos grandes dentro da LAN.
Diagnose rápida: o teste dos dois sites
Uma forma prática de confirmar suspeita de MTU incorreto: tente acessar dois tipos de sites diferentes. Se sites simples com pouco CSS (como uma página de texto puro ou o google.com) carregam normalmente mas sites ricos em imagens e scripts (YouTube, Instagram, portais de noticias) travam ou mostram elementos faltando, o MTU e o candidato principal. Os pacotes pequenos de HTML básico passam; os pacotes maiores de assets são descartados ou fragmentados sem entrega completa.
Erros comuns de MTU e como evitar
Usar MTU 1500 em conexão PPPoE
O erro mais frequente em roteadores próprios no Brasil. O roteador vem de fabrica configurado para Ethernet padrão (1500), e o usuário seleciona o tipo de conexão PPPoE mas não ajusta o MTU. Resultado: fragmentação continua de todos os pacotes no tamanho máximo. A solucao e trocar para 1492 nas configurações WAN do roteador.
Usar MTU 1500 em interface WireGuard
Ao configurar WireGuard manualmente (sem um cliente que auto-detecta), o arquivo de configuração wg0.conf precisa ter MTU = 1420 na secao [Interface]. Sem essa linha, a interface usa o MTU padrão da plataforma (1500), causando pacotes encapsulados maiores que o MTU fisico, que são descartados ou fragmentados.
Configurar MTU só no dispositivo mas não no roteador
Ajustar o MTU na interface de rede do computador para 1492 sem ajustar no roteador resolve o problema para aquele dispositivo, mas outros dispositivos da rede continuam com o MTU incorreto. A correção ideal e no roteador, que aplica MSS clamping automaticamente para todos os clientes.
Verificando MTU com Wireshark
Para diagnosticar problemas de MTU de forma definitiva, o Wireshark permite capturar e analisar o trafego real de rede. Instale o Wireshark (gratuito, disponível em wireshark.org para Windows, macOS e Linux) e siga esses passos:
- Inicie o Wireshark e selecione a interface de rede ativa.
- Reproduza o problema (acesse o site que não carrega completamente).
- No filtro, use
tcp.flags.reset == 1 || icmp.type == 3para ver resets TCP e mensagens ICMP de fragmentação. - Uma mensagem ICMP Tipo 3 Código 4 (Fragmentation Needed) confirma o problema de MTU. O campo "Next-Hop MTU" na mensagem indica o MTU do enlace problematico.
- Para verificar o tamanho dos pacotes TCP enviados, use o filtro
tcp && tcp.len > 1400e veja quais tamanhos estao sendo usados.
Se o Wireshark mostrar resets TCP frequentes após pacotes grandes (acima de 1492 bytes em PPPoE, por exemplo) sem mensagem ICMP correspondente, confirma PMTUD black hole: o roteador descarta o pacote e bloqueia o ICMP sem notificar o emissor.
MTU e latência: a relação indireta
Um MTU corretamente configurado não reduz diretamente a latência de um ping simples. O que pode acontecer indiretamente: com MTU incorreto, pacotes grandes precisam ser fragmentados e os fragmentos remontados no destino, adicionando pequena latência ao throughput real (não ao RTT de um ping pequeno). Em conexões de alta velocidade acima de 500 Mbps, a CPU do processador de rede do roteador pode ser impactada pelo overhead de remontagem de fragmentos, aumentando a latência de todos os pacotes, incluindo os pequenos.
Para a maioria dos usuários residenciais, a diferença de latência e negligenciavel mesmo com MTU incorreto. O impacto principal e em throughput e na falha silenciosa de conexões que usam pacotes grandes: o problema de site que carrega texto mas não carrega imagens descrito anteriormente.
Automated MTU discovery em sistemas modernos
O Linux kernel 3.x+ com a implementação TCP de Packetization Layer Path MTU Discovery (PLPMTUD, RFC 4821) faz descoberta de Path MTU sem depender de ICMP. Em vez de usar pacotes com flag DF, usa probes TCP de tamanhos crescentes. Isso contorna o problema de ICMP bloqueado. Sistemas Windows 10+ e macOS Sonoma+ também implementam variantes dessa abordagem.
Na prática, sistemas modernos tem menos problemas de MTU do que sistemas mais antigos exatamente por causa dessas melhorias. Quando o problema de MTU ainda aparece em 2026, geralmente e em roteadores com firmware antigo, em configurações de VPN manuais, ou em dispositivos embarcados sem suporte ao PLPMTUD moderno.
Perguntas frequentes
MTU (Maximum Transmission Unit) e o tamanho máximo de um pacote de dados que pode transitar por um enlace de rede sem ser fragmentado. Para Ethernet padrão, o valor e 1500 bytes, definido na RFC 894. Conexões com protocolos de encapsulamento como PPPoE ou VPNs tem MTU menor porque o cabeçalho do protocolo adicional consome parte dos 1500 bytes disponíveis.
O protocolo PPPoE adiciona um cabeçalho de 8 bytes ao frame Ethernet (6 bytes de cabeçalho PPPoE + 2 bytes de identificador de protocolo PPP). Como o limite do payload Ethernet e 1500 bytes, sobram 1492 para o pacote IP. Usar MTU 1500 em conexão PPPoE força fragmentação de todos os pacotes que chegam no tamanho máximo.
Os problemas clássicos: site carrega texto mas não carrega imagens, HTTPS trava logo após o handshake TLS, downloads que iniciam e param sem mensagem de erro, e VPN que conecta mas não roteia trafego. O sintoma e insidioso porque conexões simples (ping, DNS, HTTP básico) funcionam normalmente, mas transfers de dados maiores falham silenciosamente.
PMTUD (Path MTU Discovery) e o mecanismo automático pelo qual o sistema operacional descobre o menor MTU ao longo do caminho até o destino. Ele usa pacotes com flag DF (Don't Fragment) e mensagens ICMP de retorno para ajustar o tamanho dos pacotes. Falha quando firewalls bloqueiam ICMP Tipo 3 Código 4 (Fragmentation Needed). Sem esse retorno, o sistema não sabe reduzir o MTU e a conexão trava misteriosamente com pacotes de dados maiores.
O MTU padrão recomendado para a interface WireGuard e 1420 bytes, assumindo link subjacente com MTU 1500. O WireGuard adiciona 60 bytes de overhead por pacote (20 bytes cabeçalho IP + 8 bytes UDP + 32 bytes de cabeçalho WireGuard). Em conexões PPPoE (MTU 1492), o MTU da interface WireGuard deve ser calculado como 1492 menos 60 bytes de overhead = 1432 bytes. Ajustar para valores incorretos causa fragmentação ou descarte de pacotes.
Use o ping com flag DF (sem fragmentação) e tamanhos decrescentes. No Windows: ping -f -l 1472 8.8.8.8. Se retornar "Packet needs to be fragmented", reduza o valor em 10 bytes e repita até encontrar o maior que passa. Some 28 bytes (20 IP + 8 ICMP) ao valor encontrado: esse e o Path MTU do seu caminho. Para descobrir o MTU da interface VPN especificamente, realize o teste com a VPN conectada.
Indiretamente, sim. Um MTU muito abaixo do ótimo gera mais pacotes com mais cabeçalhos para transmitir a mesma quantidade de dados, reduzindo levemente a eficiência. Em conexões de alta velocidade (500 Mbps+), fragmentação continua pode reduzir o throughput efetivo porque o equipamento de rede precisa processar e remontar fragmentos. O impacto e mais visivelmente em conexões CGNAT com hardware de borda sobrecarregado.
O IPv6 define um MTU mínimo mandatorio de 1280 bytes (RFC 8200), superior ao mínimo do IPv4 (68 bytes). O IPv6 também não fragmenta em roteadores intermediários: a fragmentação e responsabilidade exclusiva do host emissor. Isso significa que o PMTUD e obrigatorio em IPv6; sem ele, conexões com Path MTU menor que 1500 podem travar completamente.
Para conexões PPPoE, configurar no roteador e geralmente suficiente porque o roteador faz o encapsulamento PPPoE e ajusta o MSS (Maximum Segment Size) dos pacotes TCP antes de enviá-los. Para VPNs configuradas em cada dispositivo individualmente, cada dispositivo precisa ter o MTU da interface VPN ajustado separadamente. O ajuste no roteador não afeta o MTU das interfaces VPN dos dispositivos.
MSS (Maximum Segment Size) e o tamanho máximo de dados em cada segmento TCP, calculado como MTU menos os cabeçalhos IP e TCP (tipicamente MTU - 40 bytes). MSS clamping e uma técnica usada em roteadores para forcar os hosts a anunciarem um MSS menor durante o handshake TCP, prevenindo o envio de segmentos maiores que o Path MTU. E especialmente útil em conexões PPPoE para evitar o "MTU black hole" causado por ICMP bloqueado.
Ferramentas relacionadas
Configurar o MTU correto e um ajuste que se faz uma vez e evita problemas sutis e persistentes. Para conexões PPPoE brasileiras, 1492 e o valor certo. Para VPNs, calcule subtraindo o overhead do protocolo do MTU base do link fisico. O PMTUD cuida do ajuste automático quando ICMP não esta bloqueado na rota; quando esta, configurar manualmente e a única saida efetiva.
Teste de Ping
Leituras Relacionadas
- Perda de pacotes causas — Perda de pacotes causas: congestionamento, hardware defeituoso, interferencia Wi-Fi, ISPs regionais BR. Fluxograma de diagnostico passo a passo com ping e traceroute.
- Internet lenta diagnostico — Internet lenta diagnostico: fluxograma BR passo a passo com ping, traceroute e DNS. Exemplos com operadoras brasileiras, CGNAT e modem padrão de provedor.
- TCP vs UDP — TCP vs UDP: handshake, garantia de entrega, latencia e casos de uso reais. Comparativo com QUIC e HTTP/3 e exemplos de jogos, streaming e DNS.