Answers:
尽管ytti回答了,但您可能会对某些相关细节感兴趣...
有人如何区分以太网协议中的不同数据包?它没有高级协议使用的“长度”字段/区域。
实际上,以太网具有多种封装:
+----+----+------+------+-----+
| 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)
+----+----+------+------+------+------+-----+
| 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”协议字段执行逻辑分离?(即使用更高级别协议的类型获得数据包的长度,该协议的报头中包含一个length字段)。
通过逻辑分离,我假设您的意思是指以太网内部承载的不同协议之间的分离,例如区分IPv4,IPv6或生成树帧。
物理区别仅仅是电信号的不传输吗?(据我所知,高/低电信号代表0/1位)
简而言之,是的,以太网帧之间存在96位的间隔。但是请注意,以太网使用8b / 10b编码(FastEthernet)和64b / 66b编码(GigabitEthernet),因此说“不传输电信号”在技术上是不正确的,因为8b / 10b没有“静音”状态。
出于好奇,我还链接到原始的以太网版本2规范。
以太网在开始时具有前导码和开始帧定界符,在结束时具有“ IFG”或帧间间隙。这些用于确定帧的开始和结束。