技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)( 三 )

  • VxLAN隧道的建立:分手动和自动建立
对于CE系列交换机 , 以上配置是在NVE(Network Virtualization Edge)接口下完成的 。 配置过程如下:
#
interface Nve1 //创建逻辑接口NVE 1
source 1.1.1.1 //配置源VTEP的IP地址(推荐使用Loopback接口的IP地址)
vni 5000 head-end peer-list 2.2.2.2
vni 5000 head-end peer-list 2.2.2.3 //表示属于VNI 5000的对端VTEP有两个 , IP地址分别为2.2.2.2和2.2.2.3
display vxlan vni 5000 verbose
BD ID : 10
State : up
NVE : 288
Source : 1.1.1.1
UDP Port : 4789
BUM Mode : head-end
Group Address : -
Peer List : 2.2.2.2 2.2.2.3 //同一大二层广播域的范围,属于同一个BD 10域的范围 。
//当VTEP收到BUM(Broadcast&Unknown-unicast&Multicast , 广播&未知单播&组播)报文时 , 会将报文复制并发送给Peer List中所列的所有对端VTEP(这就好比广播报文在VLAN内广播) 。
//这张表也被称为“头端复制列表” 。 当VTEP收到已知单播报文时 , 会根据VTEP上的MAC表来确定报文要从哪条VXLAN隧道走 。 而此时Peer List中所列的对端 , 则充当了MAC表中“出接口”的角色 。
  • 子网VM互通
【技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)】
技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
本文插图

IP_A、IP_B与IP_C属于同一子网需要互通 。


1、同子网VM互通组网图
ARP请求报文转发流程
技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
本文插图

ARP广播去获取对端MAC信息


ARP应答报文转发流程
技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
本文插图

arp应答


2、不同子网互通(借助三层网关 , 网关不在一个设备还得进行路由)
技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
本文插图

这里三层网关在一台设备上 。


不同子网VM互通报文转发流程:
技术■网络工程师你真的理解VxLAN技术吗?(原来二层网络可以这么玩)
本文插图

封装外层MAC及外层IP包头


1、VM_A先将数据报文发送给网关 。 报文的源MAC为MAC_A , 目的MAC为网关BDIF 10的MAC_10 , 源IP地址为IP_A , 目的IP为IP_B 。
2、VTEP_1收到数据报文后 , 识别此报文所属的VNI(VNI 5000) , 并根据MAC表项对报文进行封装 。 可以看到 , 这里封装的外层源IP地址为本地VTEP的IP地址(IP_1) , 外层目的IP地址为对端VTEP的IP地址(IP_3);外层源MAC地址为本地VTEP的MAC地址(MAC_1) , 而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址 。 封装后的报文 , 根据外层MAC和IP信息 , 在IP网络中进行传输 , 直至到达对端VTEP 。
3、报文进入VTEP_3 , VTEP_3对报文进行解封装 , 得到VM_A发送的原始报文 。
4、VTEP_3发现该报文的目的MAC为本机BDIF 10接口的MAC , 而目的IP地址为IP_B(10.1.20.1) , 所以会根据路由表查找到IP_B的下一跳 。
5、发现下一跳为10.1.20.10 , 出接口为BDIF 20 。 此时VTEP_3查询ARP表项 , 并将原始报文的源MAC修改为BDIF 20接口的MAC(MAC_20) , 将目的MAC修改为VM_B的MAC(MAC_B) 。
6、报文到BDIF 20接口时 , 识别到需要进入VXLAN隧道(VNI 6000) , 所以根据MAC表对报文进行封装 。 这里封装的外层源IP地址为本地VTEP的IP地址(IP_3) , 外层目的IP地址为对端VTEP的IP地址(IP_2);外层源MAC地址为本地VTEP的MAC地址(MAC_3) , 而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址 。 封装后的报文 , 根据外层MAC和IP信息 , 在IP网络中进行传输 , 直至到达对端VTEP 。


推荐阅读