同子网基于IPv4网络静态VXLAN配置示例(下)

接上篇:同子网基于IPv4网络静态VXLAN配置示例(上)-CSDN博客

(3)验证VXLAN报文封装/解封装和报文转发流程。

为了使大家加深对VXLAN报文的封装和解封装流程的理解,下面以本示例中VM1 ping VM2时的ICMP报文的转发过程,介绍VXLAN封装和解封装流程。在没有配置VXLAN三层网关的网络中,中间的IP设备Switch1仅按照IP路由表进行IP报文转发,不进行VXLAN封装和解封装。

图4-31是Leaf1 GE1/0/1.1子接口上收到的VM1向VM2发送的ICMP请求报文。此时的报文还没有经过VXLAN封装,仍为普通的IP报文,以太网头中的源/目的MAC地址分别为VM1、VM2的MAC地址5489-986e-2681、5489-98ef-7555,IP报头中的源/目的IP地址也是VM1、VM2的IP地址10.1.1.10、10.1.1.1.11,并且封装了经过Switch2封装的VLAN 10标签。

此ICMP请求报文到了Leaf1后,在经过VXLAN隧道向Leaf2传输前,必须经过VXLAN封装。但在进行VXLAN封装前,因为Leaf1采用基于Dot1q二层子接口接入方式,按照默认配置先会去掉原始ICMP请求报文中封装的VLAN 10标签。经过VXLAN重封装的VXLAN报文根据外层IP报头按照IP路由表向Switch1传输。

图4-32是Leaf1 GE1/0/0接口向Switch1发送的,经过VXLAN封装后的ICMP请求报文。封装后的VXLAN报文中,内层以太网头、内层IP报头均与图4-31所示的ICMP请求报文一样,新增的外层以太网头的源/目的MAC地址分别是Leaf1、Switch1的GE1/0/0接口的MAC地址3867-bc01-0100、3867-bc03-0100;新增的外层IP报头的源/目的IP地址分别是Leaf1、Leaf2的VTEP IP地址1.1.1.1、2.2.2.2;VXLAN网段为VNI 2010。

在Leaf1上经过了VXLAN封装的VM1向VM2发送的ICMP请求报文到了Switch1后,按照普通的IP报文依据IP路由表传输。首先要根据原VXLAN报文中的外层IP报头中的目的IP地址2.2.2.2,在IP路由表找到本地出接口GE1/0/1(IP地址为192.168.2.2),以及下一跳Leaf2 GE1/0/0接口IP地址192.168.2.1。图4-33是Switch1的IP路由表。

Switch1找到对应的路由表项后,再根据本地的ARP表找到出接口GE10/1、下一跳IP地址192.168.2.1对应的MAC地址。图4-34是Switch1的ARP表。最后,Switch1仅对所收到的VXLAN报文中的外层以太网头进行重封装,其它部分保持不变,通过出接口GE1/0/1向Leaf2进行传输。

图4-35是Switch1 GE1/0/1接口向Leaf2发送的,经过外层以太网头重封装后的ICMP请求报文。其中除了外层以太网头中的源/目的MAC地址分别由原来的Leaf1 GE1/0/0、Switch1 GE1/0/0接口的MAC地址3867-bc01-0100、3867-bc03-0100,分别更换为Switch1的GE1/0/1接口、Leaf2的GE1/0/0接口的MAC地址3867-bc03-0101、3867-bc02-0100外,其它均与图4-32中的一样。

经过了Switch1转发,封装了VM1向VM2发送的ICMP请求报文的VXLAN报文到了Leaf2后,首先会根据其中的VNI 2010封装,找到对应的隧道出接口,即GE1/0/1.1二层接口,然后按照该Dot1q子接口的VLAN封装配置,在对原来的VXLAN报文进行VXLAN解封装后添加VLAN 10的标签,发送给VM2。图4-36是Leaf2 GE1/0/1.1子接口向VM2发送的ICMP请求报文。

至此,VM1发送的ICMP请求报文经过多次封装、解封装后,成功到达了VM2。VM2向VM1发送的ICMP应答报文的VXLAN封装、解封装和报文转发流程类似,不再赘述。

(4)验证VXLAN MAC地址学习功能。

在Leaf1和Leaf2上分别执行display mac-address 命令,可以看到这两台设备已成功动态学习到了VM1和VM2的MAC地址,并且已记录生成对应的MAC地址表项。图4-37是在Leaf1上执行display mac-address 命令的输出。从中可以看出,VM1的MAC地址5489-986e-2681是通过GE1/0/1.1子接口学习到的,VM2的MAC地址5489-98ef-7555是通过VXLAN隧道从Leaf2学习到的。

【说明】在Switch1上执行display mac-address 命令时,不会见到VM1、VM2的MAC地址表项,因为本示例中Switch1仅作为一台普通的三层设备,不会进行VXLAN封装和解封装,仅对所收到的VXLAN报文进行二层以太网头重封装,然后按IP路由进行转发。

以上内容摘自笔者刚刚发布的2026年新作《华为VXLAN+BGP EVPN实战指南------数据中心网络工程师进阶之路》(电子版,无纸质版,私联),全国唯一的华为数据中心网络核心技术专著。

相关推荐
专注API从业者1 小时前
电商选品效率翻倍!基于 Open Claw + 淘宝商品 API 实现自动化监控选品(附完整可运行代码)
大数据·运维·数据结构·数据库·自动化
abcefg_h1 小时前
HTTP 协议版本演进:从 TCP 连接到 QUIC
网络·网络协议·http
云计算磊哥@1 小时前
运维开发宝典025-MySQL01数据库的安装和配置
运维·数据库·运维开发
liulilittle1 小时前
拥塞控制:公平性的不可能三角
网络·c++·网络协议·tcp/ip·计算机网络·tcp·通信
Dxy12393102161 小时前
BAT 窗口不输出日志:三种静默方案,从半隐藏到完全消失
linux·运维·服务器
ylscode1 小时前
Comodo Internet Security 曝高危零日漏洞 ComoDoS:单个 IPv6 数据包即可触发 Windows 蓝屏死机
网络·安全·安全威胁分析
陌路201 小时前
网络部分--网络基础相关
网络
kida_yuan1 小时前
不想花钱写了一个 Flask 知识库
运维·python
Tian_Hang2 小时前
Linux基础知识(一)
linux·运维·服务器