3. VLAN与Trunk:VLAN原理、Access与Trunk端口、VLAN间路由
各位同学,咱们今天聊聊VLAN。说实话,VLAN这个概念,在刚入行那会儿,我觉得它就是个“虚拟局域网”的缩写,听着挺玄乎。但干久了你会发现,它其实就是网络世界里的一把“瑞士军刀”——简单、实用、不可或缺。
3.1 VLAN原理:为什么需要“隔离”?
想象一下,你在一栋办公楼里,所有部门的人都在一个开放的大厅里办公。销售部在打电话,研发部在写代码,财务部在算账。声音互相干扰,信息也容易泄露。这就是传统以太网的痛点——一个广播域,所有设备都能听到彼此的“广播”。
VLAN(Virtual Local Area Network)就是来解决这个问题的。它把一个物理的局域网,逻辑上划分成多个相互隔离的广播域。说白了,就是给网络设备“贴标签”,让它们只跟同标签的设备通信。
核心要点:VLAN隔离的是广播域,不是物理位置。同一VLAN的设备,哪怕不在同一台交换机上,也能像在同一个“虚拟办公室”里一样通信。
我记得有一次,客户说他们的网络总是广播风暴,整个公司都上不了网。我过去一看,好家伙,一个C类地址段,500多台设备全在一个广播域里。我给他们划分了5个VLAN,广播域瞬间缩小,问题迎刃而解。嗯,这就是VLAN最直接的价值。
3.2 Access端口与Trunk端口:端口的“身份”
交换机上的端口,不是随便插的。它们有明确的“身份”和“任务”。
3.2.1 Access端口:连接终端的“门禁”
Access端口,我习惯叫它“接入端口”。它通常用来连接PC、服务器、打印机这些终端设备。它的特点很鲜明:
- 只属于一个VLAN:端口上配置的VLAN,就是它“所属”的VLAN。进来的数据帧,如果不带标签,就打上这个VLAN的标签;出去的时候,会把标签剥掉,还原成普通帧。
- 简单直接:终端设备不需要知道VLAN的存在,它只管发数据。Access端口负责“翻译”工作。
我的习惯:配置Access端口时,我会先确认终端设备的MAC地址或IP规划,避免把不同VLAN的设备误接到同一个Access端口上。曾经有一次,我把财务部的PC接到了研发部的Access端口上,结果财务系统访问不了,排查了半天才发现是端口VLAN配错了。
3.2.2 Trunk端口:交换机之间的“高速公路”
Trunk端口,也叫“中继端口”。它连接的是交换机之间,或者交换机与路由器之间。它的核心能力是:承载多个VLAN的流量。
为什么需要Trunk?你想想看,如果两台交换机之间用Access端口连接,那只能传一个VLAN的数据。要传多个VLAN,就得拉好多根线,多浪费啊。Trunk端口用一根线,就能传所有VLAN的数据,靠的就是“标签”(Tag)。
数据帧在Trunk链路上传输时,会带上一个802.1Q标签,里面写着它属于哪个VLAN。接收端交换机看到标签,就知道该把数据帧交给哪个VLAN处理。
避坑指南:我曾经遇到过一个问题,两台交换机之间Trunk链路通了,但某些VLAN的流量就是过不去。查了半天,发现是Trunk端口上没放行那个VLAN。记住:Trunk端口默认只放行VLAN 1,其他VLAN需要手动放行。命令是:switchport trunk allowed vlan add 10,20,30。
3.3 VLAN间路由:让“孤岛”互联
VLAN隔离了广播域,但也带来了新问题:不同VLAN之间怎么通信?比如,销售部(VLAN 10)要给财务部(VLAN 20)发个报表,怎么办?
答案是:路由。VLAN间路由,就是让不同VLAN的设备能够互相访问。主要有两种实现方式:单臂路由和三层交换。
3.3.1 单臂路由:一个路由器,多个VLAN
单臂路由,名字很形象。它用一台路由器,通过一个物理接口(就是那条“臂”),连接交换机。然后在路由器的这个物理接口上,创建多个子接口,每个子接口对应一个VLAN的网关。
工作原理是这样的:
- 交换机把来自不同VLAN的数据帧,通过Trunk链路发给路由器。
- 路由器根据数据帧的VLAN标签,交给对应的子接口处理。
- 子接口剥离标签,进行路由转发,再打上目标VLAN的标签,发回交换机。
配置示例(以Cisco设备为例):
interface GigabitEthernet0/0.10
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0
interface GigabitEthernet0/0.20
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0
注意:单臂路由有个明显的瓶颈——所有VLAN间的流量都要经过那一条物理链路和路由器的一个物理接口。如果VLAN间流量很大,这条“臂”很容易成为瓶颈。我在一个小型企业网里用过,50个用户以内还行,再多了就扛不住了。
3.3.2 三层交换:硬件加速,性能翻倍
三层交换,说白了就是“交换机+路由器”的合体。它既有交换机的线速转发能力,又有路由器的路由功能。而且,它用硬件(ASIC芯片)来处理路由转发,速度比路由器快得多。
工作原理:
- 一次路由,多次交换:第一个数据包到达三层交换机时,它像路由器一样查路由表、做转发决策。然后,它把这次转发的信息(目标MAC、出接口等)记录到硬件转发表(FIB表)里。后续同一条流的数据包,直接查硬件表转发,不再经过CPU处理。
- SVI(Switch Virtual Interface):在三层交换机上,为每个VLAN创建一个虚拟接口(SVI),并配置IP地址作为该VLAN的网关。VLAN间路由就在这些SVI之间进行。
配置示例:
interface Vlan10
ip address 192.168.10.1 255.255.255.0
no shutdown
interface Vlan20
ip address 192.168.20.1 255.255.255.0
no shutdown
ip routing // 开启三层交换机的路由功能
我的建议:现在的企业网络,只要预算允许,我都会推荐用三层交换机来做VLAN间路由。性能好,配置也简单。单臂路由嘛,更多是出现在实验环境或者老旧网络里。你想想看,一个千兆的三层交换机,处理VLAN间路由轻轻松松,而一个路由器可能就吃力了。
3.4 总结与对比
好了,咱们把今天的内容捋一捋。VLAN是隔离广播域的利器,Access端口是终端的“门禁”,Trunk端口是交换机之间的“高速公路”。VLAN间路由,单臂路由适合小规模、低流量场景,三层交换则是主流选择。
| 特性 | 单臂路由 | 三层交换 |
|---|---|---|
| 转发方式 | 软件转发(CPU处理) | 硬件转发(ASIC芯片) |
| 性能 | 低,易成瓶颈 | 高,线速转发 |
| 配置复杂度 | 中等(子接口配置) | 简单(SVI配置) |
| 适用场景 | 小型网络、实验环境 | 中大型企业网络 |
| 成本 | 低(利用现有路由器) | 较高(需要三层交换机) |
最后说一句,VLAN和Trunk是网络虚拟化的基础。你理解了它们,后面学VPC、Overlay网络就会轻松很多。嗯,今天就到这儿,下节课咱们聊聊更高级的网络虚拟化技术。