Назад | Перейти на главную страницу

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

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

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

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

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

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

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