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 | 是一种在三层网络上构筑虚拟化二层的技术 |
4 | VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离 |
5 | VXLAN主要应用于数据中心网络和园区接入网络 |
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详解的主要内容,如果未能解决你的问题,请参考以下文章
openstack之Neutron网络模式vlan,gre,vxlan详解