数据链路层到网络层-为什么需要网络层?

作者 Tea-Sun · 2026年10月30日 · 约 7 分钟

为什么需要网络层#

从数据链路层到网络层 视频讲解 https://www.bilibili.com/video/BV12kso6TEVG/

一句话#

数据链路层只负责"这一段路",网络层负责"从头到尾"——链路层把帧送到隔壁,网络层把分组送到地球另一端;两者靠"一段一段接力"接起来。


一、先看数据链路层做到了什么#

前面几集讲的东西,合起来是一句话:在同一个网络内部,帧能准确送到任何一台机器。

已经解决的问题 关键机制
帧长什么样 帧头 + 数据 + FCS,有明确的起止
谁发给谁 MAC 地址(48 位硬件地址,烧在网卡上)
怎么送 交换机查转发表,按目的 MAC 从对应端口转发
撞车怎么办 CSMA/CD(半双工时代)或全双工交换

到这一步,一个局域网里的通信确实没有问题了。

但"一个局域网"是个很硬的边界。


二、链路层的三个天花板#

天花板 ①:出了这个网就断了#

交换机只认自己这个网里的 MAC 地址。北京、上海、广州各有一个局域网,各自内部都跑得很好,但三个网之间没有交换机能把它们接起来——转发表里根本没有外面世界的条目。

交换机是"本地户籍警",它只知道本辖区有谁。

天花板 ②:MAC 地址没有层次#

MAC 地址是 48 位、出厂就烧死的硬件地址,写法如 00-1A-2B-3C-4D-5E。

关键在于:它和这台机器在网络中的位置没有任何关系。 换一个城市、换一个网络,MAC 地址一点不变;反过来说,拿到一个 MAC 地址,你也推不出它在哪儿。

这就意味着,要在一张覆盖全球的表里找一台机器,只能一个一个比对——全世界几十亿个地址,这种做法在规模上直接崩溃。

类比:MAC 地址像身份证号,全国唯一,但你拿着身份证号并不知道这个人住哪儿。 IP 地址像"邮编 + 门牌",先按邮编定位到片区,再在片区里找门牌——可以按块缩小范围。

严谨性补充(本片为教学简化):MAC 地址其实不是完全随机——前 24 位是 OUI(组织唯一标识符),由 IEEE 分配给厂商,所以能看出是哪家造的。但这个"层次"只到厂商,和网络拓扑无关,对路由毫无帮助。教材的说法是「MAC 地址没有层次」,指的是没有拓扑层次,这一点要跟学生讲清楚。

天花板 ③:底下的网络不是同一种#

现实中的底层网络五花八门:

网络 帧的样子
以太网(有线局域网) 目的 MAC / 源 MAC / 类型 / 数据 / FCS
Wi-Fi(无线局域网,802.11) 帧控制 / 地址 1 / 地址 2 / 地址 3 / 数据 + FCS
PPP(运营商点对点链路) 7E / FF / 03 / 协议 / 信息 / FCS / 7E

字段的个数、顺序、含义全都不一样。 两个异构网络直接对接,等于两个说不同语言的人面对面——谁也听不懂谁。

教材 §4.1.2 举的例子是以太网、令牌环网、ATM、帧中继。片子里换成学生更熟的以太网 / Wi-Fi / PPP,道理完全一样:异构。


三、网络层的解法:在上面盖一层#

网络层不去改造底下的网络(那要动全世界已有的设备,根本做不到),而是在它们上面另铺一层:

  1. 统一的地址——IP 地址,与底层用的是什么网络无关;
  2. 统一的报文格式——IP 数据报,到了哪一层都能被识别。

底下怎么跑一概不管,上面看起来,全世界就成了一个网。

这就是教材里的 虚拟互连网络(virtual internetwork),也叫 IP 网。

"虚拟"两个字是重点:它并不是真的一张网,而是把许多张互不相同的物理网络"看起来"粘成一张。真实存在的是一个个具体的网络;IP 网是它们之上的抽象。

┌──────────────────────────────────────────────┐
│   统一的 IP 层(统一地址 + 统一报文格式)      │
└──────────────────────────────────────────────┘
     │              │               │
 ┌───────┐     ┌────────┐      ┌────────┐
 │ 以太网 │     │ Wi-Fi  │      │ PPP    │     ← 底下各不相同
 └───────┘     └────────┘      └────────┘

四、网络层具体做三件事#

# 工作 一句话 产物
1 编址(addressing) 给每台主机发一个带层次的逻辑地址 IP 地址
2 路由(routing) 算出从源到目的该走哪条路 路由表 / 路线图
3 转发(forwarding) 分组到了某个路由器,查表决定从哪个口出去 下一跳

路由 ≠ 转发(最容易混的一对)#

路由 routing 转发 forwarding
范围 全局:整张网的拓扑 本地:一台路由器的一个接口
时机 提前算好,周期性更新 每个分组到达时都要做
做什么 跑路由协议,算出路线 拿目的地址查表,选出口
类比 出发前规划整条路线 每到一个路口看一眼路牌

一句话:路由负责画路线图,转发负责照着图走一步。


五、为什么非要分两层地址#

MAC 地址(链路层) IP 地址(网络层)
性质 硬件地址,烧在网卡上 逻辑地址,由网络分配
作用范围 只在本地链路有效 端到端全程有效
随位置变化 不变(跟着网卡走) 换网络就得换
有没有层次 无拓扑层次 有(网络号 + 主机号)
谁在用 交换机 路由器

记住这一条:帧只在一段链路上跑,MAC 地址只在这一段有意义;IP 数据报要跑全程,IP 地址一路不变(NAT 等特殊情况除外)。

这里只点一句,不展开:分组每经过一个路由器,帧头会拆掉重装(MAC 地址换成本段的),IP 头原样不动。这正好就是"链路层管一段、网络层管全程"最直观的证据——下一集讲 IP 地址时会详细拆开看。


六、本集没讲、但要知道的#

内容 归属 说明
IP 地址的具体格式(分类 / 子网 / CIDR) §4.2 下一集
ARP:怎么用 IP 地址找到 MAC 地址 §4.2.2 后续单独一集
IP 数据报的字段 §4.2.1 后续
路由协议(RIP / OSPF / BGP) §4.5 后续
网络层提供的两种服务(虚电路 / 数据报) §4.1.1 本集回避,避免与"三件事"抢主线

七、三个自测问题#

  1. 一台主机换了个办公室、接到另一个网段,它的 MAC 地址和 IP 地址分别变不变?
  2. "路由"和"转发",哪一个每收到一个分组都要做一次?
  3. 如果全世界只用 MAC 地址通信,不用 IP 地址,最先崩掉的是什么?

参考答案:1)MAC 不变、IP 要变;2)转发;3)路由/转发表的规模——没有层次的地址无法聚合,表会大到无法维护。