HCIP学习--BGP3

news2024/12/23 10:15:03

目录

前置内容

BGP下一跳的修改问题

BGP的属性

配置

PrefVal权重属性

负载分担

LocPrf

负载分担

NextHop

AS-PATH

Ogn

配置

 MED

配置

BGP选路规则 

BGP的社团属性 

配置及解释


前置内容

HCIP学习--BGP1_板栗妖怪的博客-CSDN博客

HCIP学习--BGP2_板栗妖怪的博客-CSDN博客

BGP下一跳的修改问题

来讲一下,BGP中对于下一跳的修改问题,基于昨天的实验来讲一下,修改下一跳有多种修改方法

[r2-bgp]peer  172.16.1.3 next-hop-local

除去上面这种,还可以下面来一种路由策略

[r2]route-policy aa permit node 10匹配所有流量

[r2-route-policy]apply ip-adress next-hop peer-address修改包中下一跳地址为本地地址

[r2-bgp]peer 132.1.1.3 route-policy aa export在r2讲路由发给邻居132.1.1.3时的出接口执行这个策略

但是如果按上面第二种配置完成后就可能会出现问题,你用1的环回去ping8的环回ping不同,出现了环路,出现环路的原因是,首先1环回去往8环回,然后1去往2然后2去往8的下一跳是7的接口,然后递归查表,去往7的下一跳是3或者5,然后你看3的路由表,你会发现去往8的下一跳是2然后就成环了,那么三上去往8的为啥是2,是你自己改的。就是你改了2去往3和5下一跳,然后5把去往8的路由传给2,然后2再传给3,3上的下一跳经过路由策略的修改,就会变成2,然后就会出现问题。

所以第二个修改下一跳的路由策略是针对所有路由,

第一种修改实际仅针对R2从本地的EBGP邻居学习到的路由给3才会修改

总结:IBGP邻居间传递路由在一个AS内部,若贸然修改属性,极易出现环回,这就是BGP的AS-BY-AS特性

BGP的属性

属性

传播范围  

默认值       

大优小优

权重属性(PrefVal)

不传播(私有 不同设备之间的私有属性,只在本地有效可以在本地修改决定本地的下一个设备的路由选那条)(只可以在接受的路由的入接口配置,因为不传播)

0

(0-65535)

  越大越好

只有本地作用,不管前面是啥设备,只要我在我这修改这一个属性,就可以直接干涉路由,对于自己身上的选路很方便

本地优先级(LocPrf)

仅在IBGP邻居关系间传输

100

(0-255)

大优

干涉IBGP邻居关系选路,使用最多的策略,属性如果是从EBGP邻居接受过来的话是,这个属性不显示,然后在IBGP上显示就是100

下一跳(NextHop)

下一跳可达

优选0.0.0.0

AS-path

整个BGP

记录条目经过的所有AS编号(当你在AS3中前面经过AS2和AS1那么路由中显示1,2。AS号只能添加,不能减少

起源属性(Ogn)

来源种类

Network人一条一条宣告产生
Ilmport将某种协议批量的导入BGP协议
EGP重发布到BGP

MED

度量:BGP协议默认没有度量值

社团属性

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

配置

PrefVal权重属性

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1   

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

负载分担

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

(和负载均衡的区别:负载均衡是去往一个目标可以走两条相同的路)

[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   和邻居传递路由的控制层面方向调用;

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

举个例子来理解入方向R1要传路由给R2然后,在R2的g0/0/0接口就是R2的入接口

LocPrf

 [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的靠近3的接口

NextHop

本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0。而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0。本地优选0.0.0.0的路由传递给本地的其他BGP邻居

下图是本地宣告的路由

AS-PATH

优选经过的AS号数量最少的路径

同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收

可以人为的在EBGP邻居关系间,增加AS号的数量来干涉选路,(人为操作只能添加,不能减少)可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置

如何干涉到IBGP中的选路,以下图作为例子

看图现在又两条路可以将1的环回的路由传给3,现在修改上面那条路由,在2设备的入接口配置,修改上面那条路经过多个AS,那么在AS1内部,选路也会优先选下面那条路

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

[r2]route-policy as permit node 10

[r2-route-policy]if-match ip-prefix as

[r2-route-policy] apply as-path 3 4 5 additive修改AS属性经过345,标红的意思是马上执行

[r2-route-policy]route-policy as permit node 20空表

[r2-bgp]peer 12.1.1.1 route-policy as import在R2的入接口调用

配置后结果

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

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

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

解决方案

重复添加实际已经经过的AS编号来增加数量,BGP选路看的是AS-PATH的数量

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

Ogn

来源种类

Network人一条一条宣告产生 标记为 i

Ilmport将某种协议批量的导入BGP协议 标记为

EGP重发布到BGP 标记为e

来个例子

三者优先级i优于e优于?

配置

就以上面那个表格为例子

向让上面去往1.1.2.0/24的网段的路走下一跳为4.4.4.4的那条

[r2]ip ip-prefix o permit 1.1.2.0 24

[r2]route-policy o permit node 10

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

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

[r2-route-policy]q

[r2]route-policy o permit node 20

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]peer  3.3.3.3 route-policy o export 将2的那条路改成e类型

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

下图是配置成功的结果

 MED

将本地通过IGP协议学习到的路由重发布或宣告到BGP协议,将携带本地IGP度量值到BGP路由中
故利用MED干涉选路,其实就是人为的修改度量值来影响路由器加表
可用于干涉EBGP/IBGP选路
最常用于EBGP选路干涉
常常用于AS1干涉AS2对AS1的选路

配置

以上图作为例子来理解一下AS1干涉AS2对AS1的选路

假设AS1是电信的设备。AS2是联通的设备,真正工程中你只能是一方的人,不能既是电信又是联通的人,假设你现在是电信的人,你要在电信这边来配置,干涉联通对电信的选路

<r1>tracert -a 1.1.1.1 3.3.3.3可以显示你经过的下一跳

去往3.3.3.3是经过了12.1.1.1 还经过了23.1.1.2

<r1>ping -r -a 1.1.1.1 3.3.3.3 可知回包如何回

看后面两行,12.1.1.1    1.1.1.1经过了这两个回来的

修改度量配置

[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选路的属性

  1. 优选从EBGP学来的路由(EBGP>IBGP)。
  2. 优选AS内部IGP的Metric最小的路由。
  3. 优选Cluster_List最短的路由。
  4. 优选Orginator_ID最小的路由。
  5. 优选Router_ID最小的路由器发布的路由。
  6. 优选具有较小IP地址的邻居学来的路由。

BGP的社团属性 

配置及解释

[r1]route-policy com permit node 10

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

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

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

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

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

[r1]bgp 1

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

注:默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性  下面有如何定义的配置

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

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

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

相关文章

Python 解析c文件并导出到Excel

文章目录 1. 目录结构&#xff1a;2.代码1. test.c2. write_excel.py3. cparser.py4. 模板.xlsx5. output.xlsx 脚本中主要使用 openpyxl cparser 库 1. 目录结构&#xff1a; ast.txt &#xff1a;存放解析 c 文件的语法树&#xff0c;便于查找内容cparser.py &#xff1a;解…

@Param详解

文章目录 背景什么是ParamParam的使用方法使用方法&#xff1a;遇到的问题及因Param解决了什么问题使用与不使用对比 Param是如何进行映射的总结 背景 最近在开发过程中&#xff0c;在写mapper接口是在参数前加了Param注解&#xff0c;但是在运行的时候就会报错&#xff0c;说…

Elasticsearch 8.X 复杂分词搞不定,怎么办?

1、实战问题 球友提问&#xff1a;我想停用所有纯数字的分词 &#xff0c; 官网上的这个方法好像对ik分词器无效&#xff01; 有没有什么别的方法啊&#xff0c; chart gpt 说分词可以用正则匹配 但是测试好像是不行的 我的es版本是 8.5.3。 2、进一步沟通后&#xff0c;得…

若依框架浅浅介绍

由若依官网所给介绍可知 1、文件结构介绍 在ruoyi-admin的pom.xml文件中引入了ruoyi-framework、ruoyi-quartz和ruoyi-generatior模块&#xff0c;在ruoyi-framework的pom.xml文件中引入了ruoyi-system模块。 2、技术栈介绍 前端&#xff1a;Vue、Element UI后端&#xff1a…

Netty:在一个ByteBuf中寻找另外一个ByteBuf出现的位置

说明 利用ByteBufUtil的indexOf(ByteBuf needle, ByteBuf haystack)函数可以在haystack中寻找needle出现的位置。如果没有找到&#xff0c;返回-1。 示例 在一个ByteBuf 中找到了另外一个ByteBuf package com.thb;import io.netty.buffer.ByteBuf; import io.netty.buffer.…

AUTOSAR规范与ECU软件开发(基础篇)2.5 AUTOSAR方法论

前言 AUTOSAR方法论(AUTOSAR Methodology) 中车用控制器软件的开发涉及系统级、 ECU级和软件组件级。 系统级主要考虑系统功能需求、 硬件资源、 系统约束, 然后建立系统架构; ECU级根据抽象后的信息对ECU进行配置; 系统级和ECU级设计的同时, 伴随着软件组件级的开发。 上…

python软件安装包百度云,python软件安装教程2020

大家好&#xff0c;小编为大家解答python软件安装在哪个盘比较好的问题。很多人还不知道python软件安装过程中,customize&#xff0c;现在让我们一起来看看吧&#xff01; 一&#xff1a;python安装 安装软件的路径中不允许出现中文、带空格的字符串、特殊符号、纯数字&#xf…

n-皇后问题

希望这篇题解对你有用&#xff0c;麻烦动动手指点个赞或关注&#xff0c;感谢您的关注 不清楚蓝桥杯考什么的点点下方&#x1f447; 考点秘籍 想背纯享模版的伙伴们点点下方&#x1f447; 蓝桥杯省一你一定不能错过的模板大全(第一期) 蓝桥杯省一你一定不能错过的模板大全…

面试热题(最大子数组和)

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;6 解释&#xff1a;连续…

Creo结构设计-创建ASM装配工程以及零件协调配合绘图

问题描述 在结构设计时&#xff0c;往往包含了多个组件&#xff0c;各个组件需要分开设计&#xff0c;但同时需要借鉴上一个模块的尺寸信息&#xff0c;如果创建多个零件&#xff0c;最后再组合那么会降低效率&#xff0c;那么有什么好的解决方式&#xff0c;能够再一个工程里…

代码随想录算法训练营之JAVA|第二十七天| 455. 分发饼干

今天是第27天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 455. 分发饼干https://leetcode.cn/problems/assign-cookies/ 第一想法 题目理解&#xff1a;G个人分 S块饼干 要求饼干大于或者等于人的肚量。 第一想法&#xff1a;将人按照肚量从小到达…

PyQt5的信号与槽函数

目录 一、介绍 二、一个信号连接一个槽 三、一个信号连接多个槽 四、多个信号连接一个槽 五、自定义信号 1、创建自定义信号 2、让自定义信号携带值 一、介绍 在下图中 &#xff08;1&#xff09;widget就是PyQt中的控件对象。其实就是组件&#xff08;2&#xff09;…

教育行业文件协作的最佳实践分享!

在教育工作中&#xff0c;经常需要进行文件协作&#xff0c;无论是师生间还是老师与老师之间。目前最常用的文件协作方式就是通过社交工具或者邮件进行文件共享。 这种协作方式的缺点 1、大文件传输不便&#xff1a;这种协作方式依托于社交工具&#xff0c;对于大文件传输并不…

YOLOV8/YOLOv7/YOLOv5改进:引入GAMAttention注意力机制

为了提高各种计算机视觉任务的性能&#xff0c;人们研究了各种注意机制。然而&#xff0c;以往的方法忽略了保留通道和空间方面的信息以增强跨维度交互的重要性。因此&#xff0c;我们提出了一种全局调度机制&#xff0c;通过减少信息缩减和放大全局交互表示来提高深度神经网络…

6914. 翻倍以链表形式表示的数字

题目描述&#xff1a; 给你一个 非空 链表的头节点 head &#xff0c;表示一个不含前导零的非负数整数。 将链表 翻倍 后&#xff0c;返回头节点 head 。 示例&#xff1a; 解题思路&#xff1a; 先计算第一位是否超出位数&#xff0c;超出新建存储该数值&#xff0c;再逐个翻倍…

JZ34二叉树中和为某一值的路径

题目地址&#xff1a;二叉树中和为某一值的路径(二)_牛客题霸_牛客网 题目回顾&#xff1a; 解题思路&#xff1a; 这里求的是和为某一值的路径&#xff0c;要用dfs算法&#xff0c;也就是说这里使用深度优先搜索算法。 从根节点开始向左右子树进行递归操作&#xff0c;在递…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C++)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在BGAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过BGAPI SDK设置相机固定帧…

ORCA优化器浅析——CDXLScalarFilter Class for DXL filter operators

CDXLScalarFilter CDXLScalarFilter为Class for representing DXL filter operators。CDXLScalarFilter相对于CDXLScalar没有增加其他数据成员。 class CDXLScalarFilter : public CDXLScalar{ private: CDXLScalarFilter(CDXLScalarFilter &); // private copy ctor pub…

初识C语言(3)

什么是C语言 1.第一个C语言程序 2.数据类型 3.变量、常量 4.字符串转义字符注释 5.选择语句 6.循环语句 7.函数 8.数组 9.操作符 10.常见关键字 11.define 定义常量和宏 12.指针 13.结构体 这一篇文章我们从常见关键字开始说起&#xff0c;也是…

[PaddlePaddle] [学习笔记] [上] 计算机视觉(卷积、卷积核、卷积计算、padding计算、BN、缩放、平移、Dropout)

1. 计算机视觉的发展历程 计算机视觉作为一门让机器学会如何去“看”的学科&#xff0c;具体的说&#xff0c;就是让机器去识别摄像机拍摄的图片或视频中的物体&#xff0c;检测出物体所在的位置&#xff0c;并对目标物体进行跟踪&#xff0c;从而理解并描述出图片或视频里的场…