路径属性---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获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

hdu2544(单源最短路径)

模板题: //题意:求1到n的最短路径,模板题#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#i

poj 1734 (floyd求最小环并打印路径)

题意: 求图中的一个最小环,并打印路径。 解析: ans 保存最小环长度。 一直wa,最后终于找到原因,inf开太大爆掉了。。。 虽然0x3f3f3f3f用memset好用,但是还是有局限性。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#incl

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

图的最短路径算法——《啊哈!算法》

图的实现方式 邻接矩阵法 int[][] map;// 图的邻接矩阵存储法map = new int[5][5];map[0] = new int[] {0, 1, 2, 3, 4};map[1] = new int[] {1, 0, 2, 6, 4};map[2] = new int[] {2, 999, 0, 3, 999};map[3] = new int[] {3, 7

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

vcpkg子包路径批量获取

获取vcpkg 子包的路径,并拼接为set(CMAKE_PREFIX_PATH “拼接路径” ) import osdef find_directories_with_subdirs(root_dir):# 构建根目录下的 "packages" 文件夹路径root_packages_dir = os.path.join(root_dir, "packages")# 如果 "packages"