1. 单臂路由实验思路:为什么这个老技术还值得亲手做一遍
做网络工程或者刚入行运维的朋友,对“单臂路由”这个词应该都不陌生。它几乎是所有网络教程里必讲的一个实验,也是我在带新人时一定会让他们动手做的基础实验之一。简单来说,单臂路由,英文叫Router-on-a-Stick,是一种用一台路由器、一条物理链路,就能实现不同VLAN之间三层互通的技术方案。
你可能会有疑问:现在企业里动不动就是三层交换机,VLAN间路由用交换机上配个SVI(交换虚拟接口)就搞定了,为什么还要折腾路由器?这个问题的答案恰恰是这个实验存在的价值。单臂路由解决的是“没有三层交换机,或者不想让交换机承担三层转发压力”时的场景。比如你手头只有一台老旧的路由器,再配一台普通的二层交换机,想让两个VLAN内的电脑能互相访问,单臂路由就是成本最低、最容易理解的方案。
而且从学习角度讲,单臂路由实验是理解“VLAN标签怎么在链路上传递”“子接口是什么”“802.1Q封装到底做了什么”这些核心概念的最佳入口。我见过不少新人,VLAN和Trunk的概念背得滚瓜烂熟,但一问到“不同VLAN的包到底是怎么穿过Trunk链路去找网关的”就卡壳。亲手做完单臂路由实验,这个链路就通了。
这个实验适合谁来练手?我认为所有网络方向的学生、刚入行的网络运维、以及准备考HCIA或CCNA认证的朋友,都应该在模拟器里完整做一遍。哪怕你所在的公司用不到这个技术,理解它的原理对你排查网络故障也有很大帮助。毕竟生产环境里偶尔还能碰到一台路由器作为VLAN网关的奇葩组网,原理不懂,出问题的时候你连排查方向都没有。
我自己当年学这个实验的时候,网上资料虽然多,但大多是直接甩配置命令,基本不讲为什么。这次我把实验重新梳理了一遍,从整体设计、子接口原理、具体配置到故障排查,用我的实际经验把整个过程讲透。
2. 实验拓扑设计与VLAN规划:动手前先想清楚这几个问题
2.1 实验需要哪些设备和基础拓扑
做这个实验,首先得有一台路由器、一台二层交换机,还有至少两台PC用来测试不同VLAN之间的连通性。我用的模拟器是Cisco Packet Tracer,版本无所谓,7.x就行。你要是用EVE-NG或者GNS3,拿真实IOS镜像做也是一样的道理,命令完全通用。
拓扑结构很简单,我画了个最经典的接法:
- PC1接在交换机的FastEthernet0/1口,属于VLAN 10,IP地址规划为192.168.10.0/24网段。
- PC2接在交换机的FastEthernet0/2口,属于VLAN 20,IP地址规划为192.168.20.0/24网段。
- 交换机的FastEthernet0/24口作为Trunk口,连接路由器的GigabitEthernet0/0接口。
- 路由器上不做物理接口的IP配置,而是把这个物理接口划分成两个子接口:G0/0.10和G0/0.20,分别对应VLAN 10和VLAN 20的网关。
这里要特别提醒一点,两个PC要设置好各自的默认网关。PC1的网关是192.168.10.1,PC2的网关是192.168.20.1。为什么一定要设网关?因为PC发出跨网段通信的包时,它会发现目标IP和自己的IP不在同一个网段,于是直接把包扔给默认网关。如果不设置网关,哪怕路由器配置得再完美,数据包也到不了路由器,实验必失败。这个看似基础的点,我在帮人排查问题的时候发现至少有三分之一的情况是栽在这里。
2.2 为什么必须用Trunk链路而不是Access链路
很多新手在搭这个拓扑时会犯一个根深蒂固的错误:觉得交换机的F0/24连的是路由器,配成Access口不就行了?这里面的关键理解在于:交换机连接路由器的这条链路,必须同时承载VLAN 10和VLAN 20两个VLAN的流量。
如果把它配成Access口并划到某个VLAN,那交换机在往这个端口发送数据帧时,会把这个端口所属VLAN的标签给剥掉,其他VLAN的流量根本就不会从这台口上发出去。这就意味着,要么只有VLAN 10能跟路由器通信,要么只有VLAN 20能通信,永远不可能做到两个VLAN都通。
所以这条链路必须是Trunk口。Trunk口的作用是允许多个VLAN的流量通过,并且数据帧在穿过这条链路时保持802.1Q的VLAN标签不剥离。路由器收到这些带标签的数据帧后,才能根据标签判断这个包属于哪个VLAN,再交给对应的子接口去处理。
交换机上F0/24的配置如下:
interface FastEthernet0/24 switchport mode trunk switchport trunk allowed vlan 10,20需要说明的是,在Cisco交换机上,只要这条链路两端的设备都支持DTP(动态中继协议),你直接配switchport mode trunk就行,它会自动协商。有些老设备会出现协商不上的情况,稳妥一点的做法是把对端也手动指定为trunk模式。当然这里对端是路由器,路由器接口没有trunk概念,只有子接口的封装配置,所以交换机这边手动指定trunk就对了。
2.3 VLAN划分和IP地址规划明细
这个实验里VLAN和IP的规划我按照最常见的做法来定:
| 设备 | 所属VLAN | IP地址 | 网关 | 说明 |
|---|---|---|---|---|
| PC1 | VLAN 10 | 192.168.10.10/24 | 192.168.10.1 | 模拟办公网段 |
| PC2 | VLAN 20 | 192.168.20.10/24 | 192.168.20.1 | 模拟研发网段 |
| 路由器子接口G0/0.10 | VLAN 10 | 192.168.10.1/24 | 无 | VLAN 10网关 |
| 路由器子接口G0/0.20 | VLAN 20 | 192.168.20.1/24 | 无 | VLAN 20网关 |
其实IP地址用什么都行,只要两个网段不冲突,并且网关地址和路由器子接口地址一致即可。但强调一下,规划的时候一定要考虑后面的扩展。比如你把PC1的IP配成192.168.1.10,PC2配成192.168.2.10,网段之间差别不够直观,排查的时候就容易看得眼花缭乱。建议直接用10、20这种和VLAN编号对应的网段,一眼就能看出哪个IP属于哪个VLAN,省去很多麻烦。
3. 子接口与802.1Q封装:单臂路由最核心的原理拆解
3.1 什么是路由器的子接口
路由器上我们通常配置的是物理接口,比如GigabitEthernet0/0。但如果我们直接把物理接口划到一个IP网段里,它就只能作为这一个网段的网关。要让一个物理接口同时承担多个网段的网关职责,就得把这个物理接口“分裂”成多个逻辑接口,这就是子接口。
子接口的编号规则是“物理接口编号.子接口编号”,比如G0/0.10、G0/0.20。它不是一个真实的物理插槽或端口,而是路由器内部创建的一个逻辑处理单元。每个子接口可以独立配置IP地址,也可以独立封装不同的VLAN标签。数据帧到达物理接口后,路由器会根据帧里携带的802.1Q标签值,决定把它交给哪个子接口去处理。
这在概念上很像在一间办公室里隔出不同的工位区域,物理空间是同一个房间(物理接口),但每个区域各干各的活(子接口)。数据帧就像走进这间办公室的人,门口的保安看一眼他身上贴的标签(VLAN ID),就告诉他去哪个区域报到。
3.2 802.1Q标签的作用与封装过程
802.1Q,也叫Dot1Q,是一种在以太网帧中插入VLAN标签的协议标准。标准以太网帧本来没有VLAN字段,802.1Q在源MAC地址和类型/长度字段之间插入了4个字节,其中用12个比特位来标识VLAN ID,取值范围是0到4095。
交换机在Access口收到PC发来的普通数据帧时,会打上这个端口所属VLAN的802.1Q标签。这个带标签的帧通过Trunk口传给路由器。路由器物理接口收到后一看,帧里有标签,就知道这是VLAN 10的帧,于是把它交给配置了encapsulation dot1Q 10的子接口G0/0.10来处理。子接口解封装后,取出里面的IP包,查路由表,发现目标网段192.168.20.0/24是直连网段(通过子接口G0/0.20),于是把数据包重新封帧,从G0/0.20转发出去。
VLAN 20那边的PC收到回复包后,整个流程反过来再来一遍。这就是单臂路由实现VLAN间通信的完整数据面过程。关键点在于,每次转发都要经过“剥标签→查路由→重新打标签”的过程。
3.3 路由器如何区分不同VLAN的数据帧
路由器区分不同VLAN的数据帧,靠的就是帧里的802.1Q标签。这也是为什么子接口上必须配置encapsulation dot1Q vlan-id这条命令。这条命令是在告诉路由器:“当物理接口收到标签为X的帧时,请交给本子接口处理”。
有个很常见的错误做法是只配IP不配封装。比如你在子接口G0/0.10上配置了IP 192.168.10.1,但忘了敲encapsulation dot1Q 10。结果就是路由器根本不认这个子接口,因为物理接口收上来的帧带着VLAN 10的标签,但路由器不知道VLAN 10的帧应该匹配哪个子接口。数据包到了路由器就被丢弃,你ping不通,查配置发现IP看着好像没问题,非常容易卡在这一步,排查半天查不出来。
封装命令的格式在不同厂商设备上略有差异。Cisco上是encapsulation dot1Q 10,华为上是dot1q termination vid 10,但逻辑完全一样。理解了这个原理,你在任何厂商设备上都能快速上手。
4. 单臂路由完整配置过程与验证方法
4.1 交换机配置步骤
先说明一下,我这里全程用Cisco Packet Tracer里的设备做演示。你们在真机上操作时的命令顺序可以稍有不同,但核心内容一样。
交换机上的配置很简单,一共三部分:创建VLAN、划分接口到VLAN、配置Trunk口。
第一步,创建VLAN 10和VLAN 20:
vlan 10 name VLAN10 vlan 20 name VLAN20第二步,把F0/1划分到VLAN 10,F0/2划分到VLAN 20:
interface FastEthernet0/1 switchport mode access switchport access vlan 10 interface FastEthernet0/2 switchport mode access switchport access vlan 20第三步,配置F0/24为Trunk口:
interface FastEthernet0/24 switchport mode trunk switchport trunk allowed vlan 10,20这里有个小细节,在Packet Tracer里,交换机的switchport trunk allowed vlan这条命令,默认情况下Trunk口是允许所有VLAN通过的。所以如果你不写这条命令,其实Trunk口也能转发VLAN 10和VLAN 20的流量。但显式地把它写出来,第一是为了安全,避免其他VLAN的流量意外跑到路由器上;第二,也是更重要的,是让你自己清楚这条Trunk链路到底承载了哪些VLAN。生产环境里我强烈建议你这样做,有些网络工程师图省事,所有Trunk口都保留默认的allow all,安全审计的时候这就是一个妥妥的批评点。
另外提醒一下,Cisco交换机如果要对端是路由器,建议在F0/24上加上switchport nonegotiate。不然交换机可能会一直向路由器发送DTP协商帧,虽然路由器收到后不会回应,不会导致故障,但没有必要让这些无用的协商帧在链路上跑着玩。
4.2 路由器子接口配置步骤
路由器上的配置是这个实验的精华所在。先说物理接口,再创建子接口。
物理接口需要做的就是把它开启,并且不要配置IP地址:
interface GigabitEthernet0/0 no shutdown有人可能会问,为什么不给物理接口配IP?因为物理接口的职责只是接收和发送带标签的数据帧,它本身不承担三层网关的功能,所以不需要IP。真正干活的是子接口。
接下来创建子接口G0/0.10,对应VLAN 10:
interface GigabitEthernet0/0.10 encapsulation dot1Q 10 ip address 192.168.10.1 255.255.255.0再创建子接口G0/0.20,对应VLAN 20:
interface GigabitEthernet0/0.20 encapsulation dot1Q 20 ip address 192.168.20.1 255.255.255.0这就完成了。核心命令就这四条。但这里有几个我踩过的坑,逐一说给你听。
第一个坑:配置子接口时,很多人会顺手在物理接口上配置了IP地址。一旦物理接口有了IP,子接口就算配置了也没用。因为路由器的路由表里,物理接口直连的那个网段会影响整个选路逻辑,而且数据帧在物理接口上直接就被处理了,压根不会按照标签分给子接口。所以记住,物理接口上坚决不配置IP。
第二个坑:子接口没有开启和关闭的概念,它随物理接口。只要物理接口是up的,子接口就是up的。所以如果你想重启子接口,只需要对物理接口执行shutdown再no shutdown即可。
第三个坑:在Cisco路由器上,子接口默认不会启动。虽然你创建了子接口,但如果你不敲encapsulation dot1Q命令,这个子接口就不会转发任何数据流量。这也是很多人配置完发现ping不通时容易忽略的点。你查show ip interface brief,子接口状态是up,但就是不通,原因往往就是没封装VLAN或封装错了编号。
4.3 连通性验证与常用排查命令
配置完成后,怎么验证实验是否成功?我建议按以下顺序层层验证。
第一步,验证接口状态。在路由器上执行show ip interface brief,输出里应该能看到G0/0.10和G0/0.20都是up/up状态。如果显示down/down或者up/down,那说明物理链路有问题,或者子接口封装配置有问题。顺便看一眼PC的网卡状态是否正常,ARP能不能解析到网关。
第二步,验证PC到网关的连通性。在PC1上ping 192.168.10.1,这测试的是PC1能不能到自己的网关。如果这一步不通,别急着看路由器配置,先检查PC1的IP地址和网关是否配对了,再检查交换机F0/1是否划到了正确的VLAN。我遇到过很多次,配置半天发现是PC的IP和网关不在同一个网段,纯属手误。
第三步,验证跨VLAN通信。在PC1上ping 192.168.20.10。如果通了,实验就成功了。如果不通,那你需要在路由器上抓包或者进一步排查。
还有一个反向验证的思路也特别好用。你可以在交换机上查看MAC地址表,执行show mac address-table。正常情况下,在PC1 ping完PC2之后,你应该能看到交换机的F0/24口上学习到了路由器的MAC地址,而且这个MAC地址出现在多个VLAN的表项里。这就证明Trunk链路确实在承载多个VLAN的流量。
4.4 华为设备配置参考
现在国内很多企业用华为设备,我把华为的配置命令也贴出来,方便你们对照学习。逻辑完全一样,只是语法不同。
交换机上的配置:
vlan batch 10 20 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20路由器上的配置:
interface GigabitEthernet0/0/0.10 dot1q termination vid 10 ip address 192.168.10.1 255.255.255.0 arp broadcast enable interface GigabitEthernet0/0/0.20 dot1q termination vid 20 ip address 192.168.20.1 255.255.255.0 arp broadcast enable华为路由器上有一句arp broadcast enable,很多教程里都会提到。这是因为华为路由器子接口默认不处理广播报文,而ARP请求就是广播报文。如果不开启这个功能,PC发ARP请求想解析网关MAC地址的时候,路由器收到广播包会直接丢弃,PC永远学不到网关的MAC,无法通信。Cisco设备上默认允许子接口处理广播,所以没有这个问题。这个差异点很值得记下来,跨厂商排查时非常有用。
5. 实验中的核心原理复盘:数据帧在单臂路由中的完整流转路径
实验做完,连通性也验证通过了,如果你只是到这里就收工,那这个实验的学习价值就少了一大半。真正要理解的是PC1和PC2通信时,数据帧在每一条链路上到底是什么样子的。
我把完整的数据流转路径拆解一遍,你跟着走一遍,很多概念就能串起来了。
第一步,PC1发起ping 192.168.20.10。PC1检查自己的IP和目标的IP,发现不在同一个网段(一个是192.168.10.0/24,一个是192.168.20.0/24),于是它决定把数据包发给默认网关192.168.10.1。PC1需要知道网关的MAC地址,于是发送ARP请求广播,询问“谁是192.168.10.1”。
第二步,这个ARP请求广播帧从PC1发出,到达交换机F0/1口。交换机发现F0/1属于VLAN 10,于是给这个帧打上VLAN 10的标签,然后在VLAN 10内部泛洪。由于F0/24是Trunk口且允许VLAN 10通过,这个带VLAN 10标签的帧通过Trunk链路发到了路由器G0/0物理接口。
第三步,路由器物理接口收到这个带VLAN 10标签的帧,根据标签值10,把它交给子接口G0/0.10。子接口G0/0.10处理完ARP请求,把自己的MAC地址作为应答返回。回程的ARP应答帧从路由器发出时,同样带着VLAN 10的标签,经过交换机后,交换机在F0/1口把标签剥掉,以普通数据帧的形式交给PC1。此时PC1已经学到了网关的MAC地址。
第四步,PC1发出真正的ICMP Echo Request包,目的MAC是网关MAC,目的IP是192.168.20.10。这个包同样被交换机打上VLAN 10标签,通过Trunk链路传给路由器,最终交给G0/0.10子接口。
第五步,G0/0.10子接口剥掉VLAN 10标签,取出里面的IP包,查询路由表。路由表里有两个直连网段,192.168.10.0/24在G0/0.10,192.168.20.0/24在G0/0.20。目标地址192.168.20.10匹配第二个网段,所以路由器把数据包从G0/0.20子接口转发出去,封装VLAN 20标签,从物理接口发出。
第六步,交换机从F0/24口收到这个带VLAN 20标签的帧,由于F0/2属于VLAN 20,交换机把标签剥掉,把原始帧从F0/2口发给PC2。PC2收到ICMP Echo Request,发现目标IP就是自己,于是回复Echo Reply。回程路径完全对称。
整个流程走完,你会发现单臂路由的一个很明显的特性:南北向流量(PC到网关)和东西向流量(PC到PC)全部都要经过路由器。而不像三层交换机那样,可以在交换机内部直接完成VLAN间转发。这既是单臂路由的优势(简单、低成本),也是它最大的瓶颈(所有流量绕一圈,路由器成了性能瓶颈)。所以生产环境里单臂路由通常只用于流量较小的场景,大流量场景基本不会用。但这个实验的原理,和三层交换机内部转发数据包的方式高度相似,把单臂路由吃透了,你理解三层交换的硬件转发逻辑会容易很多。
6. 单臂路由实验的扩展思考与常见误区
6.1 单臂路由和三层交换机选哪个
做实验的时候可以顺便思考一个生产层面的问题:什么情况下用单臂路由,什么情况下应该用三层交换机?
我的经验是,如果只是临时组网、实验室环境,或者路由器本来就是网络中的核心设备而且性能足够强,那单臂路由完全够用。但如果网络中东西向流量非常大,比如两个VLAN之间有大量文件共享、数据库访问,那单臂路由就不合适了。因为所有流量都要在路由器的子接口之间走一遍,路由器CPU就会成为瓶颈。
而三层交换机直接查硬件转发表(如Cisco的CEF表项)转发,不经过CPU,转发性能是路由器望尘莫及的。所以在正经的生产环境中,VLAN间路由基本都用三层交换机上的SVI接口来实现,单臂路由更多是在特定场景下作为补充或者备份方案存在。
但这不意味着单臂路由不值得学。实际上,理解单臂路由的数据帧流转过程,是理解三层交换机SVI转发过程的绝佳铺垫。三层交换机SVI的转发逻辑本质上和单臂路由一模一样,区别只是转发引擎一个是硬件一个是软件,处理位置一个在交换机内部一个在外接路由器。你看懂一个,另一个就通了。
6.2 实验中最常见的三个配置错误
这个实验我帮人排查过很多次,最常遇到的问题集中在下面三个地方。
第一个是Trunk链路没有正常建立。你配了switchport mode trunk,但可能因为DTP协商失败,链路实际还是以Access模式在工作。验证方法是在交换机上执行show interfaces trunk,看Trunk口是否列出。如果输出为空,说明Trunk没起来,这时候要么手动指定两端都为trunk,要么检查有没有打错接口编号。
第二个是VLAN封装编号和交换机上的VLAN划分对不上。比如交换机里VLAN 10在F0/1口,但路由器子接口上封装的是encapsulation dot1Q 20,那PC1发的帧到路由器后会被交给G0/0.20,和G0/0.10的IP完全不搭,通信自然失败。排查时在路由器上执行show dot1q vlan或者show vlans,可以清晰看到每个子接口对应了哪个VLAN ID,一眼就能对照出问题。
第三个是PC的网关设置错误。这个虽然看起来入门,但在紧急排查时经常被忽略。PC1的网关必须是192.168.10.1,PC2的网关必须是192.168.20.1。你要是把PC2的网关也填成192.168.10.1,那PC2发出的包会被扔给一个不属于它网段的网关,路由器收不到也回不了,整个实验必然失败。务必在配置前就把IP规划表列好,哪个网段配哪个网关,一目了然。
6.3 扩展到802.1Q VLAN间路由的更多变体
单臂路由实验做完后,如果想继续深入,可以再做两个变体实验。
第一个变体是“Trunk上只允许特定VLAN”。在上面的实验里,交换机F0/24的Trunk口如果没有显式限制VLAN,默认会允许所有VLAN通过。你可以尝试在Trunk口上限制只允许VLAN 10通过,然后观察VLAN 20还能不能和路由器通信。这个实验能帮你理解allowed vlan的实际作用,以及Trunk链路两端的VLAN许可列表为什么要严格对齐。
第二个变体是“在真实路由器上增加一个VLAN 30两个网段的互通”。比如再增加一个VLAN 30,网段192.168.30.0/24,交换机上新建VLAN 30,F0/3口加入VLAN 30,路由器上新建子接口G0/0.30并封装dot1Q 30,然后验证三个VLAN两两互通。这个扩展非常有价值,因为它能验证你对子接口配置的理解是不是举一反三,而不是背命令。
6.4 实验后的思考题
我给你们留三道思考题,能把这几个问题答清楚,说明你是真的理解了这个实验,而不只是跟着教程敲了一遍命令。
第一个问题:如果交换机的Trunk口上不允许VLAN 20通过,但VLAN 20里的PC配置的网关是192.168.20.1(也就是路由器子接口G0/0.20),那VLAN 20的PC能ping通自己的网关吗?答案是不能。因为Trunk链路不允许VLAN 20的标签通过,VLAN 20的ARP请求压根到不了路由器。这个问题考察的是Trunk链路和VLAN标签的联动关系。
第二个问题:如果路由器上有多个子接口,但交换机Trunk口只允许了部分VLAN通过,那其他VLAN的子接口状态显示是什么?在Cisco路由器上执行show ip interface brief,你会发现那些没有流量到达的子接口可能显示为up/up,但实际是“假活”。因为子接口是否up取决于物理接口状态,而和有没有流量无关。这个问题考察的是接口状态和业务连通性之间的本质区别。
第三个问题:如果PC1要ping一个公网地址(比如8.8.8.8),在路由器上配置了默认路由指向运营商的前提下,单臂路由能否把这个包送出去?可以。PC把包发给网关192.168.10.1,路由器在路由表里查找目标地址,匹配默认路由,从出接口转发出去。这里有个容易忽略的配置点,如果路由器上还配置了NAT,需要保证NAT匹配的ACL没有搞错内网网段范围。这个问题是把单臂路由和外网通信结合起来思考,对后面学NAT非常有帮助。
7. 写在最后的一些实操心得
这个实验我在学习阶段做过至少五六遍,后来带新人也带他们做过很多遍。每次做完都有新的体会,最后说几个我自己的经验总结。
第一,模拟器里做实验,没问题不代表真机上就没问题。Packet Tracer对很多细节做了简化处理,比如DTP协商、STP收敛这些过程,模拟器上基本感知不到。有条件的话,建议在真机或者GNS3/EVE-NG的完整IOS镜像里再做一遍,那种感觉是完全不一样的。
第二,这个实验最大的价值在于让你彻底理解VLAN标签的来龙去脉。很多人在配置完单臂路由后,对“交换机给数据帧打标签、路由器剥标签重新打标签”这个过程还是模模糊糊的。我建议你在Packet Tracer的模拟模式下,把ICMP包从PC1到PC2的整个过程逐帧看一遍,观察每个帧在每条链路上是否有VLAN标签、标签值是多少。这个操作能帮你把实验里所有抽象的概念全部落地。
第三,做网络实验一定要养成“先规划再动手”的习惯。别一上来就敲命令,先把拓扑画出来、把IP地址和VLAN规划表写出来、把预期结果写下来,然后再配置。这样出了问题,你能很快定位到是哪一步没配置对。这个习惯在生产环境的网络割接和变更中尤其重要,我见过的很多事故,根源都是动手前没有规划清楚。
单臂路由虽然是个老技术,但它承载着VLAN、Trunk、802.1Q封装、子接口、路由转发这一整套核心知识的串联任务。踏踏实实把这个实验做明白,你的网络基础就算是真正扎稳了。如果这个实验做完还有余力,下一步我建议你把三层交换机上的SVI配置实验再做一遍,对比一下两套方案各自的特点和适用场景,这会对你的整体网络架构思维提升非常有帮助。