BGP的路径属性和选路规则

路径属性

  • 公认属性----指所有BGP路由器都要求识别的路径属性

    • 强制属性------在进行路由更新时,必须携带的属性

    • 自由决定属性----在进行路由更新时,可以不携带的属性

  • 可选属性----指不要求所有BGP路由器都能够识别的路径属性

    • 传递属性----如果路由器无法识别该属性,也应该接收携带该属性的路由信息,并且在路由更新时,携带该属性。

    • 非可传递属性----如果路由器无法识别该属性,那么在进行路由更新时,可以忽略该路径属性的传播

属性名类型
AS_Path公认强制
Origin公认强制
Aggregator可选传递
Atomic-Aggregate公认自由决定属性
起源ID可选非传递
簇列表可选非传递
Next-hop公认强制
local-preference公认自由决定
preferred-value私有属性
MED可选非传递
社团属性可选传递

BGP路由优选规则

PL LAO MEN-----漂亮老男人

  任何一条BGP路由在参与优选之前都必须先经过检查。设备会检查BGP路由的下一跳属性是否可达,如果不可达,则BGP路由被视为不可用,该路由将无论如何不能被优选,也不会被设备使用或者通告给其他对等体。----------要求路由的优先级相同,默认的前提条件

属性名传播范围默认值评判标准
PV不传递0越大越优
LPAS内部100越大越优
AS_PathBGP对等体之间空列表越少越优
OGNBGP对等体之间根据起源类型决定i>e>?
MEDbgp对等体之间默认继承全局路由表中的开销值越小越优

Preferred-Value

        PV值是华为的私有属性,默认值为0,可以理解为权重的概念,权重越大,则对应的路由信息的优先度越高。因为PV值是所有选路原则中的第一条规则,所以,该属性是本设备上选路最方便的属性

该属性只能在本地生效,无法传递给任何BGP对等体

方法一:全局修改
[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

      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号,仅当做一个来进行计算

  • ()----联邦

    • 选路--->忽略该括号中内容

方法一:在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 export

apply as-path none overwrite

  • 代表将该属性变为空列表
参数说明:
  • additive

    • 在原AS_Path属性的基础上添加配置的AS号

  • overwrite

    • 直接覆盖原有AS_Path属性

       该属性是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属性的长度和内容和顺序也相同)

[r4-bgp]default med 100

  • 全局修改方式
  • 只能针对本地聚合路由或者重发布引入的路由信息生效,并且是传递给EBGP对等体时才会携带,不会影响本地MED数值

第十条优选规则中,有起源者ID,则比较起源者ID。若无,则比较RID数值

BGP负载均衡--负载分担

形成负载分担的条件--->BGP路由优选规则的1至8条规则中需要比较的路径属性完成相同

[r4-bgp]maximum load-balancing ?
  INTEGER<1-8>  Specify maximum equal cost routes
  ebgp          EBGP routes as equal cost route
  ibgp          IBGP routes as equal cost route 
[r4-bgp]maximum load-balancing ebgp 2   ---修改BGP最大负载分担路由条目为2,默认情况为1。
    如果携带了ebgp或者ibgp参数,则代表对某种方式学习到的路由进行负载分担,不携带参数则代表全局执行。

在实现负载均衡后,无论是否配置了next-hop-local命令,本地设备都会向自己的IBGP对等体发布路由时,将下一跳修改为本地地址

注意内容:当满足如下所有条件时,可以形成等价路由,从而形成负载均衡

  • 原始下一跳不同

  • PV、LP相同

  • 都是聚合路由或者都不是聚合路由。

  • 起源吗相同、MED相同

  • 都是EBGP路由或者都是IBGP路由

  • AS内部的IGP开销值相同

  • AS_Path完全相同----内容相同,顺序相同,长度相同。

[r4-bgp]load-balancing as-path-ignore

  • 忽略在进行负载均衡配置时的AS_Path属性对比

BGP的路由过滤

需求:通过路由策略来完成,不让R2将172.16.1.0/24传递给R3
1、抓流量

[r2]ip ip-prefix aa permit 172.16.1.0 24

2、做策略
[r2]route-policy aa deny node 10
[r2-route-policy]if-match ip-prefix aa
[r2]route-policy aa permit node 20

3、调用
[r2-bgp]peer 10.1.23.3 route-policy aa export 

  • 需求:不让R3学习到172.16.2.0/24,使用前缀列表

[r3]ip ip-prefix aa deny 172.16.2.0 24

[r3]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32

1、配置前缀列表

2、调用
[r3-bgp]peer 10.1.23.2 ip-prefix aa import 


需求:通过filter-policy来完成,不让R2和R3学习172.16.3.0/24路由
1、配置ACL列表

[r2-acl-basic-2000]rule deny source 172.16.3.0 0
[r2-acl-basic-2000]rule permit source any 

2、调用
[r2-bgp]peer 10.1.12.1 filter-policy 2000 import   

  • BGP中使用过滤策略时,只能调用ACL列表,所以必须使用ACL列表来抓取流量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值