Почему снижение MTU с 1500 до 1499 позволяет мне получить доступ к большинству веб-сайтов?

16

У меня была эта проблема, когда я мог подключаться только к таким сайтам, как google.com и ibm.com, когда mtu был установлен на 1500, но если бы я попытался подключиться к чему-либо еще, он просто отобразил бы пустую страницу. Когда МТУ был снижен до 1499 года, он начал работать. Мне любопытно, почему это работает, и если установка mtu на 1499 может вызвать проблемы в будущем? Я на самом деле мало что знаю об этом, я только слышал об этом и ищу хорошее объяснение.

Когда я получу объяснение того, почему MTU был отброшен всего на 1 байт, я обновлю свой вопрос объяснением.

Xaisoft
источник

Ответы:

19

Это может означать, что какое-то другое устройство в восходящем направлении от вас имеет меньший mtu, и кто-то неправильно настроил брандмауэр, чтобы заблокировать все ICMP, предотвращающие обнаружение MTU для пути.

Многие наивные сетевые администраторы, похоже, считают, что ICMP не имеет цели, и вы можете полностью заблокировать его без каких-либо последствий.

Zoredache
источник
4
1499 кажется странным, хотя. Меньшие значения MTU обычно являются результатом привязки к другому заголовку (например, PPPoE, VPN, VLAN и т. Д.), Который сокращает MTU на некоторое четное число. Например, 4 байта для 802.1q или 8 байтов для PPPoE. Что бы использовать только 1 байт?
Джеральд Комбс
@ Джеральд, это хорошо, и число мне тоже кажется странным. Возможно, кто-то еще предложит возможное объяснение.
Зоредаче
Джеральд, я выясню, почему это был всего 1 байт.
Xaisoft
Инженер беспроводной сети в моей компании установил его на 1499, поэтому я выясню почему и сообщу вам. Я совершенно не обращаю внимания на все эти вещи, смеется.
Xaisoft
2
Может быть, маршрутизатор / брандмауэр / и т. Д. Где-то неправильно настроен для перехвата пакетов с 1500+ MTU вместо> 1500 MTU.
Крис С
8

Если быть более точным, то, что происходит, - то, что дейтаграммы IP имеют флаг DF (Не фрагментировать), установленный в их заголовках. Затем они попадают в шлюз где-то вдоль пути между вами и пунктом назначения, у которого MTU меньше, чем у отправителя. Этот шлюз должен еще больше фрагментировать дейтаграммы, поэтому он отправляет сообщение ICMP типа 4, которое, по сути, означает: «Мне нужно фрагментировать эти пакеты, но вы сказали, что нет. Поэтому пункт назначения недоступен».

Эти ICMP-пакеты не принимаются исходным отправителем, потому что некоторый шлюз вдоль пути был настроен (глупо) для блокировки всех ICMP. Таким образом, отправитель не знает, что его пакеты не прошли, и сидит в ожидании ... и ждет. В конце концов что-то истечет. Обычно это человек, который тайм-аут в первую очередь. :)

DictatorBob
источник