加载中...

以太帧格式

一、以太帧使用场景

1.1 Ethernet Ⅱ以太帧简介

Ethernet II(又称 DIX 2.0)是最广泛使用的以太网帧格式,由DEC、Intel和Xerox在1982年标准化,是TCP/IP网络中最常见的链路层协议。

1.2 Novell Netware 802.3 Raw以太帧简介

​ 这是 1983 年 Novell 发布其划时代的 Netware/86 网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的 802.3 标准为基础。

1.3 IEEE 802.3 LLC以太帧简介

​ IEEE 802.3 LLC以太帧,也称为IEEE 802.3 SAP以太帧,是IEEE 正式的802.3标准,它由Ethernet II发展而来。

1.4 IEEE 802.3 SNAP以太帧简介

​ IEEE 802.3 SNAP以太帧,是IEEE为保证在802.3 LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准。

二、以太帧结构

2.1 Ethernet Ⅱ以太帧结构

img

字段 长度 含义
DMAC 6字节 目的MAC地址,IPv4为6字节,该字段标识帧的接收者。
SMAC 6字节 源MAC地址,IPv4为6字节,该字段标识帧的发送者。
Type 2字节 协议类型
0x0800:IP协议
0x0806:ARP协议
0x06DD:IPv6
0x8100: VLAN 802.1Q
Data 46~1500字节 数据字段,标识帧的负载(可能包含填充位)。数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输1字节信息也必须使用46字节的数据字段。如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。以太帧的长度必须为整数字节,因此帧的负载长度不足整数字节,需插入填充字段以保证数据帧的长度为整数字节。
FCS 4字节 帧校验序列FCS(Frame Check Sequence)是为接收者提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check)。
前导码 7字节 以太网标准中规定前导码为10101010 10101010 10101010 10101010 10101010 10101010 10101010(二进制),共7字节。
帧开始定界符 1字节 以太网标准中规定帧开始定界符为10101011(二进制),共1字节。

2.2 Novell Netware 802.3 Raw以太帧

当Type字段的值为0000-05DC时,Type字段后变为Length,指后续数据的字节长度,但不包括FCS字段。

Data的字节变为如果填入该字段的信息少于44字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1498字节。

image-20250302022223701

字段 长度 含义
DMAC 6字节 以太网帧的目的MAC地址,指明帧的接收者。
SMAC 6字节 以太网帧的源MAC地址,指明帧的发送者。
Length 2字节 指后续数据的字节长度,但不包括FCS字段。
Data 44~1498字节 数据字段,标识帧的负载(可能包含填充位)。数据字段的最小长度必须为44字节以保证帧长至少为64字节,这意味着传输1字节信息也必须使用44字节的数据字段。如果填入该字段的信息少于44字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1498字节。以太帧的长度必须为整数字节,因此帧的负载长度不足整数字节,需插入填充字段以保证数据帧的长度为整数字节。
FCS 4字节 帧校验序列FCS(Frame Check Sequence)是为接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check)。

2.3 IEEE 802.3 LLC以太帧简介

IEEE 802.3 LLC以太帧,也称为IEEE 802.3 SAP以太帧,是IEEE 正式的802.3标准,它由Ethernet II发展而来。

image-20250314034911877

字段 长度 含义
DMAC 6字节 目的MAC地址,该字段标识帧的接收者。
SMAC 6字节 源MAC地址,该字段标识帧的发送者。
Length 2字节 指后续数据的字节长度,但不包括FCS字段。
DSAP 1字节 目的服务访问点,长度为1字节,取值范围是0x00~0xFF。
SSAP 1字节 源服务访问点,长度为1字节,取值范围是0x00~0xFF。
Ctrl 1字节 该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。
Data 43~1497字节 数据字段,标识帧的负载(可能包含填充位)。数据字段的最小长度必须为43字节以保证帧长至少为64字节,这意味着传输1字节信息也必须使用43字节的数据字段。如果填入该字段的信息少于43字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1497字节。以太帧的长度必须为整数字节,因此帧的负载长度不足整数字节,需插入填充字段以保证数据帧的长度为整数字节。
FCS 4字节 帧校验序列FCS(Frame Check Sequence)是为接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check)。

2.4 IEEE 802.3 SNAP以太帧简介

image-20250314034427208

字段 长度(字节) 含义
DMAC 6字节 目的MAC地址,该字段标识帧的接收者。
SMAC 6字节 源MAC地址,该字段标识帧的发送者。
Length 2字节 指后续数据的字节长度,但不包括FCS字段。
DSAP 1字节 目的服务访问点,该值固定为0xAA。
SSAP 1字节 源服务访问点,该值固定为0xAA。
Ctrl 1字节 该字段值固定设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。
SNAP-ID 5字节 由OUI和Type两部分组成。
OUI 3字节 3字节的组织唯一标识符(Organizationally Unique Identifier),其值通常等于MAC地址的前3字节,即网络适配器厂商代码。
Type 2字节 标识以太网帧所携带的上层数据类型。根据RFC1042标准,OUI使用一个特殊的数值0x00-00-00,当这个字段为0x00-00-00时,Type字段与Ethernet II封装中的Type具有相同的含义。
Data 38~1492字节 数据字段,标识帧的负载(可能包含填充位)。数据字段的最小长度必须为38字节以保证帧长至少为64字节,这意味着传输1字节信息也必须使用38字节的数据字段。如果填入该字段的信息少于38字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1492字节。以太帧的长度必须为整数字节,因此帧的负载长度不足整数字节,需插入填充字段以保证数据帧的长度为整数字节。
FCS 4字节 帧校验序列FCS(Frame Check Sequence)是为接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check)。

三、以太帧结构对比

3.1 Type(Length变种)字段的不同导致

字段功能 数值范围 帧类型 用途
长度字段 0 ≤ Length ≤ 1500 IEEE 802.3(原始/LLC/SNAP) 显式声明数据载荷长度
类型字段 Type ≥ 1536 (0x0600) Ethernet II(DIX) 标识上层协议(如IPv4、IPv6、VLAN)
无效范围 1501 ≤ X ≤ 1535 无效帧 设备直接丢弃
posted @ 2025-03-18 19:10  江寒雨  阅读(321)  评论(0)    收藏  举报