三层交换机
三层交换机
概述
在大多数网络架构中,我们常说:交换机工作在 OSI 第二层(数据链路层),而路由器工作在第三层(网络层)。这意味着,传统交换机通过学习和转发表中的 MAC 地址来转发数据帧,而这些通信通常都局限在同一个子网(例如 192.168.10.0/24
)内。那么问题来了: 如果一个主机 192.168.10.10/24
想与另一个网段的主机 192.168.20.10/24
通信,该怎么办?通常做法是:我们把交换机接入的设备分属不同网段后,再将交换机的一个端口连接到路由器的 LAN 口。此时,当设备发现目标 IP 不在本子网内时,就会将数据包发送给默认网关——也就是路由器的这个接口。路由器接收到数据包后,利用它的路由表判断下一跳,然后通过另一个接口将数据包转发到目标网段,实现跨子网通信。
在设备数量较少的网络中,这种方式完全可行;但在大型网络场景(如校园网、企业核心网)中,问题逐渐显现:
路由器接口较少,不适合大规模汇聚;
路由器的转发是基于 CPU 软件处理,每个数据包都需要被逐条解析、处理,性能受限明显;
也就是说,如果你在核心网络中使用传统路由器进行 VLAN 间通信,在高并发、大流量场景下将成为性能瓶颈,它本身也不适合大规模网络汇聚。于是,问题的焦点转向:能不能让交换机自己“像路由器一样”处理不同网段之间的通信?答案是:普通二层交换机不行,但三层交换机可以。我们已经在另一篇文章《从交换机到 VLAN:局域网中的通信与隔离》中详细介绍了 VLAN 的基本概念——通过 VLAN,我们可以在交换机中逻辑上划分不同的广播域,实现“虚拟子网”的隔离效果。但如果想要 VLAN 之间通信,就必须跨越第三层(网络层)。这正是三层交换机诞生的意义。
三层交换机是一种融合了 传统交换机的数据链路层转发能力 和 路由器的网络层路由能力 的高性能设备。它既能像交换机一样按 MAC 地址快速转发数据帧(用于 VLAN 内部);又能像路由器一样基于 IP 地址判断目标子网,并在 不同 VLAN / 子网之间高效转发数据包。更重要的是,它的三层转发不是通过 CPU 软件处理,而是通过 硬件芯片(ASIC) 实现的,性能高得多。因此在很多校园网或大型企业网络的核心层,我们都会看到这样的结构:
- 每栋楼设置为一个 VLAN;
- 每栋楼的交换机汇聚到核心三层交换机;
- 三层交换机承担 VLAN 间的路由任务,既保证了隔离,也实现了高速通信。
也就是说,三层交换机不是交换机的“加强版”,也不是路由器的“简化版”,而是内网高性能通信的关键角色。
配置
我们结合这个例子,说明一下三层交换机的使用。在本例中构建了一个最简单的基于三层交换机的 VLAN 间通信网络结构:
- 核心是一个 Cisco 3560 三层交换机,负责连接多个 VLAN,并实现不同 VLAN 之间的数据转发;
- 三层交换机上连接了两台普通的二层交换机,分别用于教学楼和宿舍楼的接入;
- 每台二层交换机下连接一台主机:PC2 属于 VLAN 10(教学楼),IP 为
192.168.10.10
;PC3 属于 VLAN 20(宿舍楼),IP 为192.168.20.10
; - 所有主机的默认网关,都是配置在三层交换机上的虚拟网关(Switched Virtual Interface,SVI):VLAN 10 的网关为
192.168.10.1
,VLAN 20 的网关为192.168.20.1
; - 三层交换机的两个物理端口(连接二层交换机)被配置为 trunk 模式,以便允许多个 VLAN 的数据通过;
- 二层交换机的上联口也被设置为 trunk,而连接 PC 的端口则设置为 access 模式,并分配到对应的 VLAN;
- 三层交换机内部通过配置
ip routing
命令启用了三层转发功能,使其具备路由器的能力。
这种结构的优势在于:只使用一台设备(三层交换机)就完成了传统“交换+路由”的双重角色,同时避免了传统路由器基于 CPU 的转发瓶颈,提升了局域网内部通信的效率,尤其适合像校园网、企业网等大型场景中的核心汇聚层使用。
三层交换机配置
首先,我们在三层交换机中创建 VLAN 并配置虚拟接口,并开启三层转发功能:
1 | vlan 10 |
在这里,配置三层交换机的 VLAN 接口就和配置路由器的物理接口基本一模一样:
路由器接口配置 | 三层交换机 VLAN 接口配置 |
---|---|
interface g0/0 |
interface vlan 10 |
ip address ... |
ip address ... |
no shutdown |
no shutdown |
都是选中了对应接口后,设置对应接口的 IP 地址(也就是相应网段设备的网关 IP)。唯一的区别就是路由器配置的是物理端口,而三层交换机配置的是虚拟端口。no shutdown
就是将接口“启用”,也就是打开(up)接口。这是 Cisco 系统中经典的命令逻辑:
- 默认情况下,某些接口(特别是逻辑接口如
interface vlan X
)是shutdown
(关闭) 的; - 需要显式输入
no shutdown
,告诉系统“我要启用它”。
ip routing
是打开交换机的三层转发功能。
配置好了之后,当我们在三层交换机中执行 show ip route
时,就会得到:
1 | show ip route |
C
代表 Connected
,表示这是直接连接的网段;Vlan10
/ Vlan20
表示是通过 VLAN 接口连接的。
最后,我们把连接二层交换机的端口设置为 trunk
模式,以便支持不同 VLAN 间的数据转发,具体的原理在之前的博客中也进行过介绍。假设连接二层交换机的是端口 FastEthernet0/1
和 FastEthernet0/2
,那么:
1 | interface fastEthernet 0/1 |
二层交换机配置
二层交换机的配置主要就是划分 PC 接口到对应 VLAN,将连接 PC 的接口设置为 access
模式,同时将连接三层交换机的接口设置为 trunk
模式(假设是 f0/24
):
1 | interface fastEthernet 0/24 |
PC 配置
PC 手动配置连接网口的 IP 即可:
主机 | IP 地址 | 子网掩码 | 默认网关 |
---|---|---|---|
PC2 | 192.168.10.10 | 255.255.255.0 | 192.168.10.1 |
PC3 | 192.168.20.10 | 255.255.255.0 | 192.168.20.1 |
在 PC2 上执行 ping 192.168.20.10
,数据将被正确转发。
小结
项目 | 三层交换机 | 路由器 |
---|---|---|
主要角色 | 局域网内部汇聚+VLAN间通信 | 网络边界、广域网连接 |
默认接口类型 | 二层接口 | 三层接口 |
接口配置 IP | 需使用 SVI 或 no switchport | 默认支持 |
转发方式 | 硬件 ASIC,速度快 | CPU 软件路由,延迟高 |
用于 VLAN 路由 | ✅ | ✅(使用子接口) |
三层交换机以“交换机的结构”支持“路由器的功能”,适合 VLAN 丰富、通信频繁、性能敏感 的内部网络场景。简洁、快速、稳定,这正是它在现实网络部署中大放异彩的原因。