BGP路由协议-LOCAL_PREF、AS_PATH和MED等属性
本篇技术博文摘要 🌟
- 本文章介绍了BGP的路径属性(包括公认属性和可选属性),以及如何根据这些属性进行BGP路由优选。
- 通过详细解释如LOCAL_PREF、AS_PATH和MED等属性的功能和修改方法,并且帮助理解BGP路由选择的优先级评判标准,并展示如何通过命令来调整这些路由策略。
引言 📘
- 在这个快速发展的技术时代,与时俱进是每个IT人的必修课。
- 我是肾透侧视攻城狮,一名什么都会一丢丢的网络安全工程师,也是众多技术社区的活跃成员以及多家大厂官方认可人员,希望能够与各位在此共同成长。
欢迎各位彦祖与热巴畅游本人专栏与技术博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击➡️指向的专栏名即可闪现]
➡️Cyberspace Security
➡️ 24 Network Security -LJS
➡️ Ungranted access vulnerability
➡️HCIP;H3C-SE;CCIP—LJS[华为、华三、思科高级网络]
➡️ MYSQL REDIS Advance operation
➡️RHCE-LJS[Linux高端骚操作实战篇]
➡️数据结构与算法[考研+实际工作应用+C程序设计]
➡️RHCSA-LJS[Linux初级及进阶骚技能]
上节回顾
目录
本篇技术博文摘要 🌟
引言 📘
📈个人成就和🌐社区贡献与影响力
👑《荣誉头衔》
💻技术认证:
🙆曾参与赛事以及荣誉奖项:
欢迎各位彦祖与热巴畅游本人专栏与技术博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击➡️指向的专栏名即可闪现]
上节回顾
1.BGP的路径属性和选路规则
路径属性[之前简略讲述过]
公认属性
可选属性
属性名及其对应类型一览表
2.BGP路由优选规则
如图所示
补充:
BGP路由属性优先级评判标准一览表
Preferred-Value介绍[PV]
修改PV属性命令示例
全局修改
精细化修改
Local_Preference介绍[LC]
修改PV属性命令示例编辑
全局修改
精细化修改
AS_Path属性介绍
何时产生:
修改AS属性命令示例
参数说明:
AS属性的意义:
MED 属性介绍
MED总结:
注意:
修改MED命令配置实例
1.BGP的路径属性和选路规则
路径属性[之前简略讲述过]
公认属性
- 公认属性指所有BGP路由器都要求识别的路径属性,其下分为2类属性
强制属性------在进行路由更新时,必须携带的属性
自由决定属性----在进行路由更新时,可以不携带的属性
可选属性
- 指不要求所有BGP路由器都能够识别的路径属性。其下分为2类可选属性
传递属性----如果路由器无法识别该属性,也应该接收携带该属性的路由信息,并且在路由更新时,携带该属性。
非可传递属性----如果路由器无法识别该属性,那么在进行路由更新时,可以忽略该路径属性的传播
属性名及其对应类型一览表
属性名 | 类型 |
---|---|
AS_Path | 公认强制 |
Origin | 公认强制 |
Aggregator | 可选传递 |
Atomic-Aggregate | 公认自由决定属性 |
起源ID | 可选非传递 |
簇列表 | 可选非传递 |
Next-hop | 公认强制 |
local-preference | 公认自由决定 |
preferred-value | 私有属性 |
MED | 可选非传递 |
社团属性 | 可选传递 |
2.BGP路由优选规则
如图所示
当到达同一个目的网段存在多条路由时,BGP 通过如下的次序进行路由优选:
- 丢弃下一跳不可达的路由。
- 优选 Preferred - Value 属性值最大的路由。
- 优选 Local_Preference 属性值最大的路由。
- 本地始发的 BGP 路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合 > 自动聚合 > network>import > 从对等体学到的。
- 优选 AS_Path 属性值最短的路由。
- 优选 Origin 属性最优的路由。Origin 属性值按优先级从高到低的排列是:IGP、EGP 及 Incomplete。
- 优选 MED 属性值最小的路由。
- 优选从 EBGP 对等体学来的路由(EBGP 路由优先级高于 IBGP 路由)。
- 优选到 Next_Hop 的 IGP 度量值最小的路由。
- 优选 Cluster_List 最短的路由。
- 优选 Router ID(Originator_ID)最小的设备通告的路由。
- 优选具有最小 IP 地址的对等体通告的路由。
补充:
- 任何一条BGP路由在参与优选之前都必须先经过检查。
- 设备会检查BGP路由的下一跳属性是否可达,如果不可达,则BGP路由被视为不可用,该路由将无论如何不能被优选,也不会被设备使用或者通告给其他对等体。
BGP路由属性优先级评判标准一览表
属性名 | 传播范围 | 默认值 | 评判标准 |
---|---|---|---|
PV | 不传递 | 0 | 越大越优 |
LP | AS内部 | 100 | 越大越优 |
AS_Path | BGP对等体之间 | 空列表 | 越少越优 |
OGN | BGP对等体之间 | 根据起源类型决定 | i>e>? |
MED | bgp对等体之间 | 默认继承全局路由表中的开销值 | 越小越优 |
Preferred-Value介绍[PV]
- PV值是华为的私有属性,默认值为0,可以理解为权重的概念,权重越大,则对应的路由信息的优先度越高。
- 因为PV值是所有选路原则中的第一条规则,所以,该属性是本设备上选路最方便的属性。
- 该属性只能在本地生效,无法传递给任何BGP对等体。
修改PV属性命令示例
全局修改
[r4]bgp 400[r4-bgp]peer 10.1.34.3 preferred-value 6000
精细化修改
[r4]ip ip-prefix PV permit 10.10.0.0 16[r4]route-policy PV permit node 10
[r4-route-policy]if-match ip-prefix PV
[r4-route-policy]apply preferred-value 100
[r4]route-policy PV permit node 20[r4-bgp]peer 10.1.34.3 route-policy PV import
Local_Preference介绍[LC]
修改PV属性命令示例
- LP属性默认为100,该属性只能在IBGP对等体之间传递,而不能在EBGP对等体之间传递,如果路由在传递到本地时不携带LP属性,则BGP在进行路由优选时使用缺省值来计算,数值越大越优。
- 这条选路规则时AS内部优选路由的最佳选择。
全局修改
- 该属性在IBGP对等体之间存在传递性,故想要影响R4,就必须在R2或者R3上进行修改,后续传递的就是修改后的数值。
[r3]bgp 234
[r3-bgp]default local-preference 200 ---该命令只会影响本地向外发布的路由,而不会影响本地收到的路由
精细化修改
[r4]ip ip-prefix LP permit 10.11.0.0 16[r4]route-policy LP permit node 10[r4-route-policy]if-match ip-prefix LP[r4-route-policy]apply local-preference 200 [r4]route-policy LP permit node 20[r4-bgp]peer 3.3.3.3 route-policy LP import
AS_Path属性介绍
- 一台路由器将BGP路由通告给自己的EBGP对等体时,会将本地的AS号插入到该路由原有AS_Path属性之前
实现EBGP路由的环路避免
用于BGP路由优选决策
该属性越短,该路由越优。
何时产生:
- 在路由被创建时,该属性也会被创建,仅仅为一个空的列表。
在路由聚合时产生
从防环--->{}中的每一个AS号都需要查看
从选路--->不管{}中存在多少AS号,仅当做一个来进行计算
联邦
选路
修改AS属性命令示例
- 在R1的出方向修改
[r1]ip ip-prefix AS permit 10.13.0.0 16[r1]route-policy AS permit node 10[r1-route-policy]if-match ip-prefix AS[r1-route-policy]apply as-path 11 22 33 overwrite [r1]route-policy AS permit node 20[r1-bgp]peer 10.1.13.3 route-policy AS exportapply as-path none overwrite ----代表将该属性变为空列表
参数说明:
additive
在原AS_Path属性的基础上添加配置的AS号
overwrite
直接覆盖原有AS_Path属性
AS属性的意义:
该属性是BGP重要的工作组成,EBGP防环依赖于该属性,故一般不建议修改改属性
如果一定要修改,则建议添加或覆盖的AS号为曾经出现过的AS号,这样即加长了该属性,同时对网络的影响最小。
MED 属性介绍
- MED的数值是由始发路由器继承IGP协议的Cost值而定的。该属性可以被传递给自己的EBGP对等体,也可以被传递给自己的IBGP对等体。
- MED属性可以干扰其他人访问本地AS的流量走向。--->MED属性时BGP选路中唯一一个可以影响到其他AS的属性。---->传播范围:本地以及相邻的AS内部。
- BGP规定,非本地始发的BGP路由信息,在传递给自己的EBGP对等体时,将MED值修改为0。
- 所有的AS边界设备均需要进行路由信息的发布。
MED总结:
- MED数值默认不为0,而是继承了路由表中该路由条目的开销值,所以,MED参数可以反映到达目标网段在本AS内部的开销大小,通过这个参数,别的AS的流量再进入本AS时可以选择开销较小的入口进入。通过修改改属性,可以影响其他AS的流量流入本AS的路径。
- 本地通过EBGP或者IBGP邻居学习到MED内容,之后将其传递给自己的EBGP对等体时,不再携带MED参数。因为可能会造成选路不佳。
注意:
- MED值影响的事别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中的AS_Path属性最左边的AS号不同,则将不比较第六条选路规则,直接比较第七条选路规则。
- 如果想通过MED进行干涉选路,需要保证前五条规则内容全相同(AS_Path属性的长度和内容和顺序也相同)
修改MED命令配置实例
[r4-bgp]default med 100 ---全局修改方式只能针对本地聚合路由或者重发布引入的路由信息生效,并且是传递给EBGP对等体时才会携带,不会影响本地MED数值
- 第十条优选规则中,有起源者ID,则比较起源者ID。若无,则比较RID数值