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

Обновлено: 01.07.2024

Всем привет! Начнем, пожалуй, с вопроса – а что же такое MTU? MTU (от английского Maximum transmission unit) – это максимальный объем в пакете, который может передавать в той или иной сетевой среде. Как вы знаете, все данные передаются определенными пакетами – будь это интернет, Wi-Fi или локальная сеть дома. Все как на почте – почтальон не может переносить больше определенного веса.

Конечно, тут идут и некоторые ограничения. Например, в PPPoE обычно используется 1492 байта. При Ethernet подключении 1500 байта, а в беспроводной сети MTU равен 2304. Если же сетевому устройству нужно передать куда больше информации, то все делится как раз на эти MTU блоки.

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

  • Отправляющее устройство режет всю информацию на отдельные MTU куски и отправляет их по каналу связи.
  • Принимающее устройство собираем все эти куски в целый кусок, отправленной информации.

Также нужно знать, что в размер MTU входит:

  • MSS (Maximum Segment Size) – это основной блок данных.
  • Заголовок IP.
  • Заголовок ICMP

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

Также вы можете встретить параметр MRU (maximum receive unit) – это максимальный размер пакета, который может принять устройство. Все по аналогии с MTU. Далее я расскажу, как узнать оптимальный размер MTU в вашей сети и как установить это значение в роутере.

ВНИМАНИЕ! Это нужно делать только в том случае, если у вас наблюдаются проблемы с интернетом, сетью или какими-то сетевыми службами. Если у вас все в порядке, то лучше ничего не делать, так как дальнейшие действия могут привести к ухудшению связи.

Определение идеального MTU

Что такое MTU и как установить оптимальный размер пакета в роутере?

В окошке введите команду «cmd» и нажмите «ОК». Командную строку также можно запустить через «Пуск», введя в поисковую строку эти три буквы.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Для начала давайте узнаем, какой MTU у нас стоит по умолчанию. Для этого вводим команду:

netsh interface ipv4 show subinterfaces

Что такое MTU и как установить оптимальный размер пакета в роутере?

Я подключен по Wi-Fi, поэтому у меня стоит стандартное значение 1500. Если же вы подключены к кабелю провайдера напрямую, то эта команда может вам помочь.

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

Что такое MTU и как установить оптимальный размер пакета в роутере?

Теперь увеличиваем его на один. Чтобы не прописывать команду постоянно, нажмите на клавиатуре на стрелку вверх, сотрите последнюю цифру и увеличьте её на один:

Что такое MTU и как установить оптимальный размер пакета в роутере?

«Требуется фрагментация пакета, но установлен запрещающий флаг»

В моем случае это 1472, но у вас может быть совершенно другой параметр, так что нужно проводить свои тесты.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Но это не окончательное значение MTU – это мы нашли только MSS. Поэтому к нему нам нужно прибавить IP и ICMP заголовки. Для этого просто прибавляем ещё 28 байта:

Теперь данное значение можно установить в вашем домашнем роутере.

Установка MTU в роутере

Для начала нам нужно зайти в настройки роутера – для этого нужно ввести IP или DNS адрес в адресную строку любого браузера. Можете попробовать популярные адреса:

Адрес можно подсмотреть на этикетке под корпусом. Или ввести в консоль команду:

IP маршрутизатора будет в строке 192.168.1.1.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Далее инструкции могут отличаться в зависимости от модели роутера.

Zyxel Keenetic

Что такое MTU и как установить оптимальный размер пакета в роутере?

Ищем строку «Размер MTU».

Что такое MTU и как установить оптимальный размер пакета в роутере?

TP-Link

Что такое MTU и как установить оптимальный размер пакета в роутере?

Что такое MTU и как установить оптимальный размер пакета в роутере?

D-Link

Что такое MTU и как установить оптимальный размер пакета в роутере?

Что такое MTU и как установить оптимальный размер пакета в роутере?

Из списка выбираем активное подключение (через которое идет интернет).

Что такое MTU и как установить оптимальный размер пакета в роутере?

Далее находим параметр MTU.

Что такое MTU и как установить оптимальный размер пакета в роутере?

Переходим в раздел «Интернет».

Что такое MTU и как установить оптимальный размер пакета в роутере?

LinkSys

Netis

Maximum transmission unit (MTU) это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт (без учёта Ethernet заголовка и FCS — Рис. 1).

image


Рис. 1

Давайте пробежимся с MTU по уровням OSI:

Layer 2.

image

Ethernet MTU является частным случаем Hardware MTU. Определение Hardware MTU вытекает из общего определения:
Hardware MTU — это максимальный размер пакета, который может быть передан интерфейсом за одну итерацию (по крайней мере значение указано в спецификациях устройства – по факту некоторые чипсеты поддерживают передачу больших размеров пакетов, чем заявлено). Поэтому если взглянуть на рисунок 1 в отрыве от Ethernet, то получим следующее:

Рис. 2

Замечание: Однако и тут не обойтись без оговорки. Как вы видите, HW MTU (Ethernet MTU в частности) не включает заголовок L2 в себя. Однако это справедливо для IOS и IOS XE, но для IOS XR и JunOS заголовок L2 включен в размер HW MTU – Рис. 3. Эта особенность может привезти к проблемам при установке OSPF neighborship между платформами под управлением IOS(XE) и IOS XR (OSPF требует совпадения MTU в Hello пакетах). Поэтому, при конфигурации MTU для Ethernet интерфейсов, на стороне IOS XR MTU должно быть на 14 байт больше (12 байт src mac+dst mac и 2 байт EtherType). К примеру, MTU в 1500 в Cisco IOS эквивалентно MTU в 1514 для IOS XR.

image


Рис. 3

Конфигурация и проверка.

Для того что бы изменить MTU на маршрутизаторах под управлением Cisco IOS используется команда интерфейс уровня:

Layer3.

Конфигурация и проверка.

Для изменения IP MTU на маршрутизаторах под управлением Cisco IOS используется команда интерфейс уровня:


Вот те раз. Команда ip mtu не видна в show run. Да тут есть интересный нюанс – если ip mtu совпадает с hw mtu, то в выводе show run будет отображаться только hw mtu. Если значения разные то отображаются оба.

Layer 4.

TCP Maximum Segment Size (MSS) определяет максимальный размер TCP сегмента (без TCP заголовка!), который может быть использован (отправлен/принят) в ходе TCP сессии. Анонс (именно анонс, не хендшейк) размеров TCP MSS происходит во время установки TCP сессии – принимающая сторона анонсирует стороне отправляющей какой размер TCP сегмент она может принять. Соответственно размер TCP MSS может различаться в рамках одной TCP сессии в зависимости от направления.

image


Рис. 4

Сторона, производящая анонс, высчитывает значение TCP MSS для себя по следующей формуле:
TCM MSS = (IP MTU – [IPHDR + TCPHDR])

Конфигурация.

Тут у нас возможны два сценария – маршрутизатор является транзитным или участником TCP сессии.
1) Транзитное устройство:
Для предотвращения дропа пакетов промежуточным устройством в случае наличия линка с малым MTU, маршрутизатор будет прослушивать TCP SYN пакеты и подменять значения MSS анонсируемые конечным устройством. Что приведет к отправке пакетов меньшей величины конечным устройством и вуаля – проблема с дропами на линке с малым MTU упреждена.

2) Терминирующее устройство:
Здесь всё просто – маршрутизатор является участником TCP сессии и мы можем установить принудительно, размер MSS который он будет анонсировать.


Кажется всё? Нет, не всё. Вспоминаем про MPLS. Вспоминаем… Закончили вспоминать, переходим к рассмотрению.

Layer 2,5. MPLS.

image


Рис. 5

Что здесь ещё интересного? MPLS MTU может быть больше HW MTU (поэтому на Рис. 3 HW MTU частично обозначено пунктиром). При этом IOS выдаст варнинг, но в большинстве случаев будет работать (зависит от чипсета интерфейса) и успешно пропускать по крайней мере baby-giant фреймы. А в иной раз можно получить дроп пакетов, повреждение данных, и сто лет без урожая.

Конфигурация и проверка.

Замечание: MPLS MTU отображается в running конфиге, также как и IP MTU — только в случае, если значение отличается от HW MTU. Но, в отличие от IP MTU, любое изменение HW MTU меняет значение MPLS MTU до значения HW MTU (IP MTU это действие не меняет).

MTU на коммутаторах Cisco.

На заметку администратору.


Так как основным методом проверки MTU и по сей день является команда PING, с выставленным df-bit и рамером пакета, приведу в заключение пару полезных триков:

1) Для того, что бы найти минимальный MTU (забавное сочетание) на сети можно использовать расширенную команду ping, причём как c конечных станций/серверов так и с оборудования Cisco. Пропингуем с маршрутизатора R01 маршрутизатор R02 с выставленным df-bit, c начальным размером пакета в 1000 байт, конечным 1500 байт, и шагом 100 байт. Кол-во повторений 2.


Как видите, проходит только 6 ICMP пакетов размером 1000, 1100, 1200, 1300 байт
Начиная с 1400 байт и выше пакеты не проходят. Следовательно, минимальное MTU между двумя точками — 1300 и 1400, что можно уточнить ещё за несколько циклов, ужимая диапазон и умешьшая шаг.

2) Частая проблема возникающая при взаимодействии сетевых и системных администраторов — с конечного устройства проходят пакеты одного размера, с ближнего к нему сетевого устройства большего размера. Причина лежит в том, что операционные системы (в частности Windows), когда вы задаёте размер пакета команде ping, воспринимают это значение как чистый paiload — без заголовков ICMP и IP, т.е. при указании ping 192.168.1.2 -l 100 система будет генерировать пакеты величиной 128 байт, а не 100 (8 байт ICMP заголовок и 20 байт IP). При указании же размера ICMP пакета на сетевом оборудовании Cisco указываемый вами размер включает уже оба заголовка. Поэтому на дефолтном Ethernet линке пинги с Windows OS (к примеру) покажут 1472 байт максимальный размер пакета проходящий без фрагментации, а Cisco 1500 байт. JunOS, кстати ведет себя также как и операционные системы (не включает заголовки)

На этом всё. Есть ещё в закромах старый драфт статьи по размерам фреймов и их эволюции, где описаны понятия Jumbo Frame, Baby-Giant Frame, встречающиеся в этой статье. Если посчитаете нужным, могу доработать и выложить и её.


Решение проблемы скорости интернета часто не лежит на поверхности. Ниже я расскажу о важном для работы сети показателе: MTU в роутере что это за параметр, зачем его менять и как это грамотно сделать. Зачастую даже профессионалы могут не обратить внимание на этот способ устранения неполадки, когда у вас не работают отдельные сайты или скорость подключения далека от стабильной. «Совместимость» всего вашего оборудования и установленных программ и прошивок – дело случая, как бы странно это не звучало. Особенно если вы используете девайсы и «начинку» разных лет выпуска. Ниже – всё, что вам нужно знать об MTU в роутере.


Что такое MTU в роутере

Параметр MTU в роутере (Maximum Transmission Unit) — это максимальный размер пакета данных, который передаёт роутер без дальнейшего фрагментирования (Wifi, интернет или локальная сеть).


Когда данные передаются по компьютерным сетям, они не перемещаются непрерывным потоком. Информация упорядоченно делится на отдельные пакеты данных. Роутер проверяет каждый пакет, используя математические вычисления – сверяя «контрольные суммы». Если случается сбой, то роутер запрашивает конкретный пакет данных заново, и повторяет это действие, пока не соберёт целостный блок информации. Всё это происходит практически со скоростью света – поэтому мы не замечаем того, что данные фрагментированы. Но вот процессор, прошивка роутера, браузер и прочее «железо» и «софт» к этому крайне чувствительны.

Неправильный размер пакета данных, то есть параметра MTU, может «сбить с толку» ваш компьютер, и вы не сможете нормально пользоваться интернетом.


Зачем менять MTU

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


Какие проблемы прямо указывают на то, что нужно изменить MTU:

  1. постоянные сбои при подключении к интернету, причём на всех устройствах, подключённых к одному роутеру;
  2. медленная или нестабильная скорость подгрузки сайтов;
  3. отдельные сайты вообще не открываются, или открываются очень медленно.

Как правильно изменить MTU

Для начала найдём параметр в настройках роутера, а затем посмотрим, на какие цифры его можно изменить.

  • Способ входа в панель управления роутера обычно указан на наклейке на дне аппарата. Стандартный способ такой: ввести в адресной строке браузера 192.168.1.1 или 192.168.0.1. Далее ввести логин и пароль: «admin» и «admin».



  • Вы сможете ввести значение MTU в роутере в текстовое поле, и после этого сохранить изменения и перезагрузить роутер.

Теперь о том, какие цифры можно указать в качестве значения MTU. Это стоит делать грамотно. Для разных типов подключения есть стандарты MTU – максимальные числа, которые нельзя превышать:

  1. Static / Dynamic IP – 1500;
  2. L2TP – 1460;
  3. PPPoE – 1420.

Самый лучший вариант для начала – пообщаться с поддержкой провайдера. Спросите оператора по телефону, какой MTU в роутере подходит для вашей ситуации. Возможно, вам нужно будет назвать модель роутера и тип протокола, который вы используете. Он отображён на этой же странице настроек WAN.


Но если ответ оператора вам не помог, то вы можете определить размер MTU сами, «опытным путём».

Как узнать параметры?

Шаг 1. Зайдите в командную строку как администратор. Проще всего ввести «cmd» в поиске «Пуска», нажать правой кнопкой на значок «cmd» в результатах поиска и выбрать в меню, которое появилось – «В режиме администратора».


  • Адрес сайта можно менять, он ни на что не влияет. Хороший вариант – написать вместо адреса Яндекса «1.1.1.1» или «8.8.8.8», тем более если вы находитесь в месте, где Яндекс сейчас недоступен.
  • Число перед адресом – это размер пакета данных. Это как раз цель нашего эксперимента. Вы будете уменьшать и увеличивать его.
  • Первые параметры менять не нужно. Ping – это команда на проверку «пути к сайту», откликается ли сайт. Но в данном случае – вместе с указанием, что отправляемый нами пакет данных нельзя делить на части.

Именно это позволит нам опытным путём определить нужное число. Данная операция совершенно безопасна для компьютера.


Шаг 3. Вы получили ответ от сайта, на который отправляли команду: сколько пакетов отправлено, получено и потеряно. Нужно менять число в запросе и оправлять его снова и снова.

Ваша цель такая:

  • Сначала проверить максимальное число для вашего протокола (Static / Dynamic IP, L2TP, PPPoE) – я указывал их выше. Но обязательно вычтите из этой цифры 28, и проверяйте именно этот результат. Служебные байты длиной 28 будут добавлены к данным в любом случае, независимо от того, что мы введём.
  • Если такой размер пакета приводит к ошибке «Требуется фрагментация пакета, но установлен запрещающий флаг», или же количество потерянных пакетов слишком велико, то нужно постепенно уменьшать число и повторять запрос.


  • Найдите ту грань, за которой вы получаете ошибку, а перед которой пакет данных отправляется «на ура». Именно это число – то, что мы искали.


Шаг 4. Добавьте к полученному числу 28. Например, если тест был успешен при 996, то мы получим 996 + 28 = 1024 байта. Введите полученное число в поле MTU в открытом ранее окне настроек роутера.


Шаг 6. Хорошим вариантом будет дополнительно уменьшить пакет данных на самом компьютере. Этого можно и не делать, однако тогда всё равно возможны «подтормаживания» и ошибки. Для этого проделайте такие действия:

  • В открытом окне командной строки введите «netsh interface ipv4 show subinterfaces». Нажмите Enter.
  • В результате выполнения команды найдите строчку Ethernet и соответствующий ему MTU. Если он не совпадает с тем, который мы ввели в параметры роутера, то его нужно заменить.


  • Для этого введите команду «netsh interface ipv4 set subinterface “Ethernet” mtu=1024 store=persistent», где укажите то же число, что и ранее в настройках роутера.


  • Введите первую команду, чтобы проверить, что число установлено правильно.


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


Информация в компьютерных сетях передается в виде небольших сформированных блоков данных (иначе говоря, пакетов). Каждый пакет помимо пересылаемой информации содержит еще и служебные данные, составляющие так называемый заголовок (header) пакета. Эти служебные данные нужны для определения целостности данных, используемой версии сетевых протоколов и т.д. При этом размер полезного блока данных ограничивается определенным количеством байт. Делается это для того, чтобы снизить вероятность потерь информации и уменьшить время повторной пересылки пакета в случае появления проблем с подключением.

MTU – что это?

MTU (от англ. Maximum transmission unit) – это максимальный объем данных, передаваемый по сети без дальнейшего фрагментирования (одним пакетом). Любая информация, объем которой превышает значение MTU, автоматически разбивается на небольшие блоки данных перед отправкой по сети. Возможные значения MTU зависят от используемого типа подключения к сети. Так, при использовании PPoE (в основном с ADSL и подобными технологиями) максимальное значение параметра MTU составляет 1492 байта (стандартные 1500 байт для Ethernet минус восемь байт заголовков), а при использовании Wi-Fi MTU может достигать 2304 байт.

В современных ОС оптимальное значение MTU зачастую вычисляется самой системой или берется из настроек маршрутизатора (обычно значение MTU задается в разделе WAN сетевых настроек устройства). Если проблем с доступом к Интернету не наблюдается, значение MTU лучше не менять. Однако, если возникли проблемы со связью и вы предполагаете, что они могут быть связаны с фрагментацией сетевых пакетов, попробуйте изменить значение MTU.

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


Рассчитываем значение MTU

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

Запомните полученное значение и прибавьте к нему 28 байт (длина служебных заголовков). Получившееся значение – это оптимальное (или близкое к оптимальному) значение MTU для вашей сети.

Устанавливаем значение MTU

Теперь вы знаете, какое значение MTU можно использовать в вашей домашней сети. Укажем операционной системе, что необходимо использовать именно его (дальнейшие примеры иллюстрируют настройку сети IPv4).

В Windows открываем командную строку с правами администратора и выполняем команду:

netsh interface ipv4 show subinterfaces

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

netsh interface ipv4 set subinterface Ethernet mtu=1450 store=persistent

Здесь Ethernet – название интерфейса (может быть другим), 1450 – выбранный размер MTU. Если название состоит из нескольких слов, его надо указывать в кавычках.

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

netsh int tcp set global autotuninglevel=disabled

Включить автоматическое определение MTU можно той же командой с параметром autotuninglevel=normal.

Если необходимо сбросить настройки к исходному состоянию, выполняем команду:

В Linux настройка MTU осуществляется с помощью команды ip. Посмотрим текущее значение MTU:

А далее установим желаемое значение:

Здесь eth0 – название интерфейса, оно может быть другим на вашем компьютере. Для того чтобы выбранное значение MTU использовалось постоянно при каждом входе в систему, необходимо прописать значение в файл /etc/network/interfaces, либо создать модуль для systemd. Рекомендуем обратиться к документации используемого дистрибутива для получения более подробной информации.

В macOS посмотреть размер MTU для подключения en0, а затем установить значение параметра можно в терминале:

networksetup -getMTU en0

networksetup -setMTU en0 1450

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

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

Читайте также: