Хотя YTTI ответил, есть некоторые важные детали, которые могут вас заинтересовать ...
Как можно различить разные пакеты в протоколе Ethernet? Он не имеет поля / области "длины", как это делают протоколы более высокого уровня.
На самом деле Ethernet имеет несколько инкапсуляций:
- Ethernet II (обычно используется для IP, как указано в [RFC 894], является наиболее распространенной инкапсуляцией): не имеет поля длины , вместо этого используется поле типа ...
+----+----+------+------+-----+
| 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 вы всегда можете обнаружить конец кадра Ethernet на проводе, ища 96-битный межкадровый разрыв .
Выполняется ли логическое разделение с использованием поля протокола EtherType? (т.е. получение длины пакета с использованием типа протокола более высокого уровня, который имеет поле длины в своих заголовках).
Под логическим разделением я предполагаю, что вы имеете в виду разделение между различными протоколами, передаваемыми внутри Ethernet, таково различие между IPv4, IPv6 или, возможно, кадрами Spanning-Tree.
- Ethernet II обычно использует поле Тип
- 802.2 LLC Ethernet обычно использует пятибайтовое расширение 802.2 Ethernet SNAP . Протоколы декодируются только с расширением SNAP, когда байты 802.2 DSAP / SSAP равны 0xAAAA.
Разве физическое различие заключается просто в непередаче электрических сигналов? (Насколько мне известно, высокие / низкие электрические сигналы представляют 0/1 бит)
Проще говоря, да, между кадрами Ethernet существует 96-битный разрыв; однако обратите внимание, что Ethernet использует кодировку 8b / 10b (FastEthernet) и кодировку 64b / 66b (GigabitEthernet), поэтому технически некорректно говорить «непередача электрических сигналов», поскольку 8b / 10b не имеет « молчаливое состояние.
Для любопытных я также ссылаюсь на оригинальную спецификацию Ethernet версии 2 .