Jumbo frames
Jumbo-кадры (англ. Jumbo Frame) — это сверхдлинные Ethernet-кадры, которые используются в высокопроизводительных сетях для увеличения производительности на длинных расстояниях, а также уменьшения нагрузки на центральный процессор. Jumbo-кадры имеют размер, превышающий стандартный размер MTU: от 1518 до 16000 байт.
Как правило, они не превышают 9000 байт, поскольку в сетях Ethernet используется 32-битная CRC, которая теряет свою эффективность при объеме данных больше 12000 байт; к тому же 9000 байт вполне достаточно для передачи 8-килобайтной датаграммы (напр. NFS).
Есть 2 вида Jumbo:
- mini (baby) jumbo – это пакеты размером немного больше 1500. Активно используются для 802.1q, QinQ, MPLS.
- нормальные jumbo – размером около 9000 байт
Зачем же они нужны?
Jumbo Frames увеличивают эффективность передачи данных за счет снижения накладных расходов (эффективность равна полезной нагрузке кадра деленной на общий размер кадра). Их рекомендуют включать в сетях, где есть интенсивная пересылка больших объемов данных.
По умолчанию jumbo frames выключен. Как же их включить? Оказывается достаточно просто увеличить размер MTU до нужного значения. Ниже будет приведён пример для разных ОС:
FreeBSD
#ifconfig em0 10.10.10.1 mtu 9000
Что бы работало после ребута (в /etc/rc.conf):
ifconfig_em0="inet 10.10.10.1/24 mtu 9000"
Linux
#ifconfig eth0 10.10.10.1 mtu 9000
Что бы работало после ребута, вносим в настройки сетевого интерфейса строку
MTU 9000
Windows
В консоли выполняем команду
C:\>netsh interface ipv4 set subinterface "Имя интерфейса" mtu=9000 store=persistent
Solaris
# dladm show-linkprop -p mtu net1 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE net1 mtu rw 1500 1500 1500-16362 # ifconfig net1 unplumb # dladm set-linkprop -p mtu=9000 net1 # dladm show-linkprop -p mtu net1 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE net1 mtu rw 9000 1500 1500-16362
Если вы получаете ошибку
dladm: warning: cannot set link property 'mtu' on 'net1': link busy
Скорее всего проблема с драйвером сетевой карты.
Обсуждение