目录
在当今数字化飞速发展的时代,数据中心的重要性不言而喻,而 VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)作为一种热门的大二层技术,在虚拟化数据中心里发挥着关键作用。它的诞生,很大程度上是为了解决虚拟机热迁移过程中 IP 地址和网关变化的问题,从而实现虚拟机大范围迁移,提升数据中心资源利用率,达到节能和降低成本的目的。
一、VXLAN 关键术语解析
- 租户(Tenant):租户是数据中心、园区等企业网络业务的购买者,既可以是企业公司,也可以是租用数据中心设备的个人。从广义上讲,运营商、服务提供商以及使用服务的最终用户都属于租户范畴。租户在网络环境中代表着不同的用户群体,他们使用网络资源并为其付费。
- Underlay 和 Overlay 网络:Underlay 网络指已有的物理网络,可理解为普通的三层 IP 网络。Overlay 网络则是在 Underlay 网络之上虚拟出来的二层或三层网络。VXLAN 构建的大二层网络就属于 Overlay 网络。对于用户而言,Underlay 网络是透明的,用户无需关心其底层结构。
- NVE(Network Virtualization Edge):网络虚拟边缘节点,是网络虚拟功能实现的网络实体。NVE 设备位于 Overlay 网络边缘,用于构建 VXLAN 的大二层虚拟网络。在配置 NVE 时,会指定一个 VTEP(VXLAN Tunnel End Point)地址,VTEP 用于标识唯一的 NVE 设备,同时也是 VXLAN 隧道端点,执行 VXLAN 的封装和解封装操作。
- VNI(VXLAN Network Identifier):用于在大二层域中实现隔离,不同的 VNI 之间不能直接进行二层互访。VXLAN 通过 VNI 将网络划分为多个逻辑隔离的区域,类似于传统网络中的 VLAN,但 VNI 的数量远远多于 VLAN,为网络提供了更灵活的隔离和扩展能力。
- BD(Broadcast Domain):广播域,一个大二层网络,也叫 BD。它是二层广播的边界,在 VXLAN 网络中,BD 用于标识一个广播域,不同 BD 之间的设备在二层无法直接通信,除非通过三层网关进行转发。
二、VXLAN 网关部署
VXLAN 支持两种网关部署方式:集中式网关和分布式网关。不同的网关部署方式需要使用不同的镜像。
- 集中式网关:在设备上选择一台设备作为网关,一般选择核心层设备。例如,在华为设备上配置集中式网关时,假设要创建 BD 10 和 BD 20,并在 C1 设备上配置为三层网关,相关代码如下:
# 创建BD 10
vpn-instance bd10
ipv4-family
route-distinguisher 1:10
# 创建BD 20
vpn-instance bd20
ipv4-family
route-distinguisher 1:20
# 在C1设备上配置NVE接口
interface nve1
source 1.1.1.1
vni 10 head-end peer-list 2.2.2.2 3.3.3.3
vni 20 head-end peer-list 2.2.2.2 3.4.4.3
# 在C2和C3设备上配置NVE接口
interface nve1
source 相应源地址
vni 10 head-end peer-list 1.1.1.1
vni 20 head-end peer-list 1.1.1.1
# 在C1设备上创建VB接口并配置IP地址
interface vb 10
ip address 192.168.1.254 255.255.255.0
interface vb 20
ip address 192.168.2.254 255.255.255.0
在上述配置中,首先创建了两个 BD 实例,并为其配置了路由区分符。然后在 C1、C2 和 C3 设备上配置 NVE 接口,指定源地址和头端复制列表,用于建立 VXLAN 隧道。最后在 C1 设备上创建 VB 接口并配置 IP 地址,作为不同 BD 的网关。
2. 分布式网关:分布式网关的配置相对复杂,在后续学习中会进一步讲解。分布式网关将网关功能分布到各个接入设备上,相比于集中式网关,它可以减少网关单点故障的风险,提高网络的性能和扩展性。
三、VXLAN 报文封装格式
VXLAN 报文封装格式有多种,常用的有 Dot1Q、Antig、Default 等。
- Dot1Q:只允许携带一层 VLAN Tag 的报文进入 VXLAN 隧道。在进行 VXLAN 封装时会剥离 VLAN Tag,解封装之后会根据子接口上的 Dot1Q 终结配置的 VID 添加上指定的 VLAN Tag 再转发。这种封装格式在实际应用中较为常见,它能够清晰地处理 VLAN 与 VXLAN 之间的关系,确保报文在不同网络环境中的正确转发。
- Antig:只允许不带 VLAN Tag 的报文进入 VXLAN 隧道,进行 VXLAN 封装和解封装时不做任何处理,不添加、不剥离、不替换 VLAN Tag。该封装格式适用于对报文处理要求简单,不需要对 VLAN Tag 进行额外操作的场景。
- Default:允许所有报文进入 VXLAN 隧道,无论报文是否携带 VLAN Tag,对报文都不进行处理,不添加、不剥离、不替换 VLAN Tag。Default 封装格式提供了一种较为宽松的报文处理方式,适用于对报文兼容性要求较高的场景。
四、VXLAN 数据互通原理
- 同子网互访:以 PC1 访问 PC3 为例,在大二层网络中,用户认为自己连接到一台交换机上。PC1 首先判断目的地址与自己是否在同一网段,由于刚开始 PC1 没有 PC3 的 MAC 地址,它会发送 ARP 广播。交换机收到 ARP 广播后,打上 VLAN Tag 并发送给 CE2。CE2 收到报文后,判断其所属的 BD,查看 BD 对应的 VNI 是否配置了隧道。若配置了隧道,CE2 根据头端复制列表将报文进行 VXLAN 封装,并发送给对端设备。对端设备收到报文后解封装,将数据发送给 PC3。PC3 收到 ARP 请求后,会回复 ARP 响应,CE3 收到响应后,根据 MAC 地址表将数据以单播形式发送给 CE2,CE2 再转发给 PC1,从而实现 PC1 与 PC3 的通信。
- 跨子网互访:不同子网之间的通信需要依赖三层网关。例如 PC1 与 PC4 属于不同子网,PC1 将数据发送给交换机,交换机转发给 CE2,CE2 通过头端复制将数据发送给三层网关(假设为 C1)。C1 接收到报文后,解封装并根据目的 IP 地址进行三层路由转发,然后再次进行 VXLAN 封装,发送给 CE3。CE3 解封装后将数据发送给 PC4,实现跨子网通信。
五、VXLAN 的应用与优势
- 应用场景:VXLAN 在数据中心的组网中应用广泛。数据中心通常采用 Leaf - Spine 组网架构,Leaf 设备负责接入服务器、网关等设备,Spine 设备作为核心设备,用于连接各个 Leaf 设备。VXLAN 隧道在 Leaf 设备之间建立,实现服务器之间的二层通信。在这种架构下,服务器产生的流量可以通过 VXLAN 隧道进行传输,方便进行安全策略过滤、流量清洗等操作,同时也便于实现服务器的虚拟机迁移。
- 技术优势
- 简化网络配置:VXLAN 基于 Overlay 网络,只需要边界设备 IP 可达,中间设备只需支持 IP 协议和三层路由,降低了网络配置的复杂性。
- 防止广播风暴:通过水平分割和 IP Overlay 的 TTL 机制,可以有效防止 VXLAN 网络中 BUM(Broadcast、Unknown Unicast、Multicast)报文的泛红环路,保障网络的稳定性。
- 高效转发:依赖负载分担快速转发技术,基于流进行负载分担。在数据中心中,通过双活网关和相关协议同步 ARP 和 MAC 地址表,实现流量的均衡分配,提高网络的转发效率。
- 网络虚拟化:VXLAN 利用隧道技术将边缘设备互联,透传二层网络,同时通过 VNI 实现网络隔离,构建出一个大规模的虚拟二层网络,满足数据中心灵活的网络需求,配合服务器虚拟化,提升数据中心的整体性能和资源利用率。
VXLAN 作为网络虚拟化的重要技术,为数据中心的建设和管理带来了诸多便利。通过深入理解其原理、配置和应用,我们能够更好地构建高效、灵活、可靠的网络环境,满足不断增长的数字化业务需求。在实际应用中,根据不同的场景和需求,合理选择 VXLAN 的配置和部署方式,将有助于充分发挥其技术优势,推动企业网络的发展。