VxLAN基本概念:

vxlan的原理 vxlan技术原理_vxlan的原理


NOV3技术的实现原理其实非常简单,VxLAN=MAC in UDP 、NvGRE = MAC in GRE、STT = MAC in TCP(伪TCP),显而言之都是一种再封装技术,基于新的头部实现隧道互联。使用这些隧道组成的逻辑网络就是数据中心的overlay。VTEP:

vxlan的原理 vxlan技术原理_Vxlan_02

VTEP隧道其实可以理解为一个trunk口,不过这个trunk运行的是不同的VNI通过。

VNI:

vxlan的原理 vxlan技术原理_大二层_03


由于vlan Header头部限长是12bit,导致vlan的限制个数是2的12次方 等于4096个无法满足日益增长的需求。目前 VXLAN 的报文 Header 内有 24 bit,可以支持 2的24次方的 VNI 个数(VXLAN中通过 VNI 来识别,相当于VLAN ID)。相同VLAN ID可以映射到不同的VNI上。VxLAN报文格式:

vxlan的原理 vxlan技术原理_华为_04


数据转发时,封装如下所示:

vxlan的原理 vxlan技术原理_大二层_05


注意:在大二层网络传输的过程中,会变化的只有外层MAC地址,外层MAC地址为其二层网关的MAC地址(或者直接目的NVE的MAC地址)。VxLAN接入模型:

VXLAN接入业务模型1:

vxlan的原理 vxlan技术原理_大二层_06


BD类似于VLAN,BDIF其实功能就相当于VLANIF接口。VXLAN接入业务模型2:

vxlan的原理 vxlan技术原理_华为_07

流量转发模型:

VXLAN转发模型之相同网段VM互访 (1):

vxlan的原理 vxlan技术原理_Overlay_08


一个OVS表示一个服务器,interface表示交换机的接口,sub interface表示一个VLAN的子接口。如果两个虚拟机在同一个子接口下,直接在虚拟机环境中互访,如果两个虚拟机处于不同的物理接口连接,则需要通过BD进行同一个交换机中的自行转化。VXLAN转发模型之相同网段VM互访 (2):

vxlan的原理 vxlan技术原理_Overlay_09


如果两个虚拟机在VTEP隧道的两端,则需要通过中间的大二层网络进行转发了,先通过sub子接口进入对应的BD1,打上BD1对应的VNI1,通过VNI1匹配到对应的隧道tunnel2,并打上NVE1和NVE3的MAC作为外层MAC地址和IP地址,最后转发到NVE3,NV3解封装后通过VNI进行匹配到BD,查看内层MAC,匹配到出接口,通过VLAN ID从对于的子接口发送出去,到达VM6。转发广播报文:

vxlan的原理 vxlan技术原理_华为_10


给每个匹配的隧道都发送一个外部不同,内部相同的报文。外部目的MAC是VXLAN二层网关,外部目的IP地址是目的隧道的IP地址。VXLAN转发模型之不同网段VM互访 (1):

vxlan的原理 vxlan技术原理_大二层_11


不同网段的VM需要通过其网关进行转发,先将报文发送给自己的二层网关,网关拆包后发现目的IP地址不是自己,所以然后进行三层转发,三层转发在BDIF进行,通过VNI匹配到BDIF,通过目的隧道目的IP查看对应的隧道,重新封装VNI2,匹配VXLAN隧道发送到回NVE1,再通过VNI2拆封装,发送到VNI2,查找MAC地址和内层VLAN发送到VM3。VXLAN转发模型之不同网段VM互访 (2):

vxlan的原理 vxlan技术原理_大二层_12


其过程第一种模型相似,不过目的地址在不同的虚拟机上。VXLAN转发模型之不同网段VM互访 (3):

vxlan的原理 vxlan技术原理_华为_13


与之前两种情况不同的是,在NVE2上查看外层目的IP后匹配到的隧道是tunnel3,所以最后发送到了NVE3,NVE3发送目的隧道的MAC是自己,并且IP地址也是自己,所以拆包,匹配对于的VNI,查看MAC地址和内部VLAN ID从对应的子接口发送到VM7。

VxLAN网关部署方式:

两种网关部署方案:

vxlan的原理 vxlan技术原理_vxlan的原理_14


集中式和分布式部署,集中网关能够方便管理,但是路径较长,可能延迟较大。两种方式部署的对比:

服务器网关部署对比:

vxlan的原理 vxlan技术原理_Overlay_15


转发路径优化对比:

vxlan的原理 vxlan技术原理_vxlan的原理_16


防火墙流量过滤对比:

vxlan的原理 vxlan技术原理_vxlan的原理_17

VxLAN优点:

vxlan的原理 vxlan技术原理_Vxlan_18