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

一、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.mzph.cn/news/836233.shtml

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

相关文章

如何在 Linux / Ubuntu 上下载和安装 JMeter?

Apache JMeter 是一个开源的负载测试工具,可以用于测试静态和动态资源,确定服务器的性能和稳定性。在本文中,我们将讨论如何下载和安装 JMeter。 安装 Java(已安装 Java 的此步骤可跳过) 安装 Java 要下载 Java&…

序列到序列模型在语言识别Speech Applications中的应用 Transformer应用于TTS Transformer应用于ASR 端到端RNN

序列到序列模型在语言识别Speech Applications中的应用 A Comparative Study on Transformer vs RNN in Speech Applications 序列到序列(Seq2Seq)模型在语音识别(Speech Applications)中有重要的应用。虽然Seq2Seq模型最初是为了解决自然语言处理中的序列生成问题而设计的…

APP未上架应用市场,微信商户如何轻松开通APP支付?

在移动互联网时代,APP作为企业与用户之间的重要桥梁,其支付功能的完善与否直接关系到用户体验和企业的营收。然而,有些企业可能面临APP尚未上架应用市场的情况,这时如何开通微信APP支付功能呢?(需要超快捷高…

如何同时或者按顺序间隔启动多个程序

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 1、打开工具,切换到定时器模块,快捷键:Ctrl3 2、新建一个定时器,我这里演示同时打开多个程序(比…

YOLOv9最新改进系列:融合空间信息关注机制(SimAM)于YOLOv9网络,在通道之间和空间位置之间建立更加准确的关联,助力YOLOv9有效涨点!!!

YOLOv9最新改进系列:融合空间信息关注机制(SimAM)于YOLOv9网络,在通道之间和空间位置之间建立更加准确的关联,助力YOLOv9有效涨点!!! 在此之前!先恭喜两位家人!&#xf…

WEB后端复习——Servlet

Servlet是运行在Web服务器或应用服务器上的java程序,它是一个中间层,负责连接来自web浏览器或其他HTTP客户程序和[HTTP服务器]上应用程序 Servlet执行下面的任务: 1)读取客户发送的显示数据。 2)读取由浏览器发送的隐式请求数据。…

JavaWeb文件上传/下载(Servlet)

效果 文件下载 文件上传 项目概述 Jakarta EE9&#xff0c;Web项目 项目文件结构 0 maven依赖&#xff0c;资源文件 <!-- lombok插件--> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId&g…

C++STL初阶(1):string的使用及初阶原理

此文作为学习stl的笔记&#xff0c;许多普及、概念性的知识点将不再罗列&#xff08;如stl的发展、背景等&#xff09; 便于读者作为复习等方法了解。 0.STL简介&#xff08;笔记向&#xff09; STL不是祖师爷本贾尼实现的&#xff0c;是在惠普实验室中实现的。其作为一个数据结…

NASA数据集——2002-2011年全球18.7 至 89.0 千兆赫的亮度温度、海冰浓度和海冰积雪深度三级网格产品(AE_SI12)数据

AMSR-E/Aqua Daily L3 12.5 km Brightness Temperature, Sea Ice Concentration, & Snow Depth Polar Grids V003 三级网格产品&#xff08;AE_SI12&#xff09;包括 18.7 至 89.0 千兆赫的亮度温度、海冰浓度和海冰积雪深度。 简介 美国国家航空航天局地球观测系统 Aqu…

数组实现循环队列

1、分析 循环队列最主要的特点为当前面的空间被pop后&#xff0c;后面的数据可以插入到前面空余的数据中去&#xff1b; 所以最难的部分为判断什么时候为空什么时候为满&#xff1a; a、空满问题 我们先来分析当数据满时&#xff0c;head和tail相等&#xff08;tail认为是指…

Android 按键消息流程源码分析

在Android系统中&#xff0c;键盘按键事件是由SystemServer服务来管理的&#xff1b;然后在以消息的形式分发给应用程序处理。产生键盘按键事件则是有Linux kernel的相关驱动来实现。键盘消息有别于其他类型的消息&#xff1b;需要从Linux kernel drivers产生由上层APP来处理。…

在做题中学习(57):寻找数组的中心下标

724. 寻找数组的中心下标 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a;前缀和后缀和 思路&#xff1a;要看一个数是不是中心下标&#xff0c;就看他前面数的和 与 后面数的和 相不相等。 1.i前面数的和&#xff0c;是[0,i-1] 的前缀和&#xff0c;i后面数的和&am…

综合性练习(验证码案例)

目录 一、需求 二、准备工作 三、约定前后端交互接口 1、需求分析 2、接口定义 四、Hutool工具介绍 1、引入依赖 2、测试使用Hutool生成验证码 五、实现服务器端代码 代码解读&#xff1a; 六、调整前端页面代码 七、运行测试 随着安全性的要求越来越高&#xff0c…

软件体系结构论述

一、软件危机 1.软件成本日益增长 2.开发进度难以控制 3.软件质量差 4.软件维护困难 软件危机的原因 1.用户需求不明确 2.缺少正确的理论 3.软件规模大 4.软件复杂度高 如何克服软件危机 用工程&#xff0c;科学&#xff0c;数学的原则和方法…

Linux 第二十八章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

欢乐钓鱼大师攻略,怎么获取道具?

在《欢乐钓鱼大师》的游戏世界中&#xff0c;道具是提升钓鱼体验、解锁新功能以及完成挑战的关键。通过多种方式获取道具&#xff0c;能够帮助玩家更好地探索游戏世界、挑战自我&#xff0c;以及与其他玩家展开竞争。以下是关于如何获取道具的详细攻略&#xff0c;让你能够在游…

proteus示波器不弹出来

运行后示波器没有弹出来 点击调试&#xff08;Debug&#xff09;在点击Digital Oscilloscope 完成

Flutter-加载中动画

效果 考察内容 AnimationControllerTweenAnimatedBuilderTransformMatrix4 实现 ///源码&#xff1a;https://github.com/yixiaolunhui/flutter_xy class LoadingView extends StatefulWidget {const LoadingView({Key? key}) : super(key: key);overrideState<LoadingV…

探索循环购模式:消费返利与积分机制的创新融合

大家好&#xff0c;我是吴军&#xff0c;今天非常荣幸能与大家分享一种别具一格的商业模式——循环购模式。这种商业模式在近年来逐渐崭露头角&#xff0c;受到了广大消费者的热烈追捧。或许您之前听说过消费满额即送现金的活动&#xff0c;但循环购模式不仅仅局限于此&#xf…

基于机器学习的网络流量识别分类(完整资源收米)NetFlow-Sentry

项目介绍 这是一个名为NetFlow-Sentry的项目&#xff0c;项目实现了对网络流量的实时检测&#xff0c;特征抓取&#xff0c;内置了基于Pytorch的深度学习模型来进行流量分类。该项目除可以进行实时特征提取&#xff0c;还提供了网络流量数据的输入口&#xff0c;可以直接识别分…