Jumbo Frames — это Ethernet-кадры с MTU больше 1500 байт (часто 9000 или 9216). Смысл простой: передаём тот же объём данных меньшим числом пакетов, снижаем накладные расходы и количество прерываний на CPU — особенно заметно на скоростях 10G/25G/40G+, при бэкапах, репликации БД, iSCSI/NFS/SMB и миграции ВМ.
Где уместны. Дата-центры, SAN/NAS, «east-west» трафик между серверами, underlay для оверлеев (VXLAN/GENEVE/GRE). Не рассчитывайте на поддержку в интернете/через провайдера; Wi-Fi и PPPoE обычно остаются на 1500.
Требование №1 — сквозная поддержка. MTU должно совпадать на каждом хопе: NIC и ОС, виртуальные свитчи/порт-группы, LAG/MLAG, физические порты коммутаторов, маршрутизаторы/фаерволы, подинтерфейсы/VLAN, а также туннели. Достаточно одного узкого места — получите фрагментацию, «чёрные дыры» PMTU или странные подвисания.
Оверлеи и запас по MTU. Инкапсуляция съедает десятки байт (VXLAN ~+50 для IPv4). В underlay либо поднимайте джамбо-MTU, либо уменьшайте MTU в оверлее (и включайте MSS-clamp), чтобы пакеты проходили без фрагментации.
Нюансы и подводные камни.
- На медленных линках крупные кадры увеличивают время сериализации; для голоса/малых пакетов это может добавлять джиттер.
- Полисеры/ACL у некоторых устройств настроены «по умолчанию» на 1500 — проверьте, чтобы не резали «гигантов».
- Offload’ы (TSO/GSO/GRO/LRO) помогают CPU, но иногда маскируют проблемы — смотрите счётчики «giants», «drops», «fragmentation».
- При QoS/AQM защитите чувствительный трафик (FQ-CoDel/CAKE), чтобы бэкапы не «забивали» очередь.
Как проверить и подобрать.
- Быстрый тест MTU:
Linux/macOS:(8972 payload + 28 байт заголовков ≈ MTU 9000).ping -M do -s 8972 8.8.8.8
Windows:. Уменьшайтеping -f -l 8972 8.8.8.8
, пока проходит без фрагментации.-s/-l
- Нагрузочное тестирование: iperf3 параллельными потоками; следите за задержкой/джиттером и ошибками на интерфейсах.
Мини-настройки.
- Linux:
ip link set dev eth0 mtu 9000
(и не забудьте про мосты/OVS/veth: у всех участников цепочки MTU должно совпадать). - Windows: в свойствах адаптера — Jumbo Packet = 9014/9000, либо.
netsh interface ipv4 set subinterface "Ethernet" mtu=9000 store=persistent
- ESXi: MTU на vSwitch/Port Group/Vmkernel.
- Коммутаторы: на uplink’ах и порт-каналах выставьте 9k/9216; проверьтетам, где требуется.
l2mtu
Короткий пример. В фабрике leaf–spine поднимают underlay MTU 9216, а серверные интерфейсы и порт-чаннелы — 9000. Поверх едет VXLAN с полезной MTU 1500 без фрагментации. Бэкапы и репликации уходят заметно ровнее, при этом задержка интерактивных сессий контролируется через AQM.