triolan - жизнь без ограничений. » Подробное описание значения параметра MTU. Его значение, настройка.

Подробное описание значения параметра MTU. Его значение, настройка.

В компьютерных сетях термин maximum transmission unit (MTU) означает максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации. Обычно заголовки протокола не входят в MTU, но в некоторых системах в некоторых протоколах заголовки могут учитываться. Когда говорят об MTU обычно имеют в виду протокол канального уровня сетевой модели OSI.


Однако, этот термин может применяться и для других уровней:

L1 — media mtu (полный L2 кадр);

L2 — mtu, hw mtu, system mtu;

L3 — ip mtu (ip заголовок учитывается), mtu routing;

L4 — tcp mssВнесистемные: tunnel mtu, vlan mtu, mpls mtu.

 

Ограничение на максимальный размер кадра накладывается по нескольким причинам:

 

 - Для уменьшения времени на повторную передачу в случае потери или неисправимого искажения пакета. Вероятность потерь растёт с увеличением длины пакета.

 - Чтобы при полудуплексном режиме работы хост не занимал долгое время канал (также для этой цели используется межкадровый интервал (англ. Interframe gap)).

 - Чем больше отправляемый пакет, тем больше ожидание отправления других пакетов, особенно в последовательных интерфейсах. Поэтому маленький MTU был актуален во времена медленных коммутируемых соединений.

 - Малый размер и быстродействие сетевых буферов входящих и исходящих пакетов. Однако слишком большие буферы тоже ухудшают производительность.


Значение MTU определяется стандартом соответствующего протокола, но может быть переопределено автоматически для определённого потока (протоколом PMTUD) или вручную для нужного интерфейса. На некоторых интерфейсах MTU по умолчанию может быть установлено ниже максимально возможного. Значение MTU ограничено снизу как правило минимально допустимой длиной кадра.

 
Для высокопроизводительной сети причины, вызвавшие начальные ограничения MTU, устарели. В связи с этим для Ethernet был разработан стандарт Jumbo-кадров с увеличенным MTU.

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

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


Хотя фрагментация решает проблему несоответствия размеров пакетов и значения MTU, она ощутимо снижает производительность сетевых устройств. В связи с этим, в 1988 году была предложена альтернативная технология, названная Path MTU discovery (RFC 1191). Суть технологии заключается в том, что при соединении двух хостов устанавливается параметр DF (don’t fragment — не фрагментировать), который запрещает фрагментацию пакетов. Это приводит к тому, что узел, значение MTU которого меньше размера пакета, отклоняет передачу пакета и отправляет сообщение ICMP «необходима фрагментация, но установлен флаг её запрета (DF)». Хост-отправитель уменьшает размер пакета и отсылает его заново. Такая операция происходит до тех пор, пока пакет не будет достаточно мал, чтобы дойти до хоста-получателя без фрагментации.


Однако, и у этой технологии существуют потенциальные проблемы. Некоторые маршрутизаторы настраиваются администраторами на полное блокирование ICMP пакетов (это не очень грамотно, но может быть самым простым решением нескольких проблем безопасности). В результате, если размер пакета не соответствует значению MTU на определённом участке, пакет отбрасывается, а хост-отправитель не может получить информацию о значении MTU и не отправляет пакет заново. Поэтому соединение между хостами не устанавливается. Проблема получила название MTU Discovery Black Hole (RFC 2923), и протокол был модифицирован для детектирования таких маршрутизаторов. 


Поскольку Windows (XP,7,8) автоматически выбирает наилучшее MTU (PMTU), в нашем случае необходимо просто удостовериться, что для этого соединения не установлено какое-то, отличное от оптимального, фиксированное значение. Кстати, это самое оптимальное значение выяснить довольно легко, проведя несложный эксперимент. Откройте консоль cmd.exe и введите в ней команду:

 

PING -f -l 1472 xxx.xxx.xxx.xxx


где xxx.xxx.xxx.xxx — IP-адрес шлюза вашего провайдера,

-f запрещает фрагментацию пакета,

-l устанавливает размер пакета.

 

Если вы получите в ответ что-то типа “Reply from xxx.xxx.xxx.xxx: bytes=1472 time=144ms TTL=10”, то это будет означать что MTU=1500 (28 байт заголовка не учитываются). Если же ответ будет “Packet needs to be fragmented but DF set”, то уменьшайте значение 1472 до тех пор, пока не получите прохождение пакета — это значение плюс 28 байт заголовка и будет равным искомому MTU.

 

Полученное значение (+28 байт заголовка) необходимо сравнить со значением MTU, используемым системой, которое можно определить с помощью команды, в той же командной строке:

 

netsh interface ipv4 show subinterfaces

 

(В результате будет выведено значение MTU для сетевых интерфейсов ipv4).

 

Изменить значение MTU в ос Windows (XP,7,8) можно с помощью комманды

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

 

netsh interface ipv4 set subinterface “ХХХХХХХХ” mtu=1500 store=persistent

 

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

 

В отличии от ОС Windows большинство роутеров (Wi-Fi Домашних маршрутизаторов) используют статическую настройку MTU, указанную в настройках роутера. По умолчанию значение MTU 1500. 

 

Провайдер "Триолан" обеспечивает передачу пакетов Ethernet максимального полезного размера, которому соответствует настройка MTU 1500. 


Есть провайдеры, настройка сети которых ограничивает размер MTU до значений меньше 1500. Зачастую это связано с использованием протоколов дополнительной инкапсуляции (PPPoE,L2P и др.). В таком случае ОС Windows настраивает необходимое значение MTU по протоколу PMTU, но в случае возникновения проблем, могут потребоваться настройки, описанные выше. Чаще проблемы с MTU связанны именно с роутерами, в которых неверно настроено значение MTU.Для сетей "Триолан" это значение составляет 1500, для других сетей - может быть опредено с помощью командной строки, как описано выше.