下一跳定了之后:帧如何交给邻站?链路层一次讲清
专栏:《计算机网络基础》
对应总览: 第五篇 链路层与物理层:邻站交接与真正的「介质」
本篇角色: 链路 / 物理开篇导论——先建立「邻站交接」地图,再逐个深挖以太网 / 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 和网络层的边界(别再混)
|
现象 |
优先怀疑 |
|---|---|
|
|
物理 / 链路 |
|
同网段 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
|
线索 |
含义 |
|---|---|
|
|
物理上没链上(线、光、对端没开) |
|
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
物理层让灯灭、误码、半双工变慢
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)