MTU (от англ. Maximum transmission unit) – это максимальный объем данных, передаваемый по сети без дальнейшего фрагментирования (одним пакетом). Любая информация, объем которой превышает значение MTU, автоматически разбивается на небольшие блоки данных перед отправкой по сети.
Не правильно выбранный и настроенный размер MTU на оборудовании зачастую может стать причиной проблем в сети, при этом выявить и устранить подобные проблемы не всегда просто.
Для определения максимального размера пакета, который может быть передан без фрагментации, то есть задан размером MTU, можно воспользоваться командой ping с дополнительными параметрами.
Под операционной системой Windows команда ping
имеет следующий формат:
ping [-f] [-l ] [host]
Для примера:
ping -f -l 1472 example.com
(result = "Packet needs to be fragmented but DF set.")
ping -f -l 1462 example.com
(result = "Request timed out.")
ping -f -l 1452 example.com
(result = reply)
Используемые опции:
-f
: устанавливает флаг "Don't Fragment" - не фрагментировать пакеты-l size
: размер передаваемого пакета в байтах
Команда ping под Linux имеет вид:
ping [-M do] [-s ] [host]
Для примера:
ping -M do -s 1472 example.com
(result = "Frag needed and DF set")
ping -M do -s 1462 example.com
(result = "Frag needed and DF set")
ping -M do -s 1452 example.com
(result = reply)
Используемые опции:
-M
: Select Path MTU Discovery strategy. may be either "do" (prohibit fragmentation, even local one), "want" (do PMTU discovery, fragment locally when packet size is large), or "dont" (do not set DF flag).-s packetsize
: определяет количество передаваемых байт данных. По умолчанию 56, которые увеличиваются до 64 байт, на 8 байт заголовка ICMP.