VXLAN技术
一、VXLAN简介
1、定义
VXLAN(Virtual eXtensible Local Area Network):采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualization over Layer 3)中的一种网络虚拟化技术。
2、VXLAN解决传统网络遇到的问题:
(1)、虚拟机规模受网络规格限制:
①、VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP、MAC地址作为外层头进行封装,对网络只表现为封装后的参数。
②、除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。
(2)、网络隔离能力限制:
VXLAN引入了类似VLAN ID的用户标识(VNI),由24 bit组成,支持多达16 M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。
(3)、虚拟机迁移范围受网络架构限制:
对具有同一网段IP地址的VM而言,即使其物理位置不在同一个二层网络中,但从逻辑上看,相当于处于同一个二层域。即VXLAN技术在三层网络之上,构建出了一个虚拟的大二层网络。
3、Underlay网络
1、概念:即物理网络,作为构架上层逻辑网络的基层。
4、Overlay网络
1、概念:在物理网络上通过隧道技术搭建出虚拟的二层或三层逻辑网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户报文在不同站点间传递。对于租户来说,Underlay网络是透明的,只能感知到Overlay网络。
二、VXLAN术语
1、NVE(Network Virtualization Edge):网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。
2、VTEP(VXLAN Tunnel Endpoints):VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。
①、VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。
3、VNI(VXLAN Network Identifier):VXLAN网络标识VNI类似VLAN ID,用于区分VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。
①、个VNI表示一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。VNI由24比特组成,支持多达16M的租户。
②、在分布式网关部署场景下,VNI分为二层VNI和三层VNI。
a、二层VNI是普通的VNI,以1:1方式映射到广播域BD,实现VXLAN报文同子网的转发。
b、三层VNI和VPN实例进行关联,用于VXLAN报文跨子网的转发。
4、BD(Bridge Domain):BD是VXLAN网络中转发数据报文的二层广播域。
5、VBDIF(Virtual Bridge Domain Interface)接口:基于BD创建的三层逻辑接口。通过VBDIF接口配置IP地址可实现不同网段的VXLAN间,及VXLAN和非VXLAN的通信,也可实现二层网络接入三层网络。
6、VAP(Virtual Access Point):虚拟接入点VAP,即VXLAN业务接入点,可以是二层子接口或VLAN
①、当接入节点是二层子接口时,通过在二层子接口上配置流封装类型实现不同的接口接入不同的数据报文,将二层子接口关联广播域BD后,可实现数据报文通过BD转发。
②、当业务接入点是VLAN时,需要将VLAN绑定到广播域BD,也可以实现数据报文通过BD转发。
7、VXLAN网关(Gateway):和VLAN类似,不同VNI之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,即VXLAN网关。
VXLAN网关分为二层网关和三层网关:
①、二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。
②、三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。
三、VXLAN部署方式
1、VXLAN部署方式
部署方式分为:控制器部署方式和单机部署方式
2、控制器部署方式
控制器方式是指通过iMaster NCE-Fabric控制器来动态建立VXLAN隧道,控制器通过NETCONF协议控制设备VXLAN隧道的建立。
案例列举:基于控制器+VXLAN解决方案网络架构
云平台:实现对网络资源、计算资源和存储资源的按需调度,提供业务管理、运维界面。Neutron为云平台的组件,用于提供网络服务
网络控制器:完成网络配置。iMaster NCE-Fabric控制器通过RESTful接口,接收来自云平台网络模型配置信息,并转化为相应的配置命令,并通过NETCONF协议与网络设备对接建立的通道,将命令下发到基础网络层的网络设备
基础网络:物理网络和虚拟网络统一规划
3、单机部署方式
传统网络部署方式,按照网络规划登录到每台设备上进行配置。云计算数据中心中,此方式无法协同云平台实现网络的自动化部署。
四、VXLAN报文格式
1、VXLAN 头部:
①、VXLAN Flags:8比特,取值为00001000。
②、VNI:VXLAN网络标识,24比特,用于区分VXLAN段。
③、保留字段Reserved:24比特和8比特,必须设置为0。
2、UDP头部(Outer UDP header):
①、DestPort:目的UDP端口号是4789。
②、Source Port:源端口号是通过哈希算法计算后的值。
3、外层IP头部(Outer IP header):
①、IP SA:源IP地址是VXLAN隧道本端VTEP的IP地址。
②、IP DA:目的IP地址是VXLAN隧道远端VTEP的IP地址。
4、外层以太网帧头部(Outer Ethernet header):
①、MAC DA:在发送报文的虚拟机所属VTEP上根据目的VTEP地址查找路由表,路由表中下一跳IP地址对应的MAC地址。
②、MAC SA:发送报文的虚拟机所属VTEP的MAC地址。
③、802.1Q Tag:可选字段,该字段为报文中携带的VLAN Tag。
④、Ethernet Type:以太报文类型。
五、VXLAN网关划分
1、VXLAN网关
(1)、二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。
(2)、三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。VXLAN三层网关又可以分为集中式网关和分布式网关
2、VXLAN三层网关部署方式
(1)、集中式网关部署
①、概念:集中式网关是指将三层网关集中部署在一台设备上,所有跨子网的流量都经过三层网关进行转发,实现流量的集中管理。
②、部署集中式网关的优点
对跨子网流量进行集中管理,网关的部署和管理比较简单。
③、部署集中式网关的缺点
a、转发路径不是最优:同一二层网关下跨子网的数据中心三层流量都需要经过集中三层网关转发。
b、ARP表项规格瓶颈:由于采用集中三层网关,通过三层网关转发的终端租户的ARP表项都需要在三层网关上生成,而三层网关上的ARP表项规格有限,这不利于数据中心网络的扩展。
(2)、分布式网关部署
①、VXLAN分布式网关是指:在典型的“Spine-Leaf”组网结构下,将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关,Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。
当Server1和Server2设备相互访问时:
Server1和Server2服务器不在同一个网段,但是都连接到一个Leaf节点。Server1和Server2通信时,流量只需要在Leaf1节点进行转发,不再需要经过Spine节点。
②、Spine节点:关注于高速IP转发,强调的是设备的高速转发能力。
③、Leaf节点:
a、作为VXLAN网络中的二层网关设备,与物理服务器或VM对接,用于解决终端租户接入VXLAN虚拟网络的问题。
b、作为VXLAN网络中的三层网关设备,进行VXLAN报文封装/解封装,实现跨子网的终端租户通信,以及外部网络的访问。
④、分布式网关的特点
a、同一个Leaf节点既可以做VXLAN二层网关,也可以做VXLAN三层网关,部署灵活。
b、Leaf节点只需要学习自身连接服务器的ARP表项,而不必像集中三层网关一样,需要学习所有服务器的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。
六、VXLAN配置
1、配置
(1)、创建广播域BD
[Huawei] bridge-domain *bd-id* //系统视图下创建广播域BD,进入BD视图。ID取值范围为1~16777215。
(2)、创建VNI
[Huawei-bd100] vxlan vni *vni-id*
//BD视图下创建VXLAN网络标识VNI并关联广播域BD。ID取值范围为1~16777215。
(3)、创建NVE接口
[Huawei] interface nve *nve-number*
//创建NVE接口,并进入NVE接口视图。一般情况下NVE接口编号有且仅为1。
(4)、配置源VTEP的IP地址
[Huawei-Nve1] source *ip-address*
//配置源端VTEP的IP地址。推荐使用Loopback接口的地址。
(5)、配置头端复制列表
[Huawei-Nve1] vni *vni-id* head-end peer-list *ip-address*
//NVE视图下配置VNI指定多个远端VTEP的IP地址建立头端复制列表。本端NVE将根据此列表复制并转发报文。
(6)、配置业务接入(子接口接入方式)
[Huawei-GE1/0/1.1] encapsulation { dot1q [ vid low-vid [ to high-vid ] ] | default | untag | qinq [ vid id ]}
//二层子接口视图下配置流封装类型,实现不同二层子接口接入不同的数据报文。
(7)、配置业务接入点(VLAN接入方式)
[Huawei-bd100] l2 binding vlan vlan-id
//BD视图下配置。全局VLAN绑定到广播域BD前,请确保全局VLAN已经创建和相关接口已加入该VLAN。
(8)、配置三层网关
[Huawei] interface vbdif bd-id
//系统视图下创建VBDIF接口,并进入VBDIF接口视图后续配置网关IP地址。
2、同子网互访配置案例
两台交换机配置VXLAN隧道,实现相同网段三台PC之间的互访。
(1)、SW1 配置如下:
[SW1] bridge-domain 100
[SW1-bd100] vxlan vni 10000
[SW1-bd100] quit[SW1] interface Nve 1
[SW1-Nve1] source 1.1.1.1
[SW1-Nve1] vni 10000 head-end peer-list 2.2.2.2
[SW1-Nve1] quit[SW1] interface GigabitEthernet 1/0/1.1 mode l2
[SW1-GigabitEthernet1/0/1.1] encapsulation untag
[SW1-GigabitEthernet1/0/1.1] bridge-domain 100
[SW1] interface GigabitEthernet 1/0/2.1 mode l2
[SW1-GigabitEthernet1/0/2.1] encapsulation untag
[SW1-GigabitEthernet1/0/2.1] bridge-domain 100
(2)、SW2 配置如下:
[SW2] bridge-domain 100
[SW2-bd100] vxlan vni 10000
[SW2-bd100] quit[SW2] interface Nve 1
[SW2-Nve1] source 2.2.2.2
[SW2-Nve1] vni 10000 head-end peer-list 1.1.1.1
[SW2-Nve1] quit[SW2] bridge-domain 100
[SW2-bd100] l2 binding vlan 1
SW1和SW2的接入方式:SW1为二层子接口接入方式,而SW2为绑定VLAN的接入方式
3、不同子网互访 (集中式网关) 配置案例
三台交换机配置VXLAN隧道,实现跨网段两台PC之间的互访。VXLAN网关集中在SW3。
(1)、SW1 配置如下:
[SW1] bridge-domain 100
[SW1-bd100] vxlan vni 10000[SW1] interface Nve 1
[SW1-Nve1] source 1.1.1.1
[SW1-Nve1] vni 10000 head-end peer-list 3.3.3.3[SW1] interface GigabitEthernet 1/0/1.1 mode l2
[SW1-GigabitEthernet1/0/1.1] encapsulation untag
[SW1-GigabitEthernet1/0/1.1] bridge-domain 100
(2)、SW2 配置如下:
[SW2] bridge-domain 200
[SW2-bd100] vxlan vni 20000[SW2] interface Nve 1
[SW2-Nve1] source 2.2.2.2
[SW2-Nve1] vni 20000 head-end peer-list 3.3.3.3[SW2] interface GigabitEthernet 1/0/1.1 mode l2
[SW2-GigabitEthernet1/0/1.1] encapsulation untag
[SW2-GigabitEthernet1/0/1.1] bridge-domain 200
(3)、SW3 配置如下:
[SW3] bridge-domain 100
[SW3-bd100] vxlan vni 10000[SW3] bridge-domain 200
[SW3-bd200] vxlan vni 20000[SW3] interface Nve 1
[SW3-Nve1] source 3.3.3.3
[SW3-Nve1] vni 10000 head-end peer-list 1.1.1.1
[SW3-Nve1] vni 20000 head-end peer-list 2.2.2.2[SW3] interface Vbdif100
[SW3-Vbdif100] ip address 192.168.1.1 24[SW3] interface Vbdif200
[SW3-Vbdif200] ip address 192.168.2.1 24