BGP属性+选路规则

目录

一,BGP的属性—基础属性

1.PrefVal

2.LocPrf

3、优先本地下一跳 (NextHop)     

4、AS-PATH 

5、起源属性 

6、MED -多出口鉴别属性    

二,BGP选路规则

三,BGP的社团属性


一,BGP的属性—基础属性

1.PrefVal

                                       传播范围                  默认值                                大/小 优

PrefVal(权重属性)        不传播                    0(0-65535)                       大

该属性为私有属性(华为),仅本地有效

本地所有通过4.4.4.4邻居学习到的BGP路由,优先级全部修改为1;

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1   

负载均衡:   访问同一个目标,存在多条开销相似路径时,让设备将流量分担后延
                   多条路径同时传输;
等开销负载均衡:    负载均衡时,必须开销相同;

路由策略来实现—在BGP路由控制层面传递的过程中,抓取路由修改属性

负载分担:访问不同目标时,让路由器选择不同的路径;起到所有路径被使用效果;

[r3]ip ip-prefix p permit 1.1.1.0 24   抓住网络号

[r3]route-policy p permit node 10    定制策略

[r3-route-policy]if-match ip-prefix p    匹配流量

[r3-route-policy] apply preferred-value 1   修改优先级属性

[r3-route-policy]q

[r3]route-policy p permit node 20    由于路由策略存在分发列表的功能,必须考虑空表

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer 4.4.4.4 route-policy p import   和邻居传递路由的控制层面方向调用;

      优先级不传播的特性,只能在本地的入方向调用;

2.LocPrf

                                           传播范围                           默认值                大/小 优

LocPrf (本地优先级)   整个AS内部-IBGP邻居间       100(0-255)           大

用于干涉IBGP邻居关系下选路最常用属性

[r4-bgp]default local-preference 1   本地传递路由给本地所有IBGP邻居时,修改属性为1;

负载分担: 

[r3]ip ip-prefix l permit 1.1.1.0 24

[r3]route-policy l permit node 10      

[r3-route-policy]apply local-preference 101

[r3-route-policy]if-match ip-prefix l

[r3-route-policy]q

[r3]route-policy l permit node 20

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 route-policy l import    可以在IBGP邻居关系间的出或入方向调用

3、优先本地下一跳 (NextHop)     

本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0;

而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0;本地优选0.0.0.0的路由传递给本地的其他BGP邻居;

4、AS-PATH 

BGP路由条目中在传递过程中,记录所有经过的AS号

作用:

优选经过的AS号数量最少的路径;同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收;

        人为的在EBGP邻居关系间,增加AS号的数量来干涉选路;修改A路径,优选B路径;注意人为操作只能添加,不能减少AS号的添加,一定是在EBGP邻居间进行的;   

这个属性可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置;

[r2]ip ip-prefix as index 10 permit 1.1.1.0 24

[r2]route-policy as permit node 10

[r2] if-match ip-prefix as

 [r2]apply as-path 3 4 5 additive

[r2]route-policy as permit node 20

[r2]bgp 2

[r2-bgp]peer 12.1.1.1 route-policy as import

出向调用为  x 3 4 5   X代表实际经过过的AS

入向调用为  3 4 5 X   X代表实际经过过的AS

新增AS号处于列表的最左端;

:以上配置方式,若网络后端真实存在AS3/4/5.那么由于EBGP水平分割,将导致这些路由无法被学习;

解决方案:重复添加实际已经经过的AS编号来增加数量

[r2-route-policy]apply  as-path  1 1 1 additive

5、起源属性 

        该条目的来源—通过什么方法进入到BGP协议的

BGP宣告本地路由表中路由                                 i   

将本地路由表中IGP路由重发布到BGP协议        ?

将本地路由表中EGP路由重发布到BGP协议       e

规则 i优于e优于?

[r3]ip ip-prefix o permit 1.1.1.0 24

[r3]route-policy o permit node 10

[r3-route-policy]if-match  ip-prefix o

[r3-route-policy]apply origin egp 2    编写对端设备的AS号

[r3-route-policy]q

[r3]route-policy o permit node 20

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  2.2.2.2 route-policy o import

控制层面流量的入或出接口调用均可;

6、MED -多出口鉴别属性    

        BGP协议默认没有度量值,没有cost;所谓的MED就是人为的在路由条目中编写一个cost数值,干涉选路;

可用于干涉EBGP/IBGP关系下的选路;最常用于干涉EBGP关系选路

常常用于AS1干涉AS2对AS1的选路;

<r1>tracert -a 1.1.1.1 3.3.3.3   追踪命令 显示环回之间访问的下一跳

<r1>ping -r -a 1.1.1.1 3.3.3.3    显示环回之间的来回

[r1]ip ip-prefix med permit 1.1.1.0 24

[r1]route-policy med permit node 10

[r1-route-policy]if-match ip-prefix med

[r1-route-policy]apply cost 2

[r1-route-policy]q

[r1]route-policy med permit node 20

[r1-route-policy]q

[r1]bgp 1

[r1-bgp]peer  12.1.1.2 route-policy med export

二,BGP选路规则

比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

优选Preference_Value值最高的路由(私有属性,仅本地有效)。

不传递  权限最高属性    可以干涉EBGP/IBGP选路

优选本地优先级(Local_Preference)最高的路由。

IBGP邻居关系间传递    只能,最常干涉IBGP关系的选

优选手动聚合>自动聚合>network>import>从对等体学到的。

优选AS_Path短的路由。

EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;

起源类型IGP>EGP>Incomplete。

起源属性 i优于e优于?; 可在控制层面任意接口修改;

对于来自同一AS的路由,优选MED值小的。

默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost,最常用于干涉EBGP选路的属性 

优选从EBGP学来的路由(EBGP>IBGP)。

优选AS内部IGP的Metric(ospf度量)最小的路由。

优选Cluster_List最短的路由。

优选Orginator_ID最小的路由。

优选Router_ID最小的路由器发布的路由

优选具有较小IP地址的邻居学来的路由。

三,BGP的社团属性

    BGP的扩展属性   默认大多数厂商的产品在BGP协议中不携带社团属性

添加社团属性(控制传播范围的社团属性)

[r1]route-policy com permit node 10

[r1-route-policy]apply community no-advertise  针对所有的流量修改属性

[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy com export

默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性  

[r1-bgp]peer 12.1.1.2 advertise-community   逐跳行为,每台设备均需开启传递性

no-advertise  接收到的条目中若存在该社团属性,将不再传递该路由

no-export   接收到的条目若存在该社团属性,将不传递给下一个AS

no-export-subconfed  接收到的条目若存在该社团属性,将不传递给下一个小AS

若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致

注意 

[r1-bgp]load-balancing as-path-ignore  BGP协议开启负载均衡,仅针对EBGP路由有效

        条件为均衡的这些路径,其对端一定为同一个AS;且在BGP表中仅显示优最佳;但路由表中出现负载均衡现象;

        Nex-hop-locai 仅针对本地通过外部AS--EBGP邻居学习到的路由条目才修改下一跳为本地;

联邦内的EBGP关系,传递的路由其属性遵循IGBP关系;传递性遵循EBGP关系

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

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

相关文章

低碳 Web 实践指南

现状和问题 2023年7月6日&#xff0c;世界迎来有记录以来最热的一天。气候变化是如今人类面临的最大健康威胁。据世界卫生组织预测2030年至2050年期间&#xff0c;气候变化预计每年将造成约25万人死亡。这是人们可以真切感受到的变化&#xff0c;而背后的主要推手是碳排放。 …

功率放大器的种类有哪三种类型

功率放大器是一种能将输入信号转换为更高功率输出的电子设备。在电子工程和音频领域中&#xff0c;功率放大器通常被分为三种类型&#xff1a;A类、B类和AB类。下面安泰电子将详细介绍这三种类型的功率放大器及其特点。 A类功率放大器 A类功率放大器是一种基本的线性功率放大器…

Flask简介与基础入门

一、了解框架 Flask作为Web框架&#xff0c;它的作用主要是为了开发Web应用程序。那么我们首先来了解下Web应用程序。Web应用程序 (World Wide Web)诞生最初的目的&#xff0c;是为了利用互联网交流工作文档。 1、一切从客户端发起请求开始。 所有Flask程序都必须创建一个程序…

【电网技术复现】考虑实时市场联动的电力零售商鲁棒定价策略(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

代码随想录算法训练营之JAVA|第十八天| 235. 二叉搜索树的最近公共祖先

今天是第 天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天&#xff0c;如果做不到&#xff0c;完成一件评论区点赞最高的挑战。 算法挑战链接 235. 二叉搜索树的最近公共祖先https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/descriptio…

sql 参数自动替换

需求&#xff1a;看日志时&#xff0c;有的sql 非常的长&#xff0c;参数比较多&#xff0c;无法直接在sql 客户端工具执行&#xff0c;如果一个一个的把问号占位符替换为参数太麻烦&#xff0c;因此写个html 小工具&#xff0c;批量替换&#xff1a; 代码&#xff1a; <!…

从零开始学python(十四)百万高性能框架scrapy框架

前言 回顾之前讲述了python语法编程 必修入门基础和网络编程&#xff0c;多线程/多进程/协程等方面的内容&#xff0c;后续讲到了数据库编程篇MySQL&#xff0c;Redis&#xff0c;MongoDB篇&#xff0c;和机器学习&#xff0c;全栈开发&#xff0c;数据分析&#xff0c;爬虫数…

Java多线程面试21题

并行和并发有什么区别&#xff1f; 并行是指两个或者多个事件在同一时刻发生&#xff1b;而并发是指两个或多个事件在同一时间间隔发生。 并行是在不同实体上的多个事件&#xff0c;并发是在同一实体上的多个事件。 在一台处理器上“同时”处理多个任务&#xff0c;在多台处理…

C++多线程环境下的单例类对象创建

使用C无锁编程实现多线程下的单例模式 贺志国 2023.8.1 一、尺寸较小的类单例对象创建 如果待创建的单例类SingletonForMultithread内包含的成员变量较少&#xff0c;整个类占用的内存空间较小&#xff0c;则可以使用如下方法来创建单例对象&#xff08;如果类的尺寸较大&am…

新SDK平台下载开源全志D1-H/D1s的SDK

获取SDK SDK 使用 Repo 工具管理&#xff0c;拉取 SDK 需要配置安装 Repo 工具。 Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is…

C语言的转义字符

转义字符也叫转移序列&#xff0c;包含如下&#xff1a; 转移序列 \0oo 和 \xhh 是 ASCII 码的特殊表示。 八进制数示例&#xff1a; 代码&#xff1a; #include<stdio.h> int main(void) {char beep\007;printf("%c\n",beep);return 0; }结果&#xff1a; …

机器视觉初步14:相机标定原理及应用

相机标定是指通过已知的相机参数&#xff0c;解算相机内部参数矩阵和外部参数矩阵。 文章目录 1.为什么要标定&#xff1f;2.工业场景中常见的标定方法2.1. 使用棋盘格标定板&#xff08;Checkerboard Markers&#xff09;2.2 使用相机自标定2.3. 使用三维物体标定2.4.九孔标…

【Linux】—— 进程的创建和退出

序言&#xff1a; 在上期&#xff0c;我们已经对 Linux的进程的相关知识进行了相关的学习。接下来&#xff0c;我们要学习的便是关于进程控制 的基本知识&#xff01;&#xff01;&#xff01; 目录 &#xff08;一&#xff09;进程创建 1、fork函数初识 2、写时拷贝 3、f…

Docker中容器数据卷

容器数据卷 一.什么是容器数据卷二.使用数据卷方式一&#xff1a;直接使用命令来挂载 -v 三.具名和匿名挂载 一.什么是容器数据卷 docker理念 将应用和环境打包成一个镜像&#xff01; 数据&#xff1f;如果数据都在容器中&#xff0c;那么我们的容器删除&#xff0c;数据就会…

oracle 19c打补丁遭遇OPATCHAUTO-72043OPATCHAUTO-68061

最近&#xff0c;在AIX上的新装oracle 19C数据库基础版本&#xff0c;使用opatchauto打PSU补丁集35037840时遇到了OPATCHAUTO-72043报错&#xff0c;无法正常应用GI补丁。 一、环境描述 操作系统&#xff1a;AIX 数据库版本&#xff1a;oracle rac 19.3.0新装基础版 应用PS…

2023拒绝内卷!两年转行网络安全真实看法!

我目前转行网络安全两年&#xff0c;没啥天分&#xff0c;全靠努力&#xff0c;基本能够得上中级的水平了。看到大家对转行网络安全挺感兴趣&#xff0c;也有挺多争议&#xff0c;想把我的建议和经验告诉大家。 有很多人觉得网络安全已经饱和了&#xff0c;现在选择这个工作&a…

Spring Boot : ORM 框架 JPA 与连接池 Hikari

数据库方面我们选用 Mysql &#xff0c; Spring Boot 提供了直接使用 JDBC 的方式连接数据库&#xff0c;毕竟使用 JDBC 并不是很方便&#xff0c;需要我们自己写更多的代码才能使用&#xff0c;一般而言在 Spring Boot 中我们常用的 ORM 框架有 JPA 和 Mybaties &#xff0c;本…

面试之多线程案例(四)

1.单例模式 单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时&#xff0c;为了防止频繁地创建对象使得内存飙升&#xff0c;单例模式可以让程序仅在内存中创建一个对象&#xff0c;让所有需要调用的地方都共享这一单例对象。…

[React]生命周期

前言 学习React&#xff0c;生命周期很重要&#xff0c;我们了解完生命周期的各个组件&#xff0c;对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1、getDefaultProps() 设置默认的props&#xff0c;也可以用duf…

【数据结构】实现单链表的增删查

目录 1.定义接口2.无头单链表实现接口2.1 头插addFirst2.2 尾插add2.3 删除元素remove2.4 修改元素set2.5 获取元素get 3.带头单链表实现接口3.1 头插addFirst3.2 尾插add3.3 删除元素remove3.4 判断是否包含元素element 1.定义接口 public interface SeqList<E>{//默认…