vxlan理论基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vxlan理论基础相关的知识,希望对你有一定的参考价值。
vxlan理论基础
1、 vxlan优势;
1)、解决VLAN Tag域只有12比特的限制,通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。
2)、除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。
3)、采用MAC in UDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦。
2、 vxlan基本概念;
1)、Underlay网络和Overlay网络:
将已有的物理网络作为Underlay网络,在其上构建出虚拟的二层或三层网络,即Overlay网络。(即:建立VXLAN隧道的基础网络称为Underlay网络,VXLAN隧道所承载的业务网络称为Overlay网络。)
Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户报文在不同站点间传递。对于租户来说,Underlay网络是透明的,只能感知到Overlay网络。
2)、NVE(Network Virtualization Edge):
网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。
注:设备和服务器上的虚拟交换机VSwitch都可以作为NVE。
3)、VTEP(VXLAN Tunnel Endpoints):
VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。
VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。
VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。
4)、VNI(VXLAN Network Identifier):
网络标识,类似VLAN ID,用于区分VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。
5)、BD(Bridge Domain):
VXLAN网络中转发数据报文的二层广播域。
在VXLAN网络中,将VNI以1:1方式映射到广播域BD,BD成为VXLAN网络转发数据报文的实体。
6)、VBDIF接口:
基于BD创建的三层逻辑接口。
通过VBDIF接口配置IP地址可实现不同网段的VXLAN间,及VXLAN和非VXLAN的通信,也可实现二层网络接入三层网络。
7)、VAP(Virtual Access Point):
虚拟接入点VAP,即VXLAN业务接入点,可以是二层子接口或VLAN。
8)、网关(Gateway):
和VLAN类似,不同VNI之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,VXLAN引入了VXLAN网关。
Vxlan网关分类:
a、二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。
b、三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。
3、 vxlna报文格式;
1)、VXLAN header:
a、VXLAN Flags:8比特,取值为00001000。
b、VNI:VXLAN网络标识,24比特,用于区分VXLAN段。
c、Reserved:24比特和8比特,必须设置为0。
2)、Outer UDP header:
a、DestPort:目的UDP端口号是4789。
b、Source Port:源端口号是内层报文通过哈希算法计算后的值。
3)、Outer IP header:
a、IP SA:源IP地址是VXLAN隧道本端VTEP的IP地址。
b、IP DA:目的IP地址是VXLAN隧道远端VTEP的IP地址。
4)、Outer Ethernet header:
a、MAC DA:在发送报文的虚拟机所属VTEP上根据目的VTEP地址查找路由表,路由表中下一跳IP地址对应的MAC地址。
b、MAC SA:发送报文的虚拟机所属VTEP的MAC地址。
c、802.1Q Tag:可选字段,该字段为报文中携带的VLAN Tag。
d、Ethernet Type:以太报文类型。
4、 vxlan三层网关部署方式;
1)、集中式网关部署:
优点:对跨子网流量进行集中管理,网关的部署和管理比较简单。
缺点:转发路径不是最优、ARP表项规格瓶颈。
2)分布式网关部署:
VXLAN分布式网关是指在典型的“Spine-Leaf”组网结构下,将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关,Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。
Vxlan分布式网关特点:
a、同一个Leaf节点既可以做VXLAN二层网关,也可以做VXLAN三层网关,部署灵活。
b、Leaf节点只需要学习自身连接服务器的ARP表项,而不必像集中三层网关一样,需要学习所有服务器的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。
5、 E×××基本原理;
E×××(Ethernet Virtual Private Network)是一种用于二层网络互联的×××技术。
E×××通过扩展BGP协议新定义了几种BGP E×××路由,这些BGP E×××路由可以用于传递VTEP地址和主机信息,E×××应用于VXLAN网络中,可以使VTEP发现和主机信息学习从数据平面转移到控制平面。
6、 BGP E×××路由
1)、Type2路由——MAC/IP路由:
Route Distinguisher:该字段为E×××实例下设置的RD(Route Distinguisher)值。
Ethernet Segment Identifier:该字段为当前设备与对端连接定义的唯一标识。
Ethernet Tag ID:该字段为当前设备上实际配置的VLAN ID。
MAC Address Length:该字段为此路由携带的主机MAC地址的长度。
MAC Address:该字段为此路由携带的主机MAC地址。
IP Address Length:该字段为此路由携带的主机IP地址的掩码长度。
IP Address:该字段为此路由携带的主机IP地址。
MPLS Label1:该字段为此路由携带的二层VNI。
MPLS Label2:该字段为此路由携带的三层VNI。
Type2路由在vxlan控制平面中的作用:
1、主机MAC地址通告:
要实现同子网主机的二层互访,两端VTEP需要相互学习主机MAC。作为BGP E×××对等体的VTEP之间通过交换MAC/IP路由,可以相互通告已经获取到的主机MAC。其中,MAC Address Length和MAC Address字段为主机MAC地址。
2、主机ARP通告:
MAC/IP路由可以同时携带主机MAC地址+主机IP地址,因此该路由可以用来在VTEP之间传递主机ARP表项,实现主机ARP通告。
3、主机IP路由通告:
在分布式网关场景中,要实现跨子网主机的三层互访,两端VTEP(作为三层网关)需要互相学习主机IP路由。作为BGP E×××对等体的VTEP之间通过交换MAC/IP路由,可以相互通告已经获取到的主机IP路由。其中,IP Address Length和IP Address字段为主机IP路由的目的地址,同时MPLS Label2字段必须携带三层VNI。此时的MAC/IP路由也称为IRB(Integrated Routing and Bridge)类型路由。
注:ARP类型路由携带的有效信息有:主机MAC地址+主机IP地址+二层VNI;IRB类型路由携带的有效信息有:主机MAC地址+主机IP地址+二层VNI+三层VNI。因此,IRB类型路由包含着ARP类型路由,不仅可以用于主机IP路由通告,也能用于主机ARP通告。
2)、Type3路由——Inclusive Multicast路由:
由前缀和PMSI属性组成,各字段解释如下:
Route Distinguisher:该字段为E×××实例下设置的RD(Route Distinguisher)值。
Ethernet Tag ID:该字段为当前设备上的VLAN ID。在此路由中为全0。
IP Address Length:该字段为此路由携带的本端VTEP IP地址的掩码长度。
Originating Router‘s IP Address:该字段为此路由携带的本端VTEP IP地址。
Flags:该字段为标志位,标识当前隧道是否需要叶子节点信息。在vxlan场景中,该字段没有实际意义。
Tunnel Type:该字段为此路由携带的隧道类型。
MPLS Label:该字段为此路由携带的二层VNI。
Tunnel Identifier:该字段为此路由携带的隧道信息。目前,在VXLAN场景中,该字段也是本端VTEP IP地址。
该类型路由在VXLAN控制平面中主要用于VTEP的自动发现和VXLAN隧道的动态建立。作为BGP E×××对等体的VTEP,通过Inclusive Multicast路由互相传递二层VNI和VTEP IP地址信息。其中,Originating Router‘s IP Address字段为本端VTEP IP地址,MPLS Label字段为二层VNI。如果对端VTEP IP地址是三层路由可达的,则建立一条到对端的VXLAN隧道。同时,如果对端VNI与本端相同,则创建一个头端复制表,用于后续BUM报文转发。
3)、Type5路由——IP前缀路由:
Route Distinguisher:该字段为E×××实例下设置的RD(Route Distinguisher)值。
Ethernet Segment Identifier:该字段为当前设备与对端连接定义的唯一标识。
Ethernet Tag ID:该字段为当前设备上实际配置的VLAN ID。
IP Prefix Length:该字段为此路由携带的IP前缀掩码长度。
IP Prefix:该字段为此路由携带的IP前缀。
GW IP Address:该字段为默认网关地址。该字段在VXLAN场景中没有实际意义。
MPLS Label:该字段为此路由携带的三层VNI。
该类型路由的IP Prefix Length和IP Prefix字段既可以携带主机IP地址,也可以携带网段地址:
1、当携带主机IP地址时,该类型路由在VXLAN控制平面中的作用与IRB类型路由是一样的,主要用于分布式网关场景中的主机IP路由通告。
2、当携带网段地址时,通过传递该类型路由,可以实现VXLAN网络中的主机访问外部网络。
以上是关于vxlan理论基础的主要内容,如果未能解决你的问题,请参考以下文章
创建 VXLAN - 每天5分钟玩转 OpenStack(111)
Tstack基础云修改网络模式Vxlan_OVs到Vlan_OVS