三层交换机=二层交换机 + 路由器焊成一台:它既保留二层的 MAC 表(转发快),又装上三层的路由表(能跨网段),专门解决"同一台设备上不同 VLAN 之间怎么高速互通"。绝招是一次路由、多次交换——同一条数据流的第一个包走 CPU 慢速建表,之后的包全部由芯片按表线速转发。
第五章的 5.9~5.14 讲了二层交换机:看得懂 MAC、看不懂 IP,跨不了网段。第六章 6.1~6.11 讲了路由器:靠 CPU 逐包查路由表,能跨网段但这活干得慢。本节把这两条线接上——工程上早就把二者合体成一台设备。6.2 的"接口门牌"和 6.8 的"直连路由"在这里变成虚拟接口,6.11 的默认路由则决定"去互联网的包扔给谁"。
一、二层交换机的天花板:VLAN 之间过不去
5.12~5.14 讲过,二层交换机靠 VLAN 把一台设备切成几个广播域——广播被关住了,但代价是这几个网段彼此隔离。
交换机只看 MAC 地址、不看 IP,它根本没有"跨网段"这个动作。所以:
- VLAN 10 里的电脑想访问 VLAN 20 里的服务器 → 交换机不认这个需求,必须经过三层设备;
- 传统做法是单臂路由:把路由器的一个物理口切成多个子接口,让所有 VLAN 的流量都挤到这一根线、这一个 CPU 上 → 出口成了瓶颈(这就是"单臂"的由来,细线挑重担)。
需求很清楚:要有一台设备,端口多得像交换机、跨网段快得像线速。
二、三层交换机:二层的快 + 三层的懂(第一张配图)
三层交换机就是把路由功能做进交换机的芯片里:
| 二层交换机 | 路由器 | 三层交换机 | |
|---|---|---|---|
| 看什么 | MAC | IP | 两张表都看 |
| 跨网段 | 不能 | 能 | 能 |
| 转发引擎 | 硬件 | CPU + 软件 | 硬件(ASIC) |
| 端口特点 | 多、纯 LAN | 少、有 WAN 口 | 多、主要是 LAN 口 |
关键实现:给每个 VLAN 配一个虚拟接口(SVI,Switch Virtual Interface)——它就是这个 VLAN 的网关地址。于是:
- VLAN 10 的电脑网关 = SVI 10,VLAN 20 的电脑网关 = SVI 20,两个网关都在同一台机器里;
- 流量从 VLAN 10 到 VLAN 20,在机内完成"进三层、查表、出三层",不用走出设备再绕回来;
- SVI 只要配好 IP 和掩码,就自动生成一条直连路由(6.8)——所以三层交换机的路由表里,通常全是一个个这样的直连网段。
一句话对照:6.2 说"每个接口一张门牌",三层交换机只是把物理接口换成了虚拟接口,规矩没变。
三、绝招:一次路由、多次交换(第二张配图)
既然路由是"慢活",为什么三层交换机还快?靠的是把路由一次性做完。
- 第 1 个包(同一条数据流):送到 CPU,软件逐行查路由表(6.3 的完整流程),算完后把结果写进一张硬件转发表;
- 之后的包:硬件直接按转发表出手,不再打扰 CPU;
- 转发表项有老化时间——和 5.14 的 MAC 表一个思想:老不用就清掉,下次再重算。
所以同一台设备上:
- 路由(决定"这条流该往哪走")只做了 1 次;
- 交换(按结果把包搬过去)做了 无数次,全是硬件线速。
这也是"三层交换机"这名字的来源:干三层的活,用二层的方式实现。
四、它和路由器怎么分工?
两者不是替代关系,是位置不同、强项不同:
| 项目 | 路由器 | 三层交换机 |
|---|---|---|
| 强项 | 连接不同网络:NAT、拨号、VPN、策略、防火墙 | 局域网内部高速跨网段:VLAN 间路由 |
| 端口 | 少(常 2~8 个),有 WAN 口 | 多(24~48+ 个),几乎全是 LAN 口 |
| 转发 | CPU 软件,功能全但慢 | ASIC 硬件,快但功能固定 |
| 典型位置 | 网络出口(接运营商) | 楼宇/机房的汇聚、核心 |
配合方式:内网里各 VLAN 之间的高速流量交给三层交换机;要去互联网的流量,由三层交换机的默认路由 0.0.0.0/0(6.11)扔给出口路由器,路由器再做 NAT(3.14)送出去。
顺带一提:家里的无线一体机其实就是个迷你合体版——二层交换(LAN 口互通)+ 路由(NAT、默认路由)+ 无线 AP,三样装在一个盒子里。
五、动手 Demo82:怎么认出三层交换机
家里没有三层交换机也能把这节落地。
Win+R→cmd→ 回车,敲arp -a—— 你会看到邻居只有同一网段的地址。跨网段的通信在你这儿根本看不见邻居,因为被三层设备代理了;这条网段的边界真实存在,守住它的就是那台三层设备。- 敲
tracert 223.5.5.5,第一跳就是你家网关(6.1 学过)。这个地址既在交换机侧(LAN 口互通)又在路由侧(做 NAT 出网)——一台设备同时干两层活,这就是三层设备的雏形。 - 登录家用路由器管理页(6.2 Demo72):找"LAN 口设置"(那是二层的口)和"路由表/静态路由"(那是三层的表)——两张东西在同一台设备上,就是本节说的合体。
- 如果你能碰单位/学校的交换机(需要账号),敲两条命令对比:
show mac address-table→ 有表:二层功能在;show ip route→ 也有表:三层功能也在 = 三层交换机。只有前者是二层交换机,只有后者是路由器。- 全部完成。你现在能说清:三层交换机为什么能跨网段、又为什么比路由器跨得快。
六、常见误区
- "三层交换机就是更高级的路由器"——各有取舍:它一般没有 WAN 口、NAT 与复杂策略偏弱;路由器转发则没那么快。强项不同,不是等级高低。
- "有了三层交换机就不需要路由器了"——出口那一环还得靠路由器:拨号拿公网地址、NAT 转换(3.14)是它的活。
- "三层交换机不做二层的事"——MAC 表还在、学习/泛洪/老化照旧。它首先是一台二层交换机,只是多装了个路由引擎。
- "VLAN 之间本来就能通"——不能。二层设备跨不了广播域,VLAN 间通信必须有三层设备参与(三层交换机或路由器)。
- "跨网段的流量都会走它"——只有局域网内部的网段间流量由它本地兜;去互联网仍然走默认路由扔给出口路由器(6.11)。
- "三层交换机的路由表也得人工写很多条"——它的表里绝大多数是直连路由自动生成(6.8):每个 SVI 配好就自动出现一条,远方的路才需要静态或动态路由(6.9)。
七、动手自测
点开自测(先自己答,再展开)
1. 二层交换机为什么跨不了网段? 2. 三层交换机"同时具备"的是哪两项功能? 3. SVI 是什么?它在 6.2 的语境里相当于什么? 4. "一次路由、多次交换"具体指哪两步? 5. 三层交换机为什么比路由器跨网段快?靠什么硬件? 6. 三层交换机和路由器在位置上怎么分工? 7. 转发表项会老化,让你想到第五章哪个机制? 8. 内网各 VLAN 之间的流量、去互联网的流量,分别由谁负责? 9. 为什么"有了三层交换机就不需要路由器"是错的?至少说出两条路由器独有或更强的能力。 10. 在两台设备上敲哪两条命令可以判断它是不是三层交换机?答案:① 它只看 MAC 表、不看 IP,没有"跨网段"这个动作,VLAN 之间被隔离。② 二层的交换(MAC 转发)+ 三层的路由(按 IP 跨网段)。③ SVI=VLAN 虚拟接口,是该 VLAN 的网关;相当于 6.2 说的"接口门牌",只是从物理接口换成了虚拟接口。④ 第 1 个包送到 CPU 软件查路由表并生成硬件转发表(一次路由);之后的包由硬件直接查转发表转发(多次交换)。⑤ 转发靠 ASIC 芯片硬件化处理,不用 CPU 逐包软件计算。⑥ 路由器守网络出口(接运营商、NAT、拨号),三层交换机守局域网内部(汇聚/核心,做 VLAN 间高速路由)。⑦ 5.14 的 MAC 地址表老化:长时间不用就清掉,需要时再学。⑧ VLAN 间流量由三层交换机本地完成;去互联网的流量由它的默认路由扔给出口路由器,再由路由器做 NAT。⑨ 路由器有 WAN 口、支持拨号拿公网地址、做 NAT(3.14),还能跑 VPN、防火墙与策略;三层交换机这些功能通常缺失或很弱。⑩ show mac address-table(二层表)+ show ip route(三层表),两张都出得来就是三层交换机。
八、下一步学什么
- ☑ 6.13(按教材顺序) —— 使用二层交换机切分网络(VLAN) ✅ 已完成:本节说"VLAN 之间必须过三层",下一节就把 VLAN 本身讲透——怎么用一台二层交换机切出多个广播域,以及那个让帧长变成 1522 的 4 字节标签。
相关笔记
- 使用二层交换机切分网络(VLAN) —— 下一节:VLAN 怎么把一台二层交换机切成多台
- 创建以太网网络(二层交换机) —— 二层的本事从这里来:看 MAC、不看 IP
- MAC地址表的管理(MAC地址表) —— 转发表与 MAC 表都靠老化维持新鲜
- 用路由器连接网络时的地址设置(网络的连接) —— "每接口一张门牌"在这里变成虚拟接口 SVI
- 路由器所掌握的网络信息(路由表) —— 路由表这张地图,三层交换机也要装一份
- 路由表中最基本的信息(直接连接) —— 每个 SVI 配好 IP 就自动长出一条直连路由
- 高度压缩路由信息的终极方法(默认路由) —— 三层交换机去互联网靠的还是它的默认路由
- 从私有网络到互联网间的通信(NAT) —— 出口的 NAT 仍是路由器的活,三层交换机不接手