VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的 LAN 在逻辑上划分成多个广播域的通信技术。

VLAN 技术可以把一个物理局域网划分成多个逻辑局域网,即多个 VLAN。每个 VLAN 是一个广播域,使得 VLAN 内的主机可以互通,而 VLAN 间不能直接互通。这样,广播报文被限制在一个 VLAN 内,同时提高了网络安全性。

VLAN 标签

当一个局域网被划分为多个 VLAN 时,每个 VLAN 都用一个唯一的 VLAN 标签来标识。VLAN 标签也称为 VLAN Tag 或 802.1Q Tag。

IEEE 802.1Q 标准对传统 Ethernet 帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入 4 字节的 802.1Q Tag,形成了 VLAN 的帧格式。

  • TPID:Tag Protocol Identifier,用来判断本 VLAN 帧是否带有 802.1Q Tag,缺省取值为 0x8100,表示 802.1Q Tag 帧。
  • PRI:Priority,表示帧的优先级,取值范围为0-7,值越大优先级越高。用于当设备阻塞时,优先发送优先级高的数据帧。
  • CFI:Canonical Format Indicator,表示MAC地址是否是标准格式,取值范围为0或1,缺省取值为0。取值为0表示MAC地址以标准格式封装,取值为1表示MAC地址以非标准格式封装。
  • VID:VLAN ID,表示该帧所属的VLAN,取值范围为 0-4095。由于 0 和 4095 为协议保留取值,所以VLAN ID的有效取值范围为 1-4094。

数据帧分类

数据帧根据是否携带 VLAN Tag,分为以下两种形式:

Tagged 帧

  • 有标记帧
  • 加入了 4 字节 802.1Q Tag 的帧

Untagged 帧

  • 无标记帧
  • 原始的、未加入 4 字节 802.1Q Tag 的帧

链路类型

VLAN 组网中的链路包括:

  • 接入链路
  • 连接不能或不需要识别 VLAN Tag 的终端设备
  • 干道链路
  • 其上通过的数据帧都必须打上 VLAN Tag

接口类型

根据对 VLAN 帧的识别情况,将接口分为以下几类:

Access 接口

  • 用来连接终端设备的接口,这些终端设备不能或者不需要识别 VLAN Tag
  • 如果该接口收到 Untagged 帧,设备将强制加上该接口的 PVID(缺省VLAN)
  • 如果该接口收到 Tagged 帧,只允许 VLAN ID 与接口的 PVID(缺省VLAN)相同的 VLAN 帧通过
  • Access 接口发送的数据帧永远是 Untagged 帧

Trunk 接口

  • 允许多个 VLAN 的 Tagged 帧通过
  • 该接口发送的帧,VLAN ID = PVID 的是 Untagged 帧,其它 VLAN 的帧都必须是 Tagged 帧

Hybrid 接口

  • 允许多个VLAN 的 Tagged 帧通过
  • 在出接口方向可根据需要设置某些 VLAN 内的帧带 Tag,某些 VLAN 内的帧不带 Tag

QinQ 接口

  • 给数据帧加上双重 VLAN Tag

缺省 VLAN

PVID (Port Default VLAN ID)

  • Access接口只属于1个VLAN,它的缺省VLAN就是它所在的VLAN。

  • Hybrid 接口和 Trunk 接口属于多个 VLAN,但是缺省VLAN只有1个,所以需要设置缺省VLAN。

同一 VLAN 内的互通

同设备 VLAN 内互通

用户主机 Host1 和 Host2 连接在同台设备上,属于同一VLAN2,且位于相同网段,连接接口均设置为Access接口。

H3C 交换机配置

跨设备 VLAN 内互通

用户主机Host1和Host2连接在不同的设备上,属于同一个VLAN2,且位于相同网段。为了识别和发送跨越设备的数据帧,设备与设备间通过 Trunk link 连接,且允许携带 VLAN2 的报文通过。

不同 VLAN 间的互通

同设备VLAN间互通(VLANIF接口)

用户主机Host1和Host2连接在同台设备上,分别属于VLAN2和VLAN3,并位于不同的网段。在DeviceA上分别创建VLANIF2和VLANIF3并配置其IP地址,然后将用户主机的缺省网关设置为所属VLAN对应VLANIF接口的IP地址。

跨设备VLAN间互通(VLANIF接口)

由于VLANIF接口的IP地址只能在设备上生成直连路由,当不同VLAN的用户跨多台设备互访时,除配置VLANIF接口的IP地址外,还需要配置静态路由或运行动态路由协议。

用户主机Host1和Host2连接在不同的设备上,分别属于VLAN2和VLAN3,并位于不同的网段。

主机与设备之间使用Access接口,设备之间使用Trunk接口。

在DeviceA上分别创建VLANIF2和VLANIF4,配置其IP地址为10.1.1.1和10.1.4.1;在DeviceB上分别创建VLANIF3和VLANIF4,配置其IP地址为10.1.2.1和10.1.4.2

在DeviceA和DeviceB上分别配置静态路由。DeviceA上静态路由的目的网段是10.1.2.0/24,下一跳是10.1.4.2;DeviceB上静态路由的目的网段是10.1.1.0/24,下一跳是10.1.4.1。

同设备VLAN间互通(三层子接口)

用户主机属于不同的VLAN,并位于不同的网段。

其中,Host1和Host2属于VLAN2,Host3和Host4属于VLAN3,DeviceA通过以太网接口interface1与DeviceB相连。

在DeviceA的interface1上创建2个子接口interface1.1和interface1.2,并配置802.1Q封装与VLAN2和VLAN3分别对应。

配置子接口的IP地址,保证两个子接口对应的IP地址路由可达,并将用户设备的缺省网关设置为所属VLAN对应子接口的IP地址。