做实验八那天,我们实验室三台二层交换机和一台路由器放在桌上,同组的人还在按前几次实验的路子配单臂路由,我直接把三层交换机抬上来了。实验指导书上写的是“三层交换机的VLAN配置”,很多人误以为就是把VLAN建好、端口分好就行,实际上这个实验真正要解决的,是VLAN间通信怎么在三层交换机内部完成转发。这个点搞透了,后面学路由、ACL、组播都会顺畅很多。
这个实验适合计算机网络课程学到交换机章节的同学,尤其是刚接触华为或思科设备、对VLAN概念一知半解、还没搞清楚二层交换和三层路由怎么结合的人。如果你已经会配二层VLAN,但一遇到“跨VLAN访问”就不知道怎么下手,这篇文章就是给你写的。
1. 实验思路与核心原理拆解
1.1 为什么叫“三层交换机”?它解决的是什么问题
先说一个我在实验课上反复强调的点:二层交换机只能处理数据帧的MAC地址,它不关心IP。两台电脑接在同一台二层交换机上,只要配置了同网段的IP,彼此就能通,但如果划分成了两个VLAN,二层交换机默认不会把数据从一个VLAN转发到另一个VLAN。原因很简单,VLAN就是广播域隔离,交换机在二层层面把帧挡在VLAN边界。
那VLAN间要通信怎么办?最简单的是外接一台路由器,每个VLAN出一个物理接口接到路由器上,这就是“多臂路由”,缺点是接口浪费太多,VLAN一多根本接不过来。后来流行“单臂路由”,路由器只用一个物理口,在接口下划分子接口并封装802.1Q标签,VLAN 10的报文带10的标签、VLAN 20的带20的标签,路由器看到标签就知道是哪个VLAN的数据,再根据路由表转发。
三层交换机的思路完全不同。它把路由器的转发引擎和交换机的线速转发结合到一起,在硬件里同时维护MAC地址表和路由表。收到跨VLAN的报文后,它会查路由表决定出接口,再在出接口对应的VLAN里查ARP、做二层封装,整个过程不用把报文送出去给外部路由器处理。
实验指导书里这个实验的精髓就在这里——不是“配VLAN”,而是“配VLAN并让VLAN间通信”。用三层交换机做这件事,好处是转发快、配置简单、拓扑干净,实际园区网里基本都是这个做法。
1.2 三层交换机的两种工作模式:路由口与SVI
三层交换机提供两种三层接口:一种是把物理口直接配成三层口(undo portswitch),相当于路由器的物理口,配个IP就能用;另一种是创建VLANIF逻辑接口,也就是常说的SVI(Switch Virtual Interface)。
实验里用的基本都是SVI。VLANIF接口并不是真实存在的物理口,它只是“这个VLAN对应的三层网关接口”。比如VLAN 10里有PC-1、PC-2,它们的网关都指向VLANIF 10的IP,交换机就能在VLANIF 10上响应ARP请求、做IP转发。这个过程很关键:配置VLANIF接口时,IP地址、子网掩码定了,但VLAN必须在全局存在,并且至少有一个access口加入VLAN或者有trunk放行,这个VLANIF才会真正生效。
我遇到过不少人配完VLANIF后发现接口状态是down,查了半天,最后发现VLAN 30下根本没有物理端口,VLANIF 30起不来。三层交换机不比路由器,路由器的物理口是独立存在的,而SVI必须“附着”在一个有端口的VLAN上。这个坑在实验指导书里不会写,但真机上一定会遇到。
1.3 方案选型:为什么不用路由器代替三层交换机
有人会问,实验目标既然是VLAN间通信,直接用路由器加单臂路由不行吗?行,但实验指导书特意安排这个实验,是在告诉你生产环境的做法。以我们学校实验资源来说,用的华为eNSP模拟器,里面有AR系列路由器和S5700系列交换机,两种都能跑通跨VLAN通信,但后者更贴近园区网实际。
我建议你在这个实验里还是老老实实按三层交换机的思路做。理由有三:第一,你以后去企业面试,网络岗问“VLAN间通信有哪几种方式”,三层交换机SVI是最高频答案;第二,单臂路由依赖路由器CPU转发,性能瓶颈明显,而三层交换机走硬件转发,学这个更符合实际;第三,配置命令的落点完全不同,单臂路由要在物理口的子接口上封装dot1q,
