(华为认证)VXLAN的基本工作原理

为什么需要部署vxlan

当今网络是由业务驱动网络。在数据中心和园区网络中,往往会部署大量的虚拟机来实现简化管理、降低成本等需求。一台物理设备可能存在很多租户的虚拟系统,那么相同租户就有以下的需求:

1、相同租户的虚拟设备希望实现二层互通,但往往相同租户的物理设备属于不同的二层网络;

2、不同的租户之间需要实现租户间的隔离;

3、相同租户的虚拟设备需要实现跨三层的迁移。

因此需要使用vxlan来组件一个跨越三层的大二层网络!

Vxlan的基本概念:

VXLAN的报文格式:

NVE(Network Virtualization Edge,网络虚拟边缘):即部署了vxlan的交换机。

VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点):vtep是vxlan的隧道端点,用于封装和解封装vxlan报文,一般在配置了vxlan设备的NVE接口配置VTEP地址。(即vxlan报文外层头部的IP地址)

VNI(VXLAN Network Identifier,VXLAN网络标识):类似vlan ID,长度有24bit,可以支持更多的用户。VNI又分为2层VNI和3层VNI;

2层VNI:与BD做1:1的绑定,具有全局意义,实现vxlan的相同子网的二层通信。

3层VNI:与IP的VPN实例进行关联,实现vxlan报文的跨子网通信。

BD(Bridge Domain,桥域):具有本地意义,类似传统网络中采用VLAN划分广播域,在VXLAN网络中一个BD就标识一个大二层广播域。

二层网关和三层网关:

VBDIF接口:类似于传统网络的vlanif接口,实现不同的网段之间的用户通过vxlan进行通信,以及vxlan和非vxlan网络的通信。

集中式网关和分布式网关:

集中式网关:三层网关都部署在同一台设备上面,所有跨子网通信的流量都经过此设备转发,优点是可以实现流量的集中管理,缺点是可能存在次优路径,并且此网关需要维护大量的arp信息。

分布式网关:VTEP设备既是L2网关,又是L3网关。非网关节点对VXLAN隧道不感知,仅作为VXLAN报文的转发节点。优点是网关节点只需要学习本节点下的arp信息,并且不存在次优路径,缺点是配置量大。(当前网络基本才有分布式网关)

vxlan隧道建立方式:

1、静态建立:通过用户手工配置本端和远端的VNI、VTEP IP地址和头端复制列表(head-end peer-list)来完成。

配置步骤:

①创建BD域,绑定二层VNI(BD域为本地的概念,在vxlan数据传递的时候需要通过vni来体现。)

bridge-domain 10

 vxlan vni 10

②将子接口或vlan绑定到BD域(示例为子接口绑定BD的配置,当前网络常用方式就是使用子接口进行绑定)

interface GE1/0/1.10 mode l2 //配置子接口为2层子接口

 encapsulation dot1q vid 10 //配置子接口能够处理vlan10的数据

 bridge-domain 10//将子接口绑定BD域

③配置NVE、指定vxlan的头尾复制功能,指定静态的vxlan隧道。(头端是指VXLAN隧道的入节点,复制是指当VXLAN隧道的入节点收到一份BUM报文后,需要将其复制多份并发送给列表中的所有VTEP。头端复制列表就是用于指导VXLAN隧道的入节点进行BUM报文复制和发送的远端VTEP的IP地址列表。)

interface Nve1 //创建nve接口

 source 1.1.1.1 //指定vtep地址为1.1.1.1

 vni 10 head-end peer-list 2.2.2.2 //配置头端复制列表

查看vxlan隧道建立情况

2、通过bgp evpn动态建立:在VTEP之间建立BGP EVPN对等体,然后对等体之间利用BGP EVPN路由来互相传递VNI和VTEP IP地址信息,从而实现动态地建立VXLAN隧道。

配置步骤:

前两个步骤与静态配置相同,

①创建BD域,绑定二层VNI

②将子接口或vlan绑定到BD域

③开启evpn功能,并且配置bgp的mp-bgp邻居关系

evpn-overlay enable //开启evpn功能,部分设备无需开启

bgp 100

 router-id 1.1.1.1

 peer 2.2.2.2 as-number 100

 peer 2.2.2.2 connect-interface LoopBack0

l2vpn-family evpn

  peer 2.2.2.2 enable

④在NVE中指定使用bgp协议完成vxlan的隧道建立

interface Nve1

 source 1.1.1.1

 vni 10 head-end peer-list protocol bgp

 

 

数据转发流程:

1、MAC地址的学习过程

2、相同子网已知目的mac的单播报文转发

3、BUM流量转发,BUM流量即(未知单播、组播、广播)

BGP EVPNvxlan

Vxlan可以看为一个数据平面的协议。因此vxlan的隧道自动建立需要依托BGP EVPN,BGP EVPN除了可以自动建立vxlan 隧道还可以完成vxlan控制平面的相关工作。

Type 2路由(MAC/IP路由):用于主机MAC地址/ARP/IP路由通告。

不同场景下,type2的路由携带的内容不一致,如下图所示:

主机mac地址通告:

同子网主机MAC地址通告:

  1. PC1产生数据流量并发往SW1。
  2. SW1获知了PC1的MAC地址,它在MAC地址表中创建一个表项,记录该MAC地址、BD ID及入接口。
  3. SW1根据该表项生成BGP EVPN路由并发送给SW2。该路由携带本端EVPN实例的RT值(扩展团体属性)以及Type 2路由( MAC路由)。在MAC路由中,PC1的MAC地址存放在MAC Address字段中,二层VNI存放在MPLS Label1字段中。
  4. SW2收到SW1发来的BGP EVPN路由后,首先检查该路由携带的RT(类似MPLS VPN中的RT的概念),如果与本端EVPN实例的入站RT相等,则接收该路由,否则丢弃。在接收该路由后,SW2获得PC1的MAC地址、BD ID和SW1上VTEP IP地址(MP_REACH_NLRI中Next hop network address字段携带)的对应关系,并在本地的MAC表中生成MAC表项,其出接口需根据下一跳进行迭代,最终迭代结果是指向SW1的VXLAN隧道。

主机arp通告:

MAC/IP路由可以同时携带主机MAC地址+主机IP地址,因此该路由可以用来在VTEP之间传递主机ARP表项,实现主机ARP通告。其中,MAC Address和MAC Address Length字段为主机MAC地址,IP Address和IP Address Length字段为主机IP地址。此时的MAC/IP路由也称为ARP类型路由。主机ARP通告主要用于以下两种场景:

主机ARP通告主要在VXLAN集中式网关+BGP EVPN场景下使用,在BGP EVPN中向对等体通告ARP路由或者IRB路由为互斥选项,只能配置其中一种路由对外发布,一般在VXLAN集中式网关+BGP EVPN场景下选择发布ARP路由,而且VXLAN分布式网关+BGP EVPN场景下选择发布IRB路由。

主机IP路由通告:

分布式网关组网中VTEP设备既是L2网关,又是L3网关。在该组网下跨子网通信的实现方式并不唯一,根据接收报文的VTEP(Ingress VTEP)处理方式不同,可以划分为:非对称IRB转发(Asymmetric Integrated Routing and Bridging)、对称IRB转发(Symmetric Integrated Routing and Bridging)。

非对称IRB转发:Ingress VTEP同时执行L3、L2查表转发,Egress VTEP只需要进行L2查表、转发,因为Ingress、Egress所执行操作不一致,被称为非对称转发。

对称IRB转发:Ingress VTEP、Egress VTEP都执行L3查表转发。

相比较于非对称IRB转发,新增了一个IP VPN实例以及其所绑定的L3 VNI概念(非对称IRB转发时VTEP之间传输的报文其VXLAN头部中VNI值为L2 VNI),VBDIF接口需要绑定IP VPN实例,此时该VBDIF接口的路由学习、数据转发都被限制在该IP VPN实例中,与MPLS VPN类似。

IRB路由的通告过程:

注:在配置对称IRB转发时,需要在edge设备配置IP vpn实例和 EVPN实例。如下所示,本端设备的BD域中evpn实例配置了一个出方向RT为11:1 ,需要与对端设备的IP vpn实例的如方向RT匹配,用于生成主机路由。

bridge-domain 10

 vxlan vni 10 //二层VNI

 evpn

  route-distinguisher 10:10

  vpn-target 10:10 export-extcommunity //RT 10:10用于两端mac route(type2路由的发布和接收)

  vpn-target 11:1 export-extcommunity //RT111与三层vpn实例的入方向RT对应,主要用于生成vpn实例的全局主机路由

  vpn-target 10:10 import-extcommunity

ip vpn-instance 1

 ipv4-family

  route-distinguisher 10:10

  vpn-target 11:1 evpn //BD域的evpn实例出方向RT一致,当设备收到type 2的路由时,如果RTip vpn实例的入方向RT一致,则收集其中的arp信息,生成主机路由,并且放在vpn实例路由表中

 vxlan vni 1000// 配置三层VNI,用于指定设备收到流量后将数据发往哪一个vpn实例,然后查表转发,主要用于业务隔离

对称IRB转发通信过程:

Type 3路由(Inclusive Multicast路由):用于传递二层VNI和VTEP IP地址信息,实现VTEP的自动发现和VXLAN隧道的动态建立,实现BUM报文转发。

VTEP通过Type 3路由互相传递二层VNI和VTEP IP地址信息。如果对端VTEP IP地址是三层路由可达的,则建立一条到对端的VXLAN隧道。同时,如果对端VNI与本端相同,则创建一个头端复制列表,用于后续BUM报文转发。

Type 5路由(IP前缀路由):用于主机MAC地址/ARP/IP路由通告,外部网络路由通告。

猜你喜欢

转载自blog.csdn.net/2301_76769137/article/details/130422741
今日推荐