小何要努力

小何要努力

BGP高级属性

36
2024-01-22

BGP高级属性

邻居按需发布路由 ORF

基本原理

如果设备希望只接受自己需要的路由,可以通过配置BGP基于前缀的ORF(Outbound Route Filters 出口路由过滤器),ORF通过BGP Refresh报文告诉对等体我只需要X.X.X.X的路由,对等体收到后,就只会给设备发送X.X.X.X的路由。

这样不仅避免了本端设备接收大量无用的路由,降低了本端设备的CPU使用率,还有效减少了BGP邻居的配置工作,降低了链路带宽的占用率。

ORF与Router-policy的区别

ORF:我直接告诉对端需要的路由,对端只给我发送这条路由

Router-policy:对端把所有的路由都发给我,我自己过滤出我想要的路由

优点

避免了本端设备接收大量无用路由,降低了链路带宽的占用率

配置命令(一端配置接收ORF,一端配置发送ORF)

华为设备配置

通过IP-Prefix定义自己需要哪些路由,并对指定邻居调用

[R1]ip ip-prefix 123 permit 1.1.1.1 32

[bgp 65002]peer 10.0.0.1 ip-prefix 123 import/export

import 对自己对等体10.0.0.1接收的路由通过前缀列表过滤

export 对自己对等体10.0.0.1发布的路由通过前缀列表过滤

配置ORF

[bgp 65002]peer 10.0.0.1 capability-advertise orf ip-prefix [both/receive/send]

域间EBGP邻居场景

直连BGP邻居中,R1、R2协商基于前缀的ORF能力后,R2将本地配置的基于前缀的入口策略打包到Route-refresh报文中发送给R1。R1根据接收到的路由刷新报文构造出口策略,通过Route-refresh报文发送路由给R2。

R2只收到它需要的路由,而R2不必维护路由策略,减少了配置工作。

R1、R2之间未开启ORF时:

R1、R2之间开启ORF时:

向对等体发送缺省路由

BGP向对等体发送缺省路由有3种方式

1、配置向对等体发送缺省路由功能

配置向对等体发送缺省路由功能后,无论本端的路由表中是否存在缺省路由,都向对等体发布一条下一跳地址为本地地址的缺省路由,从而很大程度地减少网络路由数量,节省对等体的内存资源与网络资源。

peer { group-name | ipv4-address | ipv6-address } default-route-advertise

2、直接network 0.0.0.0宣告缺省路由

[bgp65002]network 0.0.0.0 0.0.0.0

3、对等体本端的路由表中存在缺省路由时,静态或者路由协议中存在

import direct Connected routes

isis Intermediate System to Intermediate System (IS-IS) routes

ospf Open Shortest Path First (OSPF) routes

rip Routing Information Protocol (RIP) routes

static Static routes

default-route imported

路由衰减

当BGP应用于复杂的网络环境时,路由振荡十分频繁。为了防止频繁的路由振荡带来的不利影响,BGP使用路由衰减来抑制不稳定的路由。

路由震荡是指路由表中添加一条路由后,该路由又被撤销的过程

路由衰减使用惩罚值(Penalty value)来衡量一条路由的稳定性,惩罚值越高说明路由越不稳定。

1、一条路由每发生一次振荡,BGP便会给此路由增加1000的惩罚值,其余时间惩罚值会慢慢下降。

2、当惩罚值超过抑制阈值(suppress value)时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发布更新报文。

3、被抑制的路由每经过一段时间,惩罚值便会减少一半,这个时间称为半衰期(half-life)

4、路由衰减只对EBGP路由起作用,对IBGP路由不起作用。

配置

dampening [ ibgp ] [half-life-reach reuse supress ceiling | route-poliy name]