学习HCIP的day.11

目录

十一、BGP的属性

1、权重属性

2、本地优先级

3、as-path 

4、起源属性

5、MED --多出口的鉴别属性  

十二、BGP选路规则

十三、BGP的社团属性

十四、BGP的在MA网络中的下一跳问题

五、BGP的认证


十一、BGP的属性

BGP协议在选路时,先对比属性;若所有属性相同,将基于其他的条件进行选路判断,默认BGP不支持负载均衡,仅基于唯一路径传输;

华为的BGP协议中,存在1种私有属性,5种公共属性,而属性的修改是在控制层面流量的进或出接口上,抓取路由信息再修改参数,修改的公共属性在IBGP协议关系间不变,在EBGP协议关系间自动会修改。

1、权重属性

传播范围默认值数值大、小优
不传播0,0-65535越大越优

权重为私有属性;修改后仅本地有效

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1 

本地通过邻居4.4.4.4学习到的所有路由,权重属性修改为1,默认权重属性为0;

负载分担:访问不同的目标基于不同的路径,如下图所示:

R1和R5属于两个不同的自治系统,并且中间还有很多自治系统,这里只模拟中间有一个,从图中可以看出R1去R5的两个网段有两条路线,所以我们决定让R1去访问3.3.3.3网段的时候走上边的路线(R1-R2-R4),R1访问4.4.4.4网段的时候走下边的路线(R1-R3-R4),称这样的数据通信方式为负载分担

[r3]ip ip-prefix w permit 1.1.2.0 24  抓需要修改属性的路由



[r3]route-policy w permit node  10     创建策略

[r3-route-policy]if-match ip-prefix w    匹配路由

[r3-route-policy]apply preferred-value 1   修改权重值

[r3-route-policy]q

[r3]route-policy w permit node 20  记住,一定需要关注是否允许所有

[r3-route-policy]q



[r3]bgp 2

[r3-bgp]peer  4.4.4.4 route-policy w import  在控制层面针对邻居调用;

我们在调用时需要注意方向,权重属性只能入方向调用,因为该属性不能传播;

2、本地优先级

传播范围默认值数值大、小优
AS内(IBGP邻居间)100(0-255)越大越优

本地优先级是公有属性,最常用于干涉IBGP关系下的选路

[r4]bgp 2

[r4-bgp]default local-preference 101 

# 全局命令,本地所有发送给IBGP邻居的路由,其本地优先级属性修改为101;



负载分担:

[r4]ip ip-prefix p permit 1.1.2.0 24   抓路由

[r4]route-policy p permit node  10

[r4-route-policy]if-match  ip-prefix p   匹配路由

[r4-route-policy]apply local-preference 101  修改权重

[r4-route-policy]q



[r4]route-policy p permit node 20  空表,允许其他所有路由

[r4-route-policy]q



[r4]bgp 2

[r4-bgp]peer  3.3.3.3 route-policy p export   

针对邻居控制层面调用;出、入方向均可;但必须为IBGP邻居关系;

3、as-path 

记录该条目所有经过的AS编号;该属性在本地传递给本地的EBGP邻居时,才添加本地AS号到path属性中; 优选经过AS数量最少路径;

人为的在as-path属性中增添AS编号,可以干涉选路,但是只能增添不能减少;因为该属性同时用于EBGP水平分割(路由器接收到路由条目后,如果出现本地的AS号,将拒绝接收这条路由)

使用AS=path属性干涉选路时,由于该属性只能增加,不能减少;故干涉时,需要在A路径策略,最终让设备优选B路径;但只能在EBGP关系间进行策略配置;既可以干涉EBGP关系下的选路,也可以干涉IBGP关系下的选路;

[r2]ip ip-prefix as permit 1.1.2.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

[r2-route-policy]q

[r2]route-policy as permit node  20

[r2-route-policy]q



[r2]bgp 2

[r2-bgp]peer  12.1.1.1 route-policy as import

调用时注意控制层面方向,但两个相邻的路由器之间必须为EBGP邻居关系;

在入口调用以上策略最终显示的AS号为3 4 5 X;X代表真实经过的AS编号;

若在出口调用以上策略显示的AS为:X 3 4 5 ;X代表真实经过的AS编号;

结论:最左边的编号为最新的AS编号;

由于AS-PATH属性,同时用于实现EBGP水平分割;故人为增添的AS编号,若在后方真实存在,这些路由将无法进入这些AS;解决方法:我们可以反复增加已经实际经过的AS编号,用以干涉选路

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

4、起源属性

这条属性是该条路由进入BGP协议的来源,也是公有属性;该属性下的表示方式及解释:

Network 命令宣告         i

从IGP重发布到BGP      ?

从EGP重发布BGP       e

路由条目优先顺序i类型优于e类型优于?类型

[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

5、MED --多出口的鉴别属性  

BGP协议本身不存在度量值;只有两种情况出现度量值:

(1)在宣告本地路由表中路由时,将携带本地路由表到达目标的cost值

(2)人为修改MED值,即管理员利用路由器基于cost值选路的特征,人为在路由条目中定义一个cost值来干涉选路;

MED属性可干涉IBGP/EBGP关系选路,但最常用于干涉EBGP关系下选路

常常用于AS1干涉AS2对AS1的选路,即修改AS2到AS1的路线;

判断数据包来回的节点

<r1>ping -r -a 1.1.2.1 3.3.3.3

干涉选路:

[r1]ip ip-prefix l permit 1.1.2.0 24



[r1]route-policy l permit node 10

[r1-route-policy]if-match ip-prefix  l

[r1-route-policy]apply  cost 2

[r1-route-policy]q

[r1]route-policy l permit node  20

[r1-route-policy]q



[r1]bgp 1

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

十二、BGP选路规则

比较前提,多条BGP路由目标相同,并且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

1、优选Preference_Value值最高的路由(私有属性,仅本地有效)。

不传递,权限最高属性,但可以干涉EBGP/IBGP选路

2、优选本地优先级(Local_Preference)最高的路由。

只能在IBGP邻居关系间传递,最常干涉IBGP关系的选

  1. 优选手动聚合>自动聚合>network>import>从对等体学到的。
  2. 优选AS_Path短的路由。

EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;

3、起源类型IGP>EGP>Incomplete。

起源属性i类型优于e类型优于?类型; 可在控制层面任意接口修改;

4、对于来自同一AS的路由,优选MED值小的。

默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost

最常用于干涉EBGP选路的属性

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

十三、BGP的社团属性

BGP的基本属性之外,还存在大量的扩展属性;这些扩展属性被称为社团属性;社团属性目前并没有完全定义,用于BGP协议未来升级,以及和其他协议兼容;社团属性在大部分厂商均默认不携带;故,决定使用社团属性时,必须考虑携带性(传递性)

[r1]route-policy qq permit node  10

[r1-route-policy]apply community ?

  INTEGER<0-4294967295>  Specify community number

  STRING<3-11>           Specify aa<0-65535>:nn<0-65535>

  internet               Internet(well-known community attributes)

  no-advertise           Do not advertise to any peer (well-known community    

                         attributes)

  no-export              Do not export to external peers(well-known community  

                         attributes)

  no-export-subconfed    Do not send outside a sub-confederation(well-known    

                         community attributes)

  none                   No community attribute

[r1-route-policy]apply community no-advertise

[r1-route-policy]q

[r1]bgp 1

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

以上配置,就是在本地传递给邻居12.1.1.2的所有BGP路由条目中,加入某种社团属性

注:由于大部分厂家不携带社团属性,故一旦使用社团属性,必须考虑传递性功能是否开启;

[r1]bgp 1

[r1-bgp]peer  12.1.1.2  advertise-community 

本地将携带社团属性发送路由到该邻居处;开启传递性的行为是逐跳的,也就是说R1开启后将携带社团到R2,但R2上若没有开启到R3的,那么R3收到的路由依然没有社团属性;

以下几种社团属性为控制路由条目传递范围的社团属性

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

No-export   若收到的路由条目中,存在该数据,将不能传递到下一个AS

 no-export-subconfed  若收到的路由条目中,存在该数据,将不能传递到下一个小AS

若所在AS没有联邦(没有小AS)那么No-export 和 no-export-subconfed 作用一致

十四、BGP的在MA网络中的下一跳问题

在一个MA网段中运行BGP协议;若该网段存在EBGP邻居关系;那么只要使用该网段内的物理接口ip地址,作为邻居建立地址,ICMP重定向将为我们定义最佳下一跳地址,作为BGP路由中的下一跳地址;

[r1]display  bgp routing-table  peer 123.1.1.2 advertised-routes  查看本地向该邻居发送的BGP路由

[r1]display  bgp routing-table  peer  123.1.1.2 received-routes  查看本地从该邻居处学习到的路由

五、BGP的认证

[r3-bgp]peer  34.1.1.2 password cipher 123456

相邻的两台设备都需要配置,并且双方密码需要一致,密码默认基于MD5计算后转发

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java(30天拿下---第一天)

Java开发&#xff08;30天拿下---第一天&#xff09; 一 hello world以及JDK,JRE,JVM二 转义字符三 注释四 代码规范五 DOS命令&#xff08;了解&#xff09;六 变量1.加号的使用2.数据类型整型浮点型字符类型布尔类型自动类型转换强制类型转换String类型 七 API文档 一 hello …

ASP.NET Core Web API入门之一:创建新项目

ASP.NET Core Web API入门之一&#xff1a;创建新项目 一、引言二、创建新项目三、加入Startup类&#xff0c;并替换Program.cs内容四、编辑Program.cs代码五、修改控制器的路由六、运行项目 一、引言 最近闲着&#xff0c;想着没真正从0-1开发过ASP.NET Core Web API的项目&a…

softmax之温度系数

1.数学表示 这是传统的softmax&#xff1a; q i e x p ( z i ) ∑ j e x p ( z j ) q_i \frac{exp(z_i)}{\sum_jexp(z_j)} qi​∑j​exp(zj​)exp(zi​)​ 或者写&#xff1a; q i e x p ( z i ) / 1.0 ∑ j e x p ( z j / 1.0 ) q_i \frac{exp(z_i)/1.0}{\sum_jexp(z_j/…

七、进程地址空间

一、环境变量 &#xff08;一&#xff09;概念 环境变量(environment variables)&#xff1a;系统当中用做特殊用途的系统变量。 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪里&#xff0c;但是照样可…

vue3---模板引用 nextTick

目录 模板引用--ref 访问模板引用 v-for 中的模板引用 函数模板引用 组件上的 ref 简单理解Vue中的nextTick 示例 二、应用场景 三、nextTick源码浅析 实战 --- vue3实现编辑与查看功能 模板引用--ref 虽然 Vue 的声明性渲染模型为你抽象了大部分对 DOM 的直接操作&…

LeetCode - 15 三数之和

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满…

Cmake工具的简单使用

引言 本篇文章讲述如何简单的使用cmake工具构建一个项目&#xff0c;帮助入门的c新手学会如何使用cmake. 我们在Clion新创建一个项目时&#xff0c;会发现&#xff0c;除了main.cpp文件之外&#xff0c;还存在一个build-debug目录和一个CMakelists.txt文件&#xff0c;如图: …

群晖 NAS 外网访问设置 - 腾讯 DNSPod

目录 ​编辑 一、使用DNSPod&#xff0c;实现DDNS&#xff08;动态域名&#xff09; 二、公共概念厘清 三、腾讯DNSPod上详细设置步骤 1. 打开DNSPod.cn网站并登录 2. 登录成功后&#xff0c;选择【我的域名】-> 【添加域名】 3. 添加群晖NAS需要二级域名&#xff08…

安装 Kafka

文章目录 1.选择操作系统2.配置 Java 环境3.安装 ZooKeeper4.安装 broker&#xff08;1&#xff09;安装 broker&#xff08;2&#xff09;验证是否安装正确 5.配置 broker&#xff08;1&#xff09;常规配置&#xff08;2&#xff09;主题的默认配置 6.配置 Kafka 集群&#x…

一种新型智能优化算法—鼠群优化(RSO)算法

目录 一、RSO理论基础 二、RSO数学模型 2.1 追逐猎物 2.2 攻击猎物 三、RSO流程图 四、运行结果 鼠群优化(Rat Swarm Optimizer&#xff0c;RSO)算法是由Dhiman G等人于2020年提出&#xff0c;主要启发于老鼠追逐和攻击猎物的种群行为。该优化算法具有结构简单&#xf…

【Spring源码解读三】IoC容器之AnnotationConfigApplication的refresh()刷新方法其二

invokeBeanFactoryPostProcessors() PriorityOrdered接口 Ordered接口 invokeBeanDefinitionRegistryPostProcessors() registerBeanPostProcessors() getBeanNamesForType() initMessageSource() initApplicationEventMulticaster() onRefresh() registerListeners()…

go语言学习——9

文章目录 goroutine概念goroutine调度模型 channelchannel介绍定义/声明channelchannel的关闭channel遍历channel其他细节 goroutine 前言&#xff1a;统计1~90000000数字中&#xff0c;哪些是素数&#xff1f; 使用循环&#xff0c;很慢使用并发或者并行的方式&#xff0c;将任…

【保姆级】如何创建一个Vue工程

如何创建一个Vue工程 文章目录 如何创建一个Vue工程1、下载安装Node.js2、配置环境变量3、npm 安装淘宝镜像4、安装Vue CliVue 安装失败原因 5、在线创建工程创建工程启动服务启动报错停止服务重启服务 1、下载安装Node.js Node.js是一个js运行环境&#xff0c;Vue工程需要建立…

机器学习实战六步法之数据收集方法(四)

要落地一个机器学习的项目&#xff0c;是有章可循的&#xff0c;通过这六个步骤&#xff0c;小白也能搞定机器学习。 看我闪电六连鞭&#xff01;&#x1f923; 数据收集 数据是机器学习的基础&#xff0c;没有数据一切都是空谈&#xff01;数据集的数据量和数据的质量往往决…

有哪些比较好的游戏图标推荐

游戏图标设计在游戏UI中占有非常重要的地位。例如&#xff0c;当我们看到一个游戏的启动图标时&#xff0c;很容易区分它是哪个游戏。设计游戏图标不仅是一个图形&#xff0c;也是一个标志。 本文将通过各种游戏图标设计素材分享游戏图标的类别和设计游戏图标的思考。 1. 游戏…

HTTPS 协议

哥几个来学 HTTPS 协议 啦 ~~ 目录 &#x1f332;一、HTTPS 是什么&#xff1f; &#x1f333;二、何为 “加密” &#x1f334;三、HTTPS 的工作过程 &#x1f366;1. 引入对称加密 &#x1f367;2. 引入非对称加密 &#x1f368;3.引入证书 &#x1f332;一、HTTPS 是什…

如何学习和提升使用编程语言的能力? - 易智编译EaseEditing

学习编程语言并提升编程能力需要一定的学习方法和实践。以下是一些方法可以帮助你提升编程语言能力&#xff1a; 学习基本语法&#xff1a; 了解编程语言的基本语法和关键概念。可以通过阅读官方文档、教程、书籍或在线资源来学习。 编写代码&#xff1a; 编写实际的代码是提…

【深度学习】日常笔记

一开始感觉学习方向有点飘忽不定&#xff0c;后面查找资料和思考&#xff0c;发现其实图神经网络、异构图、推荐系统这三者的概念其实是相通&#xff0c;紧密联系的。推荐系统是指根据用户历史行为和偏好&#xff0c;为用户提供个性化的商品或服务推荐。而在推荐系统中&#xf…

用GANs来做数据增强

适用于只有很少样本的情况。 即使是不完美的合成数据也可以提高分类器的性能。 生成对抗网络(Generative adversarial networks&#xff0c;简称GANs)由Ian Goodfellow于2014年推出&#xff0c;近年来成为机器学习研究中非常活跃的话题。GAN是一种无监督生成模型&#xff0c;它…

基于word文档,使用Python输出关键词和词频,并将关键词的词性也标注出来

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 移船相近邀相见&#xff0c;添酒回灯重开宴。 大家好&#xff0c;我是Python进阶者。 一、前言 前几天在有个粉丝问了个问题&#xff0c;大概意思是这样…