路径属性---BGP的选路

2024-02-27 01:44
文章标签 路径 属性 bgp 选路

本文主要是介绍路径属性---BGP的选路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、路径属性

1、定义

路径属性:path attributes,作用类似于metric,用于度量BGP的路由优劣(用来进行选路)

2、分类

公认强制属性:所有的BGP的update消息都要包含该属性

AS路径(AS-path)

下一跳(next-hop)

起源(Origin)

公认自由属性:该属性是可选可不选的,但是所有的BGP进程都能识别

本地优先级(local preferent)

可选传递属性:即使BGP进程不能识别该属性,也会继续传递下去

团体属性(community)

可选非传递属性:如果BGP进程不能识别该属性,可以忽略这条update,并且不传递下去MED

路径属性---BGP的选路
0---必须保证参加选路的BGP路由必须路由可达(可用)

二、BGP选路原则

1.如果此路由的下一跳不可达,忽略此路由

2.Preferred-Value值数值越高越优先,华为私有属性,仅本地有意义

3.Local-Preference值最高的路由优先

4.聚合路由优先于非聚合路由

5.本地手动聚合路由的优先级高于本地自动聚合的路由

6.本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由

7.As-path的长度最短的路径优先

8.比较Origin属性,IGP优于EGP,EGP优于Incomplete

9.选择MED较小的路由

10.EBGP路由优于IBGP路由

11.BGP优先选择到BGP下一跳的IGP度量值最低的路径

当以上全部相同,则为等价路由,可以负载分担(注意:AS_Path必须一致,当负载分担时,以下

3条原则无效)

12.比较Cluster_list长度,短者优先

13.比较Originator_ID(如果没有Originator_ID,则用Router_ID比较),选择数值较小的路径。

14.比较对等体的IP地址,选择IP地址数值最小的路径。

1.优选PV属性值最大的路由-----华为体系的私有属性,相当于一条路由的权重,数值越大,路由信
息越优
限制条件:该属性不能传递,一般用来干涉本设备的选路利用PV 属性控制选路:
方法1:全局修改
方法2:使用路由策略
1).抓取流量
2).创建路由策略
注意:一定要方通空表去方通剩余没有匹配到的数据
三:BGP调用
[r4-bgp] peer 3.3.3.3 route-policy pv import---注意因为PV属性不能传递,所以只能选择入方向修
优选LP属性值大的越优
通过LP属性干涉 BGP 的选路
方法1:全局修改
[r3-bgp]default local-preference 150 ----R3传递的所以路由信息都会修改该值为150
方法2:通过利用策略进行修改
1).抓取流量
2).使用路由策略
3).bgp调用
[r3-bgp] peer 4.4.4.4 route-policy lp export---注意选择的方向
干涉选路
适用场景:干涉 AS 内部的选路
手工聚合优于自动聚合优于network优于import
BGP 路由信息面对多条路径的情况,更希望选择负载分担,来降低设备压力
优选AS_path属性最短的路由
最后经过的 AS 号会携带在 AS_ path属性最前面
建议使用additive相当于不会清除原本的路由本身携带的as号
over:先清除原本的as号在添加
100 1 2 3 --出向修改AS号
1 2 3 100 --入向修改
配置方法
[r2]ip ip-prefix as permit 1.1.1.0 24 ---抓取流量
路由策略
[r2]route-policy as permit node 10
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix as
r2-route-policy]apply as-path 1 2 3 additive
[r2-route-policy]apply as-path 100 100 100 100 additive ---指令可用优化,相当 于只延长AS号长
度,而不影响路由传递
[r2]route-policy as permit node 20 ---方通所有流量
Info: New Sequence of this List.
调用
[r2-bgp]peer 12.0.0.1 route-policy as import
比较起源属性 i>e>?
配置
优选MED属性最小的路由信息--多出口鉴别属性
默认值: 和到达该网段的cost有关,路由表中记录的cost等同于MED
传递规则: IGP/EBGP对等体之间传递
作用: 用来干涉其他 AS 设备访问本AS
问题: 不符合实际情况
选路不佳
如果设备收到一条 IBGP 路由中携带 MED 属性,在传递给自身 EBGP 对等体时将不 会携带该属性,
之后将按0来处理,建议边界设备出口设备都宣告
配置注意:只能在出方向修改
1).抓取流量
[r2]ip ip-prefix med permit 4.4.4.4 32
2).路由策略
[r2]route-policy med permit node 10
Info: New Sequence of this List.
[r2-route-policy]if-match ip
[r2-route-policy]if-match ip-prefix med
[r2-route-policy]apply cost 10
[r2]route-policy med permit node 20
3).调用
[r2-bgp]peer 12.0.0.1 route-policy med export --只能出向调用
6.EBGP 路由 >IBGP 路由
7.优选到达下一跳属性开销最小的路由信息
四:BGP的路由过滤
三种
1.通过路由策略实现路由过滤
1).抓取流量
[r2]ip ip-prefix p1 permit 192.168.0.0 24
2).创建路由策略
[r2]route-policy p1 deny node 10 ----过滤流量选择拒绝
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix p1
[r2]route-policy p1 permit node 20
3).BGP调用
[r2-bgp]peer 12.0.0.1 route-policy p1 import
2.通过前缀列表过滤流量
1).抓取流量
[r2]ip ip-prefix p2 deny 192.168.1.0 24 ---拒绝流量选择deny
[r2]ip ip-prefix p2 permit 0.0.0.0 0 less-equal 32 ---注意:同样需要方通剩余所有流量
[r2-bgp]peer 12.0.0.1 ip-prefix p2 import ---BGP调用
3.过滤列表
1).抓取流量
注意:华为定义 ACL 列表末尾是不做处理
2).调用
[r2-bgp]peer 12.0.0.1 filter-policy 2000 import ---BGP调用
五:BGP 的社团属性
1.配置:
注意:目前大部分厂商默认在传递 BGP 路由信息时是不传递社团属性的,所以,如果需要传递社团
属性,需要通过命令开启。
[r1-bgp]peer 12.0.0.2 advertise-community
这个社团属性只能一对一传递
[r1]route-policy com permit node 10
Info: New Sequence of this List.
[r1-route-policy]apply community 1:10
调用路由策略方法2
[r1-bgp]network 192.168.0.0 route-policy com
[r1-bgp]network 192.168.1.0 route-policy com
--宣告路由的同时调用策略
为了抓取标签流量,网络中设计了一个专门抓取标签的工具
community-filter --社团属性过滤器
[r2]ip community-filter 1 permit 1:10
2.做路由策略
route-policy com permit node 10
if-match community-filter 1 ----匹配过滤器抓取到的流量
apply preferred-value 100
route-policy com permit node 20---方通空表,否则会拒绝所有不是1:10标签的流量
3.bgp调用

这篇关于路径属性---BGP的选路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)

《如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)》:本文主要介绍如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)问题,具有很好的参考价值,希望对大家有所帮助,如有... 目录先在你打算存放的地方建四个文件夹更改这四个路径就可以修改默认虚拟内存分页js文件的位置接下来从高级-