Por que a redução do MTU de 1500 para 1499 me permite acessar a maioria dos sites?

16

Eu tive esse problema em que só consegui conectar-me a sites como google.com e ibm.com quando o mtu foi definido em 1500, mas se eu tentasse conectar-me a qualquer outra coisa, mostraria apenas uma página em branco. Quando o mtu foi baixado para 1499, ele começou a funcionar. Estou curioso para saber por que isso funciona e se o mtu definido em 1499 pode causar problemas no futuro? Na verdade, eu não sei muito sobre isso, acabei de ouvir sobre isso e estou procurando uma boa explicação.

Quando eu receber uma explicação de por que o MTU foi descartado em apenas 1 byte, atualizarei minha pergunta com a explicação.

Xaisoft
fonte

Respostas:

19

Isso pode significar que algum outro dispositivo a montante de você possui um mtu menor e alguém configurou incorretamente um firewall para bloquear todo o ICMP, impedindo a descoberta de MTU para o caminho.

Muitos administradores de rede ingênuos parecem acreditar que o ICMP não tem propósito e você pode bloqueá-lo completamente sem nenhuma repercussão.

Zoredache
fonte
4
1499 parece estranho, no entanto. As MTUs menores geralmente são o resultado do uso de outro cabeçalho (por exemplo, PPPoE, VPNs, VLANs, etc.), que diminuem a MTU em um número par. Por exemplo, 4 bytes para 802.1q ou 8 bytes para PPPoE. O que consumiria apenas 1 byte?
Gerald Combs
@Gerald, isso é bom, e o número parece estranho para mim também. Talvez alguém ofereça uma possível explicação.
Zoredache
Gerald, vou descobrir por que era apenas 1 byte.
Xaisoft 30/09/09
O engenheiro de rede sem fio da minha empresa definiu o valor em 1499, para que eu descubra o motivo e o informe. Estou totalmente alheio a todas essas coisas, lol.
Xaisoft 30/09/09
2
Pode ser um roteador / firewall / etc em algum lugar mal configurado para capturar pacotes com mais de 1500 MTU em vez de> 1500 MTU.
Chris S
8

Para ser mais específico, o que está acontecendo é que os datagramas IP têm o sinalizador DF (Não Fragmentar) definido em seus cabeçalhos. Em seguida, eles acessam um gateway em algum lugar ao longo do caminho entre você e o destino, com um MTU menor do que aquele que o remetente usou. Esse gateway precisa fragmentar ainda mais os datagramas, para que ele envie uma mensagem do tipo 4 do ICMP, que basicamente significa: "Eu preciso fragmentar esses pacotes, mas você não o fez. Portanto, o destino é inacessível".

Esses pacotes ICMP não são recebidos pelo remetente original porque algum gateway ao longo do caminho foi configurado (tolamente) para bloquear todo o ICMP. Portanto, o remetente não sabe que seus pacotes não chegaram e fica esperando ... e esperando. Eventualmente, algo irá expirar. Geralmente é o humano que atinge o tempo limite primeiro. :)

DictatorBob
fonte