目录
📦 一、什么是以太网帧?
🔹 二、Ethernet II:主流以太网帧格式
🔹 三、IEEE 802.3:以太网帧的标准格式
🔹 四、IEEE 802.2:逻辑链路控制(LLC)层
🔹 五、IEEE 802.1Q:VLAN 封装标准
🧾 六、四种以太网帧格式对比总结
🔍 七、如何判断帧格式(抓包技巧)
✅ 总结
以太网(Ethernet)作为现代计算机网络通信的基础,其帧结构和协议演进影响着我们每一次的数据传输。从最常见的 Ethernet II 到 IEEE 标准的 802.3、802.1Q、802.2,背后有一套清晰的协议体系。
本文将带你一次性理清这四个关键概念:
Ethernet II:现代以太网的主流帧格式
IEEE 802.3:标准化的以太网帧定义
IEEE 802.2:逻辑链路控制(LLC)层
IEEE 802.1Q:VLAN 标签封装
📦 一、什么是以太网帧?
以太网帧(Ethernet Frame)是二层通信的基本单位,用于在局域网中传输数据。它包含了源/目的地址、类型或长度、有效载荷(Payload)和校验字段(FCS)。
以太网帧并不只有一种格式,常见的有以下四种:
Ethernet II(以太网第二版):使用最广泛的格式,用于大多数 IP 通信
IEEE 802.3(标准以太网):不包含协议类型,配合 802.2 使用
IEEE 802.3 + 802.2 + SNAP:为支持更多协议的扩展封装
IEEE 802.1Q(VLAN 封装):在帧中嵌入 VLAN 标签
🔹 二、Ethernet II:主流以太网帧格式
这是目前使用最广泛的以太网帧格式,用于绝大多数 TCP/IP 通信(如 IP、ARP、IPv6)。
帧结构:
Type 字段用于标识上层协议(该值大于 0x0600 == 1536):
0x0800 → IPv4
0x0806 → ARP
0x8035 → RARP
PAD 字段为填充字段:
主要是把数据凑够 Ethernet II 最低长度需求 46 byte
特点:
简洁直接,效率高
被大多数操作系统和设备默认使用
不是 IEEE 标准,但事实标准(De facto)
🔹 三、IEEE 802.3:以太网帧的标准格式
IEEE 为规范化 Ethernet,于 1983 年发布了 802.3 标准,引入了 "Length" 字段代替 Type,并去除了对上层协议的显式标识,改由上层 LLC 处理。
帧结构:
Length 表示 LLC + 数据 的长度(≤ 1500)
上层协议由接下来的 802.2 LLC Header 指定
特点:
由 IEEE 规范定义
通常见于工业/嵌入式网络设备
需配合 IEEE 802.2 使用
🔹 四、IEEE 802.2:逻辑链路控制(LLC)层
IEEE 802.2 补充在 802.3 帧中,用于指定上层协议信息(如 IP、IPX)。其位于 802.3 Payload 中,解析结构如下:
DSAP / SSAP:目标/源服务接入点
DSAP/SSAP (Hex)协议名称 / 用途说明0x00Null / XID / TEST用于 LLC 控制0x02LLC Sublayer Management0x04SNA (IBM)IBM System Network Architecture0x06PROWAY-LAN工业自动化协议0x0EISO 82080x18IBM Remote Program Load (RPL)0x42Spanning Tree Protocol (STP)802.1D BPDU 使用0x4EEIA RS-511工业串口标准0x60ISO 8473 CLNPISO Connectionless Network Protocol0x7EISO 9542 ES-IS Routing0x80X.25 PLPISO 8208 之上的 X.25 协议0xAASNAP 扩展标识符表示后续有 SNAP Header0xE0IPX(Novell)NetWare 协议0xF0NetBIOSIBM 局域网名称服务0xFEISO Network Layer Control0xFFGlobal / Broadcast表示所有服务点 Control:控制字段,指示通信模式(如无编号/应答等)
Control功能描述0x03UI 帧(Unnumbered Information)→ 常用于数据传输0xAF,0xBFXID 帧(Exchange Identification)0xE3,0xEFTEST 帧
下面是关于SNAP协议数据帧格式说明
SNAP:扩展协议标识(包含组织 ID 和 EtherType)【当 DSAP / SSAP 为0xAA、Control为0x03时,协议类型为SNAP】
DSAP: 0xAA
SSAP: 0xAA
Control: 0x03
OUI:组织唯一标识符
OUI类型协议名称0x0000000x0800IPv40x0000000x0806ARP0x0000000x8035RARP0x0000000x86DDIPv60x0000000x8808PAUSE Frame (Flow Ctrl)0x0000000x8100IEEE 802.1Q VLAN0x0000000x8847MPLS Unicast0x0000000x8848MPLS Multicast0x0000000x8863PPPoE Discovery0x0000000x8864PPPoE Session 如果需要标识 IP 等常见协议,会使用 SNAP 来填入 Ethernet II 中的 Type 值,如上表所示。如果需要其他厂家自定义协议则需要输入对应的OUI值和类型值。
应用场景:
某些老旧或工业网络协议(如 IPX、SNA)
嵌入式设备或协议网关
🔹 五、IEEE 802.1Q:VLAN 封装标准
当一个网络需要将不同的用户或服务隔离开时,会引入 VLAN(虚拟局域网)。802.1Q 是为以太网帧增加 VLAN 标签的标准方式。
封装示意(基于 Ethernet II):
其中 802.1Q Tag 是一个 4 字节字段,包含:
TPID(0x8100):标识 VLAN 帧
TCI(Tag Control Info):
PRI(3 bits)优先级,越大优先级越高,最大为
CFI(1 bit)通常为 0,用于指示 MAC 地址格式是否为标准格式
VLAN ID(12 bits)用于标识 VLAN 的编号,范围 0-4095
0:保留
4095:保留
特点:
常见于交换机配置中(trunk 模式)
可实现广播域划分、QoS 分类
🧾 六、四种以太网帧格式对比总结
本文未标出前导码(Preamble)7字节,每个都是 0xAA、开始帧定界符(Start Frame Delimiter)1字节是 0xAB。
帧格式类型标准组织协议标识方式应用范围是否常用Ethernet IIXerox(事实标准)Type 字段IP、ARP、IPv6✅ 主流IEEE 802.3 + 802.2IEEELLC + SNAP工业、老协议❌ 少见IEEE 802.3 + SNAPIEEESNAP 中定义 EtherType嵌入式❌ 少见IEEE 802.1QIEEEType + VLAN TagVLAN 网络✅ 企业常用
上图是协议的对比图,上述几种协议都是根据第三字段的值来判断协议类型,进入对应协议后按照对应协议进行解析转发等操作。
🔍 七、如何判断帧格式(抓包技巧)
以太网帧的第三字段 ≤ 1500 → 是 Length → IEEE 802.3
以太网帧的第三字段 ≥ 1536 (0x0600) → 是 Type → Ethernet II
帧中包含 TPID = 0x8100 → 是 VLAN 封装(802.1Q)
帧中含 SNAP Header → 是 IEEE 802.2 + SNAP 格式
使用 Wireshark 或 tcpdump 抓包时,可通过上述字段快速识别帧类型。
✅ 总结
以太网帧结构虽然看似简单,但其背后包含多个历史版本与标准体系。掌握 Ethernet II、802.3、802.1Q、802.2 的区别有助于你在:
网络抓包分析
驱动开发
嵌入式通信
VLAN 配置
协议识别调试
...等多个技术场景中,具备清晰准确的判断能力。