Обнаружение различных фреймов Ethernet

Как можно различать разные пакеты в протоколе Ethernet? Он не имеет поля «длина» /области, поскольку для этого используются протоколы более высокого уровня.

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

Выполняется ли логическое разделение с использованием поля протокола EtherType? (т. е. получение длины пакета с использованием типа протокола более высокого уровня, который имеет поле длины в своих заголовках).

Является ли физическое различие просто отсутствием электрических сигналов? (Насколько мне известно, высокие /низкие электрические сигналы представляют 0/1 бит).

12 голосов | спросил Reflection 4 12013vEurope/Moscow11bEurope/MoscowMon, 04 Nov 2013 18:09:45 +0400 2013, 18:09:45

2 ответа


14

Хотя ytti ответил, есть некоторые релевантные детали, которые могут вас заинтересовать ...

  

Как можно различать разные пакеты в протоколе Ethernet? Он не имеет поля «длина» /области, поскольку для этого используются протоколы более высокого уровня.

Фактически Ethernet имеет несколько инкапсуляций:

  • Ethernet II (обычно используется для IP, как указано в [RFC 894], является наиболее распространенной инкапсуляцией): не имеет поля length , вместо этого используется поле типа ...
       +----+----+------+------+-----+
       | DA | SA | Type | Data | FCS |
       +----+----+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Type    Protocol Type           (2 bytes: >= 0x0600 or 1536 decimal)  <---
       Data    Protocol Data           (46 - 1500 bytes)
       FCS     Frame Checksum          (4 bytes)
  • 802.2 LLC Ethernet: имеет поле длина
       +----+----+------+------+------+------+-----+
       | DA | SA | Len  | LLC  | SNAP | Data | FCS |
       +----+----+------+------+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Len     Length of Data field    (2 bytes: <= 0x05DC or 1500 decimal)  <---
       LLC     802.2 LLC Header        (3 bytes)
       SNAP                            (5 bytes)
       Data    Protocol Data           (46 - 1492 bytes)
       FCS     Frame Checksum          (4 bytes)

Независимо от существования поля длины 802.2, вы всегда можете обнаружить конец сетевого кабеля на проводе, ища 96-битное межкадровое прохождение .

  

Выполняется ли логическое разделение с использованием поля протокола EtherType? (т. е. получение длины пакета с использованием типа протокола более высокого уровня, который имеет поле длины в своих заголовках).

По логическому разделению я предполагаю, что вы имеете в виду разделение между различными протоколами, переносимыми внутри ethernet, таким образом различаются IPv4, IPv6 или, возможно, Spanning-Tree Frames.

  • Ethernet II обычно использует поле «Тип»
  • 802.2 LLC Ethernet обычно использует пятибайтовый расширение 802.2 Ethernet SNAP , Протоколы только декодируются с расширением SNAP, когда байты 802.2 DSAP /SSAP равны 0xAAAA.
  

Является ли физическое различие просто отсутствием электрических сигналов? (Насколько мне известно, высокие /низкие электрические сигналы представляют 0 бит)

Упрощенно, да, есть 96-битный разрыв между Ethernet-кадрами; обратите внимание, что ethernet использует кодировку 8b /10b (FastEthernet) и кодирование 64b /66b (GigabitEthernet), поэтому технически не правильно говорить, что " не передавая электрические сигналы ", поскольку 8b /10b не имеет« молчащего »состояния.


Для любопытных я также ссылаюсь на оригинальный Ethernet Version 2 spec .

ответил Mike Pennington 4 12013vEurope/Moscow11bEurope/MoscowMon, 04 Nov 2013 19:16:11 +0400 2013, 19:16:11
7

В начале Ethernet Ethernet имеет преамбулу и разделитель начального кадра, и в конце он имеет «IFG» или межкадровый разрыв. Они используются для определения начала и конца кадра.

ответил ytti 4 12013vEurope/Moscow11bEurope/MoscowMon, 04 Nov 2013 18:13:16 +0400 2013, 18:13:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132