Размер mtu что это

Maximum Transmission Unit (MTU). Мифы и рифы

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

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это
Рис. 1

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

Layer 2.

Ethernet MTU является частным случаем Hardware MTU. Определение Hardware MTU вытекает из общего определения:
Hardware MTU — это максимальный размер пакета, который может быть передан интерфейсом за одну итерацию (по крайней мере значение указано в спецификациях устройства – по факту некоторые чипсеты поддерживают передачу больших размеров пакетов, чем заявлено). Поэтому если взглянуть на рисунок 1 в отрыве от Ethernet, то получим следующее:
Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это
Рис. 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.

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это
Рис. 3

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

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

Layer3.

IP MTU определяет максимальный размер пакета с IP заголовком, который может быть передан на данном интерфейсе не прибегая к фрагментации. Зависимость между IP MTU и HW MTU описывается следующей формулой:
IP MTU ≤ HW MTU
Соответственно, когда на интерфейс попадает пакет, превосходящий установленное IP MTU, пакет либо подвергается фрагментации, либо, в случае установленного флага DF (DO NOT Fragment) в IP заголовке, дискардится, а устройство может сгенерировать ICMP сообщение Fragmentation Needed, используемое в механизме path MTU discovery (о нём позже), и отправить его назад отправителю исходного пакета.

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

Для изменения 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 сессии в зависимости от направления.

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это
Рис. 4

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

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

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

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

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

Layer 2,5. MPLS.

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это
Рис. 5

MPLS MTU определяет максимальный размер маркированного (кто знает как лучше переводиться Labeled прошу подсказать в комментах) IP пакета. В случае, если размер маркированного пакета превышает MPLS MTU, то пакет либо фрагментируется, либо, при наличии установленного в IP заголовка флага с DF bit, дропается (пока логика как и при превышении IP MTU), с возможной отправкой ICMP сообщения Fragmentation Needed.

Замечание: Вот тут дела обстоят немного по другому, по сравнению c IP MTU. В MPLS сети промежуточный узел может и не иметь маршрута к отправителю пакета, поэтому вместо того что бы слать ICMP сообщение отправителю напрямую, оно инкапсулируется с тем же стеком меток (label stack), что и исходный пакет, и отправляется по его же пути следования. Достигая Egress LSR (конечного MPLS маршрутизатора для данного LSP – за ним уже IP сеть без меток), который знает ip маршруты к узлу отправителя, ICMP сообщение Fragmentation Needed «разворачивается» им, инкапсулируется необходимыми заголовками и отправляется назад в MPLS сеть к отправителю оригинального пакета. Поведение аналогично с TTL Expired, да и в целом скорее относиться к теме MPLS, а не MTU. Поэтому кто не знаком с процессом — www.google.kg/?gws_rd=ssl#q=mpls+ttl+expired

Что здесь ещё интересного? 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.

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

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

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

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

Источник

Что Такое Размер MTU На WiFi Роутере и Какое Значение Ставить в Настройках?

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

Что такое MTU?

MTU — это сокращенное английское понятие Maximum Transmission Unit, что переводится как максимальное значение размера пакета данных, которые устройство получает или принимает внутри локальной сети wifi или через интернет.

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

Из чего складывается размер MTU?

Весь пакет в целом также делится на составные части. Это:

В итоге общий размер MTU в байтах равен 20 + 8 + размер основного пакета, который можно менять в настройках роутера. Для чего, спросите вы? Дело в том, что по умолчанию каждый маршрутизатор автоматически устанавливает определенную величину блока MTU. И она не всегда оптимальна. И в том случае, если значение выставлено некорректно, могут наблюдаться существенные проблемы в работе интернета. Например, будут плохо загружаться определенные сайты или просадки в скорости при воспроизведении видео. При этому, чем меньше значение MTU, тем больше будет пакетов, и тем дольше они будут обрабатываться.

Это означает, что лучше всего выставлять значение MTU максимальное, которое допустимо для вашего провайдера

Какое значение MTU выставить на роутере?

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

Открываем меню поиска и набираем «cmd»

Первым делом я бы рекомендовал проверить текущие настройки. Для этого вводим команду

netsh interface ipv4 show subinterfaces

Нажимаем клавишу «Enter» и видим в столбце «MTU» текущую величину пакета. У меня она стандартна для WiFi и равна «1500». Из них 20 — это заголовок IP, 8 — ICMP, и 1472 — размер блока самих данных. У вас же может быть произвольное значение от 1400 в зависимости от настроек конкретного провайдера, если вы проверяете с компьютера, подключенного к интернету по кабелю.

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

Например, я знаю, что у меня максимальное MTU 1472 байт. Но проверим, какой ответ будет от удаленного сервера wifika.ru, если попробовать протолкнуть 1700 байт. Для этого вводим команду

Получаем следующий ответ:

Если же задать 1471 байт, то пакеты должны быть отправлены и получены. Проверяем:

То есть вся информация была успешно передана. То же самое будет, если указать «1472», а вот «1473» уже проходить не будет. То есть для моей сети максимальное и оно же оптимальное значение MTU — это 1472 + 20 + 8 = 1500. Его и необходимо указать в настройках роутера, если автоматически в нем выставлено что-то иное.

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

Величина MTU на роутере

После того, как вы проверили максимальную величину для своего подключения, необходимо установить его на роутере.

TP-Link

Для ручной установки MTU на моделях TP-Link необходимо зайти через браузер в панель управления и открыть меню «Дополнительные настройки — Сеть — Интернет». И раскрыть блок «Дополнительные»

Источник

Что такое MTU? Как найти оптимальный размер MTU для домашней сети?

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер 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 что это. Смотреть картинку Размер 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, а затем установить значение параметра можно в терминале:

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

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

Источник

Оптимальный размер MTU — снижаем нагрузку на сеть

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

Фрагментация пакетов MTU

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

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это

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

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

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это

Do not Fragment и Destination Unreachable, Fragmentation Needed

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

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это

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

Размер mtu что это. Смотреть фото Размер mtu что это. Смотреть картинку Размер mtu что это. Картинка про Размер mtu что это. Фото Размер mtu что это

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *