VLAN(Virtual Local Area Network)
虚拟局域网,一个带有 VLAN
功能的 Switch
能够同时处于多个 LAN
中,把一个交换机变成多个虚拟的交换机,VLAN
用来隔离broadcast domain(广播域)
。
基本概念
LAN(Local Area Network)
本地局域网,通常使用 Hub
和 Switch
来连接 LAN
中的计算机。 一个 LAN
表示一个广播域
,该 LAN
中的所有成员都会收到 LAN
中一个成员发出的广播包。
作用
- 广播控制
- 带宽利用
- 降低延迟
- 安全性(非设计作用,本身功能所附加出的)
- 隔离性:不同 VLAN 之间的机器互相看不到
报文
VLAN Header
格式由 IEEE 802.1Q
标准定义。它在普通以太网帧结构 SA(Src Address)
之后 加入了 4bytes
的 VLAN Tag/Header
数据,其中
- VLAN ID
12bits
,VLAN ID的最大值是 4096, 但是有效值范围是 1- 4094。
交换机端口类型
以太网端口有三种链路类型:
Access
:只能属于一个 VLAN
,一般用于连接计算机的端口
Trunk
:可以属于多个 VLAN
,可以接收和发送多个 VLAN
的报文,一般用于交换机之间连接的接口
- 在 OpenStack 环境中,如果让物理交换机使用 VLAN 的方式来隔离租户的话,必须将所有的端口都设置为 trunk port
Hybrid
:属于多个 VLAN
,可以接收和发送多个 VLAN
报文,既可以用于交换机之间的连接,也可以 用户连接用户的计算机
Hybrid 端口和 Trunk 端口的不同之处在于 Hybrid 端口可以允许多个 VLAN 的报文发送时不打标签,而 Trunk 端口只允许缺省 VLAN 的报文发送时不打标签。
VLAN 的不足
- 数量少:最多只支持 4096 个 VLAN 网络
- 灵活性差:很难跨越 L2 的边界
- 配置复杂