【HCIP学习】BGP选路、过滤及属性

news2024/11/24 1:32:31

一、BGP路由选路原则(13条)

1、首先丢弃下一跳(NEXT_HOP)不可达的路由;

2、优选Preferred-value值最大的路由;默认为0;

Preferred-value:定义:首选项。

属性值:默认为0,取值范围是 0~65535,取值越大,优先级越高。

注意:H3C和华为的私有属性,

3、优选本地优先级(LOCAL_PREF)最高的路由;

4、依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;

5、优选AS路径(AS_PATH)最短的路由;

6、依次选择ORIGIN属性为IGP、EGP、Incomplete的路由;

7、优选MED值最低的路由;

8、依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;

9、优选下一跳度量值最低的路由;

     度量值:一般指通过IGP协议到达下一跳地址的度量值

10、优选CLUSTER_LIST长度最短的路由;

11、优选ORIGINATOR_ID最小的路由;

12、优选Router ID最小的路由器发布的路由。

13、优选IP地址最小的对等体发布的路由。

记忆:PLLAOMEICORI

二、BGP负载分担时的选路

1、背景:BGP协议本身一定能选出唯一 一条到达目的网段的最优路由,通过手动配置路由策略可以允许BGP实现负载分担的功能。

2、BGP的负载分担与IGP的负载分担有所不同:

IGP是通过协议自身定义的路由算法,对到达同一目的地址的不同路由,将度量值(metric)相等的路由进行负载分担

BGP本身并没有路由计算的算法,但BGP有丰富的选路规则,可以在对路由进行一定的选择后,有条件地进行负载分担

三、BGP路由的发布策略

只将最优路由发布给对等体。如果配置了active-route-advertise命令,则BGP发布IP路由表中的最优路由;否则,发布BGP路由表中的最优路由;

举例:

一个路由既通过BGP学到10.1.1.0/24:

10.1.1.0/24  1.1.1.1 优     BGP路由表优先

10.1.1.0/24  2.2.2.2

又通过OSPF也学到了10.1.1.0/24 :

10.1.1.0/24   3.3.3.3    IP路由表优先

最终在我的IP路由表中,应选择哪一条?

比较优先级:OSPF 优先级:10和150 ,BGP优先级255。在整个IP路由表中,选择通过OSPF学到的路由

只把自己使用的路由发布给对等体(自己选的最优路由);

从EBGP获得的路由会向它所有BGP对等体发布;

从IBGP获得的路由不向它的IBGP对等体发布;(IBGP水平分割)

从IBGP获得的路由发布给它的EBGP对等体;

BGP连接一旦建立,BGP发言者将把满足上述条件的所有BGP路由发布给新对等体。之后,BGP发言者只在路由变化时,向对等体发布更新的路由。

四、BGP路由过滤

1、通过路由策略过滤

2、通过前缀列表过滤

3、通过filter-policy来进行过滤

五、BGP属性(属性越多,控制BGP路由选路的方法越多)-----实验演示

属性:描述一个对象的特征的一些信息

1、公认属性:所有路由器都必须识别的属性

公认必遵属性:BGP发布的路由必须携带,所有路由器必须识别的属性;AS_path、next-hop、origin

(1)AS_path

定义:AS路径属性,记录路由传递过程中经过的AS编号

作用:AS防环;

           路由优选:AS_path短(AS编号的数量)的优先;

注:AS_path属性增加AS编号是在路由从一个AS传出的时候;

      增加AS_path长度来控制选路时,建议增加真实经过的AS编号,防止AS防环机制导致路由无法学习;

实验演示:bgp选路属性(AS_path

(1)R1到达192.168.1.0的路径:R1-R3-R4

做法1:在R2上修改路由的AS_path(在R2到R1的出方向修改)

配置ACL,抓取192.168.1.0网段的路由

      acl  2000

      rule 5 permit source 192.168.1.0 0.0.0.255

配置路由策略,修改AS_path,增长其路径

      route-policy 1.0 permit node 10

      if-match  acl 2000

      apply as-path 300 400 additive

保持良好习惯,放空节点,允许其他网段通过

      route-policy 1.0 permit node 20

在出方向应用路由策略

       peer 100.1.1.1 route-policy 1.0 export

测试:修改AS_path成功

做法2:在R1上修改路由的AS_path(在R2到R1的进方向修改)

配置ACL,抓取192.168.1.0网段的路由

        [R1]acl 2000

        [R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

配置路由策略,修改AS_path,增长其路径

       [R1]route-policy 1.0 permit node 10

       [R1-route-policy]if-match acl 2000

       [R1-route-policy]apply as-path 500 600 additive

保持良好习惯,放空节点,允许其他网段通过

       [R1]route-policy 1.0 permit node 20

在进方向应用路由策略

       peer 100.1.1.2 route-policy 1.0 import

additive:在原来的AS编号基础上,加入新增加的AS编号

overwrite:覆盖原来的AS编号

思考:假设一条路由的AS_path=(1,2,3),另外一条路由AS_path=(10000,20000),请问谁的路由更优?

答案:不管AS编号多大多小,AS_PATH编号数量少的路径,永远优先。

(2)next-hop:下一跳

注意:如果一个路由器同时拥有EBGP和IBGP邻居:

路由发布给EBGP邻居,下一跳变更为指定的EBGP邻居地址;

路由发布给IBGP邻居,下一跳不变,仍然保持为指定的上个AS的EBGP邻居地址;

对IBGP邻居发布的路由通告命令更改下一跳为本机。

(3)origin:路由来源属性(描述一条BGP路由的来源)

属性值:

IGP:来源于network宣告,聚合的路由,显示为i;

EGP:来源于引入的EGP协议路由,显示为e(一般见不到了);

incomplete :未完成,来源于引入IGP协议或静态路由,显示为?

优选顺序:IGP>EGP>incomplete

在R1增加一个环回口:192.168.2.1,宣告进BGP,查看R4路由表,发现去往192.168.1.0网段的下一跳是R2。

现在我们可以通过更改OGN属性,让去往192.168.2.0网段的下一跳是R3。

方法1:在R2对R4上改出方向

方法2:在R4对42上改入方向

抓取流量

      [R4]acl 2000

      [R4-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

配置路由策略,修改origin 为incomplete

      [R4]route-policy 2.0 permit node 10

      [R4-route-policy]if-match acl 2000

      [R4-route-policy]apply origin incomplete

保持良好习惯,放空节点,允许其他网段通过

      [R4]route-policy 2.0 permit node 20

在进方向应用路由策略

      [R4-bgp]peer 2.2.2.2 route-policy 2.0 import

测试:查看R4路由表,发现去往192.168.1.0网段的下一跳已经是R3

公认可选:所有路由都识别,但不是必须携带的属性;local-perference、Atomic-aggregate

(1)local-perference:

定义:本地优先级,同一个AS内也可以看到这个属性值,表明了BGP路由器的优先级。

注意:默认值100,值大的优先;

在R4上通过更改local-perference,让R4重新选择走R2的2.2.2.2

方法1:把到2.2.2.2的路由local-perference值改大于100

方法2:把到3.3.3.3的路由local-perference值改小于100

在R3上配:在R3的出方向或者R4的入方向都可以

出方向:

抓取流量

      [R3]acl 2000

      [R3-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

配置路由策略,修改local-perference为80

      [R3]route-policy 2.0 permit node 10

      [R3-route-policy]if-match acl 2000

      [R3-route-policy]apply local-preference 80

保持良好习惯,放空节点,允许其他网段通过

      [R3]route-policy 2.0 permit node 2

在出方向应用路由策略

     [R3-bgp-af-ipv4]peer 4.4.4.4 route-policy 2.0 export

测试:查看R4路由表,发现去往192.168.2.0网段的下一跳已经是R2

(2)Atomic-aggregate:自动聚合

注:BGP可以自动聚合,也可以手动聚合

2、可选属性

1)可选传递属性

定义:路由器可以不识别该属性,但是会继续向下传递该属性

属性:aggregator:手动聚合

           community:团体属性

(2)可选非传递属性

定义:路由器可以不识别该属性,但是也不会继续向下传递该属性

属性:

clustor_list:集群列表

originator_id:集群ID

MED:多出口鉴别器:当一个AS有多个入口点时,用于判断流量进入AS时的最优路径。

         属性值:network的路由,默认值为0;

                引入的路由,默认值为原IGP协议的cost;

                值小的优先;

实验演示:

演示1:在R4上通过路由策略对2.0网段路由改MED值,这样R4能将192.168.2.0的MED传给R5。

抓取流量

    [R4]acl 2000

    [R4-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255

配置路由策略,修改MED为133

      [R4]route-policy med permit node 10

      [R4-route-policy]if-match acl 2000

      [R4-route-policy]apply cost 133

保持良好习惯,放空节点,允许其他网段通过

      [R4]route-policy med permit node 20

在出方向应用路由策略

      [R4]bgp 200

      [R4-bgp]ipv4-family unicast

      [R4-bgp-af-ipv4]peer 100.5.5.5 route-policy med export

测试:查看R5路由表,发现R4能将192.168.2.0的MED传给R5

六、属性控制的选择建议

1.如果希望影响下游所有路由器的路由选择,建议使用AS-PATH

2.如果只希望影响本AS内部的路由器选择,建议使用Local-preference

3.如果希望只影响下游某一个AS的路由器选择,建议使用MED

4.如果希望只影响某一台路由器的路由选择,建议使用preferred-value

七、属性控制方法

路由策略

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

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

相关文章

windows系统安装Ubuntu子系统

安装前先在 控制面板 中打开 程序与功能选项 ,点击 启用或关闭Windows功能: 勾选 适用于 Linux的Windows子系统 和 虚拟机平台 、 Hyper-v 。 重启电脑后再 Microsoft Store Windows应用商店 中下载合适的Ubuntu版本。 运行Ubuntu程序,如出现…

在xAnyLabeling中加载自己训练的yolov8s-obb模型进行半自动化标注

任务思路: 先使用xAnyLabeling标注一部分样本,训练出v1版本的yolov8-obb模型,然后加载yolov8-obb模型到xAnyLabeling中对其余样本进行半自动化标注。节省工作量。 任务流程: 1.准备xAnyLabeling标注工具 下载代码,…

[Flutter GetX使用] Getx路由和状态管理-GetController使用过程中的踩坑记录

文章目录 问题 - Get.find() 报错!原因总结A:路由和控制器设计a1:项目中的Get路由aa1.项目路由结构aa2.本项目路由的注意点: B: GetController的冷知识C: 总结来看D: 一些参考资料 问题 - Get.find() 报错! 刚接触Getx, 遇到 Get.find()确找不到, 进而报错的问题, 一时间有点没…

零基础学MySQL

1. 零基础学MySQL 1.1 数据库简介 1.1.1 数据库三层结构 1. 所谓安装Mysql数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(database manage system) 2. 一个数据库中可以创建多个表,以保存数据(信息)。 3. 数据…

OpenCompass 大模型评测实战学习笔记

大模型开源开放评测体系 “司南” (OpenCompass2.0),用于为大语言模型、多模态模型等提供一站式评测服务。其主要特点如下: 开源可复现:提供公平、公开、可复现的大模型评测方案 全面的能力维度:五大维度设计,提供 70…

iLogtail 社区开源之夏活动来了!

作者:玄飏 在这个充满活力的夏日,随着阳光一同灿烂的是开源精神的光辉与创新的火花。iLogtail 社区高兴地宣布,我们正式加入开源之夏 2024 的行列,诚邀每一位怀揣梦想与激情的学生开发者,共同开启一场探索技术前沿、贡…

2024年,Web开发新趋势!

随着我们迈入新的一年,现在正是审视2024年网页开发领域开始流行哪些趋势的绝佳时机。回顾2023年的一系列更新,以下是来年一些热门话题的概览。 自主托管有回归的趋势 近些年,自主托管一直是网页开发者和公司托管其应用程序的默认方式。开发…

【本地部署及云化部署】

文章目录 本地部署及云化部署介绍 文章目录 文章目录一、本地部署模式二、云化部署模式总结 一、本地部署模式 需建设专业化机房,系统应用、前端软件全部安装到本地服务器上。需要专业的IT、网络安全、DBA、电气化工程师进行维护。近些年勒索病毒安全事件频发&am…

【MySQL】SQL基本知识点DML(2)

目录 1.DML添加数据 2.DML-修改数据 (1)改​编辑 (2)删​编辑​编辑 3.DQL-基本查询 (1)查询多个字段​编辑​编辑​编辑 (2)设置别名 (3)去重操作 4…

跟TED演讲学英文:Teachers need real feedback by Bill Gates

Teachers need real feedback Link: https://www.ted.com/talks/bill_gates_teachers_need_real_feedback Speaker: Bill Gates Date: May 2013 文章目录 Teachers need real feedbackIntroductionVocabularyTranscriptSummary后记 Introduction Until recently, many teach…

云动态摘要 2024-05-12

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 [免费试用]即刻畅享自研SaaS产品 腾讯云 2024-04-25 涵盖办公协同、营销拓客、上云安全保障、数据分析处理等多场景 云服务器ECS试用产品续用 阿里云 2024-04-14 云服务器ECS试用产品续用…

汽车IVI中控开发入门及进阶(十七):IVI的功耗管理

汽车人机界面(HMI)系统旨在使驾驶员能够在不分心的情况下与车辆互动。HMI可以通过触摸板、按钮或语音系统在人和机器之间建立更自然的互动。对连接解决方案、低成本HMI软件和增强的用户体验(UX)的需求不断增加,使得平视显示器(HUD)、后座娱乐系统、基于转向的控制、仪表…

Sass深度解析:性能优化的秘密

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

文件相关api

File 代表操作系统的文件对象,它提供了定位文件位置,获取文件中的信息,创建文件,删除文件等,但不能读写内容。 构造器: public File(String pathname) 根据文件路径,创建文件对象。(只会根据…

JeeSite 平台 Spring Boot 3 体验版发布,一个 Java 快速开发平台

引言 是时候为 Spring Boot 3 做准备了,2018年2月 Spring Boot 进入 2.0 时代,距今已经 5 年了。2022 年 11 月 Spring Boot 3.0 正式发布,它将基于 Spring Framework 6.0,并且需要 Java 17 版本,同时它也将是 Jakart…

YOLOv5改进 | 注意力机制 | 通道和空间的双重作用的CBAM注意力机制

在深度学习目标检测领域,YOLOv5成为了备受关注的模型之一。本文给大家带来的是通道和空间的双重作用的CBAM注意力机制。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方…

Kafka效率篇-提升效率三板斧

kafka在效率上做了很多的努力。最初的一个使用场景是处理网页上活跃的数据,它往往有非常大的体量,每个页面都能产生数十条写入。而且我们假设每条消息都会被至少一个消费者消费(通常是多个),因此,我们努力让…

对称加密介绍

一、什么是对称加密 对称密钥算法(Symmetric-key algorithm),又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。 对称加密的特点是,在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。 这…

智慧公厕:数据驱动的公共厕所智慧化管理

公共厕所作为城市基础设施的重要组成部分,对于城市居民的生活质量和城市形象有着不可忽视的影响。然而,传统的公共厕所管理模式存在诸多问题,如设施老化、卫生状况不佳等,严重限制了公众对于公共厕所的使用体验。随着大数据和智能…

ViLT 浅析

ViLT 浅析 论文链接:ViLT 文章目录 ViLT 浅析创新点网络结构总结 创新点 本文先分析了4种不同类型的Vision-and-Language Pretraining(VLP) 其中每个矩形的高表示相对计算量大小,VE、TE和MI分别是visual embedding、text embedding和modality interact…