一. 简述
在网络中,VLAN 技术用于隔离广播域,实现在固定的二层物理网络下,划分相互隔离的逻辑二层网络;在企业网中,VLAN 可以很简单的实现终端的管理与控制,所以 VLAN 技术是企业网汇聚和接入层不可或缺的技术。
但传统 VLAN 仍然会有些地方无法满足使用需求,所以产生了一些 VLAN 高级技术,比如 VlAN 聚合/MUX VLAN/QinQ。
二. VLAN 聚合
2.1 背景
一般情况下,一个 VLAN 对应一个 VLANIF 接口,实现了广播域的隔离,但却造成了 IP 地址的浪费;
Vlan Aggregation 也称 Super-Vlan,同时实现了广播域的隔离,和更少量的 VLANIF;
2.2 原理
2.2.1 概念
- Sub-VLAN: 只包含物理接口,不建立 VLANIF,用于隔离广播域,三层通信依赖 Super-VLAN;
- Super-VLAN: 只建立 VLANIF 接口,不包含物理接口,VLANIF 的状态取决于 Sub-VLAN 的状态;
2.2.2 过程
- 相同 Sub-VLAN 间通信走二层,不同 Sub-VLAN 间通信,需要在 Super-VLANIF 上开启 ARP 代理;
- Sub-VLAN 与其他的正常 VLAN 通信,打 Sub-VLAN tag;
2.3 配置
vlan] aggregate-vlan
vlan] access-vlan { vlan-id1 [ to vlan-id2 ] }
vlan] arp-proxy inter-sub-vlan-proxy enable
三. MUX VLAN
3.1 背景
传统 VLAN 无法满足非常复杂的二层隔离和控制要求, 而MUX - Multiplex VLAN 提供了一种通过 VLAN 进行网络资源控制的机制;
3.2 原理
3.2.1 概念
- 主 VLAN - Principal VLAN: 主 VLAN 下接口可以和 MUX VLAN 中的任意接口通信;
- 从 VLAN - Subordinate VLAN:
- 隔离型 VLAN - Separate VLAN: 隔离 VLAN 下接口仅可与主 VLAN 进行通信, 隔离 VLAN 必须绑定主 VLAN;
- 互通型 VLAN - Group VLAN: 组 VLAN 可以与主 VLAN 下接口和本组下接口通信;
3.3 配置
vlan] mux-vlan
vlan] subordinate group { vlan-id1 [ to vlan-id2 ] }
vlan] subordinate separate vlan-id
接口] port mux-vlan enable vlan-id
四. QinQ
4.1 背景
VLAN 仅支持 4096 个 VLAN,承载极限较低,QinQ 通过在 VLAN 中嵌套 VLAN 的技术,扩展了这个上限;
4.2 原理
4.2.1 封装结构
![](https://img-blog.csdnimg.cn/img_convert/78b41dbe749b78a4301b5c97fbad7ee2.png)
802.1Q 帧中的 TPID 对应 802.3 帧中的 Type 字段,标识该帧的类型:
- TPID - Tag Protocol Identifier,普通的 802.1Q 帧中 TPID 值固定为 0x8100;
- 内层 TPID 设置为普通 VLAN 标识,即: 0x8100;
- 外层 TPID 需要与对端配置相匹配,所以要特殊配置,如果匹配错误,会被误识别为其他帧;
4.2.2 实现方式
- 基本 QinQ: 基于端口入方向实现,开启后收到内层报文后,会额外打上端口的 default VLAN tag;
- 收到带有 VLAN Tag 的报文,该报文就成为带双 Tag 的报文;
- 收到不带 VLAN Tag 的报文,该报文会打上 default vlan Tag;
- 灵活 QinQ: 可根据刘分类的结果与用户定义的策略,选择是否打上外层 VLAN Tag, 打哪个 Vlan Tag;
- 为不同的内层 VLAN ID 分配不同的外层 VLAN Tag;
- 根据报文内层 VLAN 802.1p 优先级分配不同的外层优先级和 VLAN tag;
4.2.3 封装方式
- 基于接口的 QinQ 封装: 又称 QinQ 隧道,基于带个接口的入方向封装;
- 基于流的 QinQ 封装: 又称二层零花 QinQ,根据不同的流封装不同的外层 VLAN Tag;
4.3 配置
# 基础 QinQ
入接口] port default vlan 100 # 外层 tag
入接口] port link-type dot1q-tunnel
出接口] qinq protocol 9100 # 指定 qinq 的 TPID 为 9100,也可以不指定
# 灵活 QinQ
入接口] port link-type hybrid
入接口] port hybrid untagged vlan 2 3
入接口] qinq vlan-translation enable
入接口] port vlan-stacking vlan 100 stack-vlan 2
入接口] port vlan-stacking vlan 300 stack-vlan 3
参考:
To 华为 QinQ 配置举例