Ошибка 12031 или почему не загружается страница

Albert_researcher

Модератор
Команда форума
В последнее время у меня иногда проблемы при загрузке https://www.google.ru/

Возможная причина ошибки несогласованные значения MTU на трассе пакета
maximum transmission unit (MTU) означает максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.
Другими словами файлы не передаются целиком, они передаются пакетами.
По умолчанию MTU=1500 байт.
В них 28 байт – заголовок пакета, который не учитывается.
Итого начальное значение 1472 байта.
Для начала нужно выяснить, какое значение MTU нужно
Запускаем cmd от имени администратора
даем пинг с размером пакета

ping -f -l 1472 www.yandex.ru

Обмен пакетами с www.yandex.ru [77.88.55.77] с 1472 байтами данных:
Требуется фрагментация пакета, но установлен запрещающий флаг.
Требуется фрагментация пакета, но установлен запрещающий флаг.
Требуется фрагментация пакета, но установлен запрещающий флаг.
Требуется фрагментация пакета, но установлен запрещающий флаг.

Статистика Ping для 77.88.55.77:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)

результат Требуется фрагментация пакета, но установлен запрещающий флаг.
нужно уменьшить пакет до того значения, когда пинг будет проходить.


ping -f -l 1370 www.yandex.ru

Обмен пакетами с www.yandex.ru [77.88.55.77] с 1370 байтами данных:
Ответ от 77.88.55.77: число байт=1370 время=32мс TTL=53
Ответ от 77.88.55.77: число байт=1370 время=32мс TTL=53
Ответ от 77.88.55.77: число байт=1370 время=32мс TTL=53
Ответ от 77.88.55.77: число байт=1370 время=32мс TTL=53

Статистика Ping для 77.88.55.77:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 32мсек, Максимальное = 32 мсек, Среднее = 32 мсек

У меня получилось 1370 байта. 1370+28=1398 – это будет значение MTU при котором yandex.ru будет загружатся.

Далее вводим команду netsh interface ipv4 show subinterfaces
этой командой мы получим список интерфейчов и значения MTU на них.

C:\WINDOWS\system32>netsh interface ipv4 show subinterfaces

MTU Состояние определения носителя Вх. байт Исх. байт Интерфейс
------ --------------- --------- --------- -------------
4294967295 1 0 188814 Loopback Pseudo-Interface 1
1500 1 405786225 19601169 Ethernet 2


C:\WINDOWS\system32>

Теперь значение MTU нужно изменить:

netsh interface ipv4 set subinterface "Подключение по локальной сети" mtu=1398 store=persistent

Здесь Подключение по локальной сети – название интерфейса (у меня это будет Ethernet 2).

C:\WINDOWS\system32>netsh interface ipv4 set subinterface "Ethernet 2" mtu=1398 store=persistent
ОК.

и напоследок отключаем автоматическую настройку значения MTU для сетевых подключений:

netsh int tcp set global autotuninglevel=disabled

Проверяем: netsh interface ipv4 show subinterfaces
и получаем

C:\WINDOWS\system32>netsh interface ipv4 show subinterfaces

MTU Состояние определения носителя Вх. байт Исх. байт Интерфейс
------ --------------- --------- --------- -------------
4294967295 1 0 188814 Loopback Pseudo-Interface 1
1398 1 405859482 19667391 Ethernet 2


C:\WINDOWS\system32>
 
Последнее редактирование:
Верх