IEEE802.3具体格式

举报
aiot_bigbear 发表于 2022/09/25 02:46:54 2022/09/25
【摘要】 IEEE802.3是发布的RFC标准由802.3的头和尾以及802.2的LLC头部组成。 因为增加了LLC头部的3或者4个字节,有效载荷会减少3或者4个字节。控制字段为1或者2字节。 字段说明: 帧初始同步 7字节长,每字节由10101010组成,使接收端同步 开始分隔符 1字节长 由1010...

IEEE802.3是发布的RFC标准由802.3的头和尾以及802.2的LLC头部组成。

image

因为增加了LLC头部的3或者4个字节,有效载荷会减少3或者4个字节。控制字段为1或者2字节。

字段说明:

帧初始同步 7字节长,每字节由10101010组成,使接收端同步

开始分隔符 1字节长 由10101011组成,指示帧开始

这2个字段正好和以太网的帧初始同步字段相同。

目的地址 和以太网II基本相同,不同的是该地址还支持2字节的地址

源地址  和以太网II基本相同,不同的是该地址还支持2字节的地址

长度 2字节长,指示从LLC头开始字节到有效载荷的最后一个字节的字节数,不包括IEEE 802.3的头和FCS字段 ,最小是46 (0x002E)最大是1500(0x05DC)

帧校验序列(FCS) 4字节 和以太网一样

IEEE802.2 LLC的头

DSAP 目的服务访问字段,1字节长,指明帧的目的上层协议类型

ASAP 源服务访问字段,1字节长,指明帧的源上层协议类型

控制 1字节或者2字节,确定的长度要看被封装的LLC数据类型,是LLC数据报(类型1)1字节,LLC对话的一部分(类型2)2字节。

类型1 表明是无连接的,不可靠的LLC数据报,控制字段用0x03指明

类型2 表明是面向连接可靠的LLC会话。

注意:如何区分IEEE 802.3的帧和以太网II的帧?

两种格式的帧源地址后字段含义不同,IEEE 802.3 是长度,长度范围是在区间[46,1500],十六进制[0x002E,0x05DC],以太网II是以太网类型,值最小位0x0600XNS(Xerox的网络系统)协议,大于1500.

4.   IEEE 802.3 SNAP

虽然IEEE 802.3是标准,但没有被业界采用。以太网II已成事实标准。于是IEEE 802.3扩展产生 IEEE 802.3 SNAP 来兼容以太网网头部协议,在IEEE 802.2 LLC 头部后插入了SNAP头部

image

    为了标识SNAP帧,DSAP和SSAP在LLC头都被设置成SNAP定义的值0xAA,所有SNAP的封装没有使用可靠的LLC服务,所以控制设置成0x03

SNAP头部字段说明

组织代码 3字节长,指明维护接下来2字节意义的组织,对IP和 ARP,该字段被设置为0x00-00-00

如果组织代码为0x00-00-00,接下来2字节就是以太网类型IP 0x0800 ARP 0x0806

因为增加了LLC头部的3字节和SNAP头部的5字节所以有效载荷比以太网II少8个字节

wps_clip_image-2688

                                             抓包截图

在Windows server 2003 和XP中默认使用以太网II来封装的,对于接收这2中格式都可以,但默认情况下仅会用以太网II封装的帧响应,如果需要更改默认配置可以修改下列注册表键值

ArpUseEtherSNAP

Location:HKEY_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Data Type:REG_DWORD

Valid range:0-1

Default value:0

Present by default:No

该 键值决定在发送IP或ARP是否使用IEEE 802.3 SNAP,1表示用,0表示不用。默认是0,表示IP或ARP用以太网II发送。不论怎么设置2中类型的帧都能接收。如果设为1,用IEEE 802.3 SNAP封装请求帧,如果对端不能识别则无法通信。但当以下2种情况之一出现时会转换到以太网II封装,用IEEE 802.3 SNAP封装的ARP请求帧得到以太网II响应或者收到用以太网II封装的ARP请求。




在以太网帧格式中,类型字段之后就是数据;而在 8 0 2帧格式中,跟随在后面的是 3字节的802.2 LLC 和5字节的802.2 SNAP 。目的服务访问点( Destination Service Access Point, D S A P )和源服务访问点(Source Service Access Point, SSAP )的值都设为0 x a a 。Ct r l字段的 值设为3 。随后的3个字节o rg code 都置为0 。再接下来的2个字节类型字段和以太网帧格式一样(其他类型字段值可以参见RFC 1340 [Reynolds and Postel 1992] )。 
C R C字段用于帧内后续字节差错的循环冗余码检验(检验和)(它也被称为F C S 或帧检验 序列)。 
8 0 2 . 3标准定义的帧和以太网的帧都有最小长度要求。 8 0 2 . 3规定数据部分必须至少为 3 8字节,而对于以太网,则要求最少要有 4 6 字节。为了保证这一点,必须在不足的空间插入填充(p a d )字节。在开始观察线路上的分组时将遇到这种最小长度的情况。
=================================================================================================================
Ethernet V2比IEEE802.3更适合于传输大量的数据,但Ethernet V2缺乏数据链路层的控制,不利于传输需要严格传输控制的数据,这也正是IEEE802.3的优势所在,越需要严格传输控制的应用,越需要用 IEEE802.3或SNAP来封装,但IEEE802.3也不可避免的带来数据装载量的损失,因此该格式的封装往往用在较少数据量承载但又需要严格控制传输的应用中。
在实际应用中,我们会发现,大多数应用的以太网数据包是Ethernet V2的帧(如HTTP、FTP、SMTP、POP3等应用),而 交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3的帧,VLAN Trunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3 SNAP的帧。
如STP对应的帧如下,抓包格式为IEEE 802.3,LLC中的DSAP=SSAP=0X42
普通的TCP报文如下,抓包显示为ETHERNET II格式,其实LLC中DSAP=0X06

文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xushx_bigbear/article/details/45365411

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。