同子网基于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实战指南------数据中心网络工程师进阶之路》(电子版,无纸质版,私联),全国唯一的华为数据中心网络核心技术专著。

相关推荐
数智化管理手记40 分钟前
全面预算管理执行偏差大?全面预算管理全流程落地步骤是什么
大数据·网络·数据库·人工智能·数据挖掘
三垣网安43 分钟前
记一次渗透测试 | 信息收集之Github信息收集
网络
Zsy_05100343 分钟前
【Linux】笔记01:基础命令
linux·运维·服务器
砍材农夫1 小时前
运维|devops|nginx|基本配置拆解
运维·nginx·devops
糖果店的幽灵2 小时前
【langgraph 从入门到精通graphApi 篇】Memory 与长期记忆
运维·服务器·人工智能·langgraph
zhangfeng11332 小时前
免费白嫖方案todesk替代 ,RustDesk — 最接近 ToDesk 体验的开源方案,todesk链接海外电脑服务器要收费,
运维·服务器·开源
ysa05103010 小时前
【板子】Dinic(最大网络流)
网络
我星期八休息10 小时前
网络编程—应用层HTTP协议
linux·运维·开发语言·前端·网络·网络协议·http
一个天蝎座 白勺 程序猿11 小时前
从电网改造踩坑说起:深度拆解时序大模型TimechoAI的自主可控与安全合规底气
大数据·运维·服务器·大模型·timechoai
ShineWinsu11 小时前
对于Linux:UDPsocket编程基础的解析
linux·运维·网络协议·udp·ip·端口号·进程间通信