VLAN 和 VXLAN
第一步:核心概念
想象一下,你是一家超大公司的 IT 管理员,公司在一栋巨大的摩天大楼里。
1. VLAN 是什么?(传统公司的部门隔离)
这栋摩天大楼有很多层。VLAN 就像是给大楼里的不同部门划分专用的楼层。
- 销售部在 10-12 层(我们叫它 VLAN 10)
- 财务部在 13-15 层(VLAN 20)
- 研发部在 16-18 层(VLAN 30)
VLAN 的核心作用是“隔离”和“划分”:
- 隔离:销售部的人(VLAN 10)不能直接走到财务部的楼层(VLAN 20)去串门,他们之间的通信必须通过一个“中央安全岗”(路由器/三层交换机)。这很安全。
- 划分:不管你的电脑插在10层的哪个会议室,只要我给你配置了 VLAN 10,你就属于销售部网络。
但是,VLAN 有个大问题:这栋摩天大楼再高,楼层数量也是有限的(VLAN ID 只有12位,最多只能划分 4094 个网络)。对于一家公司够用了,但对于…
2. VXLAN 是什么?
现在,你的公司不再是“一家公司”,而是变成了像谷歌、亚马逊这样的云服务提供商。你拥有全球各地的无数栋摩天大楼(数据中心),里面要驻扎成千上万个不同客户的公司。
这时候,再用“分楼层”(VLAN)的方式就完全不够用了!因为:
- 4094个客户都不够一家云厂商塞牙缝。
- 客户A在北京大楼的“销售部”,需要和客户A在上海大楼的“销售部”像一个部门一样无缝通信。
怎么办?VXLAN 闪亮登场!
VXLAN 就像是在所有实体大楼的原有楼层之上,搭建了一个神奇的“虚拟办公室系统”。
- 每个客户的每个部门,都可以申请一个虚拟办公室编号(VNI,有1600万个!)。
- 这个虚拟办公室的成员,可以分布在全球任何一栋大楼的任何一层。
- 当北京大楼里一个属于“虚拟办公室 10001”的员工想和上海大楼里另一个“虚拟办公室 10001”的员工说句话时,他不需要知道对方具体在哪。他只要把话(数据包)交给大楼的虚拟办公室管理员(VTEP)。
- 管理员会把这句“悄悄话”用一个巨大的信封(UDP报文) 包起来,信封上写着:“寄往上海大楼,交给虚拟办公室 10001”。
- 这个信封通过大楼之间的“快递网络”(IP网络)寄过去。上海大楼的管理员收到后,拆开信封,把里面的悄悄话递给本地那个虚拟办公室里的正确员工。
所以,VXLAN 的核心是“叠加”和“扩展”:它在现有的物理网络(三层IP网络)上,叠加了一层虚拟的二层网络,就像建立了一个“平行宇宙”,完美地突破了物理位置和传统VLAN数量的限制。
第二步:对比区别
现在我们回到技术术语,总结一下它们的区别,就非常容易理解了。
| 特性 | VLAN (虚拟局域网) | VXLAN (可扩展虚拟局域网) |
|---|---|---|
| 本质 | 分区,在数据链路层(二层)划分逻辑网络 | 叠加,在网络层(三层)上封装出一个虚拟二层网络 |
| 技术原理 | 在以太网帧头插入 802.1Q Tag | 将原始以太网帧封装在 UDP/IP 报文中 |
| 规模限制 | VLAN ID 只有12位,最多 4094 个 | VNI 有24位,最多 1600万 个 |
| 网络范围 | 通常局限于同一个数据中心内部的二层网络 | 可以跨越整个IP网络,实现多数据中心的大二层互联 |
| 需要设备 | 支持VLAN的二层交换机 | 支持VXLAN的路由器或高级交换机(作为VTEP) |
| 好比 | 在一栋楼里分楼层 | 在全球任何地方建虚拟办公室 |
下面切换至专业术语模式,对 VLAN 和 VXLAN 进行深入、详细的讲解。
一、VLAN (Virtual Local Area Network) - 虚拟局域网
1. 技术定义
VLAN 是一种在数据链路层(OSI 模型第二层)将物理局域网(LAN)逻辑地划分成多个广播域的技术。每个VLAN都是一个独立的广播域,不同VLAN之间的通信必须通过网络层(第三层)的路由功能来完成。
2. 技术原理与封装
VLAN 的实现依赖于 IEEE 802.1Q 标准,通常称为“Dot1Q tagging”。
- 帧格式: 在传统的以太网帧头(Source/Destination MAC Address)和“类型/长度”字段之间,插入一个 4字节(32位)的 802.1Q Tag。
- Tag 结构:
- TPID (Tag Protocol Identifier, 16位): 固定值
0x8100,用于标识这是一个带有802.1Q标签的帧。 - Priority (PCP, 3位): 用于定义帧的优先级(服务质量QoS)。
- CFI (Canonical Format Indicator, 1位): 通常用于兼容以太网和令牌环网,在以太网中一般为0。
- VID (VLAN Identifier, 12位): 这是VLAN ID的核心字段。其取值范围是 0-4095。其中,VLAN 0、VLAN 4095 为保留值,因此可用的有效VLAN ID范围为 1-4094。这直接限制了VLAN的网络规模。
- TPID (Tag Protocol Identifier, 16位): 固定值
3. 工作方式
- 接入端口 (Access Port): 连接终端设备(如PC、服务器)的端口。它只属于一个VLAN。当数据帧从接入端口进入交换机时,交换机会为其打上该端口的PVID (Port VLAN ID) 标签。帧离开接入端口发向终端设备前,交换机会剥离VLAN标签。
- 干道端口 (Trunk Port): 连接交换机与交换机或路由器的端口。它允许多个VLAN的流量通过。数据帧在Trunk链路上传输时始终携带VLAN标签,以便对端交换机识别该帧属于哪个VLAN。
4. 特点与局限性
- 优点:
- 广播控制: 将广播流量限制在本VLAN内,减少了不必要的网络带宽消耗和设备处理开销。
- 安全性: 实现了二层隔离,不同部门的设备即使连接到同一台交换机也无法直接通信。
- 管理灵活性: 网络划分不再受物理位置限制,可以基于功能、部门等逻辑关系组建网络。
- 局限性 (也是VXLAN诞生的原因):
- 规模限制: 最多4094个VLAN,对于大型数据中心、云服务提供商(多租户环境)来说远远不够。
- 地理限制: VLAN依赖于二层的泛洪(Flooding)机制(如ARP广播),其范围最好限制在一个局域网内。跨越三层网络传输二层流量需要复杂的隧道技术,且容易引发环路(虽然STP可解决,但收敛慢、浪费资源)。
二、VXLAN (Virtual Extensible LAN) - 可扩展虚拟网络
1. 技术定义
VXLAN 是一种网络虚拟化 overlay 技术。它通过在现有的IP网络(Underlay网络)上使用MAC-in-UDP的封装方式,创建一个大规模的逻辑二层覆盖网络,从而解决VLAN在云数据中心环境中面临的可扩展性问题。
2. 技术原理与封装
VXLAN 的核心是封装和隧道。
- 帧格式: VXLAN将原始的二层以太网帧(包括MAC头和负载)完整地封装在一个UDP数据报中,然后再加上外层的IP头和以太网头,以便在物理IP网络上传输。
- 包头结构:
- 外层以太网头: 源和目的MAC地址,对应物理网络中路径上的下一跳设备。
- 外层IP头: 源和目的IP地址,对应VXLAN隧道端点(VTEP)的IP地址。
- 外层UDP头: 目的端口号通常为
4789(IANA分配的标准VXLAN端口)。UDP校验和通常置为0。 - VXLAN Header (8字节): 其中最关键是 VNI (VXLAN Network Identifier, 24位)。它标识了不同的VXLAN段,功能类似于VLAN ID。
- 原始二层帧: 需要被传输的完整内部载荷。
3. 核心组件与工作方式
- VTEP (VXLAN Tunnel Endpoint): 这是VXLAN的灵魂。它是进行VXLAN封装和解封装的设备,通常是虚拟交换机(vSwitch,如OVS)或物理交换机(TOR)。VTEP拥有两个接口:
- 逻辑接口: 连接虚拟机,处理原始的以太网帧。
- IP接口: 连接到底层IP网络,负责封装/解封装帧,并通过IP网络与其他VTEP通信。
- VNI (VXLAN Network Identifier): 24位长的标识符,取值范围为 1677万(16,777,215) 个。每个VNI代表一个独立的VXLAN覆盖网络,相当于一个巨大的“虚拟二层域”。
- 控制平面: VXLAN只定义了数据平面的封装格式,没有规定控制平面。早期依赖数据平面学习(泛洪ARP等),效率低下。现在通常与 EVPN (Ethernet VPN) 结合使用。EVPN作为控制平面,通过BGP协议在VTEP之间分发MAC地址和IP地址的可达性信息,实现了高效、可靠的MAC地址学习,避免了泛洪。
4. 特点与优势
- 巨大的扩展性: 24位的VNI解决了VLAN ID数量不足的核心痛点。
- Overlay over IP: 充分利用IP网络的成熟性、可靠性和可扩展性。VXLAN流量可以像任何其他IP流量一样,通过路由网络进行负载均衡和故障转移。
- 突破地理限制: 只要IP网络可达,VXLAN隧道就可以建立,从而实现跨数据中心的大二层互联,支持虚拟机无缝迁移。
- 更好的多租户支持: 云服务商可以为每个租户分配一个或多个唯一的VNI,实现租户间严格的二层隔离。
三、核心区别总结 (专业视角)
| 特性 | VLAN | VXLAN |
|---|---|---|
| OSI层级 | 数据链路层 (L2) | 网络层 (L3) Overlay L2 (MAC-in-UDP) |
| 封装协议 | IEEE 802.1Q | MAC-in-UDP |
| 标识符 | VLAN ID (12-bit) | VNI (24-bit) |
| 规模限制 | ~4k | ~16M |
| 网络范围 | 单一 L2 域 (受STP等限制) | 跨越 L3 IP 网络 (全球范围) |
| 传输网络 | 依赖自身二层网络 | 依托于底层IP网络 (Underlay) |
| 控制平面 | (无标准) MSTP, PVST+ | 通常与EVPN结合,使用BGP作为控制平面 |
| 主要用途 | 园区网、企业网内部隔离 | 云数据中心、多租户环境、跨DC互联 |
VLAN 是经典的网络分区技术,简单高效,是传统企业网络的基础。而 VXLAN 是面向现代云数据中心和SDN时代的网络扩展技术,它通过Overlay方式,利用无处不在的IP网络突破了传统二层网络在规模和地域上的桎梏。可以简单理解为:VXLAN 是在 IP 网络上虚拟出的一个巨大无比的、数量众多的“超级VLAN”。
