VXLAN详解

Posted 神.秘.人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VXLAN详解相关的知识,希望对你有一定的参考价值。

VXLAN


1、VXLAN简介

VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)

2 、背景

随着数据中心发展,数据中心网络中存在以下几个问题

问题描述
VLAN数量不足4094(传统VLAN 的tag位只有12bit)个VLAN在云计算数据中心有可能是不够的
虚拟化部署带来的大二层需求虚拟机的动态迁移一直限定在二层网络中,无法在不同网段之间迁移
大二层的需求带来了防环路问题:原有的STP无法满足数据中心大二层的需求
多租户IP地址冲突问题云数据中心通过主机虚拟化需要为不同的用户提供服务,而用户可能使用相同的IP地址,为了隔离用户流量,需要添加额外网关、地址翻译、VPN等技术,增加了组网的复杂性
基于IP子网区域划分极大限制了虚拟机动态迁移功能在传统基于IP子网区域划分,虚拟机如果跨三层迁移后,网关需要发生变化必然会导致较长时间的业务中断,这个在传统的组网中是无法调和的矛盾

3、 概念

序号描述
1是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连
2是一种基于IP网络、采用“MAC in UDP”封装形式的二层VPN技术
3是一种在三层网络上构筑虚拟化二层的技术
4VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离
5VXLAN主要应用于数据中心网络和园区接入网络

4、技术原理

4.VXLAN报文封装格式

特点描述
建立在物理IP网络之上的覆盖网使用UDP封装完整的内层以太报文
共50字节的封装报文头
24比特长度的VNI(VXLAN网络标识符 )最大支持超过1600万个虚拟网络
可跨越物理三层网络
利用ECMP(等价多路径负载均衡)对不同数据流使用不同的UDP源端口
VTEP(VXLAN Tunnel End Point)隧道端点有自己的IP地址,对报文进行L2/L3转发,并进行VXLAN封装/解封装

4.2 相关术语

名称描述
VXLAN(Virtual extensible LAN,可扩展虚拟局域网络)采用“MAC in UDP”实现的二层VPN技术。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特
VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器
VSI(Virtual Switch Instance,虚拟交换实例)VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应
VXLAN隧道两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装
核心网络设备IP核心网络中的设备。核心设备不参与VXLAN处理,仅需要根据封装后报文的目的IP地址对报文进行三层转发
用户终端(Terminal)用户终端设备可以是PC机、无线终端设备、服务器上创建的VM(Virtual Machine,虚拟机)等。不同的用户终端可以属于不同的VXLAN。属于相同VXLAN的用户终端处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的用户终端之间二层隔离

4.3 运行机制

序号过程
1创建本地VSI(虚拟转发实例),发现远端VTEP,在VTEP之间建立VXLAN隧道,并将VXLAN隧道与VXLAN关联
2识别接收到的报文所属的VXLAN,以便将报文的源MAC地址学习到VXLAN对应的VSI,并在该VSI内转发该报文
3学习用户终端的MAC地址
4根据学习到的MAC地址表项转发报文

4.3.1 ARP和MAC表项的学习过程

4.3.2 VM1和VM2互访过程

4.3.3 VXLAN三层网关

4.3.3.1 VXLAN 集中式三层网关

spine和leaf都作为网络的VTEP,spine作为VXLAN三层网关,leaf作为VXLAN二层网关,在spine和leaf直接搭建VXLAN隧道,即可实现不同部门的VM互访以及互联网的访问

4.3.3.2 VXLAN分布式三层网关

只有leaf作为网络的VTEP,leaf同时作为VXLAN二层网关和VXLAN三层网关,这样就能使得该leaf下不同部门的互访,接着在不同leaf之间建立VXLAN三层隧道,通过BGP的remote-nexthop属性下发本网关下挂的主机路由信息给其他BGP邻居,即可实现跨leaf节点不同部门间VM的通信

4.3.3.3对比关系表

以上是关于VXLAN详解的主要内容,如果未能解决你的问题,请参考以下文章

VXLAN详解

VXLAN详解

VXLAN网络模型详解

openstack之Neutron网络模式vlan,gre,vxlan详解

Neutron服务组件和VxlanVtep隧道详解工作中的应用

vxlan简介2