1. vxlan 协议原理简介
2.【华为悦读汇】技术发烧友:认识VXLAN
3. 解读VXLAN
4. overlay网络技术之VXLAN详解
5. VXLAN技术介绍:三层的网络来搭建虚拟的二层网络
6. 关于VLAN和VXLAN的理解
7. 关于我对VXLAN的一些总结
8. vxlan学习(一)----------分布式VXLAN IP网关
9. VXLAN Series – How VTEP Learns and Creates Forwarding Table – Part 5
VXLAN本质:
VM1和VM2可以在同一个子网下, 有VTEP1和VTEP2之间建立MAC-in-UDP隧道, VTEP1和VTEP2间可以是三层网络,只要VTEP1和VTEP2间的三层网络可达,VM1和VM2就可以通信。VM1和VM2无法感知隧道间的底层网络的存在,认为在同一个二层网络下通信。
要解决的问题:
VM1 和 VM2通信,知道VM2的IP地址但不知道VM2的mac地址。也不知道VM2和哪个VTEP关联,即通过哪个VTEP可以找到VM2。
VM1和VM2通信的第一笔ARP广播包如何到达目的VM2,目的VM2如何回复arp response。传统的网络A ping B时,若ip地址在一个网段,ARP request广播包可以在二层广播域内到达B,若B和A不在一个网段实际上是A向其网关请求ARP,其后数据包由A的网关帮忙路由到B。VXLAN下VM1和VM2在一个网段,但实际底层网络是三层网络,广播包无法跨过二层广播域到达VM2,
解决:
通过多播,VTEP将内层的广播包封装成外层的多播包,将封装后的vxlan 报文多播给加入该多播组的其他VTEPs.
VTEP上学习
VTEP由网络设备如交换机担当时,VTEP还需要flood-learn,交换机中记录的是对应的交换机端口和MAC的关系,以确定与其关联的VM要从哪个端口找到。
相关术语或留意的点:
1.协议的基本原理。前三篇讲解的比较透彻,看前三篇足够。
2.Vxlan三层网关,即VM1和VM2在不同网络段下的通信原理,第2篇和第3篇有详细讲解。
3.vxlan的数据平面和控制平面。
数据平面即VTEP的转发平面,VTEP隧道端点的加封和解封,vxlan报文在VTEP间的IP网络上的路由或转发。控制平面学习地址映射信息, 在本地构建控制平面表项。 控制平面表项由 VNI、Inner Source MAC 、Outer Source IP 三元组组成。VXLAN技术介绍:三层的网络来搭建虚拟的二层网络 和 overlay网络技术之VXLAN详解 对数据平面和控制平面的概念有简单介绍。
基于Controller的控制平面,SDN架构下的控制平面。不是通过泛洪的自学习来获取映射表项,所有VTEPs受中心Controller控制,解读VXLAN 中对这种控制方式有做讲解。
4.VTEP 角色的充当者
vtep 可以是网络设备(比如交换机),也可以是一台机器(比如虚拟化集群中的宿主机)vxlan 协议原理简介
VTEP节点可以由实现了VXLAN功能的交换机、路由器等硬件设备充当,但在更多的基于虚拟化技术实现的网络拓扑的应用中,VTEP节点的角色更多由部署了多台虚拟机的主机中的hypervisor进程来担任. 关于VLAN和VXLAN的理解
VXLAN最初只在虚拟交换机实现,但虚拟交换机天然具有转发性能低下的缺点,并不适合大流量的网络环境。于是,各硬件厂商也纷纷推出支持VXLAN的硬件产品,与虚拟交换机一起,共同成为网络边缘设备,最终使VXLAN技术能够适应各种网络. 解读VXLAN
使用CentOS Linux Bridge搭建Vxlan环境
vmware虚拟机三种网卡
使用vmware12 安装多个虚拟机以模仿集群
Linux VXLAN
使用Linux Bridge 搭建vxlan 实现 虚拟机跨物理机通信
linux 上实现 vxlan 网络
使用 Linux Bridge 搭建 VXLAN Overlay 网络
Linux Vxlan网络隧道互通环境模拟
【Linux4.1.12源码分析】VXLAN报文内核协议栈处理
【Linux4.1.12源码分析】协议栈gro收包之VXLAN处理
深入理解 VXLAN
Linux内核分析 - 网络[十二]:UDP模块 - 收发