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

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

逻辑分离是否使用“ EtherType”协议字段执行? (即使用更高级别协议的类型(在报头中具有长度字段)获取数据包长度。)

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

#1 楼

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


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


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


以太网II(在[RFC 894]中通常用于IP,是最常见的封装):没有长度字段,而是使用类型字段...

       +----+----+------+------+-----+
       | 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”协议字段执行逻辑分离? (即使用更高级别协议的类型获取数据包的长度,该协议的报头中包含一个长度字段)。


通过逻辑分离,我假设您是指不同协议之间的分离以太网内部承载,这样可以区分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规范。

#2 楼

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

评论


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

–反射
2013年11月4日14:18

间隙实际上就是这样,没有风险在有效载荷中找到它。但是,在其他非以太网环境中,这很令人担忧,可以通过确保从不使用某些符号来编码数据来解决此问题,而仅将其用于信号传输,但是这会降低浪费一些符号以用于“无用”的效率。数据。

–ytti
13年11月4日在17:05