Формат кадров ethernet кратко

Обновлено: 08.07.2024

Технология сети Ethernet

Ethernet - это самый распространенный на сегодняшний день стандарт технологии сети.

  • работает с коаксиальным кабелем, витой парой, оптическими кабелями;
  • топология – шина, звезда;
  • метод доступа – CSMA/CD.

Архитектура сетевой технологии Ethernet фактически объединяет целый набор стандартов, имеющих как общие черты, так и отличия.

Дальнейшее развитие технологии EtherNet:

MAC адрес

На уровне MAC, который обеспечивает доступ к среде и передаче кадра, для идентификации сетевых интерфейсов узлов сети используются регламентированные стандартом уникальные 6-байтовые адреса, называемые MAC-адресами. Обычно MAC-адрес записывается в виде шести пар шестнадцатеричных цифр, разделенных тире или двоеточиями, например 00-29-5E-3C-5B-88. Каждый сетевой адаптер имеет MAC-адрес.

Структура MAC-адреса Ethernet

  • первый бит MAC-адреса получателя называется битом I/G (individual/group или широковещательным). В адресе источника он называется индикатором маршрута от источника (Source Route Indicator);
  • второй бит определяет способ назначения адреса;
  • три старших байта адреса называются защитным адресом (Burned In Address, BIA) или уникальным идентификатором организации (Organizationally UniqueIdentifier, OUI);
  • за уникальность младших трех байт адреса отвечает сам производитель.


Некоторые сетевые программы, в частности wireshark, могут сразу отображать вместо кода производителя - название фирмы производителя данной сетевой карты.

Формат кадра технологии EtherNet

В сетях Ethernet существует 4 типа фреймов (кадров):

  • кадр 802.3/LLC (или кадр Novell802.2),
  • кадр Raw 802.3 (или кадр Novell 802.3),
  • кадр Ethernet DIX (или кадр Ethernet II),
  • кадр Ethernet SNAP.

На практике в оборудовании EtherNet используется только один формат кадра, а именно кадр EtherNet DIX, который иногда называют кадром EtherNet II по номеру последнего стандарта DIX.


Кадр EtherNet DIX (II) не отражает разделения канального уровня EtherNet на уровень MAC и уровень LLC: его поля поддерживают функции обоих уровней, например интерфейсные функции поля T относятся у функциям уровня LLC, в то время как все остальные поля поддерживают функции уровня MAC.

Рассмотрим формат кадра EtherNet II на примере перехваченного пакета с помощью сетевого анализатора Wireshark


Обратите внимание, что так как MAC адрес состоит из кода производителя и номера интерфейса, то сетевой анализатор сразу преобразует код производителя в название фирмы-изготовителя.

Таким образом в технологии EtherNet в качестве адреса назначения и адреса получателя выступают MAC адреса.

Стандарты технологии Ethernet

Физические спецификации технологии Ethernet включают следующие среды передачи данных.

10Base-5


Кабель используется как моноканал для всех станций, максимальная длина сегмента 500м. Станция подключаться к кабелю через приемопередатчик - трансивер. Трансивер соединяется с сетевым адаптером разъема DB-15 интерфейсным кабелем AUI. Требуется наличие терминаторов на каждом конце, для поглощения распространяющихся по кабелю сигналов.

Стандарт сетей на коаксиальном кабеле разрешает использование в сети не более 4 повторителей и, соответственно, не более 5 сегментов кабеля. При максимальной длине сегмента кабеля в 500 м это дает максимальную длину сети в 500*5=2500 м. Только 3 сегмента из 5 могут быть нагруженными, то есть такими, к которым подключаются конечные узлы. Между нагруженными сегментами должны быть не нагруженные сегменты.

10Base-2


Кабель используется как моноканал для всех станций, максимальная длина сегмента 185 м. Для подключения кабеля к сетевой карте нужен T-коннектор, а на кабеле должен быть BNC-коннектор.

Также используется правило 5-4-3.

10Base-T


10Base-F

Функционально сеть Ethernet на оптическом кабеле состоит из тех же элементов, что и сеть стандарта 10Base-T

Стандарт FOIRL (Fiber Optic Inter-Repeater Link) первый стандарт комитета 802.3 для использования оптоволокна в сетях Ethernet. Мах длина сегмента 1000м, мах число хабов 4, при общей длине сети не более 2500 м.

Стандарт 10Base-FL незначительное улучшение стандарта FOIRL. Мах длина сегмента 2000 м. Максимальное число хабов 4,а максимальная длина сети - 2500 м.

Стандарт 10Base-FB предназначен только для соединения повторителей. Конечные узлы не могут использовать этот стандарт для присоединения к портам концентратора. Мах число хабов 5, мах длина одного сегмента 2000 м и максимальной длине сети 2740 м.

Таблица. Параметры спецификаций физического уровня для стандарта Ethernet


Пропускная способность сети Ethernet

Пропускная способность оценивается через количество кадров либо количество байт данных, передаваемых по сети за единицу времени. Если в сети не происходят коллизии, максимальная скорость передачи кадров минимального размера(64 байта) составляет 14881 кадров в секунду. При этом полезная пропускная способность для кадров Ethernet II – 5.48 Мбит/с.

Максимальная скорость передачи кадров максимального размера (1500 байт) составляет 813 кадров в секунду. Полезная пропускная способность при этом составит 9.76 Мбит/с.


В зависимости от стандарта, формат кадра Ethernet (фрейм) структурирован, содержит больше или меньше информационных полей сетевых моделей. Передавая данные, фрейм с размером от 64 до 1518 байт отвечает за корректное формирование правил и успешную передачу информации получателю.

Протокол был создан в 70-х годах

Протокол был создан в 1970-х годах известными производителями компьютеров: DEC, Intel и Xerox. Первоначально он назывался DIX Ethernet, а позже - Thick Ethernet (толстый) из-за применения коаксиального кабеля. В конце 1980-х он был модернизирован в формат кадра Ethernet 2 с поддержкой большего количества возможностей и скоростей. Примерно в то же время IEEE создавал стандарты для интернет-сетей. На протяжении этого времени он скачкообразно поднимал скорость: от 10 до 100 Мбит/с, далее 1 Гбит/с, а сегодня - 10 Гбит/с в IEEE 802.3AE.

Определение формата фрейма

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

  1. Меньший географический охват.
  2. Ресурсы для работы с высокой скоростью передачи данных.
  3. Большая пропускная способность от 100 Мбит/ с до 10 Гбит/с, которые используются в модернизированных сетях.
  4. Не требуется арендная линия или поставщика интернет-услуг, чтобы соединить устройства.
  5. ЛВС может быть небольшим проектом для офиса или удаленного работника.

Широковещательный домен

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

В модели OSI кадр находится на канальном уровне и отвечает за безошибочную передачу и разделение потока битов на блоки. Первая версия Ethernet I основывалась на 16-битных полях. Современный формат кадра Ethernet был впервые использован в структуре Ethernet II, до того, как Институт инженеров по электротехнике и электронике разработал стандартный протокол IEEE 802.3, первым из которых в 1983 году стал 3raw.

Компоненты локальной сети

Компоненты локальной сети

Локальная сеть - это традиционная среда для подключения пользователей и использования ресурсов в форме данных, приложений и других функций с устройствами ввода и вывода, такими как камеры, ПК, телевизоры и принтеры. Одной из наиболее важных функций в них является обеспечение связи с другими. Через шлюзы по умолчанию, а также через маршрутизаторы и периферийные устройства WAN. LAN служит в качестве точки входа в глобальную сеть, которая предоставляет множество ресурсов и возможность подключения к партнерам, поставщикам в формате кадра Ethernet.

Сегодня локальные сети могут обслуживать разные схемы потребителей от небольшого офиса с парой устройств, подключенных к интернету, до схем, объединяющих несколько зданий и тысячи пользователей. Группа удаленных сотрудников и мобильные пользователи рассматриваются как расширение корпоративной сети за счет использования виртуальных частных линий VPN. Схема обеспечит прозрачный доступ к сценарию, в котором взаимодействие с пользователем, и его работа будет очень похожим на прямое подключение к локальной сети предприятия.

Типичные компоненты: конечные точки, ПК, серверы, IP-телефоны, видео консоли и сетевые устройства, которые обеспечивают объединенное место для соединения. Например, коммутатор, маршрутизаторы для соединения различных сетей в одну структуру, а иногда и более традиционные центры в качестве общих средств массовой информации. Сетевые карты и кабели также являются частью такой конструкции.

Структура кадра Ethernet

Структура кадра Ethernet

В этом формате все машины могут определять канал и устанавливать наличие сигналов от других передатчиков. Это позволяет им обнаруживать коллизии, что делает фрейм частью протокола обнаружения. ПК в это время будут планировать передачу в соответствии со случайным таймером, который отличается для каждой машины.

Это создает функциональную среду, которая в долгосрочной перспективе обеспечивает хорошую производительность. Некоторые модели могут быть функциональными, но с плохим дизайном схемы, например, большой домен коллизий со слишком большим количеством машин, использующих один и тот же канал. Это увеличит вероятность одновременной передачи и возможных столкновений, что, в свою очередь, приведет к общему снижению производительности. Другие проблемы связаны с неисправным оборудованием, которое отправляет в сеть кадры ошибок. Поэтому следующей важной функцией любого протокола уровня 2 является кадрирование.

Кадр Ethernet - это контейнер переносящий биты, которые передаются в сети, обладающих форматом полей. Например, Ethernet 2 и IEEE 802.3 представляют последовательность битов, используемых для синхронизации двух взаимодействующих устройств и последовательности проверки, используемых для целостности, а также адреса получателя и источника - MAC-адрес.

Общение внутри локальной сети

Еще одна важная концепция в связи Ethernet и LAN - это объем определенной передачи. В одноадресной есть только один пункт назначения - адрес получателя, представляющий одну машину. Это наиболее типичный подход, а MAC-адрес - уникальный идентификатор, который используется для отправки таких кадров. Если протоколы и приложения будут отправлять их на все устройства в сети, то используются широковещательная рассылка.

Трансляция - пункт назначения, который обрабатывается всеми устройствами. Это удобно для таких протоколов, как ARP, запрашивающих преобразование IP-адреса в MAC без информации о владельце IP.

Многоадресная передача находится прямо посередине между одноадресной и широковещательной передачами. Это не один и не все пункты назначения – это просто конкретная группа. Другими словами, если машины принадлежат группе, то определенная передача или пакет будут предназначены именно ей. Это более динамично, потому что машины присоединяются и покидают группы быстро и эффективно. Пример многоадресного приложения: видеоконференция, электронное обучение и другие мультимедиа с широким охватом пользователей.

MAC-адреса связаны с поставщиком оборудования. IEEE определяет диапазоны, чтобы гарантировать уникальность, которые разрешают их модификацию для определенных целей. Он состоит из 24-битного уникального идентификатора организации или OUI, который идентифицирует производителя оборудования, будь то сетевая карта или порты маршрутизатора. В этих 24-битах имеется 2 биты с особым значением:

  1. Указание того, имеется широковещательные или многоадресные подключения. Бит управляемого адреса обычно используется при изменении MAC.
  2. 24-разрядный адрес станции, который регулируется и администрируется конкретным поставщиком оборудования.

Стандарты ЛВС

Ethernet с точки зрения OSI относится к канальному уровню и имеет спецификации на физическом уровне. Например, 1 Гб и 10 Гбит Ethernet будут иметь спецификации на физических уровнях и ссылки на оптоволоконные технологии и соединители для обеспечения более высоких скоростей. Протокол разделен на 2 подуровня: управления доступом к среде и определения MAC-адреса как формы идентификации для приборов в сети Ethernet. Подуровень, управляющий логическим каналом, будет взаимодействовать с верхними уровнями, когда компоненты обрабатывают каждый пакет, они будут ссылаться на CSMA/CD.

Стандарты ЛВС

Форматы кадров технологии Ethernet 2 обеспечивают адресацию по MAC и метод доступа, называемый CSMA/CD или системой множественного доступа с обнаружением столкновений. Это точечный метод, который благодаря уникальной технологии работает для Ethernet и позволяет всем машинам передавать сигналы одновременно, в любое время без приоритетов, так как все имеют равный доступ и является частью протокола множественного доступа.

Классическая модель VLAN

Формат физического уровня кадр сети Ethernet II.

Минимум 12 байт

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

Стандарты Ethernet устанавливают минимальную длину кадра Ethernet в 12 байтов.

Интерфейсы GE могут уменьшить разрыв до 64 бит. Интерфейсы 10GE могут сократить интервал до 40 бит

Преамбула должна быть 10101010 10101010 10101010 10101010 10101010 10101010 10101010 (в двоичном формате), всего 7 байтов

Помеченные кадры содержат тег VLAN для назначения виртуальной локальной сети (VLAN), разделяющий структуру на физический и логический уровни. Это означает, что с помощью VLAN подсети могут быть реализованы без установки аппаратного обеспечения. Для идентификации кадров в VLAN требуется поле Tag. На физическом уровне VLAN работают через коммутаторы.

В модели OSI VLAN работает на канальном уровне 2 и управляет потоком данных. С VLAN сети могут стать более эффективными, будучи разделенными на подсети. За информацию, которую обрабатывает коммутатор, отвечают помеченные кадры. В поле Tag внедряется перед полем Type и использует 4 байта, что увеличивает минимальный размер кадра Ethernet на 4 байта.

Синхронизация связи 802.3

Синхронизация связи 802.3

Процесс синхронизации выполняется потоком битов, который позволяет передатчику и приемнику синхронизировать связь. Преамбула представляет собой чередующийся образец двоичных 56 единиц и нулей. За преамбулой сразу следует разделитель начальных кадров:

  1. Стартовый разделитель - всегда 10101011 и используется для указания начала информации.
  2. MAC-адрес назначения, получающий данные. Когда карта (NIC) прослушивает провод, проверяет это поле на наличие собственного MAC.
  3. Исходный MAC передающей машины.
  4. Длина кадра в байтах. Хотя это поле может содержать любое значение от 0 до 65 534, оно редко превышает 1500 для большинства последовательных соединений. Сети, как правило, используют последовательные устройства для доступа в интернет.
  5. Данные заполнения (aka Payload).
  6. Данные вставлены здесь. Это место, где размещаются IP-заголовок и другая информация, если используется IP через Ethernet. Это поле содержит информацию об IPX, если применяют IPX/SPX (Novell).
  7. В разделе заполнения формата кадра Ethernet 802 3 есть четыре конкретных поля: DSAP - точка доступа к службе назначения, SSAP - источник доступа к услуге Poiont, CTRL - биты управления для связи Ethernet, NLI - интерфейс сетевого уровня.
  8. FCS - содержит последовательность проверки кадра, которая рассчитывается с использованием проверки циклическим избыточным кодом (CRC) и позволяет обнаруживать ошибки и отклонять кадр, если он кажется поврежденным.

IEEE 802.3raw можно использовать только для протокола IPX, поскольку отсутствует идентификатор поля кадра Ethernet. Название IEEE 802.3raw также немного вводит в заблуждение, поскольку Novell употребила имя без привлечения IEEE при разработке фрейма.

Новые функции - DSAP и SSAP

DSAP, или точка доступа к службе назначения, представляет собой 1-байтовое поле, которое просто действует, как указатель, на буфер памяти принимающей станции. Он сообщает NIC, в какой помещать информацию. Эта функциональность крайне важна в ситуациях, когда пользователи используют несколько стеков протоколов. SSAP, или точка доступа к сервису источника, аналогична DSAP и указывает источник процесса отправки.

Классическая структура кадра Ethernet 802.3 SNAP со специальной особенностью является полем SNAP для определения более 256 протоколов. Номера их предоставляют 2 байта, кроме того, производитель может интегрировать уникальный идентификатор (3 байта). В отличие от своих предшественников, SNAP также обеспечивает обратную совместимость с Ethernet II.

DSAP, SSAP и Control четко определены. Благодаря недавно добавленному пространству для информации 802.3, SNAP чрезвычайно универсален и делает возможной совместимость между различными протоколами. Тем не менее пространство для фактических данных у него немного меньше.

Классическая структура кадра Ethernet 802.3 с тегами. Поле тега содержит важную информацию для интеграции VLAN.

Теги VLAN также могут быть установлены в наиболее популярном современном формате фрейма IEEE 802.3. В этом кадре поле Tag использует 4 байта и реализуется до спецификации длины. Минимальный размер кадра теперь увеличен с 4 до 68.

Обзор: блоки кадров Ethernet. Обратите внимание на таблицу.

Размер кадра Ethernet, байт

PreambleStart ограничитель кадра (SFD)

Синхронизация последовательности receiversBit, которая инициирует кадр

Адрес назначения (MAC)

Аппаратный адрес сетевого адаптера назначения

Исходный адрес (MAC)

Аппаратный адрес исходного сетевого адаптера

Дополнительный тег VLAN для интеграции в сети VLAN (IEEE 802.1q)

Ethernet II: маркировка протоколов уровня 3

Длина информации о записи

Точка доступа к услуге назначения (DSAP)

Индивидуальный адрес точки доступа к услуге

Точка доступа к исходной службе (SSAP)

Исходный адрес отправляющего устройства

Определяет фрейм LLC (логическая ссылка)

44-1 500 (ограничение в зависимости от структуры кадра)

Данные для передачи

Фрейм проверки последовательности (FCS)

Контрольная сумма, которая вычисляет весь кадр

Межкадровый промежуток (IFS)

Перерыв передачи 9,6 мкс

Заголовок канала передачи данных

FCS: последние 4 байта, которые считывает адаптер, являются проверочной последовательностью кадров или CRC. Когда напряжение на проводе возвращается к нулю, адаптер проверяет последние 4 байта, которые он получил, по контрольной сумме, генерирующей посредством сложного полинома. Если вычисленная контрольная сумма не совпадает со значением в кадре, она отбрасывается и не достигает буферов памяти на станции.

Сравнение 802.11 против 802.3

Сравнение 802.11 против 802.3

Одним из различий между беспроводными фреймами 802.3 Ethernet и 802.11 является размер фрейма. Кадры 802.3 имеют максимальный размер кадра Ethernet 1518 байт с полезной нагрузкой 1500 байт. Если кадры 802.3 помечены 802.1Q для VLAN и приоритета пользователя, максимальный размер 802.3 составляет 1522 байта с полезной нагрузкой данных в 1504 байта.

802.3 имеют только адрес источника (SA) и назначения (DA) в заголовке уровня 2. 802.11 имеют до четырех полей в заголовке MAC и используют только три поля MAC-адреса (4 в среде WDS).

Стандарт 802.11 способен транспортировать формат кадра fast Ethernet с полезной нагрузкой MSDU. Она равна 2304 байтам верхнего уровня. MAC-адресация, используемая кадрами 802.11, намного сложнее, чем с кадрами Ethernet. В зависимости от того, является ли трафик 802.11 восходящим или нисходящим, определение каждого из четырех полей MAC в заголовке уровня 2 изменится.

Структура кадра Ethernet IEEE 802.3 сегодня является наиболее популярной и широко используемой в локальной сети. Однако некоторые протоколы требуют больше места для конкретной информации. Следовательно, существуют варианты кадра IEEE 802.11, которые предоставляют дополнительные блоки данных для конкретной информации, в том числе расширение SNAP и тег VLAN.


Вынужденная пауза в выходе новых статей подошла к концу и, собственно, этой статьей мы положим начало активному периоду наполнения сайта новым контентом. С выбором темы для статьи было в этот раз все максимально просто - в далекие-далекие времена была обещана статья про работу с Ethernet, наконец-то настало время исполнить обещанное. Но начнем мы для начала с общего обзора и описания технологии и некоторых нюансов, связанных с работой. А уже в следующих статьях будет практическое использование.

Семейство технологий Ethernet.

Как в самом начале не привести максимально "стандартное" и распространенное определение, вот оно: Ethernet - семейство технологий пакетной передачи данных между устройствами для компьютерных и промышленных сетей. А теперь уже переходим непосредственно к сути.

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

Интерфейс Ethernet, сетевая модель OSI

Модификации Ethernet.

Классификация модификаций Ethernet в основном заключается в различиях двух факторов - используемого типа кабеля, а также возможной скорости передачи данных. Различают:

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

Как мы и отметили сразу, различаются, в первую очередь, скорость передачи данных и тип используемого кабеля. На заре развития Ethernet использовались исключительно коаксиальные кабели, и лишь затем появились варианты с витой парой и оптикой, что привело к значительному расширению возможностей. К примеру, использование витой пары дает одновременно:

  • на порядки более высокую помехозащищенность, благодаря использованию дифференциального сигнала, что мы уже отмечали ранее, при обсуждении RS-485.
  • повышенная надежность сети, в основном, за счет появления возможности использовать соединение по топологии "звезда". То есть при обрыве связи между любыми двумя узлами сети это не влияет на незатронутые этим обрывом остальные узлы.
  • возможность использовать Full Duplex передачу данных. В двух словах об этом, наглядная табличка:

Внутри указанных четырех модификаций (Ethernet, Fast Ethernet, Gigabit Ethernet, 10G Ethernet) присутствует дополнительное "внутреннее" разделение. Например, возьмем 10 Мбит/с Ethernet. Этот тип включает в себя:

Ethernet (10 Мб/с)
10Base-2
10Base-5
10Base-T
10Base-F
10Base-FL

При этом различная физическая реализация подключения (разные кабели) приводят к возможности использования разных топологий сети. Для 10Base-5 максимально топорно:

Модификация Ethernet 10Base-5

А вот 10Base-T уже может использовать полнодуплексную передачу данных:

Модификация Ethernet 10Base-T

Здесь, как видите присутствует устройство под названием сетевой концентратор. Поэтому небольшое лирическое отступление на эту тему.

Зачастую термины сетевой концентратор, сетевой коммутатор и маршрутизатор перемешиваются и могут использоваться для описания одного и того же. Но строго говоря, все эти три термина относятся к абсолютно разному типу устройств:

  • Сетевой концентратор (хаб) работает на 1-м (физическом) уровне модели OSI и ретранслирует сигнал с одного входящего порта, на несколько исходящих. На этом его функционал заканчивается.
  • Сетевой коммутатор (свитч) работает на 2-м (канальном уровне). Здесь также происходит передача данных от одного устройства нескольким, но при этом коммутатор анализирует кадры на предмет MAC-адреса получателя и передает пакет только тому узлу, которому он адресован(!). Адресацию и структуру кадров подробно разберем чуть ниже.
  • Маршрутизатор же и вовсе работает на 3-м уровне (сетевом) модели OSI.

Возвращаемся к схеме для стандарта 10Base-T. Поскольку для передачи и приема используются физически разные линии, то нет и препятствий для одновременного протекания данных процессов. Принцип же формирования данных остается неизменным практически для всех модификаций Ethernet, к обсуждению чего мы и переходим.

Кадр Ethernet.

Вся передаваемая информация поделена на пакеты/кадры, имеющие следующий формат:

Формат кадра Ethernet

Рассмотрим блоки подробнее:

  • MAC-адрес устройства, которому предназначен данный кадр.
  • MAC-адрес отправителя.
  • EtherType - двухбайтное поле, которое служит для указания типа протокола для данных, передаваемых в этом кадре. Для наглядности, некоторые возможные значения:
    • 0x0800 - IPv4
    • 0x86DD - IPv6
    • 0x0842 - Wake-on-LAN
    • 0x809B - AppleTalk

    Все поля, кроме поля данных, являются служебными.

    Методика анализа контрольной суммы абсолютно стандартна: отправитель рассчитывает контрольную сумму на основе остальных данных кадра и добавляет рассчитанное значение к этому же отправляемому кадру. Получатель также рассчитывает контрольную сумму на основе принятых данных и сравнивает ее с принятой (которую рассчитывал отправитель). Несовпадение рассчитанного и принятого значений CRC - явный сигнал к тому, что данные повреждены и некорректны.

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

    Кроме этого, возможна еще одна неприятная ситуация, так называемая коллизия - когда несколько узлов начинают передавать данные одновременно. Для предотвращения этого в Ethernet используется технология CSMA/CD - Carrier Sense Multiple Access with Collision Detection — множественный доступ с прослушиванием несущей и обнаружением коллизий. Эта тема тоже довольно-таки интересная, в связи с чем, принято волевое решение посвятить ей отдельную статью ) Поэтому здесь и сейчас на этом не останавливаемся.

    В первых по очередности двух полях кадра Ethernet содержатся MAC-адреса узлов сети - передатчика и приемника. Изначально при разработке первых версий технологии было предусмотрено, что любая сетевая карта должна иметь свой уникальный идентификатор. Роль этого идентификатора и играет MAC-адрес, состоящий из 6 байт.

    При работе он позволяет идентифицировать все устройства в сети и определить, какому именно из них предназначен тот или иной кадр данных. Распределением MAC-адресов занимается регулирующий комитет IEEE Registration Authority, именно сюда производитель сетевого устройства должен обращаться для выделения ему некоего диапазона адресов, которые он сможет использовать для своей продукции.

    И на этой ноте заканчиваем вводную теоретическую часть по Ethernet, в дальнейшем приступим к практическому использованию в своих устройствах. До скорого 🤝

    Статья получилась довольно объёмная, рассмотренные темы — форматы Ethenet фреймов, границы размеров L3 Payload, эволюция размеров Ethernet заголовков, Jumbo Frame, Baby-Giant, и много чего задето вскользь. Что-то вы уже встречали в обзорной литературе по сетям передачи данных, но со многим, однозначно, не сталкивались, если глубоко не занимались изысканиями.

    Начнём с рассмотрения форматов заголовков Ethernet фреймов в очереди их появления на свет.

    Форматы Ehternet фреймов.

    1) Ethernet II



    Рис. 1

    Preamble – последовательность бит, по сути, не являющаяся частью ETH заголовка определяющая начало Ethernet фрейма.

    DA (Destination Address) – MAC адрес назначения, может быть юникастом, мультикастом, бродкастом.

    SA (Source Address) – MAC адрес отправителя. Всегда юникаст.

    Payload – L3 пакет размером от 46 до 1500 байт

    FCS (Frame Check Sequences) – 4 байтное значение CRC используемое для выявления ошибок передачи. Вычисляется отправляющей стороной, и помещается в поле FCS. Принимающая сторона вычисляет данное значение самостоятельно и сравнивает с полученным.

    Данный формат был создан в сотрудничестве 3-х компаний – DEC, Intel и Xerox. В связи с этим, стандарт также носит название DIX Ethernet standard. Данная версия стандарта была опубликована в 1982г (первая версия, Ehernet I – в 1980г. Различия в версиях небольшие, формат в целом остался неизменным). В 1997г. году данный стандарт был добавлен IEEE к стандарту 802.3, и на данный момент, подавляющее большинство пакетов в Ethernet сетях инкапсулированы согласно этого стандарта.

    2) Ethernet_802.3/802.2 (802.3 with LLC header)



    Рис. 2

    Как вы понимаете, комитет IEEE не мог смотреть спокойно, как власть, деньги и женщины буквально ускользают из рук. Поэтому, занятый более насущными проблемами, за стандартизацию технологии Ethernet взялся с некоторым опозданием (в 1980 взялись за дело, в 1983 дали миру драфт, а в 1985 сам стандарт), но большим воодушевлением. Провозгласив инновации и оптимизацию своими главными принципами, комитет выдал следующий формат фрейма, который вы можете наблюдать на Рисунке 2.

    Первым делом обращаем внимание на то, что “ненужное” поле E-TYPE преобразовано в поле Length, которое указывало на количество байт следующее за этим полем и до поля FCS. Теперь, понять у кого длинее можно было уже на втором уровне системы OSI. Жить стало лучше. Жить стало веселее.

    Но, указатель на тип протокола 3его уровня был нужен, и IEEE дало миру следующую инновацию — два поля по 1 байту — Source Service Access Point(SSAP) и Destination Service Access Point (DSAP). Цель, таже самая, – идентифицировать вышестоящий протокол, но какова реализация! Теперь, благодаря наличию двух полей в рамках одной сессии пакет мог передаваться между разными протоколами, либо же один и тот же протокол мог по разному называться на двух концах одной сессии. А? Каково? Где ваше Сколково?

    Не давая себе передышки, в IEEE зарезервировали по 1 биту в SSAP и DSAP. В SSAP под указание command или response пакета, в DSAP под указание группового или индивидуального адреса (см. Рис. 6). В Ethernet сетях эти вещи распространения не получили, но количество бит в полях SAP сократилось до 7, что оставило лишь 128 возможных номера под указание вышестоящего протокола. Запоминаем этот факт, к нему мы ещё вернёмся.

    Было уже сложно остановиться в своём стремлении сделать лучший формат фрейма на земле, и в IEEE фрейм формате появляется 1 байтное поле Control. Отвечающее, не много, не мало, за Connection-less или же Connection-oriented соединение!

    Выдохнув и осмотрев своё детище, в IEEE решили взять паузу.

    Замечание: Рассматриваемые 3 поля — DSAP, SNAP и Control и являются LLC заголовком.



    Рис. 3

    4) 802.3 with SNAP Header.

    Время шло. В комитет IEEE приходило осознание того, что номера протоколов и деньги кончаются. Благодарные пользователи засыпали редакцию письмами, где 3-х байтный LLC заголовок ставился в один ряд с такими великими инновациями человечества, как оборудование собаки 5ой ногой, или же с рукавом, который можно использовать для оптимизации женской анатомии. Выжидать дальше было нельзя, настало время заявить о себе миру повторно.



    Рис. 4

    И в помощь страждущим от нехватки номеров протоколов (их всего могло быть 128 – мы упоминали), IEEE вводит новый стандарт фрейма Ethernet SNAP (Рис. 4). Основное нововведение — добавление 5-ти байтного поля Subnetwork Access Protocol (SNAP), которое в свою очередь состоит из двух частей – 3х байтного поля Organizationally Unique Identifier (OUI) и 2х байтного Protocol ID (PID) — Рис. 5.



    Рис. 5

    OUI или же vendor code – позволяет идентифицировать пропиетарные протоколы указанием вендора. К примеру, если вы отловите WireShark`ом пакет PVST+, то в поле OUI увидите код 0x00000c, который является идентификатором Cisco Systems (Рис. 6).



    Рис. 6

    Замечание: Встретить пакет с инкапсуляцией в формат фрейма 802.3 SNAP довольно легко и сейчас – это все протоколы семейства STP, протоколы CDP, VTP, DTP.

    Поле PID это, по сути, то же поле EtherType из DIX Ethernet II — 2 байта под указание протокола вышестоящего уровня. Так как ранее, для этого использовались DSAP и SSAP поля LLC заголовка, то для указания того, что тип вышестоящего протокола нужно смотреть в поле SNAP, поля DSAP и SSAP принимают фиксированное значение 0xAA (также видно на Рис. 6)

    Замечание: При использовании для переноса IP пакетов формата фрейма LLC/SNAP, IP MTU снижается с 1500 до 1497 и 1492 байт соответственно.

    По заголовкам в формате фрейма в принципе всё. Хотел бы обратить внимание на ещё один момент в формате фрейма – размер payload. Откуда взялся этот диапазон — от 46 до 1500 байт?

    Размер L3 Payload.

    • Задержка при передаче – чем больше фрейм, тем дольше длится передача. Для ранних сетей, где Collision домен не ограничивался портом, и все станции должны были ждать завершения передачи, это было серьёзной проблемой.
    • Чем больше фрейм, тем больше вероятность того что фрейм при передаче будет поврежден, что приведет к необходимости повторной передачи, и все устройства в collision домене будут вынуждены опять ожидать.
    • Ограничения, накладываемые памятью используемой под интерфейс буферы – на тот момент (1979г) увеличение буферов значительно удорожало стоимость интерфейса.
    • Ограничение, вносимое полем Length/Type – в стандарте закреплено, что все значения выше 1536 (от 05-DD до 05-FF.) указывают на EtherType, соответственно длина должна быть меньше 05-DC. (У меня правда есть подозрение, что это скорее следствие, чем предпосылка, но вроде инфа от разработчиков стандарта 802.3)

    Замечание: Фреймы меньше 64 байт называются Runts, фреймы больше 1518 байт называются Giants. Просмотреть кол-во таких фреймов полученных на интерфейсе можно командой show interface gigabitEthernet module/number и show interface gigabitEthernet module/number counters errors. Причём до IOS 12.1(19) в счётчики шли как фреймы с неверным, так и верным CRS (хотя вторые не всегда дропались – зависит от платформы и условий). А вот начиная с 12.1.(19) отображаются в этих счётчиках только те runt и giant фреймы, которые имеют неверный CRS, фреймы меньше 64 байт, но с верным CRS (причина возникновения обычно связана с детегированием 802.1Q или источником фреймов, а не проблемами физического уровня) с этой версии попадают в счётчик Undersize, дропаются они, или же форвардятся дальше, зависит от платформы.

    Эволюция размеров Ethernet заголовков.
    • 802.3AC — увеличивает максимальный размер фрейма до 1522 – добавляется Q-tag – несущий информацию о 802.1Q (VLAN tag) и 802.1p (биты под COS)
    • 802.1AD — увеличивает максимальный размер фрейма до 1526, поддержка QinQ
    • 802.1AH (MIM) – Provider Bridge Backbone Mac in Mac + 30 байт к размеру фрейма
    • MPLS – увеличиваем размер фрейма на стек меток 1518 + n*4, где n – количество меток в стеке.
    • 802.1AE – Mac Security, к стандартным полям добавляются поля Security Tag и Message Authentication Code + 68 байт к размеру фрейма.

    Все эти фреймы увеличенного размера группируются под одни именем – Baby-Giant frames. Негласное верхнее ограничение по размерам для Baby-Giant – это 1600 байт. Современные сетевые интерфейсы будут форвардить эти фреймы, зачастую, даже без изменения значения HW MTU.

    Отдельно обратим внимание на спецификации 802.3AS — увеличивает максимальный размер фрейма до 2000 (но сохраняет размер MTU в 1500 байт!). Увеличение приходится на заголовок и трейлер. Изначально увеличение планировалось на 128 байт – для нативной поддержки стандартом 802.3 вышеперечисленных расширений, но в итоге сошлись на 2х тысячах, видимо, чтобы два раза не собираться (или как говорят в IEEE – this frame size will support encapsulation requirements of the foreseeable future). Стандарт утвержден в 2006 году, но кроме как на презентациях IEEE, я его не встречал. Если у кого есть что добавить здесь (и не только здесь) – добро пожаловать в комменты. В целом тенденция увеличения размера фрейма при сохранении размера PAYLOAD, порождает у меня в голове смутные сомнения в правильности выбранного направления движения.

    Замечание: Немного в стороне от перечисленного обосновался FCoE фрейм – размер фрейма до 2500 байт, зачастую, эти фреймы называются mini-jumbo. Для их саппорта необходимо включать поддержку jumbo-frame.

    1. Выгода соотношения Payload к заголовкам. Чем больше это соотношение, тем эффективней мы можем использовать линии связи. Конечно здесь разрыв будет не такой как в сравнении с использованием пакетов в 64 байт и 1518 байт для TCP сессий. Но свои 3-8 процентов, в зависимости от типа трафика выиграть можно.
    2. Значительно меньшее количество заголовков генерирует меньшую нагрузку на Forwading Engine, также и на сервисные Engine. К примеру, frame rate для 10G линка загруженного фреймами по 1500 байт равен 812 744 фреймов в секунду, а тот же линк загруженный Jumbo фреймами в 9000 байт генерирует фрейм рейт всего лишь в 138 587 фрейм в секунду. На рисунке 7 приведены график из отчёта Alteon Networks (ссылка будет внизу статьи) утилизации CPU и гигабитного линка, в зависимости от типа используемого размера фрейма.
    3. Увеличение TCP Throughput при изменении размера MTU — staff.psc.edu/rreddy/networking/mtu.html
    1. Чем больше фрейм, тем дольше он будет передаваться (Рис. 8):
    2. Буферы в памяти сетевых устройств заполняются быстрее, что может вызвать нежелательные последствия. По сути, решаемо на стадии проектирования оборудования, но увеличивает стоимость.
    3. Проприетарная реализация у каждого производителя – все устройства должны поддерживать или одинаковые размеры Jumbo фрейма, или же наборы размеров.
    4. Использование на больших участках сети находящихся под разным административным контролем, по сути, невозможно, из-за отсутствия механизма Jumbo Frame Discovery – промежуточный узел может не поддерживать Jumbo Frame совсем или определенный размер.
    • В серверных кластерах
    • При бэкапировании
    • Network File System (NFS) Protocol
    • iSCSI SANs
    • FCoE SANs

    Замечание: Верхнее ограничение размера есть и у Jumbo MTU. Оно определяется размером поля FCS (4 байт) и алгоритмом Cyclic Redundancy Check и равняется 11 455 байт. На практике же, Jumbo MTU обычно ограничен размером в 9216 байт, на некоторых платформах в 9000 байт, на более старом железе в 8092 байт (речь о Cisco).

    Читайте также: