stringtranslate.com

Кадр Ethernet

Ethernet-пакет. SFD (разделитель начального кадра) отмечает конец преамбулы пакета. Сразу за ним следует кадр Ethernet, который начинается с MAC-адреса назначения. [1]

В компьютерных сетях кадр Ethernet представляет собой блок данных протокола канального уровня и использует базовые механизмы транспорта физического уровня Ethernet . Другими словами, блок данных по каналу Ethernet передает кадр Ethernet в качестве полезной нагрузки. [2]

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

Состав

Пакет данных по сети и кадр в качестве его полезной нагрузки состоят из двоичных данных. Ethernet передает данные, начиная с самого старшего октета (байта); однако в каждом октете первым передается младший бит. [а]

Внутренняя структура кадра Ethernet указана в IEEE 802.3. [2] В таблице ниже показан полный пакет Ethernet и кадр внутри него в том виде, в каком он был передан, для размера полезной нагрузки до MTU 1500 октетов. [b] Некоторые реализации Gigabit Ethernet и другие высокоскоростные варианты Ethernet поддерживают более крупные кадры, известные как большие кадры .

Дополнительный тег 802.1Q занимает дополнительное пространство в кадре. Размеры полей для этой опции показаны в скобках в таблице выше. IEEE 802.1ad (Q-in-Q) допускает использование нескольких тегов в каждом кадре. Здесь этот вариант не показан.

Пакет Ethernet – физический уровень

Преамбула и разделитель начального кадра

Пакет Ethernet начинается с семиоктетной (56-битной) преамбулы и однооктетного (8-битного) разделителя начального кадра (SFD). [c] Значения битов преамбулы чередуются между 1 и 0, что позволяет приемникам синхронизировать свои часы на битовом уровне с передатчиком. За преамбулой следует SFD, который заканчивается цифрой 1 вместо 0, чтобы нарушить битовую структуру преамбулы и сигнализировать о начале фактического кадра. [1] : раздел 4.2.5 

Схема приемопередатчика физического уровня (сокращенно PHY) необходима для подключения Ethernet MAC к физической среде. Соединение между PHY и MAC не зависит от физической среды и использует шину из семейства независимых от среды интерфейсов ( MII , GMII , RGMII , SGMII , XGMII ). Преамбула и представление SFD зависят от ширины шины:

Сразу за SFD следует MAC-адрес назначения , который является первым полем в кадре Ethernet.

Кадр – уровень канала передачи данных

Заголовок

Заголовок содержит MAC-адреса назначения и источника (каждый длиной шесть октетов), поле EtherType и, опционально, тег IEEE 802.1Q или тег IEEE 802.1ad .

Поле EtherType имеет длину два октета и может использоваться для двух разных целей. Значения 1500 и ниже означают, что он используется для указания размера полезных данных в октетах, а значения 1536 и выше указывают, что он используется в качестве EtherType, чтобы указать, какой протокол инкапсулирован в полезные данные кадра. При использовании в качестве EtherType длина кадра определяется расположением межпакетного разрыва и допустимой последовательностью проверки кадра (FCS).

Тег IEEE 802.1Q или тег IEEE 802.1ad , если он присутствует, представляет собой четырехоктетное поле, которое указывает членство в виртуальной локальной сети (VLAN) и приоритет IEEE 802.1p . Первые два октета тега называются идентификатором идентификатора протокола Tag (TPID) и дублируются как поле EtherType, указывающее, что кадр имеет тег 802.1Q или 802.1ad. 802.1Q использует TPID 0x8100. 802.1ad использует TPID 0x88a8.

Полезная нагрузка

Полезная нагрузка — это поле переменной длины. Его минимальный размер определяется требованием минимальной передачи кадра в 64 октета (байта). [d] С учетом заголовка и FCS минимальная полезная нагрузка составляет 42 октета при наличии тега 802.1Q [e] и 46 октетов при его отсутствии. Когда фактическая полезная нагрузка меньше минимальной, соответственно добавляются октеты заполнения. Стандарты IEEE определяют максимальную полезную нагрузку в 1500 октетов. Нестандартные большие кадры позволяют передавать большую полезную нагрузку в сетях, созданных для их поддержки.

Последовательность проверки кадра

Последовательность проверки кадра (FCS) представляет собой четырехоктетную проверку циклическим избыточным кодом (CRC), которая позволяет обнаруживать поврежденные данные во всем кадре, полученном на стороне получателя. Согласно стандарту, значение FCS вычисляется как функция полей защищенного кадра MAC: адреса источника и назначения, поля длины/типа, данных клиента MAC и заполнения (то есть всех полей, кроме FCS).

Согласно стандарту, это вычисление выполняется с использованием алгоритма CRC-32 со сдвигом влево ( полином = 0x4C11DB7, начальный CRC = 0xFFFFFFFF, CRC дополняется после, проверочное значение = 0x38FB2284). Стандарт гласит, что данные передаются первыми младшим битом (бит 0), а в FCS первым передается старший бит (бит 31). [1] : раздел 3.2.9.  Альтернативой является вычисление CRC с использованием сдвига вправо CRC-32 (полином = 0xEDB88320, начальный CRC = 0xFFFFFFFF, CRC дополняется после, проверочное значение = 0x2144DF1C), что приведет к получению CRC, который представляет собой битовую инверсию FCS, при которой сначала передаются как данные, так и наименее значимый бит CRC, что приводит к идентичным передачам.

Стандарт гласит, что получатель должен рассчитать новую FCS по мере получения данных, а затем сравнить полученную FCS с FCS, рассчитанную получателем. Альтернативой является вычисление CRC как для полученных данных, так и для FCS, что приведет к фиксированному ненулевому значению «проверки». (Результат ненулевой, поскольку CRC дополняется после генерации CRC). Поскольку данные принимаются сначала младшим битом, и чтобы избежать необходимости буферизации октетов данных, приемник обычно использует сдвиг вправо CRC-32. Это делает значение «проверки» (иногда называемое «магической проверкой») 0x2144DF1C. [5]

Однако аппаратная реализация CRC с логическим сдвигом вправо может использовать регистр сдвига с линейной обратной связью со сдвигом влево в качестве основы для расчета CRC, меняя местами биты и приводя к проверочному значению 0x38FB2284. Поскольку дополнение CRC может выполняться после вычисления и во время передачи, то, что остается в аппаратном регистре, является недополненным результатом, поэтому остаток для реализации сдвига вправо будет дополнением 0x2144DF1C = 0xDEBB20E3, а для сдвига влево реализация, дополнение 0x38FB2284 = 0xC704DD7B.

Конец кадра – физический уровень

Конец кадра обычно обозначается символом конца потока данных на физическом уровне или потерей сигнала несущей; примером является 10BASE-T , где принимающая станция обнаруживает конец передаваемого кадра по потере несущей. Более поздние физические уровни используют явный конец данных или символ или последовательность конца потока , чтобы избежать двусмысленности, особенно когда несущая постоянно передается между кадрами; примером является Gigabit Ethernet с его схемой кодирования 8b/10b , в которой используются специальные символы, которые передаются до и после передачи кадра. [6] [7]

Межпакетный разрыв – физический уровень

Межпакетный разрыв (IPG) — это время простоя между пакетами. После отправки пакета передатчики должны передать минимум 96 бит (12 октетов) состояния свободной линии перед передачей следующего пакета.

Типы

Существует несколько типов кадров Ethernet:

Различные типы кадров имеют разные форматы и значения MTU , но могут сосуществовать на одном физическом носителе. Различить типы кадров можно на основе таблицы справа.

Кроме того, все четыре типа кадров Ethernet могут дополнительно содержать тег IEEE 802.1Q для идентификации того, к какой VLAN он принадлежит, и его приоритета ( качества обслуживания ). Эта инкапсуляция определена в спецификации IEEE 802.3ac и увеличивает максимальный размер кадра на 4 октета.

Тег IEEE 802.1Q, если он присутствует, помещается между полями «Адрес источника» и «EtherType» или «Длина». Первые два октета тега — это значение идентификатора протокола тега (TPID), равное 0x8100. Оно расположено в том же месте, что и поле EtherType/Length в нетегированных кадрах, поэтому значение EtherType, равное 0x8100, означает, что кадр помечен, а истинное значение EtherType/Length находится после Q-тега. За TPID следуют два октета, содержащие информацию управления тегами (TCI) (приоритет IEEE 802.1p ( качество обслуживания ) и идентификатор VLAN). За Q-тегом следует остальная часть кадра, используя один из типов, описанных выше.

Ethernet II

Кадрирование Ethernet II (также известное как DIX Ethernet , названное в честь DEC , Intel и Xerox , основных участников его разработки [8] ), определяет двухоктетное поле EtherType в кадре Ethernet , которому предшествуют MAC-адреса назначения и источника, которые идентифицирует протокол верхнего уровня , инкапсулированный данными кадра. В частности, значение EtherType 0x0800 указывает, что кадр содержит дейтаграмму IPv4 , 0x0806 указывает на дейтаграмму ARP , а 0x86DD указывает на дейтаграмму IPv6 . Дополнительную информацию см. в разделе «Значения EtherType» .

Самый распространенный формат кадров Ethernet, тип II.

Поскольку этот отраслевой стандарт прошел формальный процесс стандартизации IEEE , поле EtherType было изменено на поле длины (данных) в новом стандарте 802.3. [g] Поскольку получателю по-прежнему необходимо знать, как интерпретировать кадр, стандарт требует, чтобы заголовок IEEE 802.2 соответствовал длине и определял тип. Много лет спустя стандарт 802.3x-1997 и более поздние версии стандарта 802.3 официально одобрили оба типа кадрирования. Кадрирование Ethernet II является наиболее распространенным в локальных сетях Ethernet из-за его простоты и меньших затрат.

Чтобы некоторые кадры, использующие кадрирование Ethernet II, а некоторые — исходную версию кадра 802.3, могли использоваться в одном и том же сегменте Ethernet, значения EtherType должны быть больше или равны 1536 (0x0600). Это значение было выбрано потому, что максимальная длина поля полезной нагрузки кадра Ethernet 802.3 составляет 1500 октетов (0x05DC). Таким образом, если значение поля больше или равно 1536, кадр должен быть кадром Ethernet II, причем это поле является полем типа. [9] Если оно меньше или равно 1500, это должен быть кадр IEEE 802.3, причем это поле является полем длины. Значения между 1500 и 1536 (исключая) не определены. [10] Это соглашение позволяет программному обеспечению определять, является ли кадр кадром Ethernet II или кадром IEEE 802.3, обеспечивая сосуществование обоих стандартов на одной и той же физической среде.

Novell необработанный IEEE 802.3

«Необработанный» формат кадров Novell 802.3 был основан на ранних разработках IEEE 802.3. Novell использовала это как отправную точку для создания первой реализации своего собственного сетевого протокола IPX через Ethernet. Они не использовали заголовок LLC, а запускали пакет IPX сразу после поля длины. Это не соответствует стандарту IEEE 802.3, но поскольку IPX всегда имеет FF в качестве первых двух октетов (в то время как в IEEE 802.2 LLC такой шаблон теоретически возможен, но крайне маловероятен), на практике это обычно сосуществует в проводном режиме с другими реализациями Ethernet. за примечательным исключением некоторых ранних форм DECnet , которых это сбивало с толку.

Novell NetWare использовала этот тип кадра по умолчанию до середины девяностых, и поскольку NetWare тогда была очень широко распространена, а IP — нет, в какой-то момент большая часть мирового трафика Ethernet проходила через «сырой» 802.3, несущий IPX. Начиная с NetWare 4.10, NetWare по умолчанию использует IEEE 802.2 с LLC (тип кадра NetWare Ethernet_802.2) при использовании IPX. [11]

ООО «ИИЭР 802.2»

Некоторые протоколы, например, разработанные для стека OSI , работают непосредственно поверх инкапсуляции IEEE 802.2 LLC, которая обеспечивает сетевые услуги как с установлением соединения, так и без установления соединения.

Инкапсуляция IEEE 802.2 LLC в настоящее время не получила широкого распространения в обычных сетях, за исключением крупных корпоративных установок NetWare , которые еще не перешли на NetWare over IP . В прошлом многие корпоративные сети использовали IEEE 802.2 для поддержки мостов прозрачной трансляции между сетями Ethernet и Token Ring или FDDI .

Существует интернет-стандарт для инкапсуляции трафика IPv4 в кадры IEEE 802.2 LLC SAP/SNAP. [12] Он практически никогда не реализуется в Ethernet, хотя используется в FDDI, Token Ring, IEEE 802.11 (за исключением диапазона 5,9 ГГц , где используется EtherType) [13] и других локальных сетях IEEE 802 . IPv6 также можно передавать через Ethernet с использованием IEEE 802.2 LLC SAP/SNAP, но, опять же, он почти никогда не используется.

IEEE 802.2 ПРИВЯЗКА

Изучая заголовок LLC 802.2, можно определить, следует ли за ним заголовок SNAP. Заголовок LLC включает в себя два восьмибитных поля адреса, которые в терминологии OSI называются точками доступа к услугам (SAP); когда для исходного и целевого SAP установлено значение 0xAA, за заголовком LLC следует заголовок SNAP. Заголовок SNAP позволяет использовать значения EtherType со всеми протоколами IEEE 802, а также поддерживает пространства идентификаторов частных протоколов.

В IEEE 802.3x-1997 стандарт IEEE Ethernet был изменен, чтобы явно разрешить использование 16-битного поля после MAC-адреса в качестве поля длины или поля типа.

Набор протоколов AppleTalk v2 в Ethernet (« EtherTalk ») использует IEEE 802.2 LLC + инкапсуляцию SNAP.

Максимальная пропускная способность

Мы можем рассчитать накладные расходы протокола для Ethernet в процентах (размер пакета, включая IPG).

Мы можем рассчитать эффективность протокола для Ethernet.

Максимальная эффективность достигается при максимально допустимом размере полезной нагрузки и составляет:

для нетегированных кадров, поскольку размер пакета составляет максимум 1500 октетов полезной нагрузки + 8 октетов преамбулы + 14 октетов заголовка + 4 октета концевика + минимальный межпакетный промежуток, соответствующий 12 октетам = 1538 октетов. Максимальная эффективность составляет:

при использовании тегов VLAN 802.1Q.

Пропускную способность можно рассчитать по эффективности

,

где чистая скорость передачи данных физического уровня (скорость передачи данных по проводу) зависит от стандарта физического уровня Ethernet и может составлять 10 Мбит/с, 100 Мбит/с, 1 Гбит/с или 10 Гбит/с. Следовательно, максимальная пропускная способность для 100BASE-TX Ethernet составляет 97,53 Мбит/с без 802.1Q и 97,28 Мбит/с с 802.1Q.

Использование канала — это концепция, которую часто путают с эффективностью протокола. Он учитывает только использование канала, независимо от характера передаваемых данных – либо полезной нагрузки, либо служебных данных. На физическом уровне канал связи и оборудование не знают разницы между кадрами данных и управления. Мы можем рассчитать использование канала :

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

Короткие рамки

Короткий кадр — это кадр Ethernet, длина которого меньше минимальной длины IEEE 802.3, равной 64 октетам. Короткие кадры чаще всего возникают в результате коллизий ; другими возможными причинами являются неисправность сетевой карты , опустошение буфера , несоответствие дуплексного режима или проблемы с программным обеспечением. [14]

Примечания

  1. ^ Последовательность проверки кадра (FCS) использует другой порядок битов. [3]
  2. ^ Битовые комбинации в преамбуле и начале разделителя кадра записываются в виде битовых строк, при этом первый бит передается слева ( а не как значения октетов, которые в Ethernet передаются первыми младшими битами). Это обозначение соответствует обозначению, используемому в стандарте IEEE 802.3.
  3. ^ Преамбула и разделитель начального кадра не отображаются программным обеспечением для анализа пакетов , поскольку эти биты удаляются на уровне OSI 1 контроллером сетевого интерфейса (NIC) перед передачей на уровень OSI 2 , где анализаторы пакетов собирают свои данные. Существуют снифферы уровня 2, которые могут захватывать и отображать преамбулу и разделитель начального кадра, но они дороги и в основном используются для обнаружения проблем, связанных с физическим подключением.
  4. ^ Минимальный размер полезной нагрузки определяется 512-битным временем слота, используемым для обнаружения коллизий в архитектуре локальной сети Ethernet.
  5. ^ Минимум 42 и 46 октетов действительны при наличии 802.1Q. [4]
  6. ^ Кадр Ethernet версии 1 использовался для ранних прототипов Ethernet и имел 8-битные MAC-адреса и никогда не использовался в коммерческих целях.
  7. ^ Исходные кадры Ethernet определяют свою длину с помощью окружающего их кадра, а не с помощью явного подсчета длины.

Рекомендации

  1. ^ abcde 802.3-2018 — Стандарт IEEE для Ethernet . ИИЭЭ . 14 июня 2018 г. doi :10.1109/IEESTD.2018.8457469. ISBN 978-1-5044-5090-4.
  2. ^ ab «3.1.1 Формат пакета». 802.3-2018 — Стандарт IEEE для Ethernet . ИИЭЭ . 14 июня 2018 г. doi :10.1109/IEESTD.2018.8457469. ISBN 978-1-5044-5090-4.
  3. ^ 802.3-2018 — Стандарт IEEE для Ethernet . ИИЭЭ . 14 июня 2018 г. Раздел 3.3 и приложение 31A. doi : 10.1109/IEESTD.2018.8457469. ISBN 978-1-5044-5090-4. Коды операций передаются первыми в старшем октете. В каждом октете сначала передаются младший бит. [...] Каждый октет кадра MAC, за исключением FCS, сначала передается младший бит.
  4. ^ «Приложение G». Стандарт IEEE для локальных и городских сетей — мосты управления доступом к среде передачи (MAC) и виртуальные мостовые локальные сети . doi : 10.1109/IEESTD.2011.6009146. ISBN 978-0-7381-6708-4.
  5. ^ «Спецификация процедур CRC V4.5.0 R4.1 Rev 3» (PDF) . АВТОСАР . п. 24.
  6. ^ Чарльз Э. Сперджен (февраль 2000 г.). Ethernet: Полное руководство . О'Рейли. стр. 41, 47. ISBN. 9780596552824. Проверено 30 июня 2014 г.
  7. ^ «40.1.3.1 Подуровень физического кодирования (PCS)» . 802.3-2018 — Стандарт IEEE для Ethernet . ИИЭЭ . 14 июня 2018 г. doi :10.1109/IEESTD.2018.8457469. ISBN 978-1-5044-5090-4.
  8. ^ Дрю ​​Хейвуд; Зубайр Ахмад (2001). Сетевые службы Windows 2000 Дрю Хейвуда . Сэмс. п. 53. ИСБН 978-0-672-31741-5.
  9. ^ Комитет по стандартам LAN MAN Компьютерного общества IEEE (20 марта 1997 г.). IEEE Std 802.3x-1997 и IEEE Std 802.3y-1997 . Институт инженеров по электротехнике и электронике, Inc., стр. 28–31.
  10. ^ «3.2.6 Поле длины/типа» . 802.3-2018 — Стандарт IEEE для Ethernet . 14 июня 2018 г. doi :10.1109/IEESTD.2018.8457469. ISBN 978-1-5044-5090-4.
  11. Дон Прован (17 сентября 1993 г.). «Фрейминг Ethernet». Группа новостей : comp.sys.novell. Usenet:  [email protected].(Версия в формате HTML, архивировано 18 апреля 2015 г. на Wayback Machine ) — классическая серия сообщений Usenet Дона Прована из Novell, которые попали в многочисленные часто задаваемые вопросы и широко считаются окончательным ответом на использование Novell Frame Type.
  12. ^ Стандарт передачи IP-дейтаграмм по сетям IEEE 802. Сетевая рабочая группа IETF. Февраль 1988 г. doi : 10.17487/RFC1042 . РФК 1042.
  13. ^ Компьютерное общество, IEEE (2016). IEEE Std 802.11-2016: Часть 11. Управление доступом к среде беспроводной локальной сети. Спецификации IEEE (MAC) и физического уровня (PHY) . Нью-Йорк, штат Нью-Йорк: IEEE. п. 249.
  14. ^ «Устранение неполадок Ethernet». Сиско Системы . Проверено 13 августа 2016 г.

дальнейшее чтение