专栏:《计算机网络基础》
对应总览: 第五篇 链路层与物理层:邻站交接与真正的「介质」
本篇角色: 链路 / 物理开篇导论——先建立「邻站交接」地图,再逐个深挖以太网 / ARP / VLAN / Wi‑Fi / 物理层
层目标: 理解 下一跳怎么交出去,以及信号如何跑在介质上
读完你能: 分清 IP 与 MAC;说清交换机在干什么;用 ip link / ip neigh 开始查「同网段不通」

导读:路由表写好了,包为什么还出不去?

网络层专章读完,你会查:

ip route get 10.0.5.20
# 例如:via 192.168.1.1 dev eth0 src 192.168.1.8

这已经回答了「下一跳是网关 192.168.1.1,从 eth0 出去」。
但网卡发出去的并不是「裸 IP 包」,而是套了链路层头的 帧(frame)

┌──────── 以太网帧(示意)────────┐
│ 目的MAC │ 源MAC │ 类型 │ IP包… │ FCS │
└─────────────────────────────────┘

关键问题马上出现:

下一跳的 IP 我知道了,它的 MAC(链路层「门牌」)是谁?

同网段通信靠 ARP(IPv6 侧常是 ND)把 IP 翻译成 MAC;帧在园区网里常被 交换机 按 MAC 转发;无线则换成 Wi‑Fi 的关联与信道故事。
再往下,铜缆松了、光衰过大、双工不匹配——物理层直接让 link 灭灯。

人话版层目标:

网络层决定「扔给哪个邻居」;链路层决定「用什么帧交给它」;物理层负责「信号真的跑过去」。

一、概念:链路层在解决哪几件事?

1.1 邻站寻址:MAC

MAC 地址(常 48 位,写成 aa:bb:cc:dd:ee:ff)是网卡在局域网上的硬件地址(也可被软件改写,排障时别迷信「绝对唯一」)。

IP

MAC

层级

网络层

链路层

范围直觉

可跨很多网络

本段链路 / 广播域内有意义

变不变

可随 DHCP/迁移变

通常跟网卡走(可克隆)

典型问题

路由错、掩码错

ARP 失败、错 VLAN、环路

跨路由器之后,每一跳都会换一层链路封装——外层 MAC 是「当前这一跳的邻站」,不是终点服务器的 MAC。

笔记本 → 家用网关 → 运营商 → …
每一跳:目的MAC = 本跳下一跳设备的MAC
终点IP始终写在IP头里

1.2 成帧与差错:把比特收成「一帧」

链路层要约定:

  • 一帧从哪开始、到哪结束

  • 类型字段(里面是 IPv4 / IPv6 / ARP…)

  • 常见还有 FCS(帧校验)——坏了就丢,上层可能表现为偶发重传

你不必背完整以太网头;先建立直觉:

抓包里看见的「以太网层」,就是邻站交接的信封。

1.3 多路访问:谁有权占用介质?

同一段共享介质上(早期总线、无线),要解决「别一直撞车」:

  • 有线交换机组网后,冲突域被端口切开,故事变简单

  • Wi‑Fi 仍要面对共享信道、干扰、退避——满格很慢常常出在这里

1.4 和网络层的边界(别再混)

现象

优先怀疑

ping 公网都不通,且 ip link 显示 DOWN / NO-CARRIER

物理 / 链路

同网段 IP 不通,路由表却正确

ARP、VLAN、交换机、防火墙

同网段通,跨网段不通

更像网关 / 路由 / NAT(回网络层)

有线正常、Wi‑Fi 不稳

无线链路与干扰

口诀:

同网段都不通 → 链路 / ARP / VLAN / 物理
跨网段不通、同网段通 → 网络层路由 / 网关

二、原理:从「下一跳 IP」到「电信号」的最短路径

2.1 主机发送时的内心独白

1) 查路由:目的在直连网段?还是要经网关?
2) 邻站 IP = 目的本身 或 网关 IP
3) 查邻居表:邻站 IP 对应的 MAC 有没有?
4) 没有 → ARP/ND 广播询问
5) 封装以太网(或 Wi‑Fi)帧,交给驱动 / DMA
6) 物理层把比特变成信号送上介质

2.2 交换机在干什么?(先建立图景)

二层交换机大致:

学:从帧的源MAC记住「这人在哪个口」
转:按目的MAC查表,从对应口送出
洪:不认识的目的MAC → 向除来源口外广播

所以:

  • MAC 表异常 / 环路 → 广播风暴、闪断

  • 口接到错误 VLAN → 「IP 都对,就是不通」

细节留给《以太网》《VLAN》专章。

2.3 广播域 vs 冲突域

概念

人话

冲突域

同时发包可能互相干扰的范围;交换机组网后通常缩到单端口

广播域

广播帧能扩散到的范围;VLAN 用来逻辑切开广播域

ARP 请求是广播——广播域多大,ARP「喊一嗓子」就能吵到多大一片。

2.4 物理层放在本篇一起讲的原因

很多「网络故障」其实是:

光模块插反 / 脏污 → 光衰过大 → 误码 → 链路抖动或 down
水晶头接触不良 → 协商到百兆半双工 → 极慢
Wi‑Fi 同频干扰 → 重传飙高 → 应用超时

物理层专章会给检查清单;导论只需记住:

先看 link 灯与 ip link,再怀疑协议。

三、应用:你每天都在用链路层

场景

链路 / 物理在干什么

插网线上网

以太网协商速率/双工;DHCP 前先要链路 up

连公司 Wi‑Fi

关联 AP、加密、漫游换 AP

云上「交换机 / 安全组」

虚拟交换机 + 安全策略;仍有「口、MAC、VLAN」直觉

抓包看 HTTP

Wireshark 最外层常常是 Ethernet II

开发者常说「网络问题」,运维会问:

有线还是无线?同网段能不能通?网关 ARP 得到吗?

这已经是链路层语言。

四、问题定位:最小工具箱

4.1 链路是否真的活着?

ip link show
# 关注:UP / LOWER_UP / NO-CARRIER
ethtool eth0
# 关注:Link detected, Speed, Duplex

线索

含义

NO-CARRIER

物理上没链上(线、光、对端没开)

Speed 异常低

协商失败、线缆差、强制速率不匹配

Duplex Half

半双工常伴随碰撞与极慢

4.2 邻居有没有学到?

ip neigh show
# 或
ip neigh show to 192.168.1.1

状态直觉

含义

REACHABLE

最近用过,可信

STALE

过期但还可试

FAILED

解析失败——同网段不通的常见指纹

4.3 决策树(导论级)

「上不了网」
  │
  ├─ ip link 不是 LOWER_UP → 查线/光/驱动/Wi‑Fi关联
  │
  ├─ 同网段 ping 不通 → 查 ARP/ND、VLAN、交换机口、本机防火墙
  │
  ├─ 同网段通、网关通、外网不通 → 回网络层(路由/NAT/DNS)
  │
  └─ 有线好、无线差 → Wi‑Fi 干扰/漫游/AP

4.4 和第四篇工具如何配合

ping 不通
  → 先 ip link / ethtool(本篇)
  → 再 ip neigh(本篇)
  → 再 ip route / ping -c / mtr(第四篇)

本章小结

链路层:把「下一跳」变成可交接的帧
MAC 是邻站门牌;IP 是跨网逻辑地址
每一跳可换 MAC;终点 IP 写在 IP 头
交换机学源、转目的;陌生则洪泛
同网段故障先看 link、neigh、VLAN
物理层让灯灭、误码、半双工变慢
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐