三层交换机

三层交换机

概述

在大多数网络架构中,我们常说:交换机工作在 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 间的路由任务,既保证了隔离,也实现了高速通信。

也就是说,三层交换机不是交换机的“加强版”,也不是路由器的“简化版”,而是内网高性能通信的关键角色。

配置

image-20250510214401231

我们结合这个例子,说明一下三层交换机的使用。在本例中构建了一个最简单的基于三层交换机的 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
2
3
4
5
6
7
8
9
10
11
12
13
14
vlan 10
name Teaching
vlan 20
name Dorm

interface vlan 10
ip address 192.168.10.1 255.255.255.0
no shutdown

interface vlan 20
ip address 192.168.20.1 255.255.255.0
no shutdown

ip routing

在这里,配置三层交换机的 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
2
3
4
5
6
7
8
9
10
11
12
13
show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

C 192.168.10.0/24 is directly connected, Vlan10
C 192.168.20.0/24 is directly connected, Vlan20

C 代表 Connected,表示这是直接连接的网段;Vlan10 / Vlan20 表示是通过 VLAN 接口连接的。

最后,我们把连接二层交换机的端口设置为 trunk 模式,以便支持不同 VLAN 间的数据转发,具体的原理在之前的博客中也进行过介绍。假设连接二层交换机的是端口 FastEthernet0/1FastEthernet0/2,那么:

1
2
3
4
5
interface fastEthernet 0/1
switchport mode trunk

interface fastEthernet 0/2
switchport mode trunk

二层交换机配置

二层交换机的配置主要就是划分 PC 接口到对应 VLAN,将连接 PC 的接口设置为 access 模式,同时将连接三层交换机的接口设置为 trunk 模式(假设是 f0/24):

1
2
interface fastEthernet 0/24
switchport mode trunk

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 丰富、通信频繁、性能敏感 的内部网络场景。简洁、快速、稳定,这正是它在现实网络部署中大放异彩的原因。

EYBVv6eW1TOeCOsmAms3uZYI%3D