1 前言
以太网(Ethernet)是现代局域网、数据中心网络、嵌入式网络和工业网络中最基础、最常见的二层通信技术。无论是普通 PC 通过网线接入路由器,服务器通过 ToR Switch 接入数据中心网络,还是 FPGA/SoC 通过 MAC + PHY 接口实现网络通信,底层都离不开以太网。
对初学者来说,以太网容易被 TCP/IP、路由器、交换机、网卡、MAC 地址、IP 地址、ARP、VLAN 等概念混在一起。实际上,可以先建立一个清晰的学习主线:
网络分层
-> 以太网帧格式
-> MAC 地址
-> ARP
-> 交换机转发
-> VLAN
-> STP / LACP / QoS
-> Wireshark 抓包
-> MAC / PHY 硬件结构
-> Switch 芯片架构
本文按照这个顺序系统介绍以太网基础知识。目标不是一次性覆盖所有 IEEE 802.3 的细节,而是帮助读者建立一套可继续深入学习网络协议、交换机系统、网卡驱动、FPGA Ethernet MAC 或 Switch ASIC 的基础框架。

2 以太网是什么
以太网是一组用于局域网通信的技术标准,主要由 IEEE 802.3 系列标准定义。它规定了设备如何在物理介质上传输 bit,也规定了二层数据帧的基本格式和访问方式。
在实际网络中,我们常见的“插网线即可上网”背后通常包含如下组件:
| 组件 | 作用 |
|---|---|
| 网卡 NIC | 主机侧网络接口,负责收发以太网帧 |
| MAC | Media Access Control,负责二层帧收发、FCS、地址过滤等 |
| PHY | 物理层收发器,负责电信号/光信号的编码、恢复和传输 |
| 网线/光纤 | 物理传输介质 |
| 交换机 Switch | 根据 MAC 地址转发以太网帧 |
| 路由器 Router | 根据 IP 地址完成三层转发 |
| 协议栈 | 操作系统中的 TCP/IP 网络协议实现 |
以太网经过多年发展,速率从早期的 10 Mb/s 提升到今天数据中心常见的 100G、200G、400G,甚至 800G 级别。
| 名称 | 常见速率 | 说明 |
|---|---|---|
| Ethernet | 10 Mb/s | 早期以太网 |
| Fast Ethernet | 100 Mb/s | 百兆以太网 |
| Gigabit Ethernet | 1 Gb/s | 千兆以太网 |
| 10 Gigabit Ethernet | 10 Gb/s | 万兆以太网 |
| 25G / 40G / 50G | 25 ~ 50 Gb/s | 服务器和数据中心常用 |
| 100G / 200G / 400G | 100 ~ 400 Gb/s | 数据中心交换机常用 |
| 800G Ethernet | 800 Gb/s | 高端数据中心和 AI 集群网络方向 |
3 网络分层视角下的以太网
学习以太网时,首先要把它放到网络分层模型中理解。常见的模型有 OSI 七层模型和 TCP/IP 四层模型。
| OSI 层级 | 名称 | 典型协议或技术 |
|---|---|---|
| L7 | 应用层 | HTTP、DNS、SSH |
| L6 | 表示层 | 编码、加密、压缩 |
| L5 | 会话层 | 会话管理 |
| L4 | 传输层 | TCP、UDP |
| L3 | 网络层 | IPv4、IPv6、ICMP |
| L2 | 数据链路层 | Ethernet、VLAN、ARP 相关二层封装 |
| L1 | 物理层 | 双绞线、光纤、SerDes、PHY |
以太网主要覆盖 物理层 L1 和 数据链路层 L2。其中:
- L1 关心 bit 如何通过电信号或光信号传输;
- L2 关心 frame 如何组织、如何寻址、如何在局域网内转发。

以一次浏览网页为例,数据在发送时会被逐层封装:
HTTP 数据
-> TCP Segment
-> IP Packet
-> Ethernet Frame
-> 物理信号
接收端则反向解封装:
物理信号
-> Ethernet Frame
-> IP Packet
-> TCP Segment
-> HTTP 数据
4 以太网物理层基础
物理层决定数据如何在真实介质上传输。常见以太网介质包括双绞线、光纤和高速板级 SerDes 链路。
4.1 常见传输介质
| 介质 | 常见场景 | 特点 |
|---|---|---|
| 双绞线 | 家庭、办公、普通服务器 | 成本低、部署方便 |
| 光纤 | 数据中心、长距离传输 | 距离长、带宽高、抗干扰强 |
| PCB 高速差分线 | 芯片到光模块、芯片间连接 | 距离短、速率高、信号完整性要求高 |
| 背板 Backplane | 机框设备、交换设备 | 多板卡互连 |
4.2 网线类型
| 类型 | 常见用途 |
|---|---|
| Cat5e | 千兆以太网 |
| Cat6 | 千兆/部分万兆短距离 |
| Cat6A | 10GBASE-T |
| Cat7 / Cat8 | 更高速率和更好屏蔽场景 |
家用或办公网络中常见的是 RJ45 接口和双绞线,而数据中心高端交换机更多使用光模块和高速 SerDes。
4.3 PHY 的作用
PHY 是 Physical Layer Transceiver 的简称,负责把 MAC 侧的数字信号转换为适合物理介质传输的信号,也负责从物理介质中恢复数据。
主机/芯片内部
MAC
|
| GMII / RGMII / SGMII / XGMII
|
PHY
|
| 电信号 / 光信号
|
网线 / 光纤

4.4 全双工、半双工和自协商
早期以太网中,多个设备共享同一介质,可能发生冲突,因此有 CSMA/CD 和半双工概念。现代交换式以太网基本都工作在全双工模式,收发可以同时进行,不再需要传统意义上的碰撞检测。
| 概念 | 含义 |
|---|---|
| 半双工 | 同一时间只能发送或接收 |
| 全双工 | 发送和接收可以同时进行 |
| Auto-Negotiation | 双方自动协商速率、双工模式、流控能力 |
| MDI/MDI-X | 与网线收发线序相关,现代设备通常支持自动翻转 |
5 MAC 地址基础
MAC 地址是以太网二层寻址的核心。每个网络接口通常都有一个 48 bit 的 MAC 地址,例如:
00:1A:2B:3C:4D:5E
这个地址可以分成两部分:
前 24 bit:OUI,厂商标识
后 24 bit:厂商自行分配
5.1 单播、组播和广播
| 类型 | 目的 MAC 示例 | 含义 |
|---|---|---|
| 单播 Unicast | 00:1A:2B:3C:4D:5E |
发给一个具体设备 |
| 组播 Multicast | 01:00:5E:xx:xx:xx |
发给一组设备 |
| 广播 Broadcast | FF:FF:FF:FF:FF:FF |
发给同一二层网络内所有设备 |
交换机转发以太网帧时,主要依据目的 MAC 地址和 VLAN 信息进行查表。
5.2 MAC 地址和 IP 地址的区别
| 项目 | MAC 地址 | IP 地址 |
|---|---|---|
| 所属层级 | 数据链路层 L2 | 网络层 L3 |
| 长度 | 通常 48 bit | IPv4 为 32 bit,IPv6 为 128 bit |
| 作用范围 | 同一二层链路或广播域内 | 跨网络寻址 |
| 分配方式 | 通常固化在网卡,也可软件修改 | DHCP、静态配置、SLAAC 等 |
| 转发设备 | 交换机 | 路由器或三层交换机 |
一个常见误区是:既然有 IP 地址,为什么还需要 MAC 地址?原因是 IP 负责跨网络的逻辑寻址,而在每一跳实际链路上传输时,仍然需要二层 MAC 地址完成本地交付。
6 以太网帧格式
以太网帧是二层传输的基本单位。最常见的是 Ethernet II 帧格式。
+----------+-----+-----------------+-----------------+-----------+---------+-----+
| Preamble | SFD | Destination MAC | Source MAC | EtherType | Payload | FCS |
| 7 Bytes | 1 B | 6 Bytes | 6 Bytes | 2 Bytes | 46~1500 | 4 B |
+----------+-----+-----------------+-----------------+-----------+---------+-----+

6.1 字段说明
| 字段 | 长度 | 作用 |
|---|---|---|
| Preamble | 7 Bytes | 用于接收端时钟同步 |
| SFD | 1 Byte | Start Frame Delimiter,表示帧正式开始 |
| Destination MAC | 6 Bytes | 目的 MAC 地址 |
| Source MAC | 6 Bytes | 源 MAC 地址 |
| EtherType | 2 Bytes | 指示 Payload 中承载的上层协议 |
| Payload | 46 ~ 1500 Bytes | 实际数据 |
| FCS | 4 Bytes | Frame Check Sequence,通常为 CRC32 |
6.2 常见 EtherType
| EtherType | 协议 |
|---|---|
0x0800 |
IPv4 |
0x0806 |
ARP |
0x86DD |
IPv6 |
0x8100 |
802.1Q VLAN |
0x88CC |
LLDP |
0x8808 |
MAC Control,例如 Pause Frame |
6.3 最小帧长和最大帧长
标准以太网帧从 Destination MAC 到 FCS 的长度最小为 64 Bytes,最大通常为 1518 Bytes。如果带 VLAN Tag,则常见最大长度为 1522 Bytes。
| 类型 | 长度 |
|---|---|
| 最小标准帧 | 64 Bytes |
| 最大标准 Ethernet II 帧 | 1518 Bytes |
| 带 VLAN Tag 的帧 | 1522 Bytes |
| Jumbo Frame | 常见约 9000 Bytes,具体取决于设备配置 |
如果 Payload 太短,需要通过 Padding 填充到最小帧长。FCS 用于检测传输过程中是否发生 bit 错误。
7 ARP:IP 地址如何找到 MAC 地址
在 IPv4 网络中,主机通常知道目标 IP 地址,但真正发送以太网帧时必须知道下一跳的 MAC 地址。ARP(Address Resolution Protocol)就是用来完成 IPv4 地址到 MAC 地址映射的协议。
7.1 ARP 的基本过程
假设主机 A 要访问同一局域网中的主机 B:
主机 A IP: 192.168.1.10
主机 A MAC: AA:AA:AA:AA:AA:AA
主机 B IP: 192.168.1.20
主机 B MAC: BB:BB:BB:BB:BB:BB
如果主机 A 不知道主机 B 的 MAC 地址,会先发送 ARP Request:
Who has 192.168.1.20? Tell 192.168.1.10
这个 ARP Request 的目的 MAC 是广播地址:
FF:FF:FF:FF:FF:FF
主机 B 收到后回复 ARP Reply:
192.168.1.20 is at BB:BB:BB:BB:BB:BB
主机 A 收到后会把映射关系记录到 ARP 表中。

7.2 ARP 表
操作系统会维护 ARP 缓存表,例如:
| IP 地址 | MAC 地址 | 接口 |
|---|---|---|
| 192.168.1.1 | 11:22:33:44:55:66 | eth0 |
| 192.168.1.20 | BB:BB:BB:BB:BB:BB | eth0 |
ARP 表项通常有老化时间,长时间不用会被删除。
7.3 Gratuitous ARP
Gratuitous ARP 是一种特殊 ARP,用于主动宣告自己的 IP 和 MAC 映射关系。常见用途包括:
- IP 地址冲突检测;
- 主备切换时刷新网络中其他设备的 ARP 缓存;
- 虚拟 IP 漂移场景。
8 交换机如何转发以太网帧
交换机是二层网络的核心设备。它根据 MAC 地址表决定以太网帧应该从哪个端口发出。
8.1 Hub、Switch 和 Router 的区别
| 设备 | 工作层级 | 转发依据 | 特点 |
|---|---|---|---|
| Hub | L1 | 不理解帧内容 | 收到信号后向所有端口重复 |
| Switch | L2 | MAC 地址/VLAN | 根据 MAC 表进行二层转发 |
| Router | L3 | IP 地址/路由表 | 连接不同 IP 网络 |
8.2 MAC 地址学习
交换机收到一个以太网帧时,会先查看源 MAC 地址,并记录:
源 MAC 地址 -> 入端口
例如交换机从 Port 1 收到源 MAC 为 AA:AA:AA:AA:AA:AA 的帧,就会学习:
AA:AA:AA:AA:AA:AA -> Port 1
8.3 转发、泛洪和过滤
学习完源 MAC 后,交换机会查找目的 MAC:
| 情况 | 行为 |
|---|---|
| 目的 MAC 在表中,且出口端口不同于入口端口 | Forwarding,转发到对应端口 |
| 目的 MAC 在表中,但出口端口等于入口端口 | Filtering,过滤,不转发 |
| 目的 MAC 不在表中 | Flooding,向除入口外的同 VLAN 端口泛洪 |
| 目的 MAC 是广播地址 | 向同 VLAN 广播域内泛洪 |
| 目的 MAC 是组播地址 | 根据组播表或策略转发/泛洪 |

8.4 MAC 表老化
MAC 地址表不是永久不变的。交换机会对表项设置 Aging Timer。如果一段时间内没有再看到某个源 MAC,表项会被删除。这样可以适应设备移动、网线切换、拓扑变化等情况。
9 VLAN:把一个二层网络切成多个逻辑网络
VLAN(Virtual LAN)用于在同一物理交换网络中划分多个逻辑二层网络。不同 VLAN 默认彼此隔离,不能直接二层互通。
9.1 为什么需要 VLAN
如果一个交换机上的所有端口都在同一个广播域中,会带来一些问题:
- 广播流量范围过大;
- 不同部门或业务无法隔离;
- 网络安全边界不清晰;
- 故障影响范围大。
VLAN 可以把一个物理交换机划分成多个逻辑交换机。
VLAN 10:研发网络
VLAN 20:办公网络
VLAN 30:访客网络
9.2 Access Port 和 Trunk Port
| 端口类型 | 作用 |
|---|---|
| Access Port | 通常连接终端设备,只属于一个 VLAN |
| Trunk Port | 通常连接交换机或路由器,可承载多个 VLAN |
Access Port 收发的帧通常不带 VLAN Tag;Trunk Port 上传输多个 VLAN 的流量,需要通过 802.1Q Tag 标识 VLAN。
9.3 802.1Q VLAN Tag
802.1Q 会在 Source MAC 和 EtherType 之间插入 4 Bytes VLAN Tag:
Destination MAC
Source MAC
802.1Q Tag
EtherType
Payload
FCS
VLAN Tag 内部包含:
| 字段 | 位宽 | 含义 |
|---|---|---|
| TPID | 16 bit | 通常为 0x8100 |
| PCP | 3 bit | 优先级 |
| DEI | 1 bit | Drop Eligible Indicator |
| VID | 12 bit | VLAN ID,范围 0 ~ 4095 |

9.4 VLAN 间通信
不同 VLAN 是不同广播域,默认不能直接通信。如果 VLAN 10 的主机要访问 VLAN 20 的主机,需要经过三层设备,例如路由器或三层交换机。
VLAN 10 主机
-> 默认网关
-> 三层转发
-> VLAN 20 主机
10 STP:防止二层环路
二层交换网络中,如果存在物理环路,广播帧和未知单播帧可能在网络中无限循环,形成广播风暴。由于以太网帧本身没有类似 IP TTL 的字段,二层环路会非常危险。
10.1 二层环路的危害
- 广播风暴;
- MAC 地址表震荡;
- 链路带宽被耗尽;
- CPU 被大量控制报文打满;
- 网络整体不可用。
10.2 STP 的作用
STP(Spanning Tree Protocol)通过阻塞部分冗余链路,把有环拓扑裁剪成无环树形拓扑。当主链路故障时,再重新计算拓扑,启用备份链路。

10.3 STP 基本角色
| 概念 | 含义 |
|---|---|
| Root Bridge | 生成树根桥 |
| Root Port | 非根交换机到 Root Bridge 的最佳端口 |
| Designated Port | 一个网段上负责转发的端口 |
| Blocking Port | 被阻塞的冗余端口 |
| BPDU | 交换机之间用于计算生成树的控制报文 |
RSTP(Rapid Spanning Tree Protocol)是 STP 的快速版本,收敛速度更快。
11 链路聚合 LACP
链路聚合用于把多条物理链路组合成一条逻辑链路,实现带宽扩展和链路冗余。
Switch A ====== Switch B
Link1
Link2
Link3
Link4
IEEE 802.1AX 定义了链路聚合相关标准,LACP(Link Aggregation Control Protocol)用于动态协商聚合链路。
11.1 链路聚合的作用
| 作用 | 说明 |
|---|---|
| 增加总带宽 | 多条链路共同承载流量 |
| 提高可靠性 | 单条链路故障后,其余链路继续工作 |
| 简化拓扑 | 多条物理链路表现为一条逻辑链路 |
| 避免 STP 阻塞多条并行链路 | 聚合后作为一个逻辑端口参与二层拓扑 |
11.2 负载均衡方式
链路聚合通常不是把一个 packet 拆到多条链路上,而是基于流进行 Hash,保证同一条流尽量走同一条物理链路,避免乱序。
常见 Hash 字段包括:
- 源 MAC;
- 目的 MAC;
- 源 IP;
- 目的 IP;
- TCP/UDP 源端口;
- TCP/UDP 目的端口。
12 以太网流控和 QoS
当接收端处理不过来时,如果发送端继续发送,可能导致 buffer 溢出和丢包。以太网中有多种流控和 QoS 机制用于缓解拥塞。
12.1 Pause Frame
IEEE 802.3x 定义了 MAC Control Pause Frame。接收端可以发送 Pause Frame,请求对端暂停发送一段时间。
Receiver buffer almost full
-> Send Pause Frame
-> Sender pauses transmission
-> Receiver drains buffer
-> Sender resumes
12.2 PFC
PFC(Priority-based Flow Control)可以按优先级暂停流量,而不是暂停整个链路。它常用于数据中心无损网络场景,例如 RoCE。
12.3 QoS
QoS(Quality of Service)用于决定拥塞时不同流量的处理优先级。
| 机制 | 作用 |
|---|---|
| PCP | VLAN Tag 中的 3 bit 优先级字段 |
| Queue | 不同优先级或业务进入不同队列 |
| Scheduler | 决定哪个队列先发送 |
| Shaper | 限制输出速率 |
| Policer | 检测并处理超速流量 |
| WRED | 拥塞前随机丢弃部分流量 |

13 常见以太网相关协议
以太网本身是二层技术,但在实际网络中会与大量协议配合使用。
| 协议 | 层级 | 作用 |
|---|---|---|
| ARP | L2/L3 之间 | IPv4 地址解析到 MAC 地址 |
| IPv4 | L3 | 网络层寻址和转发 |
| IPv6 | L3 | 下一代网络层协议 |
| ICMP | L3 | Ping、错误报告等 |
| TCP | L4 | 可靠传输 |
| UDP | L4 | 无连接传输 |
| DHCP | 应用层/基于 UDP | 自动分配 IP 地址 |
| DNS | 应用层 | 域名解析 |
| LLDP | L2 | 邻居发现 |
| STP/RSTP | L2 | 防止二层环路 |
| LACP | L2 | 链路聚合 |
| PTP | L2/L3 可承载 | 精密时间同步 |
当我们用 Wireshark 抓包时,会看到这些协议层层封装在以太网帧中。
14 从硬件角度理解以太网
如果从芯片或 FPGA 的角度看,以太网系统可以拆成 MAC、PHY、PCS、PMA、SerDes 等模块。
14.1 MAC 与 PHY
| 模块 | 主要职责 |
|---|---|
| MAC TX | 发送以太网帧、插入 Preamble/SFD、计算 FCS、控制 IFG |
| MAC RX | 接收帧、检查 FCS、过滤错误帧、提取 Payload |
| PHY | 编码/解码、均衡、时钟恢复、物理信号转换 |
| PCS | Physical Coding Sublayer,负责编码、对齐、FEC 等 |
| PMA/PMD | 更接近模拟和物理介质的子层 |
| SerDes | 高速串并转换 |
14.2 常见 MAC-PHY 接口
| 接口 | 常见场景 |
|---|---|
| MII | 10/100M |
| RMII | 简化版 MII |
| GMII | 1G |
| RGMII | 1G,减少引脚数量 |
| SGMII | 串行千兆接口 |
| XGMII | 10G |
| XLGMII / CGMII | 40G / 100G 等高速接口 |
14.3 Switch ASIC 的基本数据通路
一个简化的交换芯片数据通路可以表示为:
RX SerDes
-> PCS
-> MAC RX
-> Parser
-> VLAN / L2 Lookup / ACL / QoS
-> Packet Buffer
-> Queue
-> Scheduler
-> Egress Modification
-> MAC TX
-> PCS
-> TX SerDes

15 Wireshark 抓包实践
学习以太网最有效的方法之一是抓包。Wireshark 可以直接显示以太网帧头、ARP、IP、TCP、UDP、VLAN Tag 等字段。
15.1 推荐抓包实验
| 实验 | 观察内容 |
|---|---|
| 查看本机 MAC 地址 | 理解网卡二层地址 |
| 抓取 ARP | 理解广播请求和单播响应 |
| Ping 网关 | 观察 ARP + ICMP |
| 访问网页 | 观察 Ethernet + IP + TCP + HTTP/HTTPS |
| 配置 VLAN 后抓包 | 观察 802.1Q Tag |
| 制造未知单播 | 观察交换机 flooding 行为 |
| 观察 LLDP | 理解交换机邻居发现 |
15.2 常用过滤表达式
| 过滤表达式 | 含义 |
|---|---|
eth.addr == xx:xx:xx:xx:xx:xx |
匹配源或目的 MAC |
eth.src == xx:xx:xx:xx:xx:xx |
匹配源 MAC |
eth.dst == ff:ff:ff:ff:ff:ff |
匹配广播帧 |
eth.type == 0x0806 |
匹配 ARP |
arp |
只看 ARP |
ip |
只看 IPv4 |
ipv6 |
只看 IPv6 |
icmp |
只看 ICMP |
tcp |
只看 TCP |
udp |
只看 UDP |
vlan |
只看带 VLAN Tag 的帧 |

16 常见问题与排障思路
以太网问题可以从物理层、链路层、网络层逐层排查。
16.1 物理层问题
| 问题 | 可能原因 |
|---|---|
| 链路不亮 | 网线故障、模块故障、端口关闭、速率不匹配 |
| 速率协商失败 | 自协商配置不一致、线缆质量不足 |
| CRC Error | 信号质量差、线缆问题、PHY 问题 |
| Link Flap | 接触不良、电源问题、信号裕量不足 |
16.2 二层问题
| 问题 | 可能原因 |
|---|---|
| MAC 地址学习不到 | VLAN 错误、端口未 up、报文未到达 |
| 广播风暴 | 二层环路、STP 未启用或配置错误 |
| VLAN 不通 | Access/Trunk 配置错误、VLAN 未创建 |
| 单向通信 | MAC 表异常、ACL、端口安全策略 |
| ARP 异常 | IP 冲突、ARP 欺骗、网关错误 |
16.3 排障顺序
1. 看物理链路是否 up
2. 看速率和双工是否正确
3. 看端口是否有收发计数
4. 看是否有 CRC/FCS 错误
5. 看 VLAN 是否正确
6. 看 MAC 地址表是否学习到
7. 看 ARP 表是否正确
8. 看 IP 路由和默认网关
9. 用 Wireshark 抓包确认真实报文
17 建议学习路径
如果是从零开始,可以按四个阶段学习。
17.1 第一阶段:理解基本概念
学习内容:
- 以太网是什么;
- MAC 地址是什么;
- 以太网帧格式;
- 交换机和路由器区别;
- ARP 的作用。
目标:
能够解释一台电脑 ping 另一台电脑时,以太网帧如何被发送出去。
17.2 第二阶段:掌握核心二层协议
学习内容:
- VLAN;
- STP/RSTP;
- LACP;
- LLDP;
- Pause Frame;
- QoS 基础。
目标:
能够理解交换机常见配置背后的协议原理。
17.3 第三阶段:结合工具实践
学习内容:
- Wireshark;
- ARP 抓包;
- ICMP 抓包;
- TCP/UDP 抓包;
- VLAN Tag 抓包;
- MAC 地址表观察。
目标:
能够通过抓包定位常见网络问题。
17.4 第四阶段:深入硬件和芯片实现
学习内容:
- MAC/PHY;
- GMII/RGMII/SGMII/XGMII;
- PCS/FEC/SerDes;
- Ethernet MAC RTL;
- Switch ASIC pipeline;
- Packet buffer 和 scheduler。
目标:
能够从硬件角度理解一个以太网帧如何进入芯片、被解析、被缓存、被调度并从另一个端口发出。

18 总结
以太网是现代网络系统的基础。它看似只是“插网线通信”,但背后包含物理层信号传输、MAC 地址寻址、帧格式、ARP 地址解析、交换机 MAC 学习、VLAN 隔离、STP 防环、LACP 聚合、QoS 调度以及 MAC/PHY 硬件实现等多个层次。
对软件工程师来说,理解以太网有助于分析网络故障、抓包定位问题和理解 TCP/IP 协议栈。对硬件工程师来说,理解以太网是学习 Ethernet MAC、PHY 接口、FPGA 网络通信和 Switch ASIC 架构的基础。对网络工程师来说,以太网则是 VLAN、二层交换、数据中心网络和园区网络设计的起点。
最推荐的学习方式是:
先理解帧格式和 MAC 地址
-> 再通过 ARP 和 Ping 抓包建立直观认识
-> 再学习交换机 MAC 学习和 VLAN
-> 最后深入 STP、LACP、QoS 和硬件架构
只要能把“一帧数据从主机 A 到主机 B 的全过程”讲清楚,以太网基础就已经建立起来了。
19 参考资料
-
IEEE 802.3 Ethernet Working Group
https://www.ieee802.org/3/ -
IEEE 802.1 Working Group
https://www.ieee802.org/1/ -
IEEE 802.1Q - Bridges and Bridged Networks
https://standards.ieee.org/standard/802_1Q-2022.html -
IEEE 802.1AX - Link Aggregation
https://standards.ieee.org/standard/802_1AX-2020.html -
RFC 826 - An Ethernet Address Resolution Protocol
https://www.rfc-editor.org/rfc/rfc826 -
RFC 894 - A Standard for the Transmission of IP Datagrams over Ethernet Networks
https://www.rfc-editor.org/rfc/rfc894 -
RFC 791 - Internet Protocol
https://www.rfc-editor.org/rfc/rfc791 -
RFC 8200 - Internet Protocol, Version 6 Specification
https://www.rfc-editor.org/rfc/rfc8200 -
Wireshark User’s Guide
https://www.wireshark.org/docs/wsug_html_chunked/ -
Wireshark Display Filter Reference: Ethernet
https://www.wireshark.org/docs/dfref/e/eth.html -
Cisco - Ethernet Technologies
https://www.cisco.com/c/en/us/tech/lan-switching/ethernet/index.html -
Cisco - Understanding and Configuring VLANs
https://www.cisco.com/c/en/us/support/docs/lan-switching/vlan/10023-3.html -
Juniper Networks - Understanding Ethernet Switching
https://www.juniper.net/documentation/us/en/software/junos/multicast-l2/topics/topic-map/ethernet-switching-overview.html -
The TCP/IP Guide - Ethernet
http://www.tcpipguide.com/free/t_Ethernet.htm -
Wikipedia - Ethernet
https://en.wikipedia.org/wiki/Ethernet -
Wikipedia - Ethernet frame
https://en.wikipedia.org/wiki/Ethernet_frame -
Wikipedia - Address Resolution Protocol
https://en.wikipedia.org/wiki/Address_Resolution_Protocol -
Wikipedia - Virtual LAN
https://en.wikipedia.org/wiki/VLAN -
Wikipedia - Spanning Tree Protocol
https://en.wikipedia.org/wiki/Spanning_Tree_Protocol -
Wikipedia - Link Aggregation
https://en.wikipedia.org/wiki/Link_aggregation