第4章:VLAN间通信的困境
说实话,VLAN这个技术刚出来的时候,大家都觉得太棒了。广播域被切小了,网络安全也提升了,管理也方便了。但很快,问题就来了——不同VLAN之间怎么通信?
你想想看,VLAN的本质就是把一个物理交换机切成多个逻辑交换机。每个VLAN都是一个独立的广播域,二层帧只能在同一个VLAN内部转发。这就好比一栋楼里隔出了好多房间,每个房间的人只能跟自己房间的人说话。那不同房间的人想交流怎么办?
嗯,这就是我们今天要聊的核心问题。
4.1 为什么二层交换机无法实现VLAN间通信
这个问题其实很基础,但我发现很多刚入行的朋友容易搞混。我直接说结论:二层交换机根本不认识IP地址。
二层交换机的工作,说白了就是查MAC地址表。它只看帧头里的目标MAC,然后决定从哪个端口转发出去。至于这个帧里封装的是哪个IP地址、属于哪个VLAN,它完全不关心。
举个例子:
- VLAN 10里的PC-A(192.168.10.1)想访问VLAN 20里的PC-B(192.168.20.1)
- PC-A发现目标IP不在自己网段,于是发送ARP请求,询问PC-B的MAC地址
- 但这个ARP请求是广播帧,交换机只在VLAN 10内部广播
- VLAN 20里的PC-B根本收不到这个请求
所以结果就是——二层交换机天生没有路由能力。它连IP头都看不懂,更别提跨VLAN转发了。
核心要点:二层交换机的转发决策基于MAC地址,而VLAN间通信需要基于IP地址的路由决策。这是本质区别。
我在项目中遇到过有人试图用二层交换机做VLAN间通信,结果折腾了半天,最后发现交换机根本不支持。嗯,这种坑踩过一次就不会再犯了。
4.2 传统解决方案:单臂路由
既然二层交换机不行,那加个路由器总可以吧?这就是单臂路由的思路。
单臂路由的原理其实很简单:
- 在路由器上创建一个物理接口,连接到交换机的Trunk口
- 在这个物理接口上划分子接口,每个子接口对应一个VLAN
- 每个子接口配置对应VLAN的网关IP地址
- 路由器负责在不同子接口之间转发数据包
配置示例(Cisco设备):
interface GigabitEthernet0/0.10
encapsulation dot1Q 10
ip address 192.168.10.254 255.255.255.0
!
interface GigabitEthernet0/0.20
encapsulation dot1Q 20
ip address 192.168.20.254 255.255.255.0
!
interface GigabitEthernet0/0
no shutdown
这样配置完,VLAN 10的设备把网关指向192.168.10.254,VLAN 20的设备把网关指向192.168.20.254。路由器收到数据包后,查路由表,发现目标网段在另一个子接口上,就直接转发过去了。
听起来挺完美的,对吧?但实际用起来,问题不少。
4.3 单臂路由的局限性
我最早接触单臂路由是在一个学校项目里。当时觉得这方案省钱又简单,结果上线后才发现各种问题。我总结了几点:
| 问题 | 具体表现 | 影响 |
|---|---|---|
| 带宽瓶颈 | 所有VLAN间流量都挤在一个物理链路上 | 流量大时直接丢包 |
| 单点故障 | 路由器或这条链路挂了,所有VLAN间通信中断 | 全网瘫痪 |
| 性能瓶颈 | 路由器既要处理路由,又要处理封装/解封装 | 延迟高,吞吐量低 |
| 扩展性差 | VLAN数量增加,子接口配置越来越复杂 | 管理成本高 |
说白了,单臂路由就是把所有鸡蛋放在一个篮子里。你想想看,一个千兆链路要承载几十个VLAN的互访流量,能不堵吗?
避坑指南:我曾经在一个视频监控项目里用了单臂路由,结果高峰期画面卡顿严重。后来一查,Trunk链路利用率飙到了95%。从那以后,超过10个VLAN的场景我坚决不用单臂路由。
还有一个容易被忽略的问题——子接口的ARP表项。每个子接口都要维护对应VLAN的ARP表,VLAN数量一多,路由器的CPU负载就上去了。我记得有一次排查故障,发现路由器CPU占用率80%以上,就是因为ARP表项太多,导致路由转发性能严重下降。
4.4 什么时候还能用单臂路由?
虽然单臂路由局限性很明显,但也不是一无是处。我个人觉得,在以下场景还是可以考虑的:
- 小型网络:VLAN数量不超过5个,流量不大
- 临时方案:设备还没到位,先顶一阵子
- 实验环境:学习测试用,成本低
但如果你问我建议,我会说:能用三层交换机就别用单臂路由。三层交换机把路由功能集成到了硬件里,转发性能比路由器高一个数量级。而且没有单点瓶颈,扩展性也好得多。
个人经验:我现在做网络设计,只要涉及VLAN间通信,首选就是三层交换机。单臂路由?嗯,除非客户预算实在紧张,否则我不会推荐。
4.5 小结
这一章我们聊了两个核心问题:
- 二层交换机为什么不行——因为它只认MAC,不认IP
- 单臂路由为什么有局限——因为带宽、性能、可靠性都是短板
下一章我们会正式进入三层交换机的世界。说实话,三层交换机才是解决VLAN间通信的终极方案。到时候我会详细讲讲它的工作原理,以及怎么配置。嗯,敬请期待。
公众号:蓝海资料掘金营,微信deep3321