HCIP-BGP选路

选路规则

华为BGP选路规则

思科BGP选路规则

0

下一跳是否可达,如果不可达则不参与选路

BGP IBGP对等体发布import引入的IGP路由时, 将下一跳属性改为自身的接口地址,而非IGP中的下一跳地址。

peer next-hop-invariable命令有以下作用:

BGP Speaker在向EBGP对等体发布路由时不改变下一跳(该命令配置在EBGP对等体间时,只对×××v4×××v6路由生效,对于其他类型的路由都不生效)。

BGP Speaker在向IBGP对等体发布引入的IGP路由时使用IGP路由的下一跳地址。

下一跳是否可达,如果不可达则不参与选路

BGP IBGP对等体发布引入的IGP路由时, 下一跳仍然保持IGP的下一跳不变

1

比较协议首选值Pref_Val,数值高优选,本地始发和邻居传递过来的都为0。该属性本路由器有效,是华为私有属性

比较Weight值,数值高者优选,本地始发为32768。该属性本路由器有效,是思科私有属性

2

local-pref本地首选项(越大越优先),该参数在本AS内传递。

始发路由器的local-pref值为空,传递给ASIBGP邻居后变为100;本地优先级(Local_Pref)属性仅在IBGP对等体之间交换,不通告给其他AS

如果路由没有local-pref值,BGP选路时将该路由按缺省的local-pref100来处理

使用命令为default local-preference本机向所有IBGP邻居发布的所有路由设置一个缺省的Local_Pref

使用命令为apply local-preference为本机向任意IBGP邻居发布的任意路由设置Local_Pref,并且可以为不同的路由设置不同的Local_Pref

当路由同时应用default local-preferenceapply local-preference命令时,apply local-preference命令的配置优先生效。

local-pref本地首选项(越大越优先),这个参数在本AS内传递。

始发路由器的local-pref值为100

本地优先级(Local_Pref)属性仅在IBGP对等体之间交换,不通告给其他AS

3

本地始发路由优先,优先顺序如下:手动聚合路由,自动聚合路由,network宣告路由,从import-route命令引入的路由

本地始发路由优先,优先顺序如下:network宣告路由,从IGP引入的路由,手动聚合路由,自动聚合路由,

    

 /

AIGP

AIGPAccumulated Interior Gateway Protocol Metric)属性是一个比较新的BGP属性,用于传递并累加IGP Metric值,该属性是可选非过渡属性,IANAInternet Assigned Numbers Authority)为AIGP分配的属性类型码是26

VRP5的实现中,AIGP属性只能通过路由策略添加,若不设置,则路由缺省不携带AIGP属性。在路由传递中,AIGP属性会根据建立邻居所依赖IGP路由的Metric增加其AIGP值。

在路由选路过程中:携带AIGP属性的路由优于未携带AIGP属性的路由,而如果都存在AIGP属性,则比较AIGP属性与其下一跳的IGP Metric之和,优选该值较小的。

BGP引入、接收或发送路由时,可以人为通过路由策略里的apply aigp { cost | inherit-cost }命令设置AIGP属性值的大小。

思科资料详见链接

4

比较as-path,长度短者优先,AS_Path属性有四种形式,分别是:AS_SequenceAS_SetAS_Confed_SequenceAS_Confed_Set

一个as-set被计数为1,而不管“set”中包含多少个as

忽略该条:bestroute as-path-ignore

比较as-path,长度短者优先,AS_Path属性有四种形式,分别是:AS_SequenceAS_SetAS_Confed_SequenceAS_Confed_Set

一个as-set被计数为1,而不管“set”中包含多少个as

忽略该条:bgp bestpath as-path ignore

5

比较路由起源属性,IGP(0)>EGP(1)>Incomplete(3)

不完全的(Incomplete):路由信息是从其他渠道学习到的。不完全路由并不是说该路由有何缺陷,只是确定该路由来源的信息不完全而已。比如:BGP通过重分发机制学习到的路由将携带不完全路由来源属性,这是因为没有办法确定该路由的来源。

比较路由起源属性,IGP(0)>EGP(1)>Incomplete(3)

6

比较MED值,越小越优先

一、MED值产生过程如下:

1.通过networkimport命令注入到BGP中的路由是直连路由则MED值为0,传递给IBGPEBGP邻居也为0

2.通过networkimport命令注入到BGP中的路由为非直连IGP路由那么MED值为IGPcost值,传递给IBGPEBGP邻居也为IGPcost值(只有在边界路由器上networkimport的路由在传递给EBGP邻居时才会携带MED值)

3.通过aggregate命令注入到BGP中的路由的MED值为空,传递给IBGPEBGP邻居也为空

二、MED值传播范围:

1. 在本AS的边办路由器上宣告路由时传递给其他ASEBGP邻居后,在下一AS范围内继续传递,但不会再传递给第三个AS

2. ASBGP Speaker上通告的路由的MED值会在本AS内传递;当边界路由器再通告给EBGP邻居时会清除MED值,如果要强制边界BGP路由器将从IBGP学来的路由通告给EBGP邻居时携带MED值,需要在边界路由器上配置route-policyapply cost-type internal,然后边界路由器会把本路由器上的BGP路由到下一跳的cost值作为MED值传递给EBGP邻居,(而非当前边界路由器上看到的的MED值)

三、其他:

1.默认情况下BGP路由器只比较来自相同ASMED值,使用compare-different-as-med命令,BGP将强制比较来自不同AS的路由的MED值。

使用deterministic-med将消除路由接收顺序对选路结果的影响。

2.在接收到的BGP路由没有MED值时按0来处理,执行bestroute med-none-as-maximum命令后,没有MED值时按最大值4294967295来处理,这主要是为了对旧标准的兼容

3.命令default med命令只对本设备上用import-route命令引入的路由和BGP的聚合路由生效

比较MED值,越小越优先

一、MED值产生过程如下:

1.通过networkimport命令注入到BGP中的路由是直连路由那么MED值为0,传递给IBGPEBGP邻居也为0

2.通过networkimport命令注入到BGP中的路由为非直连IGP路由那么MED值为IGPcost值,传递给IBGPEBGP邻居也为IGPcost值(只有在边界路由器上networkimport的路由在传递给EBGP邻居时才会携带MED值)

3.通过aggregate命令注入到BGP中的路由的MED值为空,传递给IBGPEBGP邻居也为空

二、MED值传播范围:

1. 在本ASEBGP路由器上宣告路由时传递给其他ASEBGP邻居后,在下一AS范围内继续传递,但不会再传递给第三个AS

2. ASBGP Speaker上通告时在本AS内传递;当从IBGP邻居学到的路由通告给EBGP邻居时会清除MED值,如如果要强制边界BGP路由器将从IBGP学来的路由通告给EBGP邻居时携带MED值,需要在边界路由器上配置route-mapset metric-type internal,然后边界路由器会把本路由器上的BGP路由到下一跳的cost值作为MED值传递给EBGP邻居,(而非当前边界路由器上看到的的MED值)

三、其他:

1.默认情况下BGP路由器只比较来自相同ASMED值,使用bgp always-compare-med命令,BGP将强制比较来自不同AS的路由的MED值。

使用bgp deterministic-med将消除路由接收顺序对选路结果的影响。

2.在接收到的BGP路由没有MED值时按0来处理,执行bgp bestpath missing-as-worst命令后,MED值按最大值4294967294来处理,这主要是为了对旧标准的兼容

3.使用命令default med命令只对本设备上用import-route命令引入的路由和BGP的聚合路由生效。

7

邻居类型,EBGP优于IBGP

PE上某个×××实例的×××v4路由的ERT匹配其他×××实例的IRT后复制到该×××实例,称为LocalCross;从远端PE学习到的×××v4路由的ERT匹配某个×××实例的IRT后复制到该×××实例,称为RemoteCross

EBGP优于联邦EBGP(联邦eBGP和联邦iBGP不具有可比性,不比较。因为联邦ebgp和联邦ibgp都被看做内部路径没有差别)。如果都是EBGP对等体收到的路由条目或者都是从IBGP对等体收到的路由条目或者分别从联邦EBGP和联邦IBGP对等体收到的条目则继续向下一步进行。

邻居类型, EBGP优于IBGP

EBGP优于联邦EBGP(联邦eBGP和联邦iBGP不具有可比性,不比较。因为联邦ebgp和联邦ibgp都被看做内部路径没有差别)。如果都是EBGP对等体收到的条目或者都是从IBGP对等体收到的条目或者分别从联邦EBGP和联邦IBGP对等体收到的条目则继续向下一步进行。

8

比较到下一跳的IGP Cost值,数值小者优选

使用命令bestroute igp-metric-ignore可忽略该选路规则

比较IGP Cost值,数值小者优选

9

前面的选路规则都一致时可以手工等价负载均衡,手工负载均衡时as-path要完全相同,不仅是长度相等。

携带标签的BGP路由与不携带标签的BGP路由不能形成负载分担。

1.配置maximum load-balancing ebgp number命令后,仅EBGP路由参与负载分担;配置maximum load-balancing ibgp number命令后,仅IBGP路由参与负载分担。不配置[ ebgp | ibgp ]时,EBGPIBGP路由都参与负载分担,且参与负载分担的路由条数相同。

2.配置maximum load-balancing number命令后,无论是否形成负载分担,在发布路由时会将下一跳修改为本端地址。但是在路由反射器和BGP联盟场景下,对于非本地路由,不修改下一跳为本端地址。

3.配置maximum load-balancing [ ebgp | ibgp ] number命令后,无论是否形成负载分担,在发布路由时都不会强制将下一跳修改为本端地址。

4.配置maximum load-balancing [ ebgp | ibgp ] number ecmp-nexthop-changed命令后,只有形成负载分担时,才会将发布路由的下一跳修改为本端地址。

5.携带标签的BGP路由与不携带标签的BGP路由即使满足上述条件,也不能形成负载分担。

6.load-balancing as-path-ignore命令用来设置路由在形成负载分担时不比较路由的AS-Path属性

7. BGP-×××实例IPv4地址族视图、BGP-×××实例IPv6地址族视图下执行命令maximum load-balancing eibgp

BGP-×××实例视图下,配置maximum load-balancing eibgp命令后,在判断BGP私网路由是否等价时,路由的EBGP/IBGP类型不作为判断条件,EBGPIBGP路由都可以形成负载分担。

前面的选路规则都一致时可以手工等价负载均衡,手工负载均衡时as-path要完全相同,不仅是长度相同。

1.使用命令maximum-paths [ibgp] number,如果没有使用ibgp参数,那么只对ebgp路由负载分担

  10

                 

当多条都是从EBGP收到的路由时(ebgp路由,联邦EBGP对等体不算,因为是内部路径)BGP优先使用最先收到的路由条目(最老的路径),该选路规则一般不使用。

如果以下任一条件为真,该条选中规则将会被忽略:

1.启用了bgp bestpath compare-routerid

2.多条路径具有相同的路由器ID,因为这些路由都是从同一台路由器发过来的

3.当前没有最佳路径。

11

比较Cluster_list长度,越短越优先,该选路规则仅仅出来在BGP RR环境中

缺省情况下,BGP在选择最优路由时Cluster-List优先于Originator-ID,使用命令bestroute routerid-prior-clusterlist后,BGP在选择最优路由时Originator-ID将优先于Cluster-List

比较Router-id的大小,越小越优先

如果路径包含RR属性,那么在路径选择过程中就用originator-id来代替router-id进行比较

12

比较Router-id的大小,越小越优先

如果路径包含RR属性,就用originator-id来代替router-id进行比较

缺省情况下,BGP在选择最优路由时Cluster-List优先于Originator-ID,使用命令bestroute routerid-prior-clusterlist后,BGP在选择最优路由时Originator-ID将优先于Cluster-List

reflect change-path-attribute命令使能路由反射器通过出口策略修改路由路径属性

比较Cluster_list长度,越短越优先,该选路规则仅仅出来在BGP RR环境中

13

比较下一跳对等体的连接地址,这是BGP配置中的peer IP地址,越小越优先

比较下一跳对等体的连接地址,这是BGP配置中的neighbor IP地址,越小越优先

14

                 

BGP自定义路径选择过程:BGP Cost Community(BGP成本团体)的扩展团体属性提供了自定义最佳路径选择过程的方式。这个自动路径选择过程插入在BGP选路规则的第8条之后(优先到下一跳IGP-cost最低的路径),或第3条后,首选成本值最低的路径,该条一般不使用,使用时需要再查询详细资料

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAN\CANFD数据记录仪汽车电子售后神器

随着汽车工业的快速发展,CAN总线已成为汽车电子控制网络的标准。因此,对CAN总线数据的记录和分析变得尤为重要。 CAN数据记录仪在汽车电子售后领域的应用主要包括以下几个方面: 故障诊断和排查:通过实时记录总线上的数据&#xf…

TCP的三次握手,四次挥手

三次握手 第一次握手:客户端发送SYN报文,井发送seq为x序列号给服务端,等待服务端的确认第二次握手:服务端发送SYNACK报文,并发送seq为Y的序列号,在确认序列号为x1第三次握手:客户端发送ACK报文&…

matlab读取pwm波数据,不用timer的方法,这里可以参考。Matlab/Simulink之STM32开发-编码器测速

这里提供了一个不用timer的方法,可以参考: https://blog.csdn.net/weixin_36967309/article/details/88699830 Matlab/Simulink之STM32开发-编码器测速

gateway和base包+Jdk17和Jdk8版本切换(总结)

gateway 一. Gateway和Base包二.Jdk版本升级启动Idea的问题一. Gateway和Base包 在开发过程中,可能研发团队会自己写好很多的工具包。这里需要注意的是,不能将自己开发的base包引入到gateway中,gateway的作用主要是为了转发控制。 因为在gateway中会有很多单独的过滤器链,…

画图案例分享

案例 1 from scipy.misc import derivative from scipy.integrate import quad import matplotlib.pyplot as plt import numpy as np import pandas as pd from scipy.stats import norm import warningsplt.style.use(ggplot) np.random.seed(37) warnings.filterwarnings(i…

重要的话说三遍 PTA

题目: 这道超级简单的题目没有任何输入。 你只需要把这句很重要的话 —— “Im gonna WIN!”——连续输出三遍就可以了。 注意每遍占一行,除了每行的回车不能有任何多余字符。 输入样例: 无输出样例: Im gonna WIN! Im gon…

VMware workstation安装SUSE Linux Enterprise Server 12 SP5虚拟机并配置网络

VMware workstation安装SUSE Linux Enterprise Server 12 SP5虚拟机并配置网络 SUSE Linux Enterprise Server是企业级Linux系统,适合企业应用。该文档适用于在VMware workstation平台安装SUSE Linux Enterprise Server虚拟机。 1.安装准备 1.1安装平台 Windows…

如何用GPT进行论文润色与改写?

详情点击链接:如何用GPT/GPT4进行论文润色与改写?一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析,AI画图,图像识别,文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二…

前端(html+css+javascript)作业--展现家乡的网页

期末期间,老师布置了前端作业,现在放到这里,给各位同志参考。 桂平市是广西壮族自治区的一个美丽的城市,拥有丰富的历史文化和自然景观,属于贵港市管辖,那为什么是看起来是市级而不是县级,其实他…

史上最全在IDEA中部署并使用Tomcat,图文并茂一看包会!

前言 之前自己迷茫过怎样在idea中使用Tomcat,因此查了很多资料,在这做个总结。 一、建立过程 1.新建一个JAVA文件 2.添加框架 在项目的创建区内,右击项目名,在弹窗中选择“添加框架支持”;选择“Web应用程序4.0”&…

Eclipse闪退 打开eclipse闪退 打开eclipse图标一闪而过 eclipse闪退 eclipse打不开

Eclipse闪退 打开eclipse闪退 打开eclipse图标一闪而过 eclipse闪退 eclipse打不开 问题描述切换为命令行启动 查看异常日志 问题描述 双击图标,窗口一闪而过,马上关闭了 切换为命令行启动 查看异常日志 进入Eclipse安装目录,运行终端启动…

Stable Diffusion中不同的采样方法

在 Stable Diffusion 模型中,采样方法是从学习到的概率分布中生成图像的算法。采样方法影响生成图像的质量、样式、速度以及过程的控制程度。以下是一些采样方法的概述和它们对图像生成可能产生的影响: DPM系列 DPM 2M / 3M: 这些是扩展的扩散概率模型&…

【0244】pg_ctl停止PG服务的底层实现机制

1. 概述 本文将详细讲解pg_ctl命令停止一个运行中的PG服务的底层实现原理。正文内容将详细分为以下几个点: pg_ctl命令停止PG服务的几种方式postmaster守护进程是如何知晓pg_ctl命令发出的停止服务请求postmaster守护进程如何响应pg_ctl命令的不同停止命令postmaster停止服务…

指向未来: 量子纠缠的本质是一个指针

指向未来: 量子纠缠的本质是一个指针 概述基本概念理解量子纠缠PythonJavaC 理解波粒二象性PythonJavaC 理解量子隧穿理解宇宙常量PythonJavaC 概述 量子纠缠 (Quantum Entanglement) 是量子系统重两个或多个粒子间的一种特殊连接, 这种连接使得即使相隔很远, 这些粒子的状态也…

1. SpringBoot3 基础

文章目录 1. SpringBoot 概述2. SpringBoot 入门3. SpringBoot 配置文件3.1 SpringBoot 配置文件基本使用3.2 yml 配置文件 4. SpringBoot 整合 Mybatis5. Bean 管理5.1 Bean 扫描5.2 Bean 注册5.3 注册条件 6. 组合注解7. 自动配置原理8. 自定义 Starter 1. SpringBoot 概述 …

力扣hot100 完全平方数 完全背包 滚动数组 四平方和定理

Problem: 279. 完全平方数 文章目录 思路💖 完全背包💖 滚动数组优化💖 四平方和定理 思路 👨‍🏫 三叶神解 👨‍🏫 数学解法 💖 完全背包 ⏰ 时间复杂度: O ( n 2 n ) O(n^2 …

Vue项目中axios的二次封装

Vue 项目中 axios 的二次封装 Vue 项目使用过程中一般会对 axios 进行二次封装, 以期在合适的时机处理一些全局的需求, 比如常见的 请求拦截器 和 响应拦截器. 接下来简单聊聊具体的操作步骤. 1, 下载 axios 模块 执行以下指令: import axios from axios;2, 封装 在 src 文…

072:vue+mapbox 点击某图层feature,高亮这部分

第072个 点击查看专栏目录 本示例是介绍如何在vue+mapbox中点击某图层feature,高亮这部分。思路是通过点击,获取点击部分的feature信息,生成一个新的source和layer,如果这个图层不为空,则清除之,相当于点击了别的地方,原有的高亮会删除掉,在别的地方高亮。 直接复制下…

探寻编码时代的潮流旋律

🚩本文介绍 随着技术的不断演进,编程语言作为软件开发的基石也在不断发展。作为一名扎根运维领域的工程师,我深感了解和把握编程语言的新趋势对于个人职业发展至关重要。在这篇博客中,我们将深入探讨当前编程语言领域的最新动态&…

VMware虚拟机自定义网段及物理机ping不通虚拟机问题解决

Vmware网络介绍🛜 VMware虚拟机提供了几种网络模式,其中包括桥接模式(Bridged Mode)、NAT模式(Network Address Translation Mode)和仅主机模式(Host-Only Mode)。这些模式允许虚拟…