BGP选路原则
Posted Xcgouge0972
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BGP选路原则相关的知识,希望对你有一定的参考价值。
目录
BGP的选路原则
BGP选路的前提条件 --- 丢弃所有不可用的路由信息1,优选PV值最大的路由
PV值是华为的私有属性,可以理解为是权重,数值越大,其优先级越高,又因为他是所有选路原则中的第一条原则,所以,该属性是 本设备 上选路最方便的一个属性。 --- 这个属性只能在本设备上生效,他无法传递给任何BGP对等体。修改PV影响选路的配置:
方法一:全局修改
[r4-bgp]peer 3.3.3.3 preferred-value ? INTEGER<0-65535> Preference value [r4-bgp]peer 3.3.3.3 preferred-value 100 AS-path 1, origin igp, MED 0, localpref 100, pref-val 0, valid, internal,pre 2 55, IGP cost 1, not preferred for PreVal 负载分担 --- 即让不同的流量走不同的线路,分担单一线路的压力 。方法二:精细化控制
1,抓取流量 [r4]ip ip-prefix PV permit 10.0.0.0 24 2,做路由策略 [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]q [r4]route-policy PV permit node 20 --- 注意,必须要配置空表放通剩余所有流量 Info: New Sequence of this List. [r4-route-policy]q 3,在BGP中调用路由策略 [r4-bgp]peer 3.3.3.3 route-policy PV import2,优选LP属性值最大的路由
LP --- 本地优先级 --- 默认值为100,越大越优。这个属性可以在IBGP对等体之间进行传递,所以,他是AS内部选路最常用的属性。路由信息在传递给EBGP对等体时将不携带这个属性。 通过修改LP值来影响选路方法一:全局修改
[r3-bgp]default local-preference 200 --- R3之后发给IBGP对等体的路由的LP属性都将被改为200方法二:精细化控制
在R3的出方向做 1,抓取流量 [r3]ip ip-prefix lp permit 10.0.0.0 24 2,做路由策略 [r3]route-policy lp permit node 10 Info: New Sequence of this List. [r3-route-policy]if-match ip-prefix lp [r3-route-policy]apply local-preference 300 [r3-route-policy]q [r3]route-policy lp permit node 20 Info: New Sequence of this List. [r3-route-policy]q 3,在BGP进程中调用 [r3-bgp]peer 4.4.4.4 route-policy lp export3,自己始发的路由优先级高于从对等体处学来的
自己始发的方法也存在多种,他们的优先级关系为手工聚合 > 自动聚合 > network > import4,优选AS_PATH属性最短的路由
AS_PATH属性进行选路时,需要注意一下两点: 1,我们在进行路由聚合时,如果激活AS_SET关键字之后,将不同AS的明细路由进行聚合,则我们将在AS_PATH属性中携带所有明细AS的AS号,并用大括号括起来。在进行选路比较时,大括号的内容当作一个AS号来看待。 2,在联邦时,我们联邦内部也需要使用AS_path来进行防环,我们将使用小括号将AS号括起来,在进行选路比较时,将不计算小阔号里的内容。方法一:在R1的出方向修改AS_PATH属性。
1,抓取流量 [r1]ip ip-prefix as permit 10.0.0.0 24 2,配置路由策略 [r1]route-policy as permit node 10 Info: New Sequence of this List. [r1-route-policy]if-match ip-prefix as [r1-route-policy]apply as-path 11 22 33 ? INTEGER<1-4294967295> AS number in asplain format (number<1-4294967295>) STRING<3-11> AS number in asdot format (number<1-65535>.number<0-65535>) additive Append to original As Number ---- 在原有AS_PATH属性的基础上添加配置的AS号 overwrite Overwrite original As Number ---- 直接覆盖原有的AS_PATH属性值 [r1-route-policy]apply as-path 11 22 33 additive --- 建议使用添加,因为AS_path属性主要任务用来防止环路,将原有属性覆盖可能导致路由回传,造成环路产生。 [r1-route-policy]q [r1]route-policy as permit node 20 Info: New Sequence of this List. 3,在BGP中调用策略 [r1-bgp]peer 12.0.0.2 route-policy as export *>i 10.0.0.0/24 3.3.3.3 0 100 0 1i * i 2.2.2.2 0 100 0 1 11 22 33 *> 10.0.0.0/24 12.0.0.1 0 0 11 22 33 1 i [r2-route-policy]apply as-path 1 1 1 additive ---- 建议在AS_PATH属性中添加真实离开的AS的AS号,因为AS_PATH属性本身具有防环作用,添加AS号后可能导致路由无法发送到对应的AS当 中,影响路由的传递。AS_PATH属性在进行选路时,仅关注AS号的长短,不关注内容。5,优选起源码属性最优的路由。
起源码的优先级 --- I > E > ? OGN --- 起源码 --- I,e,? --- 用来标识路由条目的起源 I --- 代表该路由信息起源于IGP协议(不局限于IGP协议,包括静 态,直连),代表该路由条目起源于AS内部 --- 通过network发 布出来的路由信息其起源码为I E --- 代表该路由信息起源于EGP协议 --- EGP指的是BGP之前 使用的外部网关协议 ? --- 通过除了以上两种方式学习到的路由 --- 重发布导入的路 由起源码都是?控制选路的方法:
1,抓流量 [r2]ip ip-prefix ogn permit 10.0.0.0 24 2,配置路由策略 [r2]route-policy ogn permit node 10 Info: New Sequence of this List. [r2-route-policy]if-match ip-prefix ogn [r2-route-policy]apply origin ? egp Remote EGP igp Local IGP incomplete Unknown heritage [r2-route-policy]apply origin incomplete [r2-route-policy]q [r2]route-policy ogn permit node 20 Info: New Sequence of this List. [r2-route-policy]q 3,在BGP中进行调用 [r2-bgp]peer 12.0.0.1 route-policy ogn import6,优选MED属性值较小的路由
MED --- 多出口鉴别属性 --- MED值默认初始值并不是0,而是继承了路由表中该路由条目的开销值,所以,它可以反应到达目标网段在本AS内部的开销大小,通过这个参数,别的AS的流量在进入本AS时将可以选择开销较小的入口进入。通过修改这个属性值,我们也可以影响其他AS的流量流入本AS的路径。若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后需要将这条路由再传递给本地的EBGP对等体,则他将不再携带这个MED值。这种设置将有可能造成选路不佳的情况。所以,建议,如果存在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息都发布。(每台设备都需要发布)干涉选路的方法:
在R2上配置,影响R1的选路 1,抓取流量 [r2]ip ip-prefix med permit 4.4.4.0 24 2,配置路由策略 [r2]route-policy med permit node 10 Info: New Sequence of this List. [r2-route-policy]if-match ip-prefix med [r2-route-policy]apply cost 10 [r2-route-policy]q [r2]route-policy med permit node 20 Info: New Sequence of this List. [r2-route-policy]q 3,在BGP进程中调用 [r2-bgp]peer 12.0.0.1 route-policy med export 注意:MED值影响的是别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中AS_PATH属性最左边的AS号不同,则将不比较第六条,直接比较第7条。 [r4]ping -r -a 4.4.4.4 1.1.1.1 --- 可以记录流量流过的全过程7,EBGP对等体路由优于IBGP对等体
BGP 选路原则
BGP 本地始发的路由 下一跳为0.0.0.0 ,选路时优先于从对等体学到的路由 ,bgp默认选路不做负载均衡
来自IBGP的路由不会发给其他IBGP邻居
权重(preference value)是一个本地有效的属性 ,不可能是往外发路由有效 , (所以只能是外面路由进入本路由器的方向 import)
区别
preferred-value 权重值 (对其他路由器发给自己的路由 设置数值以便优选路径 收路由 import方向 发数据)
preference 协议优先级 (BGP255 可以改高 已便于协议优先于其他协议,ospf,rip等)
local-preference (本地路由器优先级 用于告诉IBGP邻居去往目的该怎么走 影响的是邻居 发路由 收数据 export方向)
静态路由方式聚合
ip static X.X.X.X X.X.X.X null 0
自动聚合
只能在import方式下 只能在始发路由上做
bgp进程下 敲summary automatic (只能在敲了import的路由器下敲)
自动聚合只能汇总成主类 (ABC三类)省略子网掩码 聚合后不发明细路由给邻居
手动聚合
bgp进程下敲 aggregate 10.1.8.0 21
默认不会阻止发送明细路由 加上detail-suppressed 可以不发明细路由
再加上as-set 保留AS号 无序AS列表{ }防环
BGP 比较选路原则到第8条后 可用负载均衡
修改为负载均衡 BGP进程下 maximum load-balancing X (X可选1-8)
以上是关于BGP选路原则的主要内容,如果未能解决你的问题,请参考以下文章