检测不同的以太网帧


12

有人如何区分以太网协议中的不同数据包?它没有高级协议使用的“长度”字段/区域。

因为此协议在物理和逻辑范围内都有处理,所以我认为区分也是分开的。

是否使用“ EtherType”协议字段执行逻辑分离?(即使用更高级别协议的类型获得数据包的长度,该协议的报头中包含一个length字段)。

物理区别仅仅是电信号的不传输吗?(据我所知,高/低电信号代表0/1位)。

Answers:


14

尽管ytti回答了,但您可能会对某些相关细节感兴趣...

有人如何区分以太网协议中的不同数据包?它没有高级协议使用的“长度”字段/区域。

实际上,以太网具有多种封装:

  • 以太网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以太网:具有长度字段
       +----+----+------+------+------+------+-----+
       | 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或生成树帧。

  • 以太网II通常使用“类型”字段
  • 802.2 LLC以太网通常使用五字节的802.2以太网SNAP扩展名。仅当802.2 DSAP / SSAP字节为0xAAAA时,协议才使用SNAP扩展名进行解码。

物理区别仅仅是电信号的不传输吗?(据我所知,高/低电信号代表0/1位)

简而言之,是的,以太网帧之间存在96位的间隔。但是请注意,以太网使用8b / 10b编码(FastEthernet)和64b / 66b编码(GigabitEthernet),因此说“不传输电信号”在技术上是不正确的,因为8b / 10b没有“静音”状态。


出于好奇,我还链接到原始的以太网版本2规范


7

以太网在开始时具有前导码和开始帧定界符,在结束时具有“ IFG”或帧间间隙。这些用于确定帧的开始和结束。


它是物理范围还是逻辑范围上的分离?但是,如果协议的数据字段将包含与开始/结束定界符相同的信息/字符/信号,该怎么办?
2013年

1
间隙实际上就是这样,没有风险在有效载荷中找到它。但是,在其他非以太网环境中,这很令人担忧,可以通过确保从不使用某些符号来编码数据来解决此问题,而仅将其用于信号传输,但是这会降低浪费一些符号以用于“无用”的效率。数据。
ytti 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.