使用物理接口的传统 VLAN 间路由具有明显的限制。 路由器上连接不同 VLAN 的物理接口数量有限。 当网络上 VLAN 数量增加时,如果每个 VLAN 上都有一个物理路由器接口,那么就会很快耗尽路由器上物理接口的容量。 在更大的网络中,替代办法是使用 VLAN 中继和子接口。 VLAN 中继允许单个物理路由器接口为多个 VLAN 路由流量。 此技术被称为单臂路由器,它是使用路由器上的虚拟子接口来克服基于物理路由器接口的硬件局限。

子接口是基于软件的虚拟接口,可分配到各物理接口。 每个子接口上分别配置有各自的 IP 地址和子网掩码。 这使单个物理接口可以同时属于多个逻辑网络。

使用单臂路由器模式配置 VLAN 间路由时,路由器的物理接口必须与相邻交换机的 TRUNK 链路相连。 在路由器上,子接口是为网络上每个唯一 VLAN 而创建的。 每个子接口会分配专属于其子网/VLAN 的 IP 地址,同时也为了便于为该 VLAN 标记帧。 这样,路由器可以在流量通过 TRUNK 链路返回交换机时区分不同子接口的流量。

从功能上说,单臂路由器模式与传统 VLAN 间路由模式是相同的,但这一模式使用单个物理接口的子接口执行路由,而不是使用物理接口。

图中,PC1 需要与 PC3 通信。 PC1 在 VLAN 10 中,PC3 在 VLAN 30 中。 为实现 PC1 与 PC3 之间的通信,PC1 需要使用路由器 R1 经由子接口路由数据。

单击图中的“播放”按钮,观看如何利用子接口在 VLAN 之间进行路由。 动画暂停时,请读取拓扑左侧的文本。 再次单击“播放”,继续观看动画。

使用 TRUNK 链路和子接口能减少所使用的路由器和交换机端口的数量。 这样,不仅节约了成本,还降低了配置的复杂性。 因此,相对于每个 VLAN 配置一个物理接口的配置设计,配置路由器子接口更适合有许多 VLAN 的网络。