《华为认证》二层EVPN的配置

步骤1:配置PE和P设备的IGP以及mpls、mpls ldp(略)

步骤2:配置evpn实例,并且绑定到BD中,配置evpn的源ip地址

PE1:

evpn vpn-instance 1 bd-mode //指定创建BD模式EVPN实例

 route-distinguisher 100:1

 vpn-target 1:1 export-extcommunity

 vpn-target 1:1 import-extcommunity

bridge-domain 10

 evpn binding vpn-instance 1 //将BD域10绑定到evpn的BD模式实例中

evpn source-address 1.1.1.1 //指定evpn的源ip地址

PE2:

evpn vpn-instance 1 bd-mode

 route-distinguisher 100:2

 vpn-target 1:1 export-extcommunity

 vpn-target 1:1 import-extcommunity

bridge-domain 10

 evpn binding vpn-instance 1

evpn source-address 2.2.2.2

PE3:

evpn vpn-instance 1 bd-mode

 route-distinguisher 100:3

 vpn-target 1:1 export-extcommunity

 vpn-target 1:1 import-extcommunity

evpn source-address 3.3.3.3

bridge-domain 10

 evpn binding vpn-instance 1

步骤3:配置PE1和PE2的M-LAG

(1)CE双规侧配置 e-trunk ,绑定到eth-trunk中,做跨设备链路聚合。

PE1:

lacp e-trunk system-id 1111-1111-1111 //配置e-trunk的system id,两端需要一致

lacp e-trunk priority 1 //配置e-trunk的优先级

e-trunk 1

 peer-address 2.2.2.2 source-address 1.1.1.1 //配置E-Trunk的对端设备地址为2.2.2.2,本端的IP地址为1.1.1.1

interface Eth-Trunk10 //创建聚合口

 mode lacp-static //配置为lacp模式

 e-trunk 1//绑定e-trunk

 e-trunk mode force-master //设置前置为主动端

 esi 0000.1111.1111.1111.1111 //配置连接CE链路的ESI,两端必须一致

PE2:

lacp e-trunk system-id 1111-1111-1111

lacp e-trunk priority 1

e-trunk 1

 peer-address 1.1.1.1 source-address 2.2.2.2

interface Eth-Trunk10 //创建聚合口

 mode lacp-static

 e-trunk 1

esi 0000.1111.1111.1111.1111 //配置连接CE链路的ESI,两端必须一致

(2)创建eth-trunk子接口,模式改为L2,绑定到BD中,并且将物理接口绑定到eth-trunk 中

PE1:

interface Eth-Trunk10.1 mode l2//进入聚合口的子接口,模式改为2层模式

 encapsulation dot1q vid 2 //指定二层子接口接收带指定802.1Q Tag封装的报文

 rewrite pop single //配置EVC二层子接口的流动作是pop,对接收的报文进行剥除VLAN Tag操作

 bridge-domain 10 //绑定BD域10

interface Ethernet1/0/0

eth-trunk 10 //将物理接口绑定到聚合口中

PE2:

interface Eth-Trunk10.1 mode l2

 encapsulation dot1q vid 2

 rewrite pop single

 bridge-domain 10

interface Ethernet1/0/0

eth-trunk 10

(3)配置CE1的链路聚合

CE1:

Vlan 2

Int vlanif 2

Ip address 192.168.1.1 24

 

interface Eth-Trunk10

 portswitch //配置接口为2层模式

 port link-type trunk

 port trunk allow-pass vlan 2

 mode lacp-static

查看PE端的e-trunk的状态

查看CE的链路聚合状态

步骤4:配置PE3和CE2的互联接口

PE3:

interface Ethernet1/0/1.1 mode l2

 encapsulation dot1q vid 2

 rewrite pop single

 bridge-domain 10

interface Ethernet1/0/1

esi 0000.2222.2222.2222.2222

CE2:

Vlan 2

interface Vlanif2

 ip address 192.168.1.2 255.255.255.0

interface GigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 2

步骤5:配置本端、远端MAC路由快速重路由功能。

PE1:

evpn

 vlan-extend private enable

 vlan-extend redirect enable

 local-remote frr enable

PE2:

evpn

 vlan-extend private enable

 vlan-extend redirect enable

 local-remote frr enable

PE3:

evpn

 vlan-extend private enable

 vlan-extend redirect enable

 local-remote frr enable

步骤6:配置PE之间的Evpn邻居关系

PE1:

bgp 100

 peer 2.2.2.2 as-number 100

 peer 2.2.2.2 connect-interface LoopBack0

 peer 3.3.3.3 as-number 100

 peer 3.3.3.3 connect-interface LoopBack0

l2vpn-family evpn //进入二层evpn的地址族视图模式使能邻居关系

  peer 2.2.2.2 enable

  peer 3.3.3.3 enable

PE2:

bgp 100

 peer 1.1.1.1 as-number 100

 peer 1.1.1.1 connect-interface LoopBack0

 peer 3.3.3.3 as-number 100

 peer 3.3.3.3 connect-interface LoopBack0

l2vpn-family evpn

  peer 1.1.1.1 enable

  peer 3.3.3.3 enable

PE3:

bgp 100

 peer 1.1.1.1 as-number 100

 peer 1.1.1.1 connect-interface LoopBack0

 peer 2.2.2.2 as-number 100

 peer 2.2.2.2 connect-interface LoopBack0

l2vpn-family evpn

  peer 1.1.1.1 enable

  peer 2.2.2.2 enable

查看BGP的evpn邻居关系

测试CE之间的连通性:

下图为CE2学习到CE1的mac地址

通过几张evpn路由表来看下L2 evpn的工作过程:

启动阶段:

①PE之间建立MP-bgp的邻居关系,使用tpye3路由分配BUM流量标签,产生BUM流量转发表;(参考下图表示PE1收到BUM流量时,将流量泛洪给2.2.2.2和3.3.3.3)

查看其中一条的详细信息:

②PE设备交互type4路由,传递ESI信息,并且进行DF的选举(多归场景下面选举)

查看DF的选举结果:在PE1和PE2双归场景下,PE1被选举为DF,转发BUM流量。

③PE通过Type 1类路由分发ESI标签。ESI Label用于水平分割防止同一ES来的流量又绕回到该ES。(以PE1为例,PE1为将type1的路由发送给所有的邻居,携带 ESI 和所分配标签的对应关系)如果发送数据给相同的ESI设备时,会携带ESI标签,对端设备收到后,将不转发,实现水平分割。

流量转发阶段:

设备收到CE发送的arp请求报文,首先生成mac-vrf表项,然后向所有的邻居发送type2路由,为这个mac地址分配公网标签

具体过程如下所示:

流量转发阶段:

1、设备收到CE发送的arp请求报文,首先生成mac-vrf表项,然后向所有的邻居发送type2路由,为这个mac地址分配公网标签

2、由于PE2直连ESI1,因此这个路由并不需要,E2会生成最优的mac地址表,指向port2,而不是PE1。

3、由于arp请求报文是一个广播报文,因此PE1收到广播报文后,会查询BUM流量转发表,将这个arp报文发送给所有的邻居,PE3、PE4收到之后会对应的mac地址表项,只有PE3会转发这个广播报文,因为PE3是DF 。

4、由于PE1和PE2属于相同ES,PE1到PE2的流量同时携带ESI标签202和BUM标签102。PE2接收到报文发现有标签202,则丢弃该报文。

5、PE3生成并通告Type 2路由。其他PE接收PE3发出的Type 2路由(当设备产生新的mac地址表时就会发送type 2的路由告知邻居),刷新本地MAC表项。

6、PE3通过负载分担算法找出下一跳(如:PE1)发送报文,携带标签301。PE1接收报文后向Port1转发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/98281.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学乐多光屏 P90:打开儿童学习新视界

随着科技迅猛发展,儿童教育正在迎来一场前所未有的革命。在这个数字化时代的浪潮中,学乐多光屏P90凭借其卓越的特性和深远的教育理念,成为智能儿童学习领域的引领者,为孩子们创造了崭新的学习体验。 创新科技,引领学习…

Android片段

如果你希望应用根据不同的环境有不同的外观和行为,这种情况下就需要片段,片段是可以由不同活动重用的模块化代码组件。 片段(Fragment)是活动(Activity)的一种模块化部分,表示活动中的行为或界面…

python-数据可视化-使用API

使用Web应用程序编程接口 (API)自动请求网站的特定信息而不是整个网页,再对这些信息进行可视化 使用Web API Web API是网站的一部分,用于与使用具体URL请求特定信息的程序交互。这种请求称为API调用 。请求的数据将以易于处理的…

开源图形驱动在OpenHarmony上的使用和落地

本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第10期 | 开源图形驱动在OpenHarmony上的使用和落地》 演讲嘉宾 | 黄 然 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 黄然,华为终端BG软件部资深图形技术专家,华为终端游戏标准、工具和分析创…

SpringBoot—日志

目录 日志使用日志日志级别设置日志级别设置分组指定日志文件路径日志切割归档使用第三方日志框架log4j2配置文件【分级存储】logback配置文件【分级存储】 实例代码 日志 使用日志 给controller添加日志信息 要给controller类上添加Slf4j注解,然后使用log.info(…

高速公路自动驾驶汽车超车控制方法研究

目录 摘要 ............................................................................................................ I Abstract ...................................................................................................... II 目录 ...............…

Ansible-palybook学习

目录 一.playbook介绍二.playbook格式1.书写格式2.notify介绍 一.playbook介绍 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本。通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机达到预期的状态。pl…

electron软件安装时,默认选择为全部用户安装

后续可能会用electron开发一些工具,包括不限于快速生成个人小程序、开发辅助学习的交互式软件、帮助运维同学一键部署的简易版CICD工具等等。 开发进度,取决于我懒惰的程度。 不过不嫌弃的同学还是可以先关注一波小程序,真的发布工具了&…

java八股文面试[多线程]——synchronized锁升级过程

速记:偏向-轻量-重量 锁膨胀 上面讲到锁有四种状态,并且会因实际情况进行膨胀升级,其膨胀方向是:无锁——>偏向锁——>轻量级锁——>重量级锁,并且膨胀方向不可逆 一.锁升级理论. 在synchronized锁升级过程…

Qt应用开发(基础篇)——进度条 QProgressBar

一、前言 QProgressBar类继承于QWidget,是一个提供了横向或者纵向进度条的小部件。 QProgressBar进度条一般用来显示用户某操作的进度,比如烧录、导入、导出、下发、上传、加载等这些需要耗时和分包的概念,让用户知道程序还在正常的执行中。 …

web功能测试方法大全—完整!全面!(纯干货,建议收藏哦~)

本文通过六个部分为大家梳理了web功能测试过程中,容易出现的遗漏的部分,用以发掘自己工作中的疏漏。(纯干货,建议收藏哦~) 一、输入框 1、字符型输入框 2、数值型输入框 3、日期型输入框 4、信息重复 在一些需要命名…

做一个蛋糕店小程序需要哪些步骤?

对于一些不懂技术的新手来说,创建蛋糕店小程序可能会感到有些困惑。但是,有了乔拓云平台的帮助,你可以轻松地创建自己的蛋糕店小程序。下面,我将为大家详细介绍一下具体的操作步骤。 首先,登录乔拓云平台并进入后台管理…

使用这个插件,fiddler抓包直接生成httprunner脚本

har2case可以将.har文件转化成yaml格式或者json格式的httprunner的脚本文件,生成.har格式文件可以借助 fiddler 或 Charles 抓包工具 友情提示: 录制脚本,只是一个过渡,从0到1的一个过渡,如果让你直接写脚本&#xf…

保护隐私的第一步:从更新浏览器开始

当今社会已经进入了数字化和网络化的时代,而网络安全问题也日益突显。随着互联网在我们生活中的不断渗透,网络威胁变得愈发普遍和隐蔽。在这样的背景下,网络浏览器作为人们访问互联网的主要工具之一,不仅为我们提供了便捷的上网方…

HTML基础--Form表单--内联元素

目录 Form表单 表单元素 创建表单 () 文本输入 () 密码输入 单选按钮 () 和 复选框 () 下拉列表 () 和 选项 ()提交按钮 () 重置按钮 () 块元素与行内元素&#xff08;内联元素&#xff09; Form表单 HTML中的表单&#xff08;<form>&#xff09;是一个重要的元…

基于流计算 Oceanus(Flink) CDC 做好数据集成场景

由于第一次做实时&#xff0c;所以踩坑比较多&#xff0c;见谅(测试环境用的flink),小公司没有用到hadoop组件 一、踩坑记录 1:本地代码的flink版本是flink1.15.4&#xff0c;生产环境是flink1.16.1&#xff0c;在使用侧输出流时报错&#xff0c;需要使用以下写法,需要使用Si…

计算机毕设之基于python+echarts+mysql的图书馆可视化管理系统(文档+代码+部署教程)

系统阐述的是一款图书馆可视化管理系统的设计与实现&#xff0c;对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计&#xff0c;描述&#xff0c;实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构…

Revit SDK:Selections 选择

前言 Revit 作为一款成熟的商业软件&#xff0c;它将自己的UI选择功能也通过 API 暴露出来。通过 API 可以按照特定的过滤规则来选择相应的元素&#xff0c;能力和UI基本上是等价的。这个 SDK 用四个例子展示了 API 的能力&#xff0c;内容如下。 内容 PickforDeletion 核心…

【Docker】网络

文章目录 Docker 网络基础Docker网络管理Docker网络架构CNMLibnetwork驱动 常见的网络类型 Docker 网络管理命令docker network createdocker network inspectdocker network connectdocker network disconnectdocker network prunedocker network rmdocker network ls docker …

Linux —— keepalived

简介 Keepalived 是一个用 C 语言编写的路由软件。这个项目的主要目标是为 Linux 系统和基于 Linux 的基础设施提供简单而强大的负载均衡和高可用性功能。 Keepalived 开源并且免费的软件。 Keepalived 的2大核心功能 1. loadbalance 负载均衡 LB&#xff1a;ipvs--》lvs软件…
最新文章