Skip to content

以太网技术详解:MAC地址、双工模式、MTU 与 CSMA/CD ​

一、以太网概述 ​

  • 以太网(Ethernet) 是局域网(LAN)的主流技术,由 Xerox、DEC、Intel 于 20 世纪 70 年代提出(DIX 标准),后由 IEEE 802.3 标准化。
  • 发展历程:10BASE5(粗缆)→ 10BASE2(细缆)→ 10BASE-T(双绞线)→ 快速以太网(100Mbps)→ 千兆/万兆及更高。
  • 以太网主要工作在 OSI 的物理层和数据链路层(链路层又细分为 LLC 子层与 MAC 子层)。

二、MAC 地址 ​

1. 基本概念 ​

  • MAC(Media Access Control)地址:48 位(6 字节)的物理/硬件地址,通常烧录在网卡 ROM 中。
  • 表示格式:6 组十六进制数,如 00:1A:2B:3C:4D:5E(也可写作 - 分隔或不分隔)。

2. 地址结构 ​

前 3 字节(24 位):OUI(组织唯一标识符),由 IEEE 分配给厂商
后 3 字节(24 位):厂商自行分配的接口序列号

3. 特殊 MAC 地址 ​

类型判定方式示例
单播地址第 1 字节最低位(I/G 位)= 000:1A:2B:xx:xx:xx
组播地址第 1 字节最低位(I/G 位)= 101:00:5E 开头(IPv4 组播映射)
广播地址48 位全 1FF:FF:FF:FF:FF:FF
本地管理地址第 1 字节倒数第 2 位(U/L 位)= 1手机的随机化 MAC 常属此类

4. 以太网帧格式 ​

| 目的MAC | 源MAC | 类型 |        数据         | FCS |
|  6字节  | 6字节 | 2字节 |   46 ~ 1500 字节    | 4字节 |
  • 类型字段:标识上层协议(0x0800 = IPv4,0x0806 = ARP,0x86DD = IPv6)。
  • FCS:帧校验序列,基于 CRC 的差错检测。

5. 工作要点 ​

  • 交换机基于源 MAC 学习(建立 MAC 地址表),基于目的 MAC 转发;表中无目的 MAC 时向除入口外的所有端口泛洪。
  • MAC 地址表项有老化时间(默认常为 300 秒)。
  • 查看方法:Windows ipconfig /all、Linux ip link、ARP 表 arp -a。

6. MAC 与 IP 的关系 ​

对比项MAC 地址IP 地址
所属层次数据链路层网络层
类型物理地址(理论上固定)逻辑地址(随网络变化)
作用范围本地链路内交付全局路由与互联
长度48 位IPv4 32 位 / IPv6 128 位

一句话:IP 负责"找到哪台主机",MAC 负责"在本段链路上交给谁";两者通过 ARP 关联。


三、双工模式 ​

1. 三种通信方式 ​

模式说明典型例子是否冲突
单工只能单向传输广播、电视否
半双工可双向但不能同时收发对讲机、集线器以太网有冲突,需 CSMA/CD
全双工可同时双向收发电话、交换机以太网无冲突,无需 CSMA/CD

2. 全双工的实现条件 ​

  • 收、发使用独立的传输通道(如双绞线的两对线、光纤的收/发两芯)。
  • 点对点连接(网卡 ↔ 交换机端口),不存在共享介质。

3. 冲突域与广播域 ​

设备冲突域广播域
集线器所有端口同属 1 个 冲突域1 个
交换机每个端口一个 冲突域默认整个交换机 1 个(VLAN 可划分)
路由器每个端口一个每个接口一个(隔离广播域)

4. 自动协商 ​

  • 现代以太网支持 Auto-Negotiation:自动协商速率与双工模式。
  • 两端协商不一致(如一端强制全双工、另一端自动协商出半双工)会导致双工不匹配,表现为丢包、CRC 错误、性能严重下降,是常见网络故障点。

四、MTU ​

1. 基本概念 ​

  • MTU(Maximum Transmission Unit):链路层一次能够承载的最大数据长度。
  • 标准以太网 MTU = 1500 字节(以太网帧数据字段的上限)。

2. 以太网帧的长度构成 ​

整帧最大 = 14 字节帧头 + 1500 字节数据 + 4 字节 FCS = 1518 字节
带 VLAN 标签(802.1Q)时 = 1518 + 4 = 1522 字节

3. MTU 与 IP 分片 ​

  • IP 报文超过出接口 MTU 时,在 IP 层分片(每个分片独立传输,由接收方重组)。
  • 若 IP 头部 DF(Don't Fragment)位 置位:不分片,路由器丢弃并回送 ICMP「目的地不可达——需要分片」(类型 3,代码 4)——这是 PMTUD(路径 MTU 发现) 的基础。
  • 路径 MTU:源到目的路径上所有链路 MTU 的最小值。

4. 常见链路 MTU 参考值 ​

链路类型MTU
标准以太网1500
PPPoE(拨号上网)1492
IPsec / GRE 等隧道封装后更小(常见 1400 左右)
巨型帧> 1500,常用 9000

5. 巨型帧 ​

  • 优点:单帧承载更多数据,降低包头开销、提升吞吐,常用于存储网络、数据中心内部。
  • 注意:路径上所有设备必须一致支持并配置,否则中间设备会分片或丢包。

五、CSMA/CD ​

1. 基本概念 ​

  • CSMA/CD(Carrier Sense Multiple Access with Collision Detection):载波侦听多路访问/冲突检测。
  • 适用场景:共享介质的半双工以太网(同轴电缆、集线器时代);全双工交换式以太网不再需要。

2. 工作流程(十六字诀:先听后发、边发边听、冲突停发、随机重发) ​

  1. 载波侦听:发送前监听信道,空闲才发送(忙则等待)。
  2. 边发边听:发送过程中持续检测冲突。
  3. 冲突检测:一旦检测到冲突,立即停止发送,并发出强化干扰信号(Jam 信号)告知所有站点。
  4. 二进制指数退避:等待随机时间后重试;连续冲突时退避窗口翻倍(上限 2^10 - 1 = 1023 个时隙),重试 16 次仍失败则放弃并报错。

3. 退避算法 ​

第 i 次冲突后,从 [0, 2^min(i,10) - 1] 中随机取 k,等待 k × 512 比特时间 再重发。

4. 冲突与最小帧长(核心考点) ​

  • 站点必须在一帧发送完之前检测到可能发生的冲突,否则无法得知帧已损坏。
  • 由此推出以太网最小帧长 = 64 字节(512 比特时间):
    • 10Mbps 以太网:争用期(冲突窗口)= 51.2μs,对应 64 字节;
    • 数据不足 64 字节时必须填充(Padding)。
  • 这也解释了为什么以太网帧的数据字段下限是 46 字节(64 - 14 - 4 = 46)。

5. 为什么现代以太网弃用 CSMA/CD ​

  • 全双工 + 交换机:收发通道独立,点对点链路不存在冲突。
  • 千兆以太网虽曾为兼容半双工设计过"载波延伸/分组突发",实际已淘汰;万兆仅支持全双工。

六、常见面试问答 ​

  1. MAC 地址的结构? 48 位,前 24 位 OUI(IEEE 分配给厂商)+ 后 24 位厂商自配序列号。
  2. 为什么有 MAC 地址还需要 IP 地址? 分层设计:IP 是网络层逻辑地址,支撑全局路由与互联;MAC 是链路层地址,负责本地链路内的实际交付,二者通过 ARP 映射。
  3. MTU 为什么是 1500?超出怎么办? 1500 是 802.3 规定的以太网数据字段上限;超出时 IP 层分片(或 DF 置位时触发 PMTUD/ICMP 报错),应尽量通过路径 MTU 发现避免分片。
  4. CSMA/CD 中为什么必须"边发边听"? 只有发送期间才能检测冲突;若帧发完仍未检测到,冲突造成的损坏就无从得知,因此引入最小帧长 64 字节保证冲突可被检测。
  5. 全双工还需要 CSMA/CD 吗? 不需要。收发独立通道、点对点链路无冲突。
  6. 集线器与交换机的本质区别? 集线器工作在物理层,所有端口共享 1 个冲突域(半双工);交换机工作在链路层,每端口独立冲突域(全双工),并能基于 MAC 表转发。
  7. 双工不匹配有什么现象? 表现为严重丢包、CRC 错误、传输速率极低,多因一端强制全双工而另一端协商为半双工。

七、要点速记 ​

  • MAC 地址:48 位 = OUI(24) + 序列号(24);广播 FF:FF:FF:FF:FF:FF;交换机学源转目的。
  • 双工模式:半双工有冲突 → CSMA/CD;全双工无冲突 → 现代以太网标准形态。
  • MTU:标准 1500;整帧上限 1518(VLAN 1522);超 MTU → IP 分片或 PMTUD;巨型帧常用 9000。
  • CSMA/CD:先听后发、边发边听、冲突停发、随机重发;最小帧长 64 字节,重试 16 次放弃。
  • 最小帧长的由来:争用期 × 速率 = 最小帧长,保证"发完之前能听到冲突"。