VXLAN技术:二层和三层VXLAN有啥区别?高级网络工程师必看!

网络东西不好懂 2024-09-22 21:54:32

你好,这里是网络技术联盟站,我是瑞哥。

虚拟局域网(VLAN)是网络虚拟化的传统方法,通过将物理网络划分为多个逻辑子网,实现网络隔离和管理。然而,VLAN在以下几个方面存在明显的局限性:

扩展性受限:VLAN使用12位标识符(VLAN ID),最多支持4096个VLAN。这在大规模数据中心和多租户环境中显得捉襟见肘,难以满足不断增长的网络需求。跨物理网络的复杂性:VLAN主要设计用于单一广播域内,跨物理网络的连接需要复杂的配置和额外的协议支持,如VTP(VLAN Trunking Protocol)或MSTP(Multiple Spanning Tree Protocol)。网络隔离和安全性:在多租户环境中,VLAN的隔离性依赖于VLAN ID的管理和配置,容易出现配置错误,导致不同租户之间的流量泄露或安全漏洞。灵活性不足:VLAN的静态配置方式限制了网络的动态调整和快速响应能力,难以适应快速变化的业务需求和网络拓扑。

为了解决传统VLAN在扩展性、灵活性和跨物理网络连接方面的不足,虚拟可扩展局域网(Virtual Extensible LAN,简称VXLAN)应运而生。

VXLAN是一种网络虚拟化技术,旨在通过封装技术在现有的三层网络基础设施上创建虚拟二层网络,从而实现大规模、灵活且高效的网络架构。

VXLAN基础

虚拟可扩展局域网(Virtual Extensible LAN,简称VXLAN)是一种网络虚拟化技术,旨在解决传统VLAN(虚拟局域网)在大规模数据中心和多租户环境中的扩展性和灵活性限制。VXLAN通过在现有的三层网络基础设施上创建一个虚拟的二层网络,实现跨物理网络边界的虚拟机(VM)互联。

VXLAN的核心思想是利用封装技术,将原本在二层网络中传输的以太网帧封装在三层UDP(用户数据报协议)数据包中,从而使得虚拟机能够跨越不同的物理服务器、交换机甚至数据中心进行通信。这种封装机制不仅提高了网络的可扩展性,还增强了多租户环境下的网络隔离和安全性。

VXLAN的工作原理

VXLAN的核心机制是通过封装和解封装技术,将二层以太网帧封装在三层UDP数据包中进行传输。具体过程如下:

封装(Encapsulation):源端:当虚拟机(VM1)发送一个以太网帧时,该帧首先被传输到VXLAN隧道端点(VXLAN Tunnel Endpoint,简称VTEP)。VTEP处理:VTEP将原始的二层以太网帧封装在一个VXLAN头部中。VXLAN头部包含24位的VXLAN网络标识符(VXLAN Network Identifier,简称VNI),用于标识不同的VXLAN网络。UDP封装:VXLAN头部再封装在一个UDP数据包中,UDP源端口通常为4789(VXLAN的默认端口)。三层传输:封装后的UDP数据包通过现有的三层网络基础设施(如IP网络)进行传输。解封装(Decapsulation):目的端:当封装后的UDP数据包到达目的VTEP时,VTEP对数据包进行解封装,提取出原始的二层以太网帧。传输到目标VM:解封装后的以太网帧被传输到目标虚拟机(VM2),实现跨物理网络的通信。VXLAN头部结构

VXLAN头部位于原始以太网帧和UDP头部之间,其结构如下:

字段

长度(字节)

描述

Flags

1

标志位,用于指示VXLAN封装类型

VXLAN Network Identifier (VNI)

3

24位的VXLAN网络标识符

Reserved

1

保留字段

Flags:通常设置为0x08,表示VXLAN封装。VNI:用于标识不同的VXLAN网络,实现多租户环境下的网络隔离。VXLAN隧道端点(VTEP)

VTEP是VXLAN架构中的关键组件,负责VXLAN封装和解封装操作。VTEP可以部署在物理交换机、虚拟交换机或专用网络设备上。每个VTEP具有一个或多个三层接口(如Loopback接口)用于与物理网络通信,同时连接到虚拟交换机或虚拟机进行二层网络流量的处理。

VTEP的主要功能包括:

封装与解封装:将二层以太网帧封装在VXLAN头部中进行三层传输,并在接收端解封装还原原始以太网帧。网络标识符管理:根据VNI对不同的VXLAN网络进行标识和隔离。路由与转发:在三层VXLAN(L3 VXLAN)中,VTEP还负责基于路由协议的跨子网或跨数据中心通信。

VXLAN控制平面

VXLAN控制平面负责管理和分发VTEP之间的网络信息,确保虚拟网络的连通性和一致性。常见的VXLAN控制平面协议包括:

基于IGMP(Internet Group Management Protocol)的多播模式:使用IP多播来分发VXLAN流量,适用于简单的网络环境。配置相对简单,但在大规模部署中可能面临多播组管理的复杂性。EVPN(Ethernet VPN):EVPN是一种基于BGP(Border Gateway Protocol)的控制平面协议,提供更高效和灵活的VXLAN流量管理。支持多租户环境下的MAC地址学习和路径选择,适用于大规模和复杂的网络架构。VXLAN的核心优势高扩展性:VXLAN使用24位的网络标识符(VXLAN Network Identifier,简称VNI),最多支持16,777,216个VXLAN网络,极大地提升了网络的可扩展性,满足大规模数据中心和多租户环境的需求。跨物理网络的灵活连接:通过在现有的三层网络基础设施上进行封装,VXLAN能够轻松跨越物理网络边界,实现虚拟机在不同物理服务器、交换机或数据中心之间的无缝连接。增强的网络隔离和安全性:VXLAN基于VNI进行网络隔离,提供了更细粒度的隔离机制,减少了不同租户或业务单元之间的流量干扰和安全风险。支持多租户环境:VXLAN的设计考虑到了多租户环境的需求,通过灵活的网络划分和隔离机制,能够为不同租户提供独立且安全的虚拟网络。与现有网络架构的兼容性:VXLAN能够在现有的三层网络基础设施上运行,无需对物理网络进行大规模的改造,降低了部署成本和复杂性。

VXLAN技术主要分为二层VXLAN(Layer 2 VXLAN,简称L2 VXLAN)和三层VXLAN(Layer 3 VXLAN,简称L3 VXLAN)。这两种类型的VXLAN在功能、架构和应用场景上存在显著差异,各自适用于不同的网络需求和环境。

二层VXLAN(L2 VXLAN)

二层虚拟可扩展局域网(Layer 2 Virtual Extensible LAN,简称L2 VXLAN)是一种网络虚拟化技术,旨在通过在现有三层网络基础设施上创建虚拟二层网络,实现虚拟机(VM)之间的二层通信。L2 VXLAN允许多个虚拟网络(即多个广播域)在同一个物理网络基础设施上共存,提供类似于传统局域网(LAN)的功能,但具备更高的可扩展性和灵活性。

二层VXLAN的核心功能虚拟网络隔离:通过VXLAN Network Identifier(VNI),实现不同虚拟网络之间的隔离,确保流量不会在不同租户或业务单元之间泄露。跨物理网络的二层连接:允许虚拟机跨越不同的物理服务器和交换机进行二层通信,无需依赖传统的VLAN。支持多租户环境:每个租户可以拥有独立的虚拟网络,确保不同租户之间的流量隔离和安全性。扩展性强:相比传统VLAN,L2 VXLAN使用24位VNI,支持多达16,777,216个虚拟网络,极大地提升了网络的可扩展性。简化网络管理:通过集中化的控制平面(如EVPN),简化大规模虚拟网络的管理和配置。二层VXLAN的架构设计

L2 VXLAN的架构主要由以下几个关键组件组成:

VXLAN隧道端点(VTEP):负责VXLAN封装和解封装操作,连接虚拟网络与物理网络。VTEP可以部署在物理交换机、虚拟交换机或专用网络设备上。物理三层网络:承载封装后的VXLAN数据包,利用现有的IP网络基础设施进行传输。VXLAN网络标识符(VNI):用于区分不同的虚拟网络,实现网络隔离。控制平面协议(如EVPN):管理和分发VTEP之间的网络信息,确保虚拟网络的连通性和一致性。

以下是一个典型的L2 VXLAN架构图:

在上述架构中,VTEP1和VTEP2通过物理三层网络进行连接,虚拟机VM1和VM2通过L2 VXLAN实现二层通信,位于相同的VLAN(VLAN 10)和相同的VNI(5000)下。

二层VXLAN的配置示例

以下是基于Cisco Nexus交换机的L2 VXLAN配置示例,展示如何创建VNI、配置VTEP接口、映射VLAN与VNI以及将物理接口加入VLAN。

假设我们有两个数据中心,分别部署了VTEP1和VTEP2。我们希望在两个数据中心之间创建一个L2 VXLAN,允许位于不同数据中心的虚拟机VM1和VM2在同一虚拟网络(VNI 5000)下进行二层通信。

配置步骤1. 配置VNI(VXLAN Network Identifier)

首先,需要在每个VTEP上配置VNI,以标识不同的VXLAN网络。

nve1 member vni 5000 ingress-replication protocol bgp2. 配置VTEP接口

配置VTEP接口,包括源接口(通常是Loopback接口)和VNI的关联。

interface nve1 no shutdown source-interface loopback0 member vni 5000 ingress-replication protocol bgp3. 配置VLAN与VNI的映射

将物理VLAN与对应的VNI进行映射,确保流量正确地封装和解封装。

vlan 10 name VM-Network vn-segment 50004. 配置物理接口加入VLAN

将物理接口配置为Trunk模式,并允许对应的VLAN通过。

interface Ethernet1/1 description Trunk to Spine switchport mode trunk switchport trunk allowed vlan 105. 配置BGP路由协议

配置BGP以支持Ingress Replication,用于VTEP之间的流量复制。

router bgp 65000 address-family l2vpn evpn neighbor 10.0.0.2 remote-as 65000 neighbor 10.0.0.2 activate6. 配置Loopback接口

配置Loopback接口作为VTEP的源接口,确保VTEP具有稳定的三层IP地址。

interface Loopback0 ip address 192.168.0.1/327. 完整配置示例

以下是完整的配置示例,整合了上述步骤:

! 配置Loopback接口interface Loopback0 ip address 192.168.0.1/32! 配置NVE接口interface nve1 no shutdown source-interface loopback0 member vni 5000 ingress-replication protocol bgp! 配置VLAN与VNI映射vlan 10 name VM-Network vn-segment 5000! 配置物理接口interface Ethernet1/1 description Trunk to Spine switchport mode trunk switchport trunk allowed vlan 10! 配置BGP路由协议router bgp 65000 address-family l2vpn evpn neighbor 10.0.0.2 remote-as 65000 neighbor 10.0.0.2 activate优点与缺点优点高扩展性:L2 VXLAN通过使用24位的VNI,支持多达16,777,216个虚拟网络,远超传统VLAN的4096个限制,适用于大规模数据中心和多租户环境。灵活的网络隔离:通过VNI实现细粒度的网络隔离,确保不同虚拟网络之间的流量不会互相干扰,提高了网络的安全性。跨物理网络的二层连接:允许虚拟机跨越不同的物理服务器和交换机进行二层通信,无需依赖传统的VLAN协议,简化了跨物理网络的连接配置。支持多租户环境:每个租户可以拥有独立的虚拟网络,确保不同租户之间的流量隔离和安全性,适用于云服务提供商和大型企业。简化网络管理:集中化的控制平面(如EVPN)简化了大规模虚拟网络的管理和配置,减少了人为错误的风险。缺点配置复杂度较高:相比传统VLAN,L2 VXLAN的配置涉及VNI分配、VTEP配置和控制平面协议(如EVPN)的部署,管理和维护的复杂度较高。依赖控制平面协议:L2 VXLAN通常依赖于EVPN等控制平面协议来管理VTEP之间的网络信息,增加了网络架构的复杂性。广播风暴风险:由于L2 VXLAN支持二层广播流量,如果没有有效的广播流量控制机制,可能会引发广播风暴,影响网络性能和稳定性。网络可见性与故障排查困难:VXLAN引入了额外的封装层,增加了网络可见性和故障排查的难度,需要借助专用的网络监控和分析工具。硬件要求:为了实现高性能的封装和解封装,通常需要支持VXLAN的高性能网络设备,增加了硬件成本。三层VXLAN(L3 VXLAN)

三层虚拟可扩展局域网(Layer 3 Virtual Extensible LAN,简称L3 VXLAN)是一种高级网络虚拟化技术,旨在通过在现有三层网络基础设施上创建虚拟三层网络,实现跨不同子网、数据中心或地理位置的虚拟机(VM)之间的通信。与二层VXLAN(L2 VXLAN)不同,L3 VXLAN不仅支持二层通信,还引入了三层路由机制,使得虚拟机能够跨越不同的广播域进行高效通信。

三层VXLAN的核心功能跨子网通信:L3 VXLAN允许不同子网中的虚拟机通过路由实现通信,适用于需要跨子网或跨地理位置的复杂网络环境。高可扩展性:通过引入三层路由机制,L3 VXLAN能够支持大规模、多租户的网络架构,满足企业和服务提供商的需求。地理冗余与灾备:L3 VXLAN支持跨数据中心和跨区域的虚拟网络连接,增强了网络的高可用性和灾难恢复能力。增强的网络隔离与安全性:通过路由和VNI的结合,L3 VXLAN提供了更细粒度的网络隔离和安全策略,实现多租户环境下的流量隔离。灵活的流量工程:引入路由协议和策略,使得网络管理员能够更灵活地管理和优化网络流量,提高网络性能和效率。三层VXLAN的架构设计

L3 VXLAN的架构设计相较于L2 VXLAN更为复杂,主要包括以下关键组件:

VXLAN隧道端点(VTEP):在L3 VXLAN中,VTEP不仅负责VXLAN的封装和解封装,还具备路由功能,能够处理跨子网的流量转发和路由决策。物理三层网络:承载封装后的VXLAN数据包,通过现有的IP网络基础设施进行传输,支持高效的路由转发。VXLAN网络标识符(VNI):用于区分不同的虚拟网络,实现网络隔离和多租户支持。控制平面协议(如EVPN):管理和分发VTEP之间的路由信息,确保跨子网和跨数据中心的连通性和一致性。路由协议(如BGP、OSPF):在VTEP之间传播路由信息,实现不同VNI之间的流量转发和路由决策。

以下是一个典型的L3 VXLAN架构图:

在上述架构中,VTEP1和VTEP2通过物理三层网络和路由器进行连接,虚拟机VM1和VM2分别位于不同的子网(Subnet A和Subnet B)下,通过L3 VXLAN实现跨子网的通信。

三层VXLAN的配置示例

以下是基于Cisco Nexus交换机的L3 VXLAN配置示例,展示如何创建VNI、配置VTEP接口、映射VLAN与VNI、配置路由协议以及实现跨子网通信。

假设我们有两个数据中心,分别部署了VTEP1和VTEP2。我们希望在两个数据中心之间创建一个L3 VXLAN,允许位于不同子网(Subnet A和Subnet B)的虚拟机VM1和VM2进行通信。

配置步骤1. 配置VNI(VXLAN Network Identifier)

首先,需要在每个VTEP上配置VNI,以标识不同的VXLAN网络。

nve1 member vni 6000 ingress-replication protocol bgp2. 配置VTEP接口

配置VTEP接口,包括源接口(通常是Loopback接口)和VNI的关联。

interface nve1 no shutdown source-interface loopback0 member vni 6000 ingress-replication protocol bgp3. 配置VLAN与VNI映射

将物理VLAN与对应的VNI进行映射,确保流量正确地封装和解封装。

vlan 20 name DMZ-Network vn-segment 60004. 配置物理接口加入VLAN

将物理接口配置为Trunk模式,并允许对应的VLAN通过。

interface Ethernet1/2 description Trunk to Spine switchport mode trunk switchport trunk allowed vlan 205. 配置路由协议(例如BGP)

配置BGP以支持Ingress Replication,用于VTEP之间的流量复制和路由信息交换。

router bgp 65000 address-family l2vpn evpn neighbor 10.0.0.2 remote-as 65000 neighbor 10.0.0.2 activate6. 配置Loopback接口

配置Loopback接口作为VTEP的源接口,确保VTEP具有稳定的三层IP地址。

interface Loopback0 ip address 192.168.0.1/327. 配置SVI(Switched Virtual Interface)以实现路由

配置SVI接口,为每个子网分配IP地址,实现不同子网之间的路由功能。

interface Vlan20 description DMZ Network SVI ip address 192.168.20.1/24 vxlan encapsulation vxlan60008. 配置静态路由或动态路由协议

根据网络需求,配置静态路由或动态路由协议(如OSPF、BGP)以实现不同VNI之间的通信。

router ospf 1 network 192.168.0.0 0.0.0.255 area 0 network 192.168.20.0 0.0.0.255 area 09. 完整配置示例

以下是完整的配置示例,整合了上述步骤:

! 配置Loopback接口interface Loopback0 ip address 192.168.0.1/32! 配置NVE接口interface nve1 no shutdown source-interface loopback0 member vni 6000 ingress-replication protocol bgp! 配置VLAN与VNI映射vlan 20 name DMZ-Network vn-segment 6000! 配置物理接口interface Ethernet1/2 description Trunk to Spine switchport mode trunk switchport trunk allowed vlan 20! 配置SVI接口interface Vlan20 description DMZ Network SVI ip address 192.168.20.1/24 vxlan encapsulation vxlan6000! 配置BGP路由协议router bgp 65000 address-family l2vpn evpn neighbor 10.0.0.2 remote-as 65000 neighbor 10.0.0.2 activate! 配置OSPF路由协议router ospf 1 network 192.168.0.0 0.0.0.255 area 0 network 192.168.20.0 0.0.0.255 area 0优点与缺点优点高度可扩展:L3 VXLAN通过引入三层路由机制,支持跨子网、跨数据中心的虚拟网络连接,适用于大规模、多租户的网络架构。地理冗余与灾备:支持跨不同地理位置的数据中心连接,增强了网络的高可用性和灾难恢复能力。网络隔离与安全性增强:通过VNI和路由策略,实现更细粒度的网络隔离和安全控制,提升多租户环境下的安全性。灵活的流量工程:引入路由协议和策略,使得网络管理员能够更灵活地管理和优化网络流量,提高网络性能和效率。支持多租户和混合云环境:L3 VXLAN能够满足多租户和混合云环境下的复杂网络需求,实现不同租户和云环境之间的灵活连接和隔离。缺点配置复杂度较高:相比L2 VXLAN,L3 VXLAN的配置涉及路由协议的部署和管理,增加了网络配置和维护的复杂性。依赖控制平面协议:L3 VXLAN通常依赖于EVPN等高级控制平面协议,增加了网络架构的复杂性和管理难度。潜在的延迟与性能开销:跨路由器传输可能引入额外的延迟,且封装和解封装过程可能带来性能开销,特别是在高流量环境下。硬件要求更高:为了实现高效的路由和VXLAN处理,通常需要更高性能的网络设备,增加了硬件成本。网络可见性与故障排查困难:L3 VXLAN引入了额外的封装层和路由机制,增加了网络可见性和故障排查的难度,需要借助专用的网络监控和分析工具。

二层与三层VXLAN对比 功能对比 特性 二层VXLAN(L2 VXLAN) 三层VXLAN(L3 VXLAN) 通信层级 数据链路层(Layer 2) 网络层(Layer 3) 广播域 单一广播域内 跨不同子网或地理位置 路由需求 无需路由,仅依赖VXLAN隧道端点(VTEP) 需要路由协议支持,实现不同VNI之间的通信 VNI数量 通常较少,适用于单一广播域 可扩展至大规模,支持多租户和跨数据中心部署 配置复杂度 较低,主要涉及VNI映射和VTEP配置 较高,需要配置路由协议和跨VTEP路由策略 适用场景 单一数据中心内部、大规模虚拟化环境、低延迟通信 跨数据中心连接、多租户环境、混合云部署 性能 低延迟、高吞吐量 可能引入额外延迟,但具备更高的可扩展性和灵活性 性能对比 性能指标 二层VXLAN(L2 VXLAN) 三层VXLAN(L3 VXLAN) 延迟 较低,适合对延迟敏感的应用 略高,因路由处理可能引入额外延迟 吞吐量 高,适合大规模数据中心的高带宽需求 适中,通过硬件加速和优化可实现高性能 可扩展性 在单一广播域内易于扩展,跨域扩展受限 高度可扩展,适合大规模和跨数据中心的部署 部署复杂度对比 部署维度 二层VXLAN(L2 VXLAN) 三层VXLAN(L3 VXLAN) 配置复杂度 较低,主要涉及VNI映射和VTEP配置 较高,需要配置路由协议和跨VTEP路由策略 管理难度 管理相对简便,不涉及复杂的路由配置 管理较为复杂,需要维护路由协议和跨域的路由策略 依赖性 主要依赖于VTEP的基本配置和VNI管理 依赖于控制平面协议(如EVPN)和路由协议的稳定性和配置准确性 故障排查 相对简单,主要集中在VTEP和VNI配置上 较为复杂,需要同时排查VTEP、VNI、路由协议等多个层面的问题 适用场景对比 适用场景 二层VXLAN(L2 VXLAN) 三层VXLAN(L3 VXLAN) 单一数据中心内部 高效支持大规模虚拟机二层通信,适合高带宽需求的应用 不适用于,需要跨子网通信时可选 跨数据中心连接 需要额外配置和管理,复杂性高 原生支持,通过路由协议实现跨数据中心的虚拟网络连接 多租户环境 提供基础的网络隔离,适合较小规模的多租户环境 提供更高的网络隔离和安全性,适合大规模、多租户的云服务环境 混合云部署 适合在单一云环境内进行虚拟化部署 适合跨本地数据中心与公有云之间的虚拟网络连接 低延迟通信需求 适合需要低延迟的应用,如实时交易系统、视频流媒体等 适用于需要跨子网但仍对延迟有一定要求的应用 高可用性与灾备 适合单一数据中心内部的高可用性设计 适合跨数据中心的灾备设计,提供地理冗余和业务连续性 企业内部网络虚拟化 适合单一部门或业务单元的网络隔离与连接 适合跨部门或跨业务单元的复杂网络隔离与连接 虚拟桌面基础设施(VDI) 适合单一可用区内的高效虚拟桌面通信 适合跨多个数据中心或可用区的虚拟桌面通信

写在最后

二层VXLAN和三层VXLAN各自拥有独特的功能和优势,适用于不同的网络需求和环境。网络管理员在设计和部署VXLAN网络时,应根据具体的业务需求、网络规模和环境特点,选择最合适的VXLAN类型:

选择L2 VXLAN:当需求集中在单一数据中心内部的大规模虚拟机二层通信时,L2 VXLAN提供了高效、低延迟的解决方案,简化了网络管理和配置。选择L3 VXLAN:当需要跨数据中心、跨子网或跨地理位置连接虚拟机时,L3 VXLAN通过引入三层路由机制,提供了高度可扩展和灵活的网络连接能力,适用于复杂和多变的网络环境。

本文完!

0 阅读:0

网络东西不好懂

简介:感谢大家的关注