深度好文:QinQ 、VLAN、VXLAN之间有什么区别?
VLAN(虚拟局域网)技术使用户可以不受距离和物理位置的限制进行通信,极大地简化了网络管理。然而,随着设备和用户数量的大规模增长,由于可扩展性有限,最多只能支持 4094 个 VLAN,以及对可用网络链路的使用效率低下,VLAN 已不能满足日益增长的网络规模需求。
于是 VXLAN(虚拟可扩展局域网)和 QinQ 技术应运而生。
在这篇文章中,将对这三种技术进行说明和比较。
VLAN、VXLAN、QinQ 概述
VLAN
VLAN 是一种将网络划分为多个广播域的技术。在每个广播域中,用户之间可以自由交流。对于不同 VLAN 之间的连接,VLAN Tagging 和 VLAN 间路由是用户必须知道的两个必要术语。
VLAN 标记是在帧通过 VLAN 中继端口时在帧中添加一个特殊的标记,允许来自不同 VLAN 的帧通过。其标记方法之一是 IEEE 802.1Q。在 CLI 和 Web 用户界面中,VLAN 配置简单易行。
QinQ
QinQ 也称为堆叠 VLAN 或双 VLAN,由 IEEE 802.1ad 标准化。
它将 VLAN 标签封装成两层——私有网络的内层标签和公网的外层标签。
随着网络中用户的增加,需要大量的 VLAN ID。使用 IEEE 802.1Q 的传统 VLAN 标记无法识别和隔离扩展城域以太网工作中的用户数据。
因此使用 QinQ 将 VLAN 号扩展至4096×4096,可以有效节省公网 VLAN ID。
QinQ 数据包具有固定的格式。通常一个带有 802.11Q 标记的数据包被封装在另一个 802.1Q 标记中,这就是“QinQ”这个名字的由来。
在传输过程中,报文根据公网外层的 VLAN Tag 进行转发。
内层 VLAN 标记被视为也在公共网络上传输的数据。使用这种双标记形式,QinQ 数据包比普通的 802.1Q VLAN 标记数据包多四个字节。

有两种 QinQ 实现方式:
- 基本 QinQ
- 选择性 QinQ。
Basic QinQ 是一种基于端口的标记方式。当数据包到达启用了 VLAN VPN 的接口时,交换机将使用其默认 VLAN 标签标记数据包。传入的数据包是否被标记并不重要。如果它已被标记,那么它将具有双 VLAN 标记;如果没有,它将有一个带有交换机端口的 VLAN 标记。
选择性 QinQ 拥有基本 QinQ 的功能,但更灵活。它可以根据 MAC 地址、IP 协议、源 IP 地址和 VLAN 标签识别数据包的内层 VLAN 标签,然后确定应该添加哪个标签。
VXLAN
VXLAN,也称为虚拟可扩展局域网,旨在通过使用 MAC 地址用户数据报协议 (MAC-in-UDP) 封装在第 3 层网络之上提供第 2 层覆盖网络。
简单来说,VXLAN 可以提供与 VLAN 相同的服务,但具有更大的可扩展性和灵活性。与 QinQ 类似,VXLAN 报文也具有相对固定的格式。
使用 VXLAN MAC-in-UDP 封装,原始数据包将添加到 VXLAN 标头中,然后放入 UDP-IP 数据包中。这是一个简单的说明。
VXLAN 头:它由一个 24 位的 VNID 组成,用于标识第 2 层段并保持段之间的第 2 层隔离。
VNID 中的所有 24 位定义了 VXLAN 可以支持的最多 1600 万个 LAN 段数。

外层 UDP 头:VTEP(VXLAN 隧道端点)在 UDP 头中分配源端口,目的端口通常是 UDP 端口 4789。
外层 IP 头:它有一个源 VETP 的源 IP 地址与内层帧源相关联。
外部以太网报头:外部以太网报头具有与内部帧源相关联的 VTEP 的源 MAC 地址。
QinQ vs VLAN vs VXLAN:有什么区别?
VLAN 已被用于解决不同的问题,例如第 2 层网络隔离、泛洪和作为路由接口。VLAN 支持功能现已在以太网交换机、路由器和防火墙等大多数系统和网络设备中提供。
但是,本文中的比较主要集中在 VLAN 标记上。要实现不同 VLAN 之间的通信,VLAN Tagging 是必不可少的一环。
如上所述,VLAN 标记使用协议 IEEE 802.1Q 或 ISL(交换机间链路)来标记流经不同 VLAN 的帧。
使用此方法标记的帧只有一个标记。但是,与 VLAN 相比,QinQ 技术更加灵活。
一方面,它可以选择性地为传入的帧或数据包添加标签。
另一方面,外层 VLAN 标记解决了 VLAN ID 受限的问题。并且独特的内部标签避免了私有 VLAN ID 和公共 VLAN ID 之间的冲突,为小型或大型企业网络提供了一个简单的第 2 层 VPN 解决方案。

注:VLAN 属于公网。
在 VXLAN 方面,它在一定程度上提供了与 QinQ 相同的功能,但它的工作层更具可扩展性。
VXLAN 通过 MAC-in-UDP 封装数据包,极大地扩展了二层网络。众所周知,随着云计算的进步,租户对网络建设的要求越来越高,尤其是虚拟化数据中心,更加需要二层网络。
MAC-in-UDP 支持使用 24 位 VIND,这允许数据中心容纳多个租户并打破物理距离限制和部署。
这就是为什么近年来 VXLAN 在云计算和虚拟化数据中心中变得越来越流行的原因。但是,与 VLAN 和 QinQ 相比,VXLAN 技术更加昂贵和复杂。因此,并非所有 VLAN 交换机都支持此功能。
结论
随着 VLAN 技术和 2/3 层网络的快速发展,必然会出现更多更高的网络管理技术。
与 QinQ 和 VXLAN 一样,并非所有技术都是平等创建的。它们都是为解决当前问题而生的,将为今天和未来的网络带来更多便利。