目录
[NVE(Network Virtualization Edge,网络虚拟化边缘设备):](#NVE(Network Virtualization Edge,网络虚拟化边缘设备):)
[VTEP(VXLAN Tunnel Endpoint,VXLAN 隧道端点):](#VTEP(VXLAN Tunnel Endpoint,VXLAN 隧道端点):)
[VXLAN网络(VXLAN Network):](#VXLAN网络(VXLAN Network):)
[VXLAN Segment(VXLAN 段):](#VXLAN Segment(VXLAN 段):)
[VNI/VNID(VXLAN ID ,VXLAN 网络标识) :](#VNI/VNID(VXLAN ID ,VXLAN 网络标识) :)
[VXLAN隧道(VXLAN Tunnel) :](#VXLAN隧道(VXLAN Tunnel) :)
[VSI(Virtual Switching Instance,虚拟交换实例):](#VSI(Virtual Switching Instance,虚拟交换实例):)
[VSI Interface(VSI 接口):](#VSI Interface(VSI 接口):)
[AC(Attachment Circuit):](#AC(Attachment Circuit):)
[用户终端(User Terminal):](#用户终端(User Terminal):)
L2Gateway二层转发模式---实现同VNI段内主机互访:
L3Gateway三层转发模式---实现不同VNI段内主机互访:
[第一步:PC1 发数据到 L2 网关(R1)](#第一步:PC1 发数据到 L2 网关(R1))
[第二步:L2 网关封装并转发到 L3 网关(R3)](#第二步:L2 网关封装并转发到 L3 网关(R3))
[第三步:L3 网关解封装并转发到目标 L2 网关(R1)](#第三步:L3 网关解封装并转发到目标 L2 网关(R1))
[第四步:目标 L2 网关解封装并转发到 PC2](#第四步:目标 L2 网关解封装并转发到 PC2)
[PC2 回包时,流程相反:](#PC2 回包时,流程相反:)
[关于PC1 发 5 个请求,却在 R3 的 g1/0 抓到 20 个 ICMP 包,其具体原因如下:](#关于PC1 发 5 个请求,却在 R3 的 g1/0 抓到 20 个 ICMP 包,其具体原因如下:)
[查看L2vpn的MAC地址表以及LINK ID](#查看L2vpn的MAC地址表以及LINK ID)
什么是VXLAN技术:
华三 VXLAN 技术全称为虚拟可扩展局域网(Virtual Extensible Lan),是一种网络虚拟化技术,是Overlay技术的一种。可以在三层网络上构建虚拟的二层网络,实现不同租户间的隔离和灵活的组网需求。其本质是通过 "隧道封装" 将二层数据帧封装在三层 IP 报文中传输,打破传统二层网络的物理边界 ,通过隧道机制在现有网络上构建一个叠加的网络,从而绕过现有VLAN标签的限制。隧道的原目设备为Overlay边缘设备。该技术的核心价值在于以 Overlay 方式打破传统网络的物理限制,实现 "大二层互联、大规模隔离、自动化运维"。
VXLAN的相关术语:
NVE(Network Virtualization Edge,网络虚拟化边缘设备):
定义:
VXLAN 网络中负责 "虚拟化功能实现" 的边缘设备,是 VXLAN Overlay 网络与 Underlay 物理网络的 "衔接点",能完成 VXLAN 数据帧的封装 / 解封装、租户信息映射等核心操作。
核心作用:
1、接收本地租户(如虚拟机、物理服务器)的二层数据帧,添加 VXLAN 头部(含 VNI)封装为三层 IP 报文;
2.接收 Underlay 网络传来的 VXLAN 封装报文,解封装后转发给本地对应租户终端;
3.维护 "租户 - VNI - 物理端口" 的映射关系,确保数据精准路由到目标租户。
VTEP(VXLAN Tunnel Endpoint,VXLAN 隧道端点):
定义:
NVE 设备中直接承担 "VXLAN 隧道建立与数据转发" 的具体功能实体,通常以 "设备 IP 地址" 作为隧道标识(即 VTEP IP),是 VXLAN 隧道的 "起点" 和 "终点",一般使用loopback接口作为VTEP地址,一对VTEP地址就对应一条VXLAN隧道,VXLAN报文的外层IP地址头部就对应VXLAN隧道两端的VTEP IP地址。
核心作用:
- 建立隧道:通过 BGP EVPN、静态配置等方式,与其他 VTEP 协商建立 VXLAN 隧道(本质是 IP 层的逻辑连接);
- 用于VXLAN报文的封装 / 解封装:将租户的原始二层数据帧(如以太网帧)封装为 "外层以太网帧头部+外层IP头 +外层UDP头部 + VXLAN头+原始数据帧" 格式的报文(封装后通过 Underlay 网络传输),或反向解封装;
- 地址学习:通过 ARP 广播抑制、EVPN 路由同步等方式,学习远端租户的 "IP - MAC - VTEP IP" 映射关系,避免广播风暴。

VXLAN网络(VXLAN Network):
定义:
基于 Underlay 物理 IP 网络(如数据中心三层交换机、路由器组成的 IP 网络)构建的 "逻辑 Overlay 网络",通过 VXLAN 隧道将分散的物理节点(服务器、虚拟机)虚拟化为一个或多个 "逻辑二层网络"。
核心作用:
- 打破物理边界:让不同物理位置(如跨机架、跨机房)的终端,如同处于同一二层网络,支持虚拟机跨区域迁移;
- 资源池化:将物理网络资源(带宽、端口)按租户需求虚拟化为独立逻辑网络,实现资源按需分配;
- 隔离 Underlay 与 Overlay:Overlay 层的租户业务故障(如广播风暴)不会影响 Underlay 物理网络,提升整体网络稳定性。
VXLAN Segment(VXLAN 段):
定义:
VXLAN 网络中用于 "划分逻辑广播域" 的单元,每个 VXLAN Segment 对应一个独立的 "租户或业务组",本质是VNI(见下文)的逻辑映射 ------ 一个 VNI 即代表一个 VXLAN Segment。
核心作用:
- 广播域隔离:同一 VXLAN Segment 内的终端可直接二层通信(如 ARP 广播仅在段内传播),不同段之间默认无法互通(需三层网关转发);
- 业务分组:按业务类型(如 "Web 服务器段""数据库段")或租户划分 VXLAN Segment,便于网络管理与安全控制(如对某段单独配置 ACL)。
VNI/VNID(VXLAN ID ,VXLAN 网络标识) :
定义:
**用于唯一标识 "VXLAN Segment"**的 24 位数字(取值范围 0-16777215),相当于 VXLAN 网络中的 "虚拟 VLAN ID",但数量远超传统 VLAN(仅 4094 个)。
核心作用:
- 租户隔离:不同租户使用不同 VNI,VTEP 通过解析 VXLAN 头部中的 VNI,判断数据归属的租户,确保租户间流量不互通;
- 路由映射:在三层转发场景中(如跨 VXLAN Segment 通信),VNI 与三层 VPN 实例(如华三的 VRF)绑定,实现 "VNI→VRF→物理路由" 的映射,让数据跨段转发。
VXLAN隧道(VXLAN Tunnel) :
定义:
由两个 VTEP 之间建立的 "逻辑通信通道",本质是通过 Underlay IP 网络传输 VXLAN 封装报文的 "虚拟链路",隧道两端的 VTEP IP(通常是设备 Loopback 接口 IP)作为隧道的 "源 / 目的地址"。
核心作用:
- 承载二层数据:将不同物理位置的 VXLAN Segment 通过隧道连接,让二层数据能跨三层 IP 网络传输(如虚拟机跨机房迁移时的数据流);
- 隔离传输:隧道内的 VXLAN 报文仅在两端 VTEP 解封装,Underlay 网络设备(如中间路由器)仅转发 IP 报文,无法感知隧道内的租户数据。
核心设备:
定义:
在 VXLAN 网络架构中承担 "核心转发、全局控制、网关汇聚" 功能的设备,通常位于 Underlay 网络的核心层,是连接多个接入区域(如不同机架、不同机房)的关键节点。
核心作用(Core Device):
- Underlay 核心转发:转发不同 VTEP 之间的 VXLAN 封装报文,确保跨区域隧道通信的带宽与低延迟;
- 集中式网关:若部署集中式 VXLAN 网关,核心设备需承担 "跨 VXLAN Segment 三层转发""NAT""QoS 调度" 等功能;
- 控制平面汇聚:作为 BGP EVPN 的路由反射器(RR),汇聚各接入层 VTEP 的路由信息,实现租户路由的全局同步。
VSI(Virtual Switching Instance,虚拟交换实例):
定义:
华三设备中用于 "模拟租户专属交换机" 的逻辑功能实例,每个 VSI 对应一个 VXLAN Segment(即绑定一个 VNI),具备独立的二层转发表、ARP 表、VLAN 表,相当于租户的 "私有交换机"。
核心作用:
- 租户隔离:不同 VSI 的转发表、ARP 表完全独立,租户 A 的终端无法通过 VSI 访问租户 B 的终端;
- 业务适配:为 VSI 配置独立的二层策略(如 VLAN 剥离、链路聚合),适配租户的个性化需求(如某租户需将物理端口 VLAN 10 映射到 VSI);
- 对接终端:服务器、虚拟机通过物理端口或虚拟网卡(如 VMware vNIC)接入 VSI,实现与 VXLAN 网络的连接。
PS:一个VSI可以关联多个VXLAN隧道,但一个VSI只能关联一个VNI。
VSI Interface(VSI 接口):
定义:
VSI 实例与设备其他功能模块(如三层网关、VPN)交互的 "逻辑接口",是 VXLAN 二层网络与三层网络的 "衔接点",也称为 "VXLAN 三层网关接口"。
核心作用:
- 三层转发:作为 VXLAN Segment 的 "默认网关",接收本 VSI 内终端的三层数据(如跨 VNI 访问的报文),转发到其他 VSI 或外部网络(如 Internet);
- 地址配置:为 VSI Interface 配置 IP 地址(作为租户终端的网关 IP),例如 VSI "Finance" 的 VSI Interface 配置 192.168.1.1/24,财务虚拟机的网关均指向该地址;
- 策略承载:在 VSI Interface 上配置 ACL、NAT、QoS 等三层策略,实现对租户三层流量的控制(如禁止某 VSI 访问外网)。
AC(Attachment Circuit):
定义:
VXLAN 网络中 "连接用户终端与 VSI 实例的关联链路",也是需在华三交换机上创建的 "服务实例",本质是终端接入 VXLAN 网络的 "桥梁载体",通过绑定终端接口与对应 VSI,实现终端流量定向接入 VXLAN 逻辑网络。
核心作用:
- 接口 - VSI 关联:将连接终端的物理接口(如交换机千兆电口)或逻辑接口(如虚拟接口),绑定到对应的 VSI 实例,例如华三 S5860 交换机的 Gi1/0/2 端口(连接物理服务器),通过 AC 关联到 "财务业务 VSI",确保服务器流量仅接入该 VSI;
- 服务实例创建:作为可配置的服务实例,需在交换机上手动创建并配置参数,比如在华三交换机上通过命令创建 AC 服务实例 10,指定其关联的 VSI 为 "研发测试 VSI",成为终端接入的 "逻辑标识";
- 感兴趣流指定(接口 / VLAN 方式):基于接口方式时,AC 默认将对应接口接收的所有终端流量,作为感兴趣流导入关联 VSI;基于 VLAN 方式时,AC 仅将终端流量中携带指定 VLAN 标签(如 VLAN 20)的流量,作为感兴趣流定向接入 VSI,例如 AC 服务实例 20 指定 "匹配 VLAN 20 流量",仅将携带 VLAN 20 的 PC 流量,导入 "办公业务 VSI"。
用户终端(User Terminal):
定义:
VXLAN 网络的 "最终接入对象",即使用 VXLAN 网络资源的终端设备,包括物理设备和虚拟设备,是租户业务的承载主体。
核心作用:
- 物理终端:如物理服务器、台式机、笔记本、IoT 设备(如监控摄像头),通过物理网卡接入华三交换机的 VSI 绑定端口,获取 VXLAN 网络接入权限;
- 虚拟终端:如虚拟机(VM,如 KVM、VMware VM)、容器(如 Docker、K8s Pod),通过虚拟网卡(如 vNIC)接入宿主机的虚拟交换机(如华三 vSwitch),再由宿主机或接入交换机映射到对应的 VXLAN Segment。
PS:用户终端 "无需感知 VXLAN 存在"------ 终端的通信逻辑与传统二层网络完全一致(如通过 IP、MAC 通信),VXLAN 的封装 / 解封装由 VTEP 自动完成,对终端透明。
VXLAN的工作模式;
从 "二层" 和 "三层" 维度划分 VXLAN 工作模式,核心是看数据转发是否跨越 "VXLAN 段(二层广播域)" ------ 二层模式聚焦 "同一 VXLAN 段内的通信",三层模式聚焦 "不同 VXLAN 段间的通信",逻辑更贴合网络分层逻辑:

L2Gateway二层转发模式---实现同VNI段内主机互访:
VTEP通过查找MAC地址表项对流量进行转发,**用于相同VXLAN或VXLAN与VLAN的设备之间的互相通讯,**核心是 "让不同物理位置的设备,像在同一传统二层网里一样互通",数据只在二层封装传输,不涉及三层转发,。
工作逻辑(通俗版):
- 终端发数据:比如虚拟机 VM1(属于 VNI 100 段)要给同段的虚拟机 VM2(物理位置跨机架)发数据,先把数据发给本地接入交换机Edge1(VTEP A);
- VTEP 封装:交换机Edge1(VTEP A) 识别数据属于 VNI 100,给数据 "包一层 VXLAN 外壳"(加 VNI、对端 VTEP IP 等信息),变成能在三层 IP 网传输的报文;
- 隧道传数据:封装后的报文通过 Underlay 三层 IP 网,走 VXLAN 隧道传到虚拟机 VM2 的本地接入交换机Edge2(VTEP B);
- 解封装转发:本地接入交换机Edge2 (VTEP B) 拆了 "VXLAN 外壳",识别出是 VNI 100 的 data,再发给虚拟机 VM2。


关键特点:
1、只涉及 "VXLAN 隧道封装 / 解封装",不经过三层网关;
2、同一 VNI 段内的广播、ARP 请求,会通过隧道在段内传播(但 VTEP 会做抑制,避免广播风暴);
3、核心用例:虚拟机跨机架 / 跨机房迁移(迁移时 IP、MAC 不变,业务不中断)、同一业务组设备互联(如所有 Web 服务器在一个 VNI 段)。
L3Gateway三层转发模式---实现不同VNI段内主机互访:
VTEP通过查询IP表项/ARP表项对流量进行转发,实现跨VXLAN的设备,或者VXLAN与传统IP网络间的互相通讯 。其核心是 "让不同 VXLAN 段的设备互通",需要通过 "VXLAN 网关" 做三层转发,本质是 "二层 VXLAN 网络 + 三层路由" 的结合。

工作逻辑(通俗版):
-
假设 VM1 属于 VNI 100(网段
192.168.1.0/24),VM2 属于 VNI 200(网段192.168.2.0/24),跨段通信时: -
终端发跨段数据 :VM1(
192.168.1.1)要访问 VM2(192.168.2.1),先把数据发给自己的 L2 网关(Edge1)(因为 VM1 直接连接的是 Edge1 这个 L2 网关,负责接入 VXLAN 网络)。 -
L2 网关封装转发到 L3 网关 :Edge1 识别到目标 IP(
192.168.2.1)属于其他 VNI(VNI 200),会将数据封装成 VXLAN 报文,并转发到 Border L3 网关(因为图中三层网关是集中式的 Border 设备)。 -
L3 网关三层转发 :Border L3 网关收到 VXLAN 报文后,解封装并检查目标 IP(
192.168.2.1),查询路由表和ARP表(需提前配置跨 VNI 的路由,比如知道 VNI 200 的流量要转发到 Edge2)。 -
L3 网关转发到目标 L2 网关:Border L3 网关将数据重新封装成 VXLAN 报文(目标 VNI 200),转发到目标 L2 网关(Edge2)。
-
目标 L2 网关拆封装转发 :Edge2 收到报文后,解封装 VXLAN 头部,将原始数据转发给 VM2(
192.168.2.1)。 -
返程同理:VM2 回包时,先发给 Edge2 ,Edge2 封装后发给 Border L3 网关 , Border L3 网关转发给 Edge1 , Edge1 解封装发给 VM1。
关键特点:
1.必须依赖 "VXLAN 网关"(没有网关,不同 VNI 段完全隔离);
2.数据会经历 "二层 VXLAN 封装 → 三层转发 → 目标侧二层解封装" 的过程;
3.核心用例:不同业务组互通(如 Web 服务器段 VNI 100 访问数据库段 VNI 200)、VXLAN 段访问外网(网关做 NAT 后连 Internet)。
VXLAN集中式网关:
在L3Gateway三层转发模式下,VXLAN技术分为两种类型的网关,一种是集中式网关,另一种是分布式网关。对于集中式网关的配置我们可以通过静态方式或EVPN方式动态完成
集中式网关,只有一个VTEP设备作为L3GW,通常部署在网络核心层设备上,如核心交换机。所有跨 VXLAN Segment(虚拟扩展局域网段)的三层转发都由核心层的集中式网关处理 。因此存在以下优点及缺点。
优点:
- 管理方便,便于进行统一的安全策略配置,比如在网关处集中配置访问控制列表(ACL)、网络地址转换(NAT)、服务质量(QoS)等策略;
2.网络拓扑相对简单,对于网络规模较小、安全管控要求高的场景,集中式网关便于网络管理员集中管理和维护。
缺点:
1.容易形成网络瓶颈,因为所有跨段流量都要经过核心层的集中式网关,可能会产生次优路径问题,当网络规模扩大、流量增加时,可能导致网关处的处理压力过大,影响网络转发性能;
- 存在单点故障风险,如果集中式网关设备出现故障,会影响到整个网络的跨段通信。
3.集中式网关需要维护和记录所有主机的ARP记录,会导致可能超出ARP表的规格
VXLAN分布式网关:
分布式网关可存在多台VTEp设备作为L3GW,分布式网关将网关功能分散到接入层或汇聚层的 VTEP 设备上。本地跨 VXLAN 的流量可以直接在接入层的 VTEP 设备上进行三层转发,无需经过核心层的集中式网关,大大减少了数据转发的路径和延迟,提高了转发效率。例如,在同一机架内的不同 VXLAN 的虚拟机之间通信时,流量可以在接入交换机上快速完成转发,适合对延迟敏感的应用场景。对于分布式网关的布置我们一般通过结合"EVPN 控制平面协议进行配置。
优点:
1.可靠性强 :由于网关功能分布在多台设备上,单个 VTEP 设备的故障只会影响局部的网络通信,不会导致整个网络的跨 VXLAN 通信中断。而且,华三的分布式网关设备通常支持丰富的冗余和高可靠性技术,如链路聚合、热备份等,进一步增强了网络的可靠性和容错能力。
2.扩展性好 :当网络规模扩大时,只需要在新接入的 VTEP 设备上启用分布式网关功能,并通过 EVPN(以太网虚拟专用网)等协议与其他 VTEP 设备进行路由信息同步,即可实现网络的平滑扩展,无需对核心层设备进行大规模的升级改造,降低了网络扩展的成本和难度。
3.转发效率高 :分布式网关将网关功能分散到接入层或汇聚层的 VTEP 设备上,如华三的 S5860 系列接入交换机。本地跨 VXLAN 的流量可以直接在接入层的 VTEP 设备上进行三层转发,无需经过核心层的集中式网关,大大减少了数据转发的路径和延迟,提高了转发效率。例如,在同一机架内的不同 VXLAN 的虚拟机之间通信时,流量可以在接入交换机上快速完成转发,适合对延迟敏感的应用场景。
缺点:
1.管理复杂度高 :分布式网关需要在多台 VTEP 设备上进行配置和管理,相比集中式网关,管理的设备数量更多,配置项更分散。例如,要在所有分布式网关上统一配置一条安全策略,需要分别登录到每台设备进行操作,增加了管理的工作量和出错的概率。同时,不同设备之间的配置一致性也需要严格把控。
2.策略同步挑战 :虽然可以通过 EVPN 等协议实现分布式网关之间的路由信息同步,但在实际应用中,要确保所有设备的策略(如安全策略、QoS 策略 )完全同步仍然存在一定挑战。特别是在网络环境复杂、设备数量众多的情况下,可能会出现策略更新不及时或不一致的情况,影响网络的正常运行。
3.成本增加 :分布式网关需要在多台 VTEP 设备上实现网关功能,这要求这些设备具备较高的性能和功能,可能需要采购更高规格的设备,增加了硬件成本。此外,由于管理复杂度的提高,也会带来运维成本的上升。

实验需求
R4为IP核心网络
R1和R2与服务器连接的VTEP设备,通过IP核心网络实现三层互通。
虚拟机PC连接交换机SW,通过VXLAN网络实现二层互通。
R3为各虚拟机PC的集中式网关,实现各虚拟机PC可访问外网8.8.8.8
实验步骤
在R1,R2,R3,R4设备上:
1.underlay的建立,全网可达(全网启用OSPF)
2.配置VXLAN隧道,指定采用VXLAN的封装模式
3.激活L2VPN功能,配置VSI,关联VNI,绑定VXLAN隧道
4.配置服务实例(AC),指定感兴趣流,绑定VSI
在R3集中式网关设备上:
1.配置VSI接口,并配置IP地址。
2.将VSI接口关联到VSI实例中
3.匹配VM1,VM2和VM3的网段,并配置NAT
实验拓扑

实验配置:
R1:
1.underlay的建立,全网可达(全网启用OSPF)
[R1]int g2/0
[R1-GigabitEthernet2/0]ip address 10.1.14.1 24
[R1-GigabitEthernet2/0]quit
[R1]int lo 0
[R1-LoopBack0]ip address 10.255.12.1 32
[R1-LoopBack0]quit
[R1]int range g2/0 lo0
[R1-if-range]ospf 1 area 0
[R1-if-range]quit
2.配置VXLAN隧道,指定采用VXLAN的封装模式
[R1]int Tunnel 12 mode vxlan ---指定采用VXLAN的封装模式
[R1-Tunnel12]source lo0 ---指定隧道源地址
[R1-Tunnel12]destination 10.255.12.2 ---指定隧道目的地址
[R1-Tunnel12]quit
[R1]int Tunnel 13 mode vxlan
[R1-Tunnel13]source lo0
[R1-Tunnel13]destination 10.255.1.3
[R1-Tunnel13]quit
3.激活L2VPN功能,配置VSI,关联VNI,绑定VXLAN隧道
[R1]l2vpn enable ---激活L2VPN功能
[R1]vsi vm1 ---配置VSI
[R1-vsi-vm1]vxlan 10 ---关联VNI
[R1-vsi-vm1-vxlan-10]tunnel 12 ---绑定VXLAN隧道
[R1-vsi-vm1-vxlan-10]tunnel 13
[R1-vsi-vm1-vxlan-10]quit
[R1-vsi-vm1]quit
[R1]vsi vm2
[R1-vsi-vm2]vxlan 20
[R1-vsi-vm2-vxlan-20]tunnel 12
[R1-vsi-vm2-vxlan-20]tunnel 13
[R1-vsi-vm2-vxlan-20]quit
[R1-vsi-vm2]quit
[R1]vsi vm3
[R1-vsi-vm3]vxlan 30
[R1-vsi-vm3-vxlan-30]tunnel 12
[R1-vsi-vm3-vxlan-30]tunnel 13
[R1-vsi-vm3-vxlan-30]quit
[R1-vsi-vm3]quit
[R1]
4.配置服务实例(AC),指定感兴趣流,绑定VSI
[R1]int g1/0.10
[R1-GigabitEthernet1/0.10]vlan-type dot1q vid 10 ---指定感兴趣流
[R1-GigabitEthernet1/0.10]xconnect vsi vm1 ---绑定VSI
[R1-GigabitEthernet1/0.10]quit
[R1]int g1/0.20
[R1-GigabitEthernet1/0.20]vlan-type dot1q vid 20
[R1-GigabitEthernet1/0.20]xconnect vsi vm2
[R1-GigabitEthernet1/0.20]quit
[R1]int g1/0.30
[R1-GigabitEthernet1/0.30]vlan-type dot1q vid 30
[R1-GigabitEthernet1/0.30]xconnect vsi vm3
[R1-GigabitEthernet1/0.30]quit
R2:
[R2]int g2/0
[R2-GigabitEthernet2/0]ip address 10.1.24.2 24
[R2-GigabitEthernet2/0]quit
[R2]int lo 0
[R2-LoopBack0]ip address 10.255.12.2 32
[R2-LoopBack0]quit
[R2]int range g2/0 lo0
[R2-if-range]ospf 1 area 0
[R2-if-range]quit
[R2]int Tunnel 12 mode vxlan
[R2-Tunnel12]source lo0
[R2-Tunnel12]destination 10.255.12.1
[R2-Tunnel12]quit
[R2]int Tunnel 23 mode vxlan
[R2-Tunnel23]source lo0
[R2-Tunnel23]destination 10.255.1.3
[R2-Tunnel23]quit
[R2]l2vpn enable
[R2]vsi vm1
[R2-vsi-vm1]vxlan 10
[R2-vsi-vm1-vxlan-10]tunnel 12
[R2-vsi-vm1-vxlan-10]tunnel 23
[R2-vsi-vm1-vxlan-10]quit
[R2-vsi-vm1]quit
[R2]vsi vm2
[R2-vsi-vm2]vxlan 20
[R2-vsi-vm2-vxlan-20]tunnel 12
[R2-vsi-vm2-vxlan-20]tunnel 23
[R2-vsi-vm2-vxlan-20]quit
[R2-vsi-vm2]quit
[R2]vsi vm3
[R2-vsi-vm3]vxlan 30
[R2-vsi-vm3-vxlan-30]tunnel 12
[R2-vsi-vm3-vxlan-30]tunnel 23
[R2-vsi-vm3-vxlan-30]quit
[R2-vsi-vm3]quit
[R2]int g1/0.10
[R2-GigabitEthernet1/0.10]vlan-type dot1q vid 10
[R2-GigabitEthernet1/0.10]xconnect vsi vm1
[R2-GigabitEthernet1/0.10]quit
[R2]int g1/0.20
[R2-GigabitEthernet1/0.20]vlan-type dot1q vid 20
[R2-GigabitEthernet1/0.20]xconnect vsi vm2
[R2-GigabitEthernet1/0.20]quit
[R2]int g1/0.30
[R2-GigabitEthernet1/0.30]vlan-type dot1q vid 30
[R2-GigabitEthernet1/0.30]xconnect vsi vm3
[R2-GigabitEthernet1/0.30]quit
R4:
[R4]int g1/0
[R4-GigabitEthernet1/0]ip address 10.1.14.4 24
[R4-GigabitEthernet1/0]quit
[R4]int g2/0
[R4-GigabitEthernet2/0]ip add 10.1.24.4 24
[R4-GigabitEthernet2/0]quit
[R4]int g3/0
[R4-GigabitEthernet3/0]ip address 10.1.34.4 24
[R4-GigabitEthernet3/0]quit
[R4]int range g1/0 g2/0 g3/0
[R4-if-range]ospf 1 area 0
R3(集中式网关设备):
1.创建VSI接口,并配置IP(网关)地址
2.将VSI接口关联到VSI实例中
3.NAT配置
[R3]int g1/0
[R3-GigabitEthernet1/0]ip address 10.1.34.3 24
[R3-GigabitEthernet1/0]quit
[R3]int g2/0
[R3-GigabitEthernet2/0]ip address 202.101.1.1 30
[R3-GigabitEthernet2/0]quit
[R3]int lo0
[R3-LoopBack0]ip address 10.255.1.3 32
[R3-LoopBack0]quit
[R3]int range g1/0 lo 0
[R3-if-range]ospf 1 area 0
[R3-if-range]quit
###创建VXLAN隧道
[R3]int Tunnel 13 mode vxlan
[R3-Tunnel13]source lo 0
[R3-Tunnel13]destination 10.255.12.1
[R3-Tunnel13]quit
[R3]int Tunnel 23 mode vxlan
[R3-Tunnel23]source lo 0
[R3-Tunnel23]destination 10.255.12.2
[R3-Tunnel23]quit
###开启L2vpn功能
[R3]l2vpn enable
###创建VSI实例
[R3]vsi vm1
[R3-vsi-vm1]vxlan 10
[R3-vsi-vm1-vxlan-10]tunnel 13
[R3-vsi-vm1-vxlan-10]tunnel 23
[R3-vsi-vm1-vxlan-10]quit
[R3-vsi-vm1]quit
[R3]vsi vm2
[R3-vsi-vm2]vxlan 20
[R3-vsi-vm2-vxlan-20]tunnel 13
[R3-vsi-vm2-vxlan-20]tunnel 23
[R3-vsi-vm2-vxlan-20]quit
[R3-vsi-vm2]quit
[R3]vsi vm3
[R3-vsi-vm3]vxlan 30
[R3-vsi-vm3-vxlan-30]tunnel 13
[R3-vsi-vm3-vxlan-30]tunnel 23
[R3-vsi-vm3-vxlan-30]quit
[R3-vsi-vm3]quit
###创建VSI接口,并配置IP(网关)地址
[R3]int Vsi-interface 10
[R3-Vsi-interface10]ip address 192.168.10.254 24
[R3-Vsi-interface10]quit
[R3]int Vsi-interface 20
[R3-Vsi-interface20]ip address 192.168.20.254 24
[R3-Vsi-interface20]quit
[R3]int Vsi-interface 30
[R3-Vsi-interface30]ip address 192.168.30.254 24
[R3-Vsi-interface30]quit
###将VSI接口关联到VSI实例中
[R3]vsi vm1
[R3-vsi-vm1]gateway Vsi-interface 10
[R3-vsi-vm1]quit
[R3]vsi vm2
[R3-vsi-vm2]gateway Vsi-interface 20
[R3-vsi-vm2]quit
[R3]vsi vm3
[R3-vsi-vm3]gateway Vsi-interface 30
[R3-vsi-vm3]quit
###NAT配置
[R3]access-list basic 2000
[R3-acl-ipv4-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[R3-acl-ipv4-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[R3-acl-ipv4-basic-2000]rule permit source 192.168.30.0 0.0.0.255
[R3-acl-ipv4-basic-2000]quit
[R3]int g2/0
[R3-GigabitEthernet2/0]nat outbound 2000
[R3-GigabitEthernet2/0]quit
[R3]ip route-static 0.0.0.0 0.0.0.0 202.101.1.2
SRV:
[SRV]int g1/0
[SRV-GigabitEthernet1/0]ip address 202.101.1.2 30
[SRV-GigabitEthernet1/0]quit
[SRV]int lo 0
[SRV-LoopBack0]ip address 8.8.8.8 32
[SRV-LoopBack0]quit
SW1:
[SW1]vlan 10 20 30
[SW1]int HundredGigE 1/0/4
[SW1-HundredGigE1/0/4]port link-mode bridge
[SW1-HundredGigE1/0/4]port link-type trunk
[SW1-HundredGigE1/0/4]port trunk permit vlan 10 20 30
[SW1-HundredGigE1/0/4]quit
[SW1]int HundredGigE 1/0/1
[SW1-HundredGigE1/0/1]port link-mode bridge
[SW1-HundredGigE1/0/1]port link-type access
[SW1-HundredGigE1/0/1]port access vlan 10
[SW1-HundredGigE1/0/1]quit
[SW1]int HundredGigE 1/0/2
[SW1-HundredGigE1/0/2]port link-mode bridge
[SW1-HundredGigE1/0/2]port link-type access
[SW1-HundredGigE1/0/2]port access vlan 20
[SW1-HundredGigE1/0/2]quit
[SW1]int HundredGigE 1/0/3
[SW1-HundredGigE1/0/3]port link-mode bridge
[SW1-HundredGigE1/0/3]port link-type access
[SW1-HundredGigE1/0/3]port access vlan 30
[SW1-HundredGigE1/0/3]quit
SW2:
[SW2]vlan 10 20 30
[SW2]int HundredGigE1/0/5
[SW2-HundredGigE1/0/5]port link-mode bridge
[SW2-HundredGigE1/0/5]port link-type trunk
[SW2-HundredGigE1/0/5]port trunk permit vlan 10 20 30
[SW2-HundredGigE1/0/5]quit
[SW2]int HundredGigE1/0/1
[SW2-HundredGigE1/0/1]port link-mode bridge
[SW2-HundredGigE1/0/1]port link-type access
[SW2-HundredGigE1/0/1]port access vlan 10
[SW2-HundredGigE1/0/1]quit
[SW2]int HundredGigE1/0/2
[SW2-HundredGigE1/0/2]port link-mode bridge
[SW2-HundredGigE1/0/2]port link-type access
[SW2-HundredGigE1/0/2]port access vlan 20
[SW2-HundredGigE1/0/2]quit
[SW2]int HundredGigE1/0/3
[SW2-HundredGigE1/0/3]port link-mode bridge
[SW2-HundredGigE1/0/3]port link-type access
[SW2-HundredGigE1/0/3]port access vlan 30
[SW2-HundredGigE1/0/3]quit
[SW2]int HundredGigE1/0/4
[SW2-HundredGigE1/0/4]port link-mode bridge
[SW2-HundredGigE1/0/4]port link-type access
[SW2-HundredGigE1/0/4]port access vlan 30
[SW2-HundredGigE1/0/4]quit
PC(用思科路由器模拟):
PC1(config)#no ip routing
PC1(config)#ip default-gateway 192.168.10.254
PC1(config)#int e0/0
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#no shutdown
PC2(config)#no ip routing
PC2(config)#ip default-gateway 192.168.20.254
PC2(config)#int e0/0
PC2(config-if)#ip address 192.168.20.1 255.255.255.0
PC2(config-if)#no shudown
PC3(config)#no ip routing
PC3(config)#ip default-gateway 192.168.30.254
PC3(config)#int e0/0
PC3(config-if)#ip address 192.168.30.1 255.255.255.0
PC3(config-if)#no shutdown
PC4-PC7上的配置与上述一致,仅IP地址和默认网关有变,略
测试

通过ping测试发现PC1可以实现上网,并且PC间跨VXLAN设备之间可以实现通信,实验成功!
抓包:
这里抓R3的g1/0接口,使用PC1 ping PC4实现跨VXLAN通信时抓包如下图所示:



分析PC1去访问PC2的具体通信流程:
通过抓包我们可以发现,当PC1访问PC2时明明PC1只发送了5个ICMP包,那么为什么R3的g1/0链路上会抓到20个ICMP包呢,下面我们来具体分析一下,

由于R3是该VXLAN网络中的集中式网关设备,因此所有跨 VXLAN Segment(虚拟扩展局域网段)的三层转发都由核心层的集中式网关处理,下面我们来一起具体分析一下PC1去访问PC2的整个通信过程。
已知:
PC1 属于 VNI 10(网段 192.168.10.0/24);
PC2 属于 VNI 20(网段 192.168.20.0/24);
R1是 L2 网关(同时作为 VTEP,处理 VXLAN 封装 / 解封装)
R2 是 L2 网关(同时作为 VTEP,处理 VXLAN 封装 / 解封装)
R3 是集中式 L3 网关(处理跨 VNI 的三层转发)。
第一步:PC1 发数据到 L2 网关(R1)
PC1(192.168.10.1)要访问 PC2(192.168.20.1),先将原始数据(二层以太网帧,目的 IP 192.168.20.1)发给本地 L2 网关 R1。
第二步:L2 网关封装并转发到 L3 网关(R3)
R1 识别到目标 IP(192.168.20.1)属于其他 VNI(VNI 20),于是对原始数据进行VXLAN封装(包含源 VNI 10、对端 L3 网关 R3 的 IP 等信息);
然后通过 VXLAN 隧道(Tunnel13,R1 到 R3 的VXLAN隧道),将封装后的报文转发到 R3(L3 网关)。
第三步:L3 网关解封装并转发到目标 L2 网关(R1)
R3 收到 VXLAN 报文后:
- 解封装 VXLAN 头部 :还原出原始三层 IP 报文,目的 IP 为
192.168.20.1(PC2 的 IP)。 - 查询路由表:
- 从路由表中找到
192.168.20.0/24网段的路由条目,且出接口是vsi20(对应 VNI 20 的虚拟接口)。 - 这一步确保 R3 知道 "
192.168.20.0/24网段属于本地可转发的 VNI 20 域"。
- 从路由表中找到
- 查询 ARP 表:
- 找到
192.168.20.1对应的条目:MAC address: aabb-cc00-9000,Interface/Link ID: Tunnel13(R3 到 R1 的VXLAN隧道)。 - 这一步明确 "要发往 PC2(
192.168.20.1),需要通过Tunnel13隧道转发"。
- 找到
- 重新封装报文:
- 将原始 IP 报文封装成二层以太网帧 (源 MAC 为 R3 的 MAC,目的 MAC 为
aabb-cc00-9000)。 - 再给该以太网帧添加 VXLAN 头部 (指定 VNI 为 20),通过
Tunnel13隧道转发给 R1。
- 将原始 IP 报文封装成二层以太网帧 (源 MAC 为 R3 的 MAC,目的 MAC 为

第四步:目标 L2 网关解封装并转发到 PC2
R1 收到 L3 网关转发的 IP 报文后:
识别到目标 IP 是本地 VNI 20 内的 PC2;
去掉 VXLAN 封装(因为现在要发给本地 VNI 内的终端),将原始数据转发给 PC2(192.168.20.1)。
回包过程(PC2 到 PC1)
PC2 回包时,流程相反:
PC2 发数据到 R1(L2 网关);
R1 封装成 VXLAN 报文,通过隧道发给 R3(L3 网关);
R3 解封装后,根据自身路由表以及ARP表,将数据包转发给 R1;
R1 解封装后发给 PC1。
关于PC1 发 5 个请求,却在 R3 的 g1/0 抓到 20 个 ICMP 包,其具体原因如下:
-
去程流量(PC1→PC2):
- PC1 发 5 个 ICMP 请求 → R1 封装成 VXLAN 报文 → 通过 Tunnel13 发给 R3。
- R3 解封装后,重新封装成 VXLAN 报文 → 通过 Tunnel13 发给 R1。
- 这部分在 R3 的 g1/0 会抓到 5 个 "R1→R3" 的请求封装包 + 5 个 "R3→R1" 的转发封装包(共 10 个)。
-
回程流量(PC2→PC1):
- PC2 发 5 个 ICMP 响应 → R1 封装成 VXLAN 报文 → 通过 Tunnel13 发给 R3。
- R3 解封装后,重新封装成 VXLAN 报文 → 通过 Tunnel13 发给 R1。
- 这部分在 R3 的 g1/0 会抓到 5 个 "R1→R3" 的响应封装包 + 5 个 "R3→R1" 的转发封装包(共 10 个)。
-
总计:去程 10 个 + 回程 10 个 = 20 个 ICMP 相关包,导致R3设备链路处理数据包资源的压力较大。
进一步体现了VXLAN集中式网关的弊端:
①产生了次优路径:
按正常二层逻辑:PC1(VNI 10)和 PC2(VNI 20)均直接接入同一 L2 网关 VTEP1,理论上跨 VNI 通信可在 VTEP1 本地完成三层转发(若采用分布式网关,让 VTEP1 具备 L3 网关能力);但在集中式架构下,流量却必须 "绕路" 到核心层的 VTEP3,形成次优路径:
理想最优路径:PC1 → R1(本地 L3 转发)→ PC2(无需经过 R3,转发距离最短、延迟最低);
实际次优路径:PC1 → R1 → 隧道 13 → R3(解封装 + 路由查询 + 重新封装)→ VXLAN隧道 13 → R1 → PC2(流量在 R1 与 R3 之间往返,多走 "冤枉路")。
②集中式网关容易成为性能瓶颈:
当网络中跨 VNI 通信的流量较大时,集中式网关容易成为性能瓶颈,因为它需要处理大量的数据包解封装、路由查询、重新封装等操作,可能导致转发延迟增加,甚至出现丢包现象,影响网络整体的传输效率。
③设备资源消耗高:
集中式网关要维护大量的路由表、ARP 表等信息,尤其是在大规模网络环境中,随着接入终端数量的增多,这些表项的规模会急剧扩大,对网关设备的内存、CPU 等资源消耗极大,可能导致设备运行负荷过高,稳定性下降。
④存在单点故障隐患:
一旦集中式网关设备出现故障,整个网络中所有跨 VXLAN Segment 的通信都会中断,造成严重的网络服务不可用问题,缺乏冗余备份机制时,可靠性难以保障。
查看L2vpn的MAC地址表以及LINK ID
R3\]display l2vpn mac-address \[R1\]display l2vpn vsi name vm1 verbose **LINK ID表示的是 "到达该 ARP 条目中对应 IP 地址的下一跳出接口或隧道",**通过查R1的mac地址表发现其中记录的PC1和PC2和PC3的MAC地址信息其对应的LINK ID等于0,进一步使用以下命令发现,这个LINK ID 0就对应单臂路由子接口   #### 查看Tunnel信息  ### 配置文档 R1: sysname R1 # ospf 1 area 0.0.0.0 # l2vpn enable # vsi vm1 vxlan 10 tunnel 12 tunnel 13 # vsi vm2 vxlan 20 tunnel 12 tunnel 13 # vsi vm3 vxlan 30 tunnel 12 tunnel 13 # interface LoopBack0 ip address 10.255.12.1 255.255.255.255 ospf 1 area 0.0.0.0 # interface GigabitEthernet1/0 port link-mode route # interface GigabitEthernet1/0.10 vlan-type dot1q vid 10 xconnect vsi vm1 # interface GigabitEthernet1/0.20 vlan-type dot1q vid 20 xconnect vsi vm2 # interface GigabitEthernet1/0.30 vlan-type dot1q vid 30 xconnect vsi vm3 # interface GigabitEthernet2/0 port link-mode route ip address 10.1.14.1 255.255.255.0 ospf 1 area 0.0.0.0 # interface Tunnel12 mode vxlan source LoopBack0 destination 10.255.12.2 # interface Tunnel13 mode vxlan source LoopBack0 destination 10.255.1.3 # R2: sysname R2 # l2vpn enable # vsi vm1 vxlan 10 tunnel 12 tunnel 23 # vsi vm2 vxlan 20 tunnel 12 tunnel 23 # vsi vm3 vxlan 30 tunnel 12 tunnel 23 # interface LoopBack0 ip address 10.255.12.2 255.255.255.255 ospf 1 area 0.0.0.0 # interface GigabitEthernet1/0 port link-mode route # interface GigabitEthernet1/0.10 vlan-type dot1q vid 10 xconnect vsi vm1 # interface GigabitEthernet1/0.20 vlan-type dot1q vid 20 xconnect vsi vm2 # interface GigabitEthernet1/0.30 vlan-type dot1q vid 30 xconnect vsi vm3 # interface GigabitEthernet2/0 port link-mode route ip address 10.1.24.2 255.255.255.0 ospf 1 area 0.0.0.0 # interface Tunnel12 mode vxlan source LoopBack0 destination 10.255.12.1 # interface Tunnel23 mode vxlan source LoopBack0 destination 10.255.1.3 R3: sysname R3 # l2vpn enable # vsi vm1 gateway vsi-interface 10 vxlan 10 tunnel 13 tunnel 23 # vsi vm2 gateway vsi-interface 20 vxlan 20 tunnel 13 tunnel 23 # vsi vm3 gateway vsi-interface 30 vxlan 30 tunnel 13 tunnel 23 # interface LoopBack0 ip address 10.255.1.3 255.255.255.255 ospf 1 area 0.0.0.0 # interface GigabitEthernet1/0 port link-mode route ip address 10.1.34.3 255.255.255.0 ospf 1 area 0.0.0.0 # interface GigabitEthernet2/0 port link-mode route ip address 202.101.1.1 255.255.255.252 nat outbound 2000 # interface Vsi-interface10 ip address 192.168.10.254 255.255.255.0 # interface Vsi-interface20 ip address 192.168.20.254 255.255.255.0 # interface Vsi-interface30 ip address 192.168.30.254 255.255.255.0 # interface Tunnel13 mode vxlan source LoopBack0 destination 10.255.12.1 # interface Tunnel23 mode vxlan source LoopBack0 destination 10.255.12.2 # ip route-static 0.0.0.0 0 202.101.1.2 # acl basic 2000 rule 0 permit source 192.168.10.0 0.0.0.255 rule 5 permit source 192.168.20.0 0.0.0.255 rule 10 permit source 192.168.30.0 0.0.0.255 R4: sysname R4 # interface GigabitEthernet1/0 port link-mode route ip address 10.1.14.4 255.255.255.0 ospf 1 area 0.0.0.0 # interface GigabitEthernet2/0 port link-mode route ip address 10.1.24.4 255.255.255.0 ospf 1 area 0.0.0.0 # interface GigabitEthernet3/0 port link-mode route ip address 10.1.34.4 255.255.255.0 ospf 1 area 0.0.0.0 SW1: sysname SW1 # vlan 10 # vlan 20 # vlan 30 # interface HundredGigE1/0/1 port link-mode bridge port access vlan 10 # interface HundredGigE1/0/2 port link-mode bridge port access vlan 20 # interface HundredGigE1/0/3 port link-mode bridge port access vlan 30 # interface HundredGigE1/0/4 port link-mode bridge port link-type trunk port trunk permit vlan 1 10 20 30 SW2: sysname SW2 # vlan 10 # vlan 20 # vlan 30 # interface HundredGigE1/0/1 port link-mode bridge port access vlan 10 # interface HundredGigE1/0/2 port link-mode bridge port access vlan 20 # interface HundredGigE1/0/3 port link-mode bridge port access vlan 30 # interface HundredGigE1/0/4 port link-mode bridge port access vlan 30 # interface HundredGigE1/0/5 port link-mode bridge port link-type trunk port trunk permit vlan 1 10 20 30