VXLAN与园区网络虚拟化
《VXLAN与园区网络虚拟化》属于博主的“园区网”专栏,若想成为HCIE,对于园区网相关的知识需要非常了解,更多关于园区网的内容博主会更新在“园区网”专栏里,请持续关注!
一.前言
- RFC定义了VLAN扩展方案VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)。VXLAN采用MACin UDP封装方式,是NVO3(NetworkVirtualizationover Layer 3)中的一种网络虚拟化技术。
- VXLAN早已被广泛应用于数据中心网络。随着园区网络的业务需求越来越灵活、园区网络虚拟化的需求及网络自动化的需求越来越强烈,VXLAN开始进入园区网络,搭配园区SDN控制器实现更多用户价值。
- 本章将介绍VXLAN的基本概念、基本工作原理,以及在园区网络中实现“一网多用”的典型应用场景。
- 传统网络面临的问题如下,VXLAN就是为了解决如下问题:
二.VXLAN的基本概念及工作原理
1.基本概念
(1)VXLAN简介
- VXLAN在本质上是一种VPN技术,能够在任意路由可达的物理网络(Underlay网络)上叠加二层虚拟网络(Overlay网络),通过VXLAN网关之间的VXLAN隧道实现VXLAN网络内部的互通,同时,也可以实现与传统的非VXLAN网络的互通。
- VXLAN通过采用MAC in UDP封装来延伸二层网络,将以太报文封装在IP报文之上,通过路由在网络中传输无需关注虚拟机的MAC地址。且三层网络无网络结构限制,具备大规模扩展能力。通过路由网络,虚拟机迁移不受网络架构限制。
- VXLAN解决传统网络遇到的问题:
- 虚拟机规模受网络规格限制:
- VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP、MAC地址作为外层头进行封装,对网络只表现为封装后的参数。
- 除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。
- 网络隔离能力限制:
- VXLAN引入了类似VLAN ID的用户标识(VNI),由24 bit组成,支持多达16 M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。
- 虚拟机迁移范围受网络架构限制:
- 对于具有同一网段IP地址的VM而言,即使其物理位置不在同一个二层网络中,但从逻辑上看,相当于处于同一个二层域。即VXLAN技术在三层网络之上,构建出了一个虚拟的大二层网络。
- 虚拟机规模受网络规格限制:
- Underlay网络:即物理网络,作为构架上层逻辑网络的基层。
- Overay网络:在物理网络上通过隧道技术搭建的逻辑网络。
(2)VXLAN在数据中心的应用
- 在数据中心中采用Spine-Leaf两层物理架构,结合VXLAN应用。
- Spine节点执行路由转发,转发时不感知VXLAN。Leaf节点负责资源接入,完成VXLAN封装及解封装。
- 数据中心的业务均由VXLAN承载。
(3)在园区网络中使用VXLAN实现“一网多用”
(4)选择VXLAN实现园区网络虚拟化的原因
(5)VXLAN的报文格式
(6)名词解释
a.NVE
- NVE(Network Virtualization Edge,网络虚拟边缘):
- 是实现网络虚拟化功能的网络实体,可以是硬件交换机也可以是软件交换机。
- NVE在三层网络上构建二层虚拟网络,是运行VXLAN的设备。图中SW1和SW2都是NVE。
b.VTEP
- VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点):
- VTEP是VXLAN隧道端点,位于NVE中,用于VXLAN报文的封装和解封装。
- VXLAN报文(其外层IP头部)中源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。
c.VNI与BD
- VNI(VXLAN Network ldentifier,VXLAN网络标识):
- 类似VLAN ID,用于区分VXLAN段。不同VXLAN段的0虚拟机不能直接二层相互通信。
- 一个租户可以有一个或多个VNI,VNI长度为24 bit,支持多达16 M的租户。
- BD(Bridge Domain,桥域):
- 类似传统网络中采用VLAN划分广播域,在VXLAN网0络中一个BD就标识一个大二层广播域。
- VNI以1:1方式映射到广播域BD,同一个BD内的终端可以进行二层互通。
d.Border、Egde
- Edge:VXLAN网络的边缘接入设备,传统网络的流量由此进入VXLAN网络。
- Border:VXLAN网络和外部网络通信的节点,用于外部流量进入VXLAN网络或VXLAN内部流量访问外部.般连接具有三层转发能力的设备(如Router、Firewall)。
e.VXLAN二层网关、三层网关
f.VBDIF
- 类似于传统网络中采用VLANIF实现不同广播域互通,在VXLAN中引入了VBDIF的概念。
- VBDIF接口在VXLAN三层网关上配置,是基于BD创建的三层逻辑接口。
- 通过VBDIF接口可实现不同网段的用户通过VXLAN网络通信,及VXLAN网络和非VXLAN网络间的通信,也可实现二层网络接入三层网络。
g.分布式与集中式网关
2.工作原理
(1)隧道建立
a.VXLAN隧道的建立方式
- VXLAN隧道由一对VTEP确定,报文在VTEP设备进行封装之后在VXLAN隧道中依靠路由进行传输只要VXLAN隧道的两端VTEP是三层路由可达的,VXLAN隧道就可以建立成功。
- 根据VXLAN隧道的创建方式将VXLAN隧道分为以下两种:
- 静态隧道:通过用户手工配置本端和远端的VN1、VTEP IP地址和头端复制列表(head-end peer-list)来完成。
- 动态隧道:通过BGP EVPN(EthernetVPN,以太网虚拟私有网络)方式动态建立VXLAN隧道。在VTEP之间建立BGP EVPN对等体,然后对等体之间利用BGP EVPN路由来互相传递VNI和VTEP IP地址信息,从而实现动态地建立VXLAN隧道。
b.静态VXLAN隧道
- 静态VXLAN隧道并不是一个有状态的隧道(如IPsec VPN),只是数据传输时的隧道封装,类似于GRE VPN。
- 头端复制列表中的地址,即进行隧道封装传输时可封装的隧道目的地址。
(2)MAC地址学习
a.VXLAN MAC地址表项
- VXLAN实现的是在Overlay网络中进行二层转发,转发单播数据帧依赖的依旧是MAC地址表项。
- VTEP接收到BD内来自本地的数据帧,将数据帧的源MAC地址添加到该BD的MAC地址表中,出接口为收到数据帧的接口。
- 该表项用于指导发往本VTEP下连接终端的数据帧的转发。
b.MAC地址动态学习
- 转发属于远端VTEP下所连接设备的数据帧,需要先学习到远端设备的MAC地址。
- 该过程与传统MAC地址表形成过程类似,依赖于主机之间的报文交互,一般通过ARP报文交互形成MAC地址表项。
3.基本配置
有关VXLAN的相关实验博主会更新在“园区网”专栏中,请持续关注。
(1)VXLAN配置命令
三.华为园区网络虚拟化
1.VXLAN虚拟园区网络层次及概念
- VXLAN技术将物理网络作为Underlay网络,在其上构建出虚拟的二层或三层网络,即Overlay网络。Overlay网络利用Underlay网络提供的三层转发路径,实现报文在不同站点间传递。
- 在技术应用中,一般为不同的业务创建不同的Overlay网络。对于业务来说Underlay网络是透明的,只能感知到Overlay网络。
2.网络节点
- 防火墙(Firewall)节点:部署L4~L7安全策略时需该节点,可旁挂部署,或部署在园区出口处。
- 边界网关(Border)节点:用于实现Fabric和外部网络之间的互联互通。一般为核心交换机。
- 边缘(Edge)节点:Fabric边缘设备,用于连接用户侧设备及Fabric。有线用户的数据从边缘节点进入VXLAN封装。
- 透传(Transparent)节点:Fabric的透传节点,无需支持VXLAN 。
- 接入节点:也被称为扩展(Extended)节点,这是有线用户的接入节点,该节点为可选节点。用户可以从这里接入网络,接入节点无需支持VXLAN。
- AP:无线接入节点,用户从这里接入无线网络,并最终接入Fabric。
3. Underlay和Fabric
4.Overlay
5.VN
- 使用VXLAN能够在Underlay网络上构建若干个VN(VirtualNetwork,虚拟网络,通过VXLAN VNI+IP VPN-Instance隔离实现),
- VN被视为Overlay网络。
- 每个虚拟网络的业务数据在Fabric内都通过VXLAN进行封装,以便实现转发面的隔离;控制面使用的协议是BGP EVPN,该协议用于构建VXLAN隧道、交互Overlay路由信息。
- 每个VN都包含如下参数:
- 网络服务资源(DHCP服务器、第三方RADIUS/Portal服务器等)。
- 外部网络(可选)。
- 用户IP地址段、VLAN及网关地址。
- 有线接入端口和(或)无线接入点。
- 其他参数。
6.创建VN
7.经典案例分析
(1)需求
(2)Fabric管理
(3)VN管理
(4)隧道建立
(5)地址获取
(6)同子网互访
(7)夸子网互访
(8)访问外部网络
四.总结
- VXLAN使用三层路由网络作为Underlay网络,在其上通过隧道构建Overlay虚拟网络,可以支持大规模的租户网络。
- VXLAN自身并没有定义控制面,为了限制BUM流量的泛洪,需要借助其余控制层面的协议来优化BUM流量的转发。
- BGP EVPN通过扩展BGP协议新定义了几种BGPEVPN路由。这些BGPEVPN路由可以用于传递VTEP地址、主机信息和路由信息,从而有效帮助VXLAN限制BUM流量的泛洪。