Ethernet — это одна из самых популярных технологий передачи данных в компьютерных и промышленных сетях. Сегодня мы вместе погрузимся в удивительный мир Ethernet-кадров, разберёмся, что они собой представляют, какие форматы существуют, почему размеры пакетов так важны и что вообще такое этот загадочный Jumbo Frame.

Подобно сложному блюду, Ethernet-кадр состоит из множества ингредиентов — заголовков, полей, адресов — и чтобы понять, как работает интернет, нужно познакомиться с каждым из них. Но не переживайте, никакой скучной лекции — только живые примеры, забавные сравнения и таблицы для ясности!


Что такое Ethernet и где он используется?

Представьте себе почтовую службу внутри компьютера и между устройствами — вот Ethernet и есть та система, которая доставляет посылки с данными. Это семейство технологий, отвечающих за передачу пакетов данных между сетевыми устройствами.

Ethernet покрывает два нижних уровня модели OSI: физический (там, где "биты гуляют по проводам") и канальный (там, где биты упаковываются в кадры и проверяются).

Уровень OSI Роль в Ethernet
Физический Передача битов по кабелю или оптике
Канальный Формирование и контроль кадров данных

Модификации Ethernet: от чайника до реактивного самолёта

За несколько десятилетий Ethernet вырос из скромных 10 Мбит/с до космических 10 Гбит/с и выше. Каждый из вариантов отличается типом кабеля и скоростью передачи.

Модификация Скорость Тип кабеля
Ethernet 10 Мбит/с Коаксиальный, витая пара, оптика
Fast Ethernet 100 Мбит/с Витая пара, оптика
Gigabit Ethernet 1 Гбит/с Витая пара, оптика
10G Ethernet 10 Гбит/с Витая пара, оптика

Например, 10Base-T — это Ethernet на 10 Мбит/с с витой парой, поддерживающий полнодуплексную передачу, когда данные текут одновременно в обе стороны.


MAC-адрес: паспорт устройства в сети

Каждое сетевое устройство получает уникальный MAC-адрес — своего рода паспорт в цифровом мире. Он состоит из 6 байт и назначается производителем с помощью организации IEEE.

Эти адреса нужны, чтобы знать, кому отправлять данные, и кто их принимает — будто каждый компьютер на вечеринке носит бейджик с именем.


Форматы кадров Ethernet: 4 старика и один юнец

Как в любом деле, в Ethernet тоже есть свои стандарты и семейства. Основных формата четыре — каждый со своей историей и характерами.

Формат Год появления Основные особенности Использование
Ethernet II (DIX) 1980 Поле Type для указания протокола, 2 байта Доминирующий формат для IP, IPv6
802.3/LLC Стандарт IEEE Поле Length, DSAP и SSAP для протоколов Используется для некоторых протоколов, например, IPX
Raw 802.3 1980-е Без LLC заголовка, поле Length Использовался Novell для IPX
802.3 SNAP Позже Добавлен заголовок SNAP с OUI и PID Универсальный формат с поддержкой вендорских протоколов

Немного подробнее о заголовках

Каждый кадр начинается с преамбулы и специального байта SFD, который словно судья кричит: "Внимание, кадр начинается!"

  • Преамбула — 7 байт с повторяющейся последовательностью 10101010, помогает синхронизировать приём.
  • SFD (Start Frame Delimiter) — 1 байт 10101011, указывает начало заголовка.

Дальше идут адреса — кто принимает (Destination Address) и кто отправляет (Source Address) — по 6 байт каждый.

После — самое вкусное: поле длины или типа (Length/Type), данные (Payload), заполнение (Padding, если нужно) и завершающая контрольная последовательность (FCS) — 4 байта, которые проверяют целостность.


Поле Length/Type: детектив в кадре Ethernet

Это поле — словно двуликий Янус. Если значение меньше 1500 (0x05DC), то оно указывает длину поля данных. Если больше — значит, это тип протокола (EtherType), который инкапсулирован в поле данных.

Значение поля Значение
≤ 1500 Длина данных (байт)
> 1500 Тип протокола (EtherType)

Например:

EtherType Протокол
0x0800 IPv4
0x86DD IPv6
0x8100 VLAN Tagging (802.1Q)

Как протоколы узнают, с кем работают? SSAP, DSAP и SNAP

В стандарте 802.3/LLC для определения протокола используются поля DSAP (Destination Service Access Point) и SSAP (Source Service Access Point). Это по одному байту каждое, как короткие телефонные номера для служб.

Но как и в жизни, иногда 128 номеров недостаточно, и тогда на помощь приходит расширение — заголовок SNAP. Он добавляет 5 байт:

  • 3 байта OUI (идентификатор организации, например Cisco — 0x00000C)
  • 2 байта PID (Protocol ID) — похож на EtherType

Когда SNAP используется, DSAP и SSAP получают значение 0xAA, а в поле Control пишется 0x03.


Размеры кадров Ethernet: почему 46 и 1500 байт?

Минимальный размер полезной нагрузки — 46 байт, а максимальный — 1500 байт. Почему так? История тут глубже, чем вы думаете!

Минимум в 46 байт связан с ограничением фрейма в 64 байта (минимальный Ethernet-кадр), установленным для работы механизма обнаружения коллизий (CSMA/CD). Если кадр меньше, добавляют поле заполнения (Padding).

Максимум — 1500 байт — компромисс между производительностью и вероятностью ошибок. Большие кадры труднее обрабатывать, да и вероятность повреждения растёт.

Размер Назначение
< 64 байт Runts — слишком маленькие кадры, могут вызывать ошибки
46–1500 байт Стандартный диапазон полезной нагрузки
> 1500 байт Giants — большие кадры, вызывают проблемы

Jumbo Frames и Baby-Giant Frames: больше — лучше?

В мире Ethernet есть свои гиганты — кадры, превышающие стандартные 1500 байт.

Тип Размер, байт Комментарии
Baby-Giant Frames до ~1600 Расширения стандартных фреймов, например с VLAN
Jumbo Frames от 1518 до ~9216 (максимум 11455) Проприетарные реализации, повышают эффективность

Почему стоит их использовать? Меньше кадров — меньше обработки заголовков, меньше нагрузки на процессоры и оборудование, лучше пропускная способность.

Например, 10G Ethernet при кадрах 1500 байт обрабатывает около 812 744 кадров в секунду, а при Jumbo (9000 байт) — всего 138 587. Разница как между бабушкой с корзинкой и грузовиком, перевозящим грузы.

Но есть и подводные камни:

  • Дольше передача кадра — при ошибке придётся ждать дольше
  • Требуются большие буферы в оборудовании — дороже и сложнее
  • Нет универсального стандарта для Jumbo — разные производители по-своему

Где применяются Jumbo Frames?

Jumbo Frames популярны в средах с большим объемом данных и низкой задержкой:

  • Серверные кластеры
  • Резервное копирование (бэкап)
  • Сетевые файловые системы (NFS)
  • Хранилища iSCSI SAN и FCoE SAN

Контроль целостности — FCS и CRC

В конце кадра находится поле FCS — 4 байта контрольной суммы, вычисленной алгоритмом CRC-32. Это как страховка: отправитель считает её и кладёт в пакет, получатель проверяет. Если что-то не совпадает — пакет считается испорченным и отбрасывается.


Коллизии и CSMA/CD

В Ethernet используется метод CSMA/CD — "Carrier Sense Multiple Access with Collision Detection" — механизм для предотвращения столкновений данных, когда несколько устройств пытаются говорить одновременно.

Это как на вечеринке: если кто-то уже говорит, вы ждёте своей очереди. Если двое заговорили одновременно, они оба останавливаются и ждут случайное время, чтобы начать заново.

Современные сети с полнодуплексом и коммутаторами коллизии почти не знают — это прошлый век.


Как устройства распознают форматы кадров?

Сетевые адаптеры умеют автоматически различать тип кадра по значению поля Length/Type и присутствию заголовков LLC/SNAP.

  • Если поле больше 1500 — Ethernet II
  • Если меньше или равно — 802.3 с LLC/SNAP или Raw 802.3 (Novell)

Таким образом обеспечивается совместимость и гибкость.


FAQ

В: Чем Ethernet II отличается от 802.3/LLC?
О: Ethernet II использует поле Type для указания протокола, 802.3/LLC — поле Length и дополнительные поля DSAP/SSAP для протоколов.

В: Почему 1500 байт — максимальный размер?
О: Это компромисс между производительностью и вероятностью ошибок, а также ограничение поля Length/Type.

В: Что делать с кадрами меньше 46 байт?
О: Добавляют поле заполнения (Padding) для обеспечения минимальной длины.

В: Что такое Jumbo Frame и зачем он нужен?
О: Это кадр больше стандартного максимума, повышающий эффективность передачи больших объемов данных.


Чек-лист: что нужно помнить о Ethernet-кадрах

  • Ethernet — семейство технологий передачи данных на физическом и канальном уровнях.
  • MAC-адрес — уникальный идентификатор устройства в сети.
  • Существует 4 основных формата кадров: Ethernet II, 802.3/LLC, Raw 802.3, SNAP.
  • Поле Length/Type — двуликий указатель: длина или тип протокола.
  • Минимальный размер полезной нагрузки — 46 байт, максимальный — 1500 байт.
  • Jumbo Frames увеличивают максимальный размер кадра, улучшая производительность, но требуют поддержки устройств.
  • Контроль целостности данных осуществляется с помощью CRC в поле FCS.
  • Механизм CSMA/CD предотвращает коллизии в сетях с общим доступом.

Совет профи

Хотите, чтобы ваша сеть работала как швейцарские часы? Следите за тем, чтобы все устройства поддерживали один и тот же формат кадров и размеры MTU. И не забывайте, что Jumbo Frames — это как быстрый спорткар: круто, но только если вся команда умеет им управлять!


Теперь, когда вы знаете все о кадрах Ethernet, можете смело шагать в сеть, словно мастер-детектив данных. А если что — Ethernet всегда на связи!