Значение MTU у разных производителей

Кратко расскажу, что такое MTU.

IEEE в рекомендации RFC 894 определяет mtu как максимальный размер L3 пакета, который может передаваться в L2 фрейме. Т.е. в его первоначальном понимании это размер L2 фрейма без его заголовка. Стандартом mtu для fast— и gigEthetnet – 1500 байт.

Существуют (но не определены в официальной документации) и дочерние виды mtu:

физический mtu (media mtu) — определяет общий размер L2 фреймов (вместе с заголовком), т.е. фактический размер пакета на физическом интерфейсе;ip mtu (L3 mtu) — размер полезной нагрузки пакета L3 уровня (payload пакета + заголовок L4 уровня);mpls mtu — размер пакетов, инкапсулируемых в MPLS сеть (различается для L3 и L2 VPN-ов).
В идеале, на сети установлен одинаковый максимально возможный mtu и никаких проблем у инженеров с передачей клиентских пакетов не возникает. Однако, на практике всегда есть «узкие» места (каналы, предоставляемые сторонним оператором и некорректно настроенное оборудование в домене клиента), mtu которых часто отличается в меньшую сторону.

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

Рассмотрим только тех производителей, которые позволяют указать точный размер MTU. Остальные производители позволяют лишь включить Jumbo Frames, без указания размера.

Для проверки допустимого размера MTU можно использовать любую сетевую утилиту, позволяющую отправлять пакеты заданного размера и умеющую ставить флаг DO_NOT_FRAG. Так же следует учитывать и overhead протокола.

Пример.

Отправим пакет размером 3000 байт командой ping:

(Solaris)# ping -snD 10.8.0.6 3000
PING 10.8.0.6 (10.8.0.6): 8972 data bytes
8980 bytes from 10.8.0.6: icmp_seq=0. time=2.193 ms

А теперь посмотрим через tcpdump/snoop внутрь пакета:

10.8.0.6 -> 10.8.0.251 ETHER Type=0800 (IP), size=3042 bytes
10.8.0.6 -> 10.8.0.251 IP D=10.8.0.251 S=10.8.0.6 LEN=3028, ID=8033, TOS=0x0, TTL=255

Итого, что имеем:

— размер пакета = 3000 байт
— размер заголовка IP (IPv4 Header) = 20 байт
— размер заголовка собственно ICMP (Protocol Header) = 8 байт
— overhead ethernet кадра (Ethernet Header) = 14 байт

То есть, суммарно мы передали пакет аж 3042 байта.

Cisco

Оборудование Cisco рассматривает mtu в соответствии c классическим определением от IEEE — по умолчанию на интерфейсах установлено 1500 байт, заголовок L2 фрейма при этом не учитывается.

Пример.

Switch# configure terminal
Switch(config)# system mtu jumbo 7500

Результат.

IP MTU = 7500, размер ethernet-кадра = 7518

Ограничения.

— требуется ребут свича
— нельзя выставить отдельно для каждого порта/vlan’a

Плюсы.

— нет

Juniper

Оборудование от Juniper Networks считает mtu вместе с L2 заголовком (как media mtu) — по умолчанию задано 1518 байт, где 18 байт — размер L2 заголовка с 802.1q тегом.

Пример.

[edit]
user@junos-device# set interfaces ge-1/2/0 mtu 7500

Результат.

IP MTU = 7488, размер ethernet-кадра = 7500

Ограничения.

— нет

Плюсы.

— не требуется ребут свича
— можно выставить разные значения для разных портов

Extreme Networks

Оборудование подобно cisco, то есть считает IP mtu.

Пример.

configure ip-mtu 7500 vlan sales

Результат.

IP MTU = 7500, размер ethernet-кадра = 7518

Ограничения.

— нет

Плюсы.

— можно выставить разные значения для разных портов

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

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