Как сказать то, что MTU используется в Windows XP

Я страдаю от действительно странной проблемы, где я случайным образом получаю "Соединение с сервером, был сброшен" ошибки при попытке получить доступ к веб-страницам (Ошибка HTTP 12031 согласно инструменту диагностики сети Windows) - это происходит независимо от того, является ли веб-страница, к которой я пытаюсь получить доступ, во внешнем Интернете или даже если это от локального экземпляра Apache, работающего localhost. Это влияет на все компьютеры в нашей локальной сети (Ethernet, не беспроводная связь), все из которых выполняют Windows XP.

Было предложено мне, чтобы это могло бы относиться к MTU, используемому на сетевом трафике. Если я делаю Тест Ping для обнаружения самого большого пакета, который может пройти нефрагментированный, я могу проверить с помощью ping-запросов localhost с пакетом 1 492 байтов (+28 байтов для заголовка?) и я могу проверить с помощью ping-запросов наш маршрутизатор с пакетом 1 462 байтов (который составляет 1 490 байтов, когда Вы включаете 28-байтовый заголовок). Если я пытаюсь проверить с помощью ping-запросов что-то на внешней стороне как Google, я не могу передать ничего большего, чем 1430 (который является 1458 с заголовком).

Я попробовал после различных наборов инструкций обновить Реестр Windows XP с этой установкой MTU, обновив HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{AdapterID}\MTU. Я не попробовал конца альтернативных значений: самое очевидное правильное значение, кажется, 1490, но я также попробовал 1462, 1458, 1430, и т.д., и т.д. Когда я перезагружаю компьютер для внесения изменения, вступают в силу, это, кажется, работает в течение нескольких минут (трудно для сообщения наверняка, так как это всегда случайно, а не последовательно), но это никогда не длится долго.

Первоначально, когда я пробовал 1430 как значение, после того, как несколько минут того, чтобы хорошо работать, результаты Теста Ping уменьшатся на 28 байтов - внезапно я нашел бы, что мог только получить пакет 1 402 байтов до Google. Если бы я обновил установку реестра MTU на 1402, когда я перезагрузил и ожидал несколько минут, это затем был бы 1374, то 1346, и т.д. и т.д. Другие компьютеры в сети остались незатронутыми (все еще в 1430), и удаление MTU, сходящего с реестра, восстановит вещи к нормальному (и все еще поврежденный).

Вещь, что я нахожу самое твердое о диагностировании всего этого, состоит в том, что очень трудно сказать, играю ли я даже с корректной установкой реестра. Таким образом в он является самым простым, мой вопрос был бы: Как я могу сказать то, что Windows установки MTU пытается использовать?

Кроме того, если у кого-либо есть какие-либо идеи, как сказать, почему MTU продолжает отбрасывать на 28, который был бы полезен также (например, есть ли файл журнала Windows где-нибудь, где он зарегистрирует что-то в точке, где значение изменяется?)

Наконец, если кто-либо может сказать мне окончательно, как сказать, какую установку MTU я должен пытаться использовать, который был бы большим!

21
задан 02.08.2011, 15:12

3 ответа

Можно найти MTU с помощью ping с подходом метода проб и ошибок:

ping <address> -f -l nnnn

Ping:

- f: Указывает, что сообщения Эхо-запроса отправляются с не флаг Fragment в наборе заголовка IP к 1. Сообщение Эхо-запроса не может быть фрагментировано маршрутизаторами в пути к месту назначения. Этот параметр полезен для поиска и устранения неисправностей проблем блока передачи максимума пути (PMTU).

- l Размер: Указывает длину, в байтах, Поля данных в отправленных сообщениях Эхо-запроса. Значение по умолчанию равняется 32. Максимальный размер 65,527.

Вы заставите "Пакетные потребности быть фрагментированными, но сообщения" набора DF, когда длина будет слишком большой.

2
ответ дан 07.12.2019, 10:00

Посмотрите AdapterWatch:

AdapterWatch отображает полезную информацию о Ваших сетевых адаптерах: IP-адреса, Аппаратный адрес, серверы WINS, серверы DNS, значение MTU, Число байтов, полученных или отправленных, текущая скорость передачи, и т.д. Кроме того, это отображает общий TCP/IP/UDP/статистику ICMP для Вашего локального компьютера.

1
ответ дан 07.12.2019, 10:00

Microsoft KB314496: размеры MTU по умолчанию для различных топологий сети.
Вы не должны пытаться играть с конфигурацией MTU в нормальных настройках сети.

Здесь существует ссылка кода VB.
Существует также инструмент под названием DrTCP:

alt text


В реестре,

  • Перейдите в HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards
  • Откройте адаптер, которым Вы интересуетесь
  • Скопируйте ServiceName строка
  • Поиск та строка в HKLM\System; Вы будете соответствовать a NetCfgInstanceId ключ
  • Немного выше этого будет MaxFrameSize ключ (шахта показывает 1514),

Существует также способ изменить это с netsh команда.

Кроме того, проверьте свой Путь конфигурация Исследования MTU.

1
ответ дан 07.12.2019, 10:00

Теги

Похожие вопросы