Как определить оптимальное значение MTU
Раздел(ы): Локальные и глобальные сети, Программное обеспечение
Просмотры: 3600
Комментарии: 0
Параметр MTU (Maximum Transmission Unit; максимальная единица передачи) означает максимальный размер пакета, который может быть передан по сети без фрагментации. В этой статье я расскажу как узнать его оптимальное значение и скорректировать если вы столкнулись с проблемами передачи данных по сети, например, по неизвестной причине не открываются определенные веб-страницы или присутствуют ошибки при передаче файлов.
При использовании неправильного размера MTU возможны проблемы с открытием некоторых сайтов в браузерах, сбои в работе VoIP-телефонии, проблема с приемом или передачей файлов по сети. Для исправления такой ситуации нужно проверить установленное текущее значение MTU, а также выяснить оптимальный его размер. Использование оптимального размера MTU может значительно улучшить производительность сети. Максимальная скорость достигается, когда все пакеты в потоке имеют длину, равную значению MTU.
Во многих сетевых устройствах имеется возможность установить вручную значение MTU для нужного интерфейса, но нужно правильно определить его оптимальный размер.
Важно!!! Если доступ в Интернет и передача данных работают корректно, не стоит экспериментировать с параметром MTU, т.к. при выполнении неверных действий вы можете только ухудшить работу домашней сети.
Типовые значения MTU для различных сетевых топологий
Каждый тип среды имеет свой максимальный размер пакета передачи.
- Ethernet — 1500
- PPPoE — 1492
- L2TP — 1460
В самом массовом сегменте в сетях Ethernet, то есть у большинства у нас дома и на работе, значение MTU равно 1500.
Однако, при подключение к другим сетям, например к интернету, в зависимости от типа подключения значение MTU может быть иным и важно, чтобы оно было оптимальным.
Где необходимо настраивать значение MTU? Если провайдер использует подключение PPPoE, а у вас дома Wi-Fi роутер, то настраивать значение MTU необходимо в маршрутизаторе на интерфейсе к которому подключен провайдер.
Самый простых и точный способ определения оптимального размера MTU в Windows
Чтобы узнать текущее значение MTU воспользуемся утилитой ping. С помощью неё будем отправлять запросы в сеть и изменять размер пакета до тех пор, пока не появится, либо исчезнут сообщение о необходимости фрагментации пакета.
Для запуска команды ping нажмите комбинацию клавиш [win]+[r] и наберите cmd.
Затем нажмите клавишу [OK]
Теперь в интерфейсе командной строки введите команду:
ping ya.ru -l 1500 -f
здесь:
- -l 1500 — длина отправляемого пакета
- -f — запрет на фрагментацию пакетов при передаче
В моем примере видно, что значение MTU при доступе в интернет меньше типового значения для сетей Ethernet 1500 байт.
Будем плавно уменьшать размер отправляемого пакета, пока он не перестанет фрагментироваться.
Получаем результат, что пакеты длиной 1464 байта не фрагментируются. Но это еще не значение MTU! К полученному значению необходимо прибавить 28 байт которые зарезервированы под заголовок данных (20 байт для заголовка IP и 8 байт для заголовка запроса протокола ICMP). Для нашего примера MTU=1464+28=1492 байт — это и есть оптимальное значение параметра MTU.
В моем примере значение MTU 1492 байта необходимо прописать на внешнем интерфейсе маршрутизатора подключенного к провайдеру интернет.
Какие бывают проблемы когда неправильно настроен MTU
Возможные варианты неоптимального MTU:
- В большинстве случаев вы ничего не заметите
- Уменьшение скорости передачи данных, медленно открываются сайты
- Некоторые (многие, все) сайты не открываются.
Постскриптум
Как правило, домашние маршрутизаторы в зависимости от типа подключения самостоятельно определяют оптимальное значение MTU и дополнительно ничего настраивать не нужно.
Благодарности
При написании статьи были использованы следующие источники: