Pourquoi abaisser le MTU de 1500 à 1499 me permet-il d'accéder à la plupart des sites Web?

16

J'ai eu ce problème où je ne pouvais me connecter à des sites Web comme google.com et ibm.com que lorsque le MTU était réglé à 1500, mais si j'essayais de me connecter à autre chose, cela afficherait simplement une page vierge. Lorsque le MTU a été abaissé à 1499, il a commencé à fonctionner. Je suis curieux de savoir pourquoi cela fonctionne et si le réglage du MTU à 1499 pourrait causer des problèmes à l'avenir? En fait, je ne sais pas grand-chose à ce sujet, je viens d'en entendre parler et je cherche une bonne explication.

Lorsque j'obtiendrai une explication de la raison pour laquelle le MTU a été supprimé d'un seul octet, je mettrai à jour ma question avec l'explication.

Xaisoft
la source

Réponses:

19

Cela peut signifier qu'un autre appareil en amont de vous a un mtu plus petit et que quelqu'un a mal configuré un pare-feu pour bloquer tous les ICMP empêchant la découverte de MTU pour le chemin.

De nombreux administrateurs réseau naïfs semblent croire que l'ICMP n'a aucun but et vous pouvez le bloquer complètement sans aucune répercussion.

Zoredache
la source
4
1499 semble étrange, cependant. Les MTU plus petits sont généralement le résultat d'un virement sur un autre en-tête (par exemple PPPoE, VPN, VLAN, etc.) qui réduit le MTU d'un certain nombre pair. Par exemple, 4 octets pour 802.1q ou 8 octets pour PPPoE. Qu'est-ce qui utiliserait seulement 1 octet?
Gerald Combs
@Gerald, c'est une bonne chose, et le nombre me semble également étrange. Peut-être que quelqu'un d'autre offrira une explication possible.
Zoredache
Gerald, je vais découvrir pourquoi c'était juste 1 octet.
Xaisoft
L'ingénieur réseau sans fil de mon entreprise l'a fixé à 1499, je vais donc découvrir pourquoi et vous le faire savoir. Je suis totalement inconscient de tout ça, lol.
Xaisoft
2
Peut être un routeur / pare-feu / etc. quelque part mal configuré pour intercepter les paquets avec plus de 1500 MTU au lieu de> 1500 MTU.
Chris S
8

Pour être plus précis, ce qui se passe, c'est que les datagrammes IP ont le drapeau DF (Don't Fragment) défini dans leurs en-têtes. Ils ont ensuite frappé une passerelle quelque part le long du chemin entre vous et la destination qui a une MTU plus petite que celle utilisée par l'expéditeur. Cette passerelle doit fragmenter davantage les datagrammes, elle envoie donc un message ICMP de type 4, ce qui signifie essentiellement: "J'ai besoin de fragmenter ces paquets, mais vous avez dit de ne pas le faire. La destination est donc inaccessible."

Ces paquets ICMP ne sont pas reçus par l'expéditeur d'origine car une passerelle le long du chemin a été configurée (stupidement) pour bloquer tous les ICMP. L'expéditeur ne sait donc pas que ses paquets ne sont pas passés et reste assis à attendre ... et à attendre. Finalement, quelque chose va expirer. Habituellement, c'est l'humain qui arrive en premier. :)

DictatorBob
la source