Введение

Ethernet-фрейм с полезной нагрузкой более 1500 байт.

В компьютерных сетях, джамбо-фреймы — это Ethernet-фреймы с полезной нагрузкой более 1500 байт, что является ограничением, установленным стандартом IEEE 802.3. Предел полезной нагрузки для джамбо-фреймов может быть разным: хотя 9000 байт является наиболее распространенным пределом, существуют и меньшие, и большие значения. Многие коммутаторы Gigabit Ethernet и сетевые контроллеры Gigabit Ethernet, а также некоторые коммутаторы Fast Ethernet и сетевые карты Fast Ethernet поддерживают джамбо-фреймы.

Начало

Каждый Ethernet-кадр должен обрабатываться по мере прохождения по сети. Обработка содержимого одного большого кадра предпочтительнее обработки того же содержимого, разбитого на более мелкие кадры, поскольку это более эффективно использует доступное время процессора за счет уменьшения количества прерываний. Это также минимизирует объем служебных байтов и сокращает число кадров, требующих обработки. Это можно сравнить с физической отправкой пакета документов вместо нескольких отдельных конвертов, каждый с одним листом, что позволяет сэкономить конверты и сократить время на сортировку. Jumbo-кадры получили широкое распространение в 1998 году, когда компания Alteon WebSystems представила их в своих адаптерах Gigabit Ethernet ACEnic. Многие другие производители также приняли этот размер, однако jumbo-кадры не входят в официальный стандарт IEEE 802.3 Ethernet.

Усыновление

Джамбо-фреймы способны снизить накладные расходы и нагрузку на процессор, а также положительно повлиять на производительность TCP от начала до конца. Наличие джамбо-фреймов может негативно сказаться на задержках в сети, особенно на каналах с низкой пропускной способностью. Размер фрейма, используемый для сквозного соединения, обычно ограничивается наименьшим размером фрейма в промежуточных звеньях. 802.5 Token Ring поддерживает фреймы с MTU 4464 байта, FDDI может передавать 4352 байта, ATM – 9180 байт, а 802.11 – 7935 байт MTU. Стандарт IEEE 802.3 Ethernet изначально требовал поддержки фреймов MTU размером 1500 байт, общий размер фрейма – 1518 байт (1522 байта с необязательным тегом IEEE 802.1Q VLAN/QoS). Обновление IEEE 802.3as учло несколько распространенных заголовков, трейлеров и инкапсуляций, создав концепцию "оболочки", в которую можно было включить до 482 байт заголовков и трейлеров, а максимальный поддерживаемый фрейм Ethernet IEEE 802.3 стал равен 2000 байт. Использование 9000 байт в качестве предпочтительного размера полезной нагрузки для джамбо-фреймов возникло в ходе обсуждений в Объединенной инженерной группе Internet2 и сетей федерального правительства США. Их рекомендация была принята всеми другими национальными исследовательскими и образовательными сетями. Производители, в свою очередь, приняли 9000 байт в качестве стандартного размера MTU, при общем размере джамбо-фрейма от 9014 до 9022 байт с учетом заголовков Ethernet. Большинство оборудования Ethernet может поддерживать джамбо-фреймы размером до 9216 байт. IEEE 802.1AB 2009 и IEEE 802.3bc 2009 добавили обнаружение LLDP в стандартный Ethernet для определения максимальной длины фрейма (TLV подтип 4). Это позволяет определять длину фрейма на порту с помощью двух октетов. По состоянию на IEEE 802.3 2015 года допустимыми значениями являются 1518 (только базовые фреймы), 1522 (фреймы с тегом 802.1Q) и 2000 (многократно помеченные фреймы "оболочки").

Обнаружение ошибок

Ошибки в джамбо-кадрах с большей вероятностью останутся незамеченными простым контролем ошибок CRC32 в Ethernet и простыми аддитивными контрольными суммами UDP и TCP: по мере увеличения размера пакета возрастает вероятность того, что несколько ошибок взаимно уничтожатся. Один из подходов IETF к внедрению джамбо-кадров позволяет избежать снижения целостности данных в блоке служебных данных, выполняя дополнительный CRC на следующем сетевом уровне протокола выше Ethernet. Транспортный протокол управления потоком (SCTP) (RFC 4960) и iSCSI (RFC 7143) используют полином CRC Кастаньоли. Полином Кастаньоли 0x1EDC6F41 обеспечивает расстояние Хэмминга HD=6, превышающее один MTU Ethernet (до длины слова данных 16 360 бит), и HD=4 до 114 663 бит, что более чем в 9 раз превышает длину MTU Ethernet. Это дает два дополнительных бита возможности обнаружения ошибок для данных размером MTU по сравнению со стандартным полиномом CRC Ethernet, не снижая возможности HD=4 для размеров данных до и более 72 кбит. Поддержка полинома CRC Кастаньоли в универсальном транспорте, предназначенном для обработки блоков данных, и в транспорте TCP, предназначенном для передачи данных SCSI, обеспечивает улучшенные показатели обнаружения ошибок, несмотря на использование джамбо-кадров, в то время как увеличение MTU Ethernet в противном случае привело бы к значительному снижению эффективности обнаружения ошибок.

Конфигурация

В сетевом оборудовании максимальный размер джамбо-кадра может быть задан либо максимальным размером кадра (максимальный размер пакета 2-го уровня, включая заголовки кадра), либо максимальным размером передаваемой единицы (максимальный размер пакета 3-го уровня, без учета заголовков кадра), в зависимости от интерфейса конфигурации оборудования. Сеть, содержащая как устройства, настроенные для работы с джамбо-кадрами, так и устройства, не настроенные для этого, может испытывать проблемы с производительностью.

Эффективность пропускной способности

Jumbo-фреймы могут повысить эффективность работы Ethernet и сетевой обработки в хостах за счет снижения накладных расходов протокола, как показано в следующем примере с TCP поверх IPv4. Нагрузка на хосты может потенциально уменьшиться пропорционально размерам полезной нагрузки (приблизительно в шесть раз в этом примере). Значимость этого зависит от способа обработки пакетов в хосте. Хост, использующий TCP-мотор выгрузки контроллера сетевого интерфейса с уже сниженными накладными расходами, получит меньше преимуществ, чем хост, обрабатывающий кадры с помощью своего процессора. Пропускная способность, отнесенная к эффективности использования полосы пропускания, может увеличиться на 4,4%. + Эффективность полосы пропускания на уровне кадров для TCP поверх IPv4

Тип кадра MTU Накладные расходы уровня 1 Накладные расходы уровня 2 Накладные расходы уровня 3 Накладные расходы уровня 4 Размер полезной нагрузки Общий размер передачи Общий размер передачи – это сумма размера полезной нагрузки и всех накладных расходов. Эффективность Эффективность вычисляется путем деления размера полезной нагрузки на общий размер передачи.

Стандарт 1500 Преамбула 8 байт IPG 12 байт Заголовок кадра 14 байт FCS 4 байта Заголовок IPv4 20 байт Заголовок TCP 20 байт 1460 байт 1538 байт 94,93%

Jumbo 9000 Преамбула 8 байт IPG 12 байт Заголовок кадра 14 байт FCS 4 байта Заголовок IPv4 20 байт Заголовок TCP 20 байт 8960 байт 9038 байт 99,14%

Другие размеры кадров для справки

IEEE 802.11 на A MSDU 7935 PLCP преамбула и заголовок 24 байта IPG – изменяется Заголовок кадра и накладные расходы безопасности 52 байта FCS 4 байта Заголовок IPv4 20 байт Заголовок TCP 20 байт 7895 байт 8015 байт + Размер IPG < 98,5%

IEEE 802.11, подключенный к стандартному Ethernet 1500 PLCP преамбула и заголовок 24 байта IPG – изменяется Заголовок кадра и накладные расходы безопасности 52 байта FCS 4 байта Заголовок IPv4 20 байт Заголовок TCP 20 байт 1460 байт 1580 байт + Размер IPG < 92,4%

Относительная масштабируемость пропускной способности сети как функции скорости передачи пакетов связана сложным образом с размером полезной нагрузки на пакет. Теоретически, по мере увеличения скорости передачи по линии размер полезной нагрузки пакета должен увеличиваться прямо пропорционально для поддержания эквивалентных временных параметров. Однако это подразумевает масштабирование многочисленных промежуточных логических схем вдоль сетевого пути для поддержки требуемого максимального размера кадра.

Детские гигантские рамки

Кадры baby giant или baby jumbo – это Ethernet-кадры, которые лишь незначительно превышают максимально допустимый размер, установленный стандартами IEEE Ethernet. Увеличенный объем служебной информации из-за дополнительных MPLS и Ethernet-заголовков означает, что в сетях Carrier Ethernet требуется поддержка кадров размером до 1600 байт. Jumbo-фреймы для PPPoE определены в RFC 4638 с целью снятия старого ограничения в 1492 байта (первоначально введенного из-за необходимости PPP в 8 дополнительных байтах служебной информации), чтобы обычный Ethernet-кадр размером 1500 байт мог передаваться без фрагментации. Тег "PPP Max Payload" по-прежнему может поддерживать значительно большие кадры, не относящиеся к baby jumbo.

Супер-джамбо-рамки

Супер-джамбо-фреймы (SJF) – это фреймы, размер полезной нагрузки которых превышает 9000 байт. Поскольку увеличение MTU пути высокопроизводительных национальных исследовательских и образовательных сетей с 1500 байт до примерно 9000 байт оказалось относительно сложным и продолжительным процессом, рассматривается возможность дальнейшего увеличения, возможно, до 64 000 байт. Основным фактором является увеличение доступного размера буфера памяти в каждом промежуточном механизме на пути следования. Другим важным фактором, который необходимо учитывать, является дальнейшее снижение эффективности CRC32 в обнаружении ошибок при использовании еще больших размеров фреймов. Поля "Total Length" в IPv4 и "Payload Length" в IPv6 имеют размер 16 бит, что позволяет передавать данные объемом до 4 Гбайт (2^32 байт). Однако эти теоретические пределы для MTU протокола IP достигаются только в сетях, располагающих соответствующей инфраструктурой канального уровня.

Альтернативный подход

Большая отправка и большая приемка разгружают обработку каждого кадра, делая нагрузку на процессор в значительной степени независимой от размера кадра. Это еще один способ устранить накладные расходы на каждый пакет, для уменьшения которых и были разработаны кадры большого размера (jumbo frames). Кадры большого размера (jumbo frames) по-прежнему полезны с точки зрения пропускной способности, поскольку они уменьшают объем пропускной способности, используемой для служебной информации.