vlan是什么意思

题图来自Unsplash,基于CC0协议
导读
简单来说,VLAN(Virtual Local Area Network,虚拟局域网)是一种将物理上的一个局域网,在逻辑上划分成多个相互隔离的广播域的技术。它允许网络管理员在同一个物理交换机上,通过软件配置,让不同的计算机像连接在不同的独立交换机上一样工作,即使它们物理上插在同一台设备上。
核心工作原理:如何实现隔离?
VLAN的核心机制是通过在以太网帧中插入一个特殊的标签(即VLAN标签,遵循IEEE 802.1Q标准)来实现的。当数据帧从一个端口发出时,交换机会根据该端口所属的VLAN,在帧头中添加一个4字节的标签,里面记录了该帧属于哪个VLAN(比如VLAN 10)。当帧被传输到另一台交换机或同一交换机的其他端口时,设备会读取这个标签,只将数据转发给同属该VLAN的端口。如果接收端口的VLAN与帧标签不符,数据会被丢弃。这样,不同VLAN之间的通信在二层(数据链路层)就是完全隔离的,仿佛它们处于不同的物理网段。
VLAN与子网的区别
这是最容易被混淆的两个概念。简单区分:VLAN是二层(数据链路层)的隔离手段,而子网是三层(网络层)的划分方式。
- 工作层次不同:VLAN在交换机内部划分广播域;子网(通过IP地址和子网掩码)是在网络层划分逻辑网络。
- 关系:通常一个VLAN对应一个子网。但VLAN的划分并不等同于子网划分。你可以创建一个VLAN 10,然后为这个VLAN配置一个IP网段,比如192.168.10.0/24。没有VLAN,两台在同一交换机上但不同子网的主机依然可以相互通信(因为交换机在二层不检查IP地址);但有了VLAN,它们被强制隔离,必须通过路由器或三层交换机才能通信。
- 目的:VLAN主要解决广播风暴、安全隔离和网络管理灵活性问题;子网主要解决IP地址管理和路由问题。
主要用途与优势
- 提升网络性能:默认情况下,一个交换机的所有端口同属一个广播域。当一台主机发送ARP广播时,所有端口都会收到。VLAN将广播域缩小到每个VLAN内部,大大减少了不必要的广播流量,提升网络响应速度。
- 增强网络安全性:不同VLAN之间无法直接通信。例如,财务部门的VLAN 20无法访问研发部门的VLAN 30,除非通过防火墙或三层交换机配置严格的访问控制列表。这实现了网络边界的逻辑隔离。
- 简化网络管理和变更:当员工从一个工位搬到另一个工位,或者需要将某台设备划入不同部门时,无需重新插拔网线或改变物理布线。管理员只需在交换机上将该端口划入对应的VLAN即可。这在大型园区网或企业网中极为方便。
- 降低成本:无需为每个部门购买独立的交换机。一台高性能交换机划分多个VLAN,即可实现多个独立局域网的功能。
如何在交换机上配置VLAN
配置通常在交换机的命令行界面(CLI)或图形化管理界面中进行。基本步骤包括:
- 创建VLAN:在交换机上定义VLAN编号(范围通常为1-4094,默认所有端口在VLAN 1)。例如,
vlan 10创建一个编号为10的VLAN。 - 将端口分配到VLAN:决定哪些端口属于哪个VLAN。有两种模式:
- Access端口:一般连接终端设备(如电脑、打印机)。该端口只属于一个VLAN,从该端口进出的数据帧不带标签(或只带PVID标签)。
- Trunk端口:一般用于交换机之间的级联,或者连接路由器/三层交换机。它允许多个VLAN的数据帧通过,并且这些帧都带有明确的VLAN标签(802.1Q标签)。
- 配置Trunk(如果需要):在两个交换机连接的端口上配置Trunk模式,并指定允许通过的VLAN列表。
- 配置三层接口:如果是三层交换机,还需要为每个VLAN创建一个虚拟接口(SVI),并配置IP地址,这样不同VLAN之间才能通过路由进行通信。
VLAN标记(Tagging)详解
VLAN标记是让数据帧知道它属于哪个VLAN的标识符。在标准以太网帧中,原本没有这个字段。802.1Q标准在源MAC地址之后、协议类型之前插入了一个4字节的字段:
- TPID(Tag Protocol Identifier,标签协议标识符):2字节,固定值为0x8100,表示这是一个带标签的帧。
- TCI(Tag Control Information,标签控制信息):2字节,其中最重要的部分是:
- PCP(Priority Code Point,优先级代码点):3比特,用于服务质量(QoS)优先级。
- DEI(Drop Eligible Indicator,丢弃合格指示符):1比特,用于拥塞时选择性丢弃。
- VID(VLAN Identifier,VLAN标识符):12比特,取值范围0-4095(其中0和4095保留,实际可用4094个VLAN,即1-4094)。
VLAN在交换机上的具体实现
交换机内部维护一张VLAN表,记录了每个端口所属的VLAN(Access端口)或者允许通过的VLAN(Trunk端口)以及端口的类型。当交换机收到一个数据帧时,其处理流程如下:
- 从Access端口收到帧:交换机会给这个帧打上该端口的PVID(端口VLAN ID,默认等于端口所属VLAN)标签。然后查找MAC地址表,如果目的MAC地址对应的端口在同一VLAN内,则转发;否则丢弃。
- 从Trunk端口收到帧:交换机读取帧中的802.1Q标签。检查该标签中的VID是否在该Trunk端口允许通过的VLAN列表中。如果在,则转发;如果不在,则丢弃。
- 发送帧到Access端口:交换机在发送前会去掉帧上的802.1Q标签(因为终端设备通常不识别标签),只发送原始以太网帧。
- 发送帧到Trunk端口:帧保持原有标签发送出去。
通过这种端口类型的区分和对标签的识别与处理,交换机实现了不同VLAN之间完全的二层隔离,同时允许多个VLAN在同一条物理链路上传输。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com