【HCIE】13.VXLAN EVPN

2023-10-14 03:52
文章标签 13 hcie vxlan evpn

本文主要是介绍【HCIE】13.VXLAN EVPN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据中心一直使用VXLAN当做隧道协议,但是VXLAN没有自己的控制面协议,EVPN本来就可以传递MAC信息,IP信息,也可以传递VNI。就将EVPN做了改造(只把标签改了VNI)。

为什么二层一定需要一个控制面?

1.N个节点需要创建N*(N-1)/2条隧道,配置工作量大。

2.VXLAN设备收到BUM流量会给所有隧道泛洪,泛洪流量大

BGP EVPN使用BGP传递路由,路由的类型是EVPN(EVPN是一种地址族,可以传递的路由类型特别多,可以传递IPV4形成的路由,VPNV4形成的路由,甚至可以传递MAC地址形成的路由)。是一个控制面协议,但是不是只能给VXLAN当做控制面协议,也可以给其他的协议当做控制面协议使用。控制层面可以控制泛洪流量,也可以控制建立隧道

RT决定了是否传递路由,是控制平面;VNI决定了是否建立隧道是转发平面。

跨子网通信都是要先找自己的网关,找到自己网关之前都是二层通信,不管中间经过了几台设备。找到网关之后查路由表,要经过三层转发(不管经过了多少跳),找到对方网关之后再进行二层转发。

BGP EVPN概述

BGP EVPN通过扩展 BGP协议新定义了几种BGP EVPN路由(在MP_REACH_NLRI属性中新定义了几种NLRI,称为EVPN NLRI)。

这些BGP EVPN路由可以用于传递VTEP地址和主机信息,因此BGP EVPN应用于VXLAN网络中,可以使VTEP发现和主机信息学习从数据平面转移到控制平面。

不会出现二层环路,因为封装到了IP(且BGP有水平分割原则)

BGP EVPN路由

TYPE 2路由(MAC/IP路由):用于主机MAC地址/ARP/IP路由通告,主机路由不是凭空来的,是有PC触发流量产生的路由

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

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

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

主机MAC地址通告

L2网关将学习到的MAC地址加工后(加工RD,RT等信息),通过BGP传递

主机ARP通告

分布式网关

非对称IRB转发

  1. PC1发送单播给PC2,此时因为是三层转发所以要先去找自己的网关,VBDIF20
  2. VBDIF20接收到数据帧后会查路由表发现直连路由,需要从VBDIF 10出发到对面的VBDIF 10
  3. 于是数据帧进入BD 10封装的VNI号是100,数据帧从隧道发往了VTEP2进入了BD 10,VTEP2发现这个数据帧就在同一个BD里面,于是直接二层转发交给了PC2

以上过程,在左边一部分进行的是三层转发,而数据到了右边部分进行的是二层转发,这就是非对称IRB转发。

缺点:需要建立多余的BD

对称IRB转发

两边都执行三层转发

缺点:中间要有一个互联的IP地址(稍后会把这个省略,因为互联地址主要是为了下一跳解析到的MAC,而这个MAC地址会由IRB路由携带)

三层 IP VPN-instance 路由表

二层 EVPN VPN-instance MAC表

此时VTEP之间传递IRB路由(多了L3 VNI),VTEP1的BD20、VTEP2的BD10 之间的IRB路由学习由路由携带RT值控制。

两边BD的VNI不相同,无法直接二层互通,但是建立三层VNI(三层VNI相同),因此可以三层互通

EVPN RT、IP VPN RT(1)

新增IP VPN实例之后,BGP EVPN在传递TYPE 2路由时携带的RT值依旧是EVPN RT值,只是对端收到路由之后的处理行为存在区别:

  • 检查该路由携带的RT,如果与本端EVPN实例的import rt相同,则接收路由。EVPN实例获取到IRB类型路由后,还能提取到其中包含的ARP类型路由,用于主机ARP通告。
  • 检查该路由携带的RT,如果与本端IP VPN实例的import rt相同,则接收该路由。然后,VPN实例获取到该路由携带的IRB类型路由,从中提取的主机IP地址、三层VNI,在其路由表中保存主机IP路由,并根据路由的下一跳迭代出接口,最终迭代结果是指向VTEP的VXLAN隧道。

通过EVPN Router's MAC Extended Community这一扩展团体属性子属性,BGP EPVN传递VTER自身的Router MAC,该MAC地址为NVE接口的MAC地址。

ARP广播抑制

广播变成单播

因为VTEP已经通过路由获得了PC2的MAC地址,所以VTEP可以直接向VTEP2单播发送。

VTEP1首先能学习到PC2的MAC地址形成ARP广播抑制表才可以进行ARP广播抑制

主机信息收集

ARP广播抑制功能的实现依赖于ARP广播抑制表,而该表项的形成依赖于BGP EVPN携带的TYPE 2路由(IRB路由,主机ARP路由)

默认情况下L3网关不会由本地的ARP信息生成BGP EVPN路由,需要手动使能BGP EVPN主机信息收集功能。之后VTEP会依据ARP信息生成IRB路由。

本机ARP代理

全网开启BGP EVPN主机信息收集功能之后,L3网关上将学习到全部主机的32位路由,这使得L3网关在转发属于同一个BD之间的流量时完全可以依赖主机路由进行三层IRB对称转发。

为此可以在L3网关的VBDIF接口上开启本地ARP代理,VBDIF 接口会相应下连主机对同网段IP地址的ARP请求,之后对该同网段IP的访问可以由L3网关进行三层转发完成。

MAC地址迁移

MAC地址迁移后,会使用序列号最大的路由

实验

1.开启over支持evpn的功能
2.建立EVPN BGP对等体关系
3.创建BD,绑定VNI与EVPN实例
4.进入接口,绑定BD
5.进入隧道接口,配置源与头部复制列表CE2
evpn-overlay enable	//开启支持evpn overlay的功能
bgp 123peer 3.3.3.3 as-number 123peer 3.3.3.3 connect-interface l0
#
l2vpn-family evpn	//建立EVPN邻居policy vpn-targetpeer 3.3.3.3 enable
#
bridge-domain 1030	//创建BDvxlan vni 1030evpn	//创建EVPN实例,绑定到BD里面route-distinguisher 1030:2vpn-target 1030:1030 export-extcommunityvpn-target 1030:1030 import-extcommunity
#
bridge-domain 2040vxlan vni 2040evpn route-distinguisher 2040:2vpn-target 2040:2040 export-extcommunityvpn-target 2040:2040 import-extcommunity
#
interface G1/0/9.10 mode l2encapsulation dot1q vid 10bridge-domain 1030
#
interface G1/0/9.20 mode l2encapsulation dot1q vid 20bridge-domain 2040
#
int Nve 1	//进入到VNI里面
source 2.2.2.2
vni 1030 head-end peer-list protocol bgp	//1030隧道根据BGP来建立
vni 2040 head-end peer-list protocol bgp
CE1:
1.开启over支持evpn的功能
2.建立BGP EVPN对等体关系,且配置反射客户端与通告ARP路由功能
3.创建BD,绑定VNI与EVPN实例
4.配置VBDIF地址及arp collect host enable
5.进入隧道接口,配置源地址与头部复制列表
CE2:
1.开启over支持evpn的功能
2.建立EVPN BGP对等体关系,并通告arp路由功能
3.创建BD,绑定VNI与EVPN实例
4.进入接口,绑定BD
5.进入隧道接口,配置源与头部复制列表CE1
evpn-overlay enable
bridge-domain 1030
vxlan vni 1030
evpn
route-distingusisher 1030:1
vpn-target 1030:1030 export-extocommunity
vpn-target 1030:1030 import-extcommunity
#
bridge-domain 2040
vxlan vni 2040
evpn route-distinguisher 2040:1
vpn-target 2040:2040 export-extcommunity
vpn-tartge 2040:2040 import-extcommunity
#
interface vbdif1030
ip add 192.168.1.1 24
interface vbdif 2040
ip add 192.168.2.1 24
#
bgp 123
peer 2.2.2.2 as-number 123
peer 2.2.2.2 connect-interface l0
peer 3.3.3.3 as-number 123
peer 3.3.3.3 connect-interface l0
#
l2vpn-family evpn
policy vpn-target
peer 2.2.2.2 enable
peer 2.2.2.2 relect0clinet
peer 2.2.2.2 advertise arp
peer 3.3.3.3 enable
peer 3.3.3.3 relect-client
peer 3.3.3.3 advertise arp
#
interface Nve1
source 1.1.1.1
vni 1030 head-end peer-list protocol bgp
vni 2040 head-end peer-list protocol bgpCE2
evpn-overlay enable
bridge-domain 1030
vxlan vni 1030
evpn
route-distinguisher 1030:2
vpn-target 1030:1030 export-extcommunity
vpn-target 1030:1030 import-extcommunity
#
interface G1/0/9.10 mode l2
encapsulation dot1q vid 10
bridge-domain 1030
#
bgp 123
peer 1.1.1.1 as-number 123
peer 1.1.1.1 connect-interface l0
l2vpn-family evpn
policy vpn-target
peer 1.1.1.1 enable
peer 1.1.1.1 advertise arp
interface Nve 1
source 2.2.2.2
vni 1030 head-end peer-list protocol bgpCE3
evpn-overlay enable
bridge-domain 2040
vxlan vni 2040
evpn route-distinguisher 2040:3
vpn-target 2040:2040 export-extcommunity
vpn-target 2040:2040 import-extommunity
#
interface G1/0/9.10 mode l2
encapsulation dot1q vid 40
bridge-domain 2040
#
bgp 123
peer 1.1.1.1 as-number 123
peer 1.1.1.1 connect-interface l0
l2vpn-family evpn
policy vpn-target
peer 1.1.1.1 enable
peer 1.1.1.1 advertise arp
#
interface Nve 1
sorece 3.3.3.3
vni 2040 head-end peer-list protocol bgpCE1 
interface vbdif1030arp collect host enable	//主机收集功能
CE2
evpn-overlay enablebridge-domain 1030vxlan vni 1030evpn route-distinguisher 1030:1030vpn-target 1030:1030 export-extcommunityvpn-target 1234:1234 export-extcommunityvpn-target 1030:1030 import-extcommunity
#
bridge-domain 2040vxlan vni 2040evpnroute-distinguisher 2040:2040vpn-target 2040:2040 export-extcommunityvpn-target 1234:1234 export-extcommunityvpn-target 2040:2040 import-extcommunity
###
ip vpn-instance vpn1route-distinguisher 1234:1234vpn-target 1234:1234 export-extcommunity evpnvpn-target 1234:1234 import-extcommunity evpnvxlan vni 1234
#
interface GE1/0/9
undo shutdown
#
interface GE1/0/9.30 mode l2
encapsulation dot1q vid 10
bridge-domain 1030
#
interface GE1/0/9.40 mode l2
encapsulation dot1q vid 20
bridge-domain 2040
#
interface Vbdif1030
ip binding vpn-instance vpn1
ip address 192.168.1.1 255.255.255.0
mac-address 0000-5e00-1030
vxlan anycast-gateway enable
arp collect host enable
#
interface Vbdif2040
ip binding vpn-instance vpn1
ip address 192.168.2.1 255.255.255.0
mac-address 0000-5e00-2040
vxlan anycast-gateway enable	//对外界声明是一个分布式网关
arp collect host enable	//通过arp提取出IP MAC地址等信息放到对应的表项里面
#
bgp 123
peer 3.3.3.3 as-number 123
peer 3.3.3.3 connect-interface LoopBack0
ipv4-family unicast
peer 3.3.3.3 enable
l2vpn-family evpn
policy vpn-target
peer 3.3.3.3 enable
Y
peer 3.3.3.3 advertise irb
#
interface Nve1
source 2.2.2.2
vni 1030 head-end peer-list protocol bgp
vni 2040 head-end peer-list protocol bgp
CE3
evpn-overlay enable
bridge-domain 1030
vxlan vni 1030
evpn
route-distinguisher 1030:1030
vpn-target 1030:1030 export-extcommunity
vpn-target 1234:1234 export-extcommunity
vpn-target 1030:1030 import-extcommunity
#
bridge-domain 2040
vxlan vni 2040
evpn
route-distinguisher 2040:2040
vpn-target 2040:2040 export-extcommunity
vpn-target 1234:1234 export-extcommunity
vpn-target 2040:2040 import-extcommunity
#
ip vpn-instance vpn1
ipv4-family
route-distinguisher 1234:1234
vpn-target 1234:1234 export-extcommunity evpn
vpn-target 1234:1234 import-extcommunity evpn
vxlan vni 1234
#
interface GE1/0/9
undo shutdown
#
interface GE1/0/9.30 mode l2
encapsulation dot1q vid 30
bridge-domain 1030
#
interface GE1/0/9.40 mode l2
encapsulation dot1q vid 40
bridge-domain 2040
#
interface Vbdif1030
ip binding vpn-instance vpn1
ip address 192.168.1.1 255.255.255.0
mac-address 0000-5e00-1030
vxlan anycast-gateway enable
arp collect host enable
#
interface Vbdif2040
ip binding vpn-instance vpn1
ip address 192.168.2.1 255.255.255.0
mac-address 0000-5e00-2040
vxlan anycast-gateway enable
arp collect host enable
#
bgp 123
peer 2.2.2.2 as-number 123
peer 2.2.2.2 connect-interface LoopBack0
ipv4-family unicast
peer 2.2.2.2 enable
l2vpn-family evpn
policy vpn-target
peer 2.2.2.2 enable
Y
peer 2.2.2.2 advertise irb
#
interface Nve1
source 3.3.3.3
vni 1030 head-end peer-list protocol bgp
vni 2040 head-end peer-list protocol bgp

这篇关于【HCIE】13.VXLAN EVPN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/207955

相关文章

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

13 transition数组的动画使用

划重点 动画:transitiontransition-group :数组动画数组的 添加 / 删除 豆腐粉丝汤 清淡又健康 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><me

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

Chapter 13 普通组件的注册使用

欢迎大家订阅【Vue2+Vue3】入门到实践 专栏,开启你的 Vue 学习之旅! 文章目录 前言一、组件创建二、局部注册三、全局注册 前言 在 Vue.js 中,组件是构建应用程序的基本单元。本章详细讲解了注册和使用 Vue 的普通组件的两种方式:局部注册和全局注册。 本篇文章参考黑马程序员 一、组件创建 ①定义 Vue 组件是一种具有特定功能的 Vue 实

VMware Fusion Pro 13 Mac版虚拟机 安装Win11系统教程

Mac分享吧 文章目录 Win11安装完成,软件打开效果一、VMware安装Windows11虚拟机1️⃣:准备镜像2️⃣:创建虚拟机3️⃣:虚拟机设置4️⃣:安装虚拟机5️⃣:解决连不上网问题 安装完成!!! Win11安装完成,软件打开效果 一、VMware安装Windows11虚拟机 首先确保自己的mac开启了网络共享。不然虚拟机连不上👀的 1️⃣:准备镜像

华为 HCIP-Datacom H12-821 题库 (13)

有需要题库的可以看主页置顶 1.可以携带外部路由的 tag 标签信息的是以下哪一类 LSA? A、4 类 LSA B、5 类 LSA  C、3 类 LSA  D、2 类 LSA 答案:B 解析: 暂无解析 2..两台路由器直连,并设定网络类型为 p2p 建立OSPF 邻居。那么两台路由器传输 OSPF 报文的目的 IP 地址是以下哪一项? A、使用组播地址 224.0.0.6 B

[情商-13]:语言的艺术:何为真实和真相,所谓真相,就是别人想让你知道的真相!洞察谎言与真相!

目录 前言: 一、说话的真实程度分级 二、说谎动机分级:善意谎言、中性谎言、恶意谎言 三、小心:所谓真相:只说对自己有利的真相 四、小心:所谓真相:就是别人想让你知道的真相 五、小心:所谓善解人意:就是别人只说你想要听到的话 前言: 何为真实和真相,所谓真相,就是别人想让你知道的真相!洞察谎言与真相! 人与人交流话语中,处处充满了不真实,完全真实的只是其中一小部分,这

C++笔试强训12、13、14

文章目录 笔试强训12一、选择题1-5题6-10题 二、编程题题目一题目二 笔试强训13一、选择题1-5题6-10题 二、编程题题目一题目二 笔试强训14一、选择题1-5题6-10题 二、编程题题目一题目二 笔试强训12 一、选择题 1-5题 引用:是一个别名,与其被引用的实体公用一份内存空间,编译器不会给引用变量单独开辟新的空间。A错误 故选A。 A

HCIE云计算--灾备

7、BCManager ebackup–云场景备份管理软件 8、ebackup软件的组成 9、ebackup的部署方式 10、ebackup的网络平面 11、组网方式 12、CBT技术–实现增量备份、差异备份、增量恢复 13、CBT和快照对比技术CBT 灾备释义:指利用科学的技术手段和方法,提前建立系统化的数据应急方式,以应对灾难的发生。 一、容灾和备份的区别 =======

java基础总结13-面向对象9(对象转型)

对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型。转型的意思是:如把float类型转成int类型,把double类型转成float类型,把long类型转成int类型,这些都叫转型。把一种形式转成另外一种形式就叫转型。除了基础数据类型的转型之外(基础数据类型的转型:大的可以转成小的,小的也可以转成大的。),对象领域里面也有对象之