第 6 章 · 数据链路层

链路层解决同一网段内两台相邻设备怎么可靠传帧:MAC 寻址、介质访问控制(谁能发)、IP→MAC 映射(ARP)。

6.1 MAC 地址

MAC 地址是网卡的硬件地址,48 位,写成 00:1A:2B:3C:4D:5E,出厂烧录、全球唯一(前 24 位厂商 OUI,后 24 位厂商自编)。

对比:MAC 是物理身份,链路层、同网段寻址,出厂即定、不可路由;IP 是逻辑身份,网络层、跨网段寻址,随配置而变。跨网段时 IP 端到端不变,MAC 每跳都换。

6.2 以太网帧格式

以太网是主流链路层技术,帧格式:

┌─────────┬─────────┬──────┬───────────────┬────────┬───────┐
│ 前导码   │ 目的MAC  │ 源MAC │ 类型/长度      │ 数据   │ 帧校验 │
│ 7+1字节 │ 6 字节   │6 字节│ 2 字节        │46–1500│ 4 字节│
└─────────┴─────────┴──────┴───────────────┴────────┴───────┘
  • 类型/长度0x0800 = IPv4,0x0806 = ARP。
  • 帧校验序列(FCS):CRC 循环冗余校验,错帧直接丢弃。
  • MTU 通常 1500 字节,超过需网络层分片(见第 5 章)。

6.3 集线器 vs 交换机

维度集线器交换机路由器
工作层物理层链路层网络层
转发依据无(广播)MAC 地址表IP 路由表
冲突域所有端口一个每端口独立每端口独立
广播域一个一个每端口一个(隔离)
转发范围同网段同网段跨网段

对比:集线器物理层广播、共享带宽易冲突;交换机链路层按 MAC 表定向转发、端口独享全双工;路由器网络层按 IP 路由表跨网段。集线器「喇叭」,交换机「按门牌投递」,路由器「跨小区邮局」。

6.4 ARP:把 IP 映射成 MAC

以太网靠 MAC 寻址,但发送方只知道目的 IP,于是用 ARP

  1. 发送方广播 ARP 请求:「谁是 192.168.1.5?请告诉我你的 MAC」;
  2. 目标主机单播回复 ARP 应答:带上自己的 MAC;
  3. 双方把结果缓存进 ARP 表ip neigh 查看),避免每次广播。

跨网段时,目的 MAC 填网关(路由器)的 MAC,由网关逐跳转发。

6.5 CSMA/CD:共享介质的访问控制

早期以太网是共享总线,同一时刻只能一台发,否则冲突。CSMA/CD 解决「谁先发」:

  1. 载波监听(CS):发前先听,有人在发就等;
  2. 多路访问(MA):都接在同一介质上;
  3. 冲突检测(CD):边发边听,检测到冲突立即停发并发干扰信号;
  4. 随机退避:冲突双方各等随机时间再重试(二进制指数退避)。

对比:现代交换式以太网用全双工 + 交换机取代共享总线,冲突几乎消失,CSMA/CD 基本退役;Wi-Fi 因「没法边发边听」改用 CSMA/CA(冲突避免)——用 ACK + 随机退避「避免」而非「检测」冲突。