Для точного определения MTU нужно указать значение по умолчанию - 1500.

Существует огромное количество утилит, которые позволяют это сделать да и не только это. Наиболее распространенные - Internet Tweak 2001 http://www.magellass.com/ , NetBoost 99 http://www.download.ru/ , iSpeed http://www.hms.com/ , MTUSpeed http://www.mjs.u-net.com/ , BlazeNET http://www.indeavour.com/html_about_blazenet.htm . Если же у вас нет. возможности запустить одну из вышеперечисленных программ, сделайте это вручную - с помощью реестра Windows.

В разделе

HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\Class \NetTrans\OOOx.

Если там есть параметр MaxMTU - удалите его. Далее, в Панели управления запустите утилиту Сеть, на вкладке Конфигурация выберите элемент списка Контроллер удаленного доступа и нажмите кнопку Свойства. Откроется диалоговое окно Свойства: Контроллер удаленного доступа. На вкладке Дополнительно в группе параметров Свойство выберите элемент списка Размер пакета IP, а в группе параметров Значение - большой (рис. 8.1).

Рис. 8.1. Диалоговое окно Свойства: Контроллер удаленного доступа

Тем самым MTU становится равным 1500. Для того чтобы изменения вступили в силу, перезагрузите компьютер.

Чтобы проверить, будут ли фрагментироваться пакеты, нужно установить соединение с Интернетом. Для этого можно использовать программу Ping, входящую в состав любой операционной системы семейства Windows.

В ней. нужно задать такие параметры:

ping -f -1 1500 ххх.ххх.ххх.ххх

где ххх. ххх. ххх. ххх - IP-адрес тестируемого сервера.

Для тестирования MTU гораздо удобнее использовать современные программы с графическим интерфейсом. Существует огромное количество таких программ. Например, IP Tools. Для начала нужно определить IP-адрес тестируемого сервера, чтобы избежать потери времени, отводимого на запрос DNS.

Для этого воспользуйтесь командой Traceroute. Нажмите кнопку Пуск в левом нижнем углу экрана, выберите команду Выполнить и в появившемся окне наберите и URL веб-сайта. Появится окно приложения MS DOS. Например, введя любой адрес, через некоторое время появится его IP в квадратных скобках. Теперь воспользуйтесь программой Ping. Запустите ее с такими параметрами

ping -f -I 1500 ххх.ххх.ххх.ххх

где ххх.ххх.ххх.ххх - IP-адрес тестируемого сервера. Наиболее благоприятное время для проверки MTU для коммутируемого соединения - ночь. Тогда нагрузка на линии связи наименьшая.

В случае если никакого ответа не получено - пакет потерян. Причем потому, что фрагментировать мы его запретили, а размер слишком велик для оборудования провайдера. Начинайте постепенно уменьшать размер пакета. Например, вместо значения MTU 1500 установите 1480 и т. д., до тех пор, пока ответ не будет получен.

Возможно, ваш интернет-провайдер использует меньшее значение. Например, 1524, 1152, 1024, 1006, 576, 568, 560, 552, 548, 536, 528, 520, 512.

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

Скорее всего, вы поймете, что скорость больше при использовании больших

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

И что? Вы можете спросить: "Где же тот самый рекомендуемый MTU, равный 576?" А его, как оказывается на деле, почти нигде и нет. Поэтому лучшим советом может стать - не следовать чужим рекомендациям, проводить собственные исследования, которые могут дать реальные результаты.

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

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

PMTU система сама найдет для ваших пакетов такой путь в Сети, при котором они не будут фрагментироваться.

Кстати, если вы обнаружите, что у провайдера установлено MTU=512 и менее, то есть смысл подумать о его смене - слишком много шлака будет передаваться вместе с вашими данными.

Кто-то использует VPN для получения доступа к заблокированным сайтам, кто-то просто обходит ограничения по географическому положению. Бывает, что использование VPN может быть определено с помощью анализа TCP-соединения на основе размера MTU. Можно ли избежать этой ситуации? Сразу скажем: с VPN от — можно!

Мы рекомендуем использовать , так как в нашем VPN-клиенте изменение MTU возможно с помощью одного клика. Помимо этого в нашем клиенте ВПН есть и другие плюсы, такие как одновременный доступ с нескольких устройств, надежные каналы связи и отсутствие ограничений по скорости.

Начнём с технических деталей. Как же может быть определено использование VPN?

Значение параметра MTU

Maximum Transmission Unit или сокращено MTU - это максимальный объем передаваемой информации, отправляемой одним пакетом данных. Параметр MTU присваивается сетевым интерфейсам. Стандартным значением MTU для проводного соединения является число 1500. Параметр MTU в значении 1500 обозначает, что объём данных, передаваемый через подключение, не может превышать 1500 байт.

В большинстве случаев значение параметра MTU для VPN равняется 1450. Но, например, для реализации OpenVPN в зависимости от протокола подключения, алгоритма шифрования трафика, алгоритма проверки целостности, а также использования сжатия, MTU устанавливается до нестандартного размера, на основе которого можно получить эти параметры, а также определить и сам факт использования OpenVPN.

Как избежать обнаружения VPN

Для этого необходимо вручную поменять размер MTU. Если вы не желаете, чтобы вас деанонимизировали методом обнаружения нестандартного MTU, можно вручную на сервере выставить «mssfix 0», а на клиенте - «mssfix 0», что установит параметр MTU в значение 1500. Однако, при использовании UDP мы рекомендуем установить «mssfix 1330» в конфигурации клиента.

В тот момент, когда хост должен передавать данные через интерфейс, он ссылается на максимальный размер полезного блока данных для одного пакета Maximum Transmission Unit, чтобы определить, сколько данных он может поместить в каждый пакет. Например, интерфейсы Ethernet имеют MTU по умолчанию 1500 байт, не включая заголовок или трейлер Ethernet. Это означает, что хост, которому необходимо отправить данные по TCP-протоколу, обычно будет использовать первые 20 из этих 1500 байтов для заголовка IP, следующие 20 для заголовка TCP, а оставшиеся 1460 байт для полезной нагрузки. Инкапсуляция данных в пакеты максимального размера, подобные этому, позволяет потреблять полосу пропускания наиболее эффективно, минимизируя использование служебного трафика протокола передачи данных. Оптимальный размер MTU - ключ к эффективному использованию сетевых каналов передачи данных и снижению нагрузки на сетевое оборудование.

К сожалению, не все устройства в сети Интернет имеют одинаковый максимальный размер полезного блока данных MTU. MTU может различаться в зависимости от типа физического носителя или сконфигурированной инкапсуляции (например, туннелирование GRE или шифрование IPsec). Когда маршрутизатор решает переслать IPv4 пакет через интерфейс и определяет, что размер пакета превышает MTU интерфейса, маршрутизатор должен разбить пакет так, чтобы передать его как две (или более) отдельные части, каждая из которых не превышает предельный размер MTU канала между абонентами. Фрагментация довольно дорого стоит, как в ресурсах маршрутизатора, так и в использовании полосы пропускания. Должны быть созданы новые заголовки и прикреплены к каждому фрагменту. В спецификации протокола IPv6 из маршрутизатора полностью удалена фрагментация пакетов, но эта тема для отдельного разговора.

Определение оптимального размера MTU пакета данных

Чтобы использовать канал наиболее эффективным образом, хосты должны определить оптимальный размер MTU - это минимальный MTU среди всех узлов на пути между хостами. Например, для двух хостов, путь между которыми состоит из 3-х маршрутизаторов с различными максимально возможными размерами пакетов: 1500, 800 и 1200 байтов, каждый из конечных хостов должен принять наименьший размер пакета 800 байт, чтобы избежать фрагментации.

Do not Fragment и Destination Unreachable, Fragmentation Needed

Пакеты могут перемещаться по сетям произвольным образом и невозможно заранее просчитать все маршруты и максимальный размер пакетов для каждого подключения. В RFC 1191 прописана методология определения размера MTU. Процесс, посредством которого хост для конкретного подключения может обнаруживать меньший размер MTU, чем поддерживает его собственный сетевой интерфейс. Ключевыми являются два компонента: бит “Не фрагментировать” (Do not Fragment (DF)) заголовка IP и субкод сообщения ICMP-протокола Destination Unreachable, Fragmentation Needed.

Установка бита DF в IP-пакете не позволяет маршрутизатору выполнять фрагментацию, когда он обнаруживает MTU меньше, чем размер пакета. Вместо этого пакет отбрасывается и по ICMP отправителю приходит сообщение о необходимости фрагментации пакетов. По сути, маршрутизатор указывает, что для отправки далее ему необходимо разбить пакет на части, но флаг Don’t Fragment (DF) не позволяет это сделать. RFC 1191 расширяет ICMP-сообщение, запрашивающее фрагментацию, с включением размера MTU для текущего подключения.

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

Расчет максимального размера MTU пакета с помощью трассировки

Вы можете вычислить максимальный размер пакета MTU для каждого маршрута через с помощью инструмента, такого как трассировка пути. Является частью пакета Linux - IPutils. Или утилита, написанная для Windows - mturoute:

Привожу пример определения MTU для маршрута между двумя хостами через шифрованный GRE-туннель. Видим как утилита последовательно подбирает максимальный размер пакета:

C:\bin>mturoute.exe 192.168.3.1 * ICMP Fragmentation is not permitted. * * Speed optimization is enabled. * * Maximum payload is 10000 bytes. * - ICMP payload of 1472 bytes is too big. + ICMP payload of 92 bytes succeeded. + ICMP payload of 782 bytes succeeded. + ICMP payload of 1127 bytes succeeded. + ICMP payload of 1299 bytes succeeded. - ICMP payload of 1385 bytes is too big. + ICMP payload of 1342 bytes succeeded. + ICMP payload of 1363 bytes succeeded. + ICMP payload of 1374 bytes succeeded. - ICMP payload of 1379 bytes is too big. + ICMP payload of 1376 bytes succeeded. + ICMP payload of 1377 bytes succeeded. + ICMP payload of 1378 bytes succeeded. Path MTU: 1406 bytes.

Класснуть

Когда постоянно происходят сбои при подключении к интернету, многие идут на решительные меры. Они меняют роутер, меняют провайдера. Одна из причин возможных неполадок – не корректно выставленное значение MTU. Давайте разберемся, что это такое и как его правильно выставить.

MTU в роутере что это

Значение MTU (Maximum Transmission Unit) указывает, какого максимального размера пакеты отправляет устройство . Измеряется в байтах. То есть, если на роутер пришел блок данных большего размера, то он его нарежет на несколько пакетов (фрагментирует). Эти пакеты будут идти по сети, и если встретится на их пути маршрутизатор, который посчитает их слишком большими, он тоже их нарежет. Когда они достигнут последнего маршрутизатора, он, в свою очередь, перед отправкой на компьютер получателя, будет из фрагментированных пакетов собирать в исходные.

Все эти манипуляции по нарезке и сборке пакетов трудоемки. Соответственно, желательно выставлять оптимальное значение MTU на роутере.

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

Какой MTU поставить на роутере

Самый простой способ, это обратиться в службу поддержки провайдера (написать письмо, позвонить). Скорее всего, они подскажут актуальное значение. Но через некоторое время, провайдер может все переконфигурировать. Хотя это случается достаточно редко, но если вдруг начали возникать сбои, вполне вероятно, что следует уточнить правильность выставленного MTU.

Второй вариант, это найти оптимальный размер с помощью команды ping , отправляя пакеты, в которых установлено, что их нельзя фрагментировать. Пинговать следует удаленный ресурс, например, сайт или сервер провайдера.

Можно так же проверить наиболее посещаемые ресурсы в интернете: игровые сервера, сервера с которых смотрите фильмы, используемые IP телефоном.

Пример команды «ping -f -l 1472 yandex.ru», здесь:

  • 1472 – это количество отправляемых байт данных. Следует учитывать, что помимо данных, будет отправлен еще и заголовок, который составляет 28 байт (IP заголовок 20 + ICMP заголовок 8 = 28). Следовательно, в итоге размер пакета будет составлять 1472+28=1500 (байт), стандартный размер максимального стандартного Ethernet пакета. Есть правда пакеты большего размера, называемые jumbo-кадрами.
  • yandex.ru – это доменное имя сервера, на который будем отправлять команды, его можно поменять на IP адрес сервера провайдера. Можно поэкспериментировать с разными IP-адресами.

В итоге, выполнив такую команду, мы определим, требуется ли фрагментация пакета для доставки его к получателю.

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

Запускаем командную строку (это классическое приложение Windows, найти его можно, например, в поиске набрав «Командная строка»). И выполняем команды.

Здесь значении данных 997 байт, размер пакета 997+28=1025 байт, пакет не может быть доставлен без фрагментации.

Здесь значении данных 996 байт, размер пакета 996+28=1024 байт, пакет доходит до получателя без фрагментации.

Таким образом, изменяя размер отправляемого блока данных, мы можем вычислить DMTU – максимальный размер блока данных, который доставляется без фрагментации . Например, если команда ping проходит без фрагментации со значением 996. При попытке отправить команду со значением 997 получаем ответ: «Требуется фрагментация пакета, но установлен запрещающий флаг». Тогда мы рассчитываем параметр DMTU следующим образом: 996 байт данных + 28 байт IP заголовка = 1024 байта. Максимальный размер блока данных, который не будет фрагментирован, составит 1024 байта. Это значение и следует задать на маршрутизаторе, как размер MTU.

Как поменять MTU на роутере

Подключаемся к маршрутизатору через интернет браузер. Выставляем новый размер MTU. Затем сохраняем настройки.

Например, при использовании TP-Link, заходим в пункт «Сеть», там подпункт «WAN». Не забываем нажать после этого кнопку «Сохранить».

После изменения значений, можно проверить, насколько изменилась скорость скачивания файлов большого размера из интернета.

Настройка MTU на компьютере

Для увеличения производительности, чтобы на маршрутизатор не приходили слишком большие пакеты, возможна настройка MTU на оборудовании. В частности, можно выставить размер MTU на персональном компьютере, требуется воспользоваться командной строкой, запущенной от имени администратора:


После данной установки на компьютере, с него будут отправляться пакеты, у которых максимальный размер на уровне IP будет 1024 байта, но на MAC уровне максимальный отправляемый блок данных будет размером 1038 байт (14 из них для заголовка MAC).

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

Автоматическая настройка – PMTU discovery

Существуют режимы работы некоторых устройств, когда размер MTU уточняется во время подключения к удаленному серверу (PMTU discovery). Алгоритм такой же, как и тот, которым пользовались при настройке MTU на роутере. В начале работы устройство отправляет блоки данных разного размера, пытаясь определить максимальный размер пакета, который дойдет без фрагментации.

В этом алгоритме есть одна проблема, называемая «MTU Discovery Black Hole ». Она возникает в случае, когда администраторы сетей, чтобы избежать возможных атак на их сервера, запрещая маршрутизаторам передачу ICMP , в частности которые используются при команде ping.

Так конечно не корректно действовать. Устройство, не получив ответа на запрос не может продолжить работать.