ORF 是什么
ORF(Outbound Route Filtering,出向路由过滤)是一种能力协商:本端把过滤列表推送给对端,由对端只发送匹配集合中的路由,从而减少无效更新与本端的处理开销。它适合前缀集合很大的客户或对等互联场景。要注意它是优化手段,本地的入方向过滤仍然必须保留。
基本信息
| 原理 | 本端下发过滤列表,对端按列表发送 |
|---|---|
| 命令 | neighbor <ip> capability orf prefix-list both |
| 协商前提 | 两端都支持并协商成功才生效 |
| 收益 | 减少无效更新与本端策略处理开销 |
| 定位 | 优化手段,不能替代本地入方向过滤 |
典型使用场景
- 客户前缀集合很大,全量接收浪费带宽与内存
- 对等互联场景,把过滤条件一次推给对方
- 排查「ORF 配了但没效果」:确认能力协商结果
- 边缘节点资源受限时做更新量优化
- 过滤条件变更后确认列表更新是否同步推送
配置与确认
配置与确认
router bgp 65001
neighbor 10.0.0.2 capability orf prefix-list both # 双向协商 ORF 能力
neighbor 10.0.0.2 prefix-list PL-RECV in # 本地入向过滤仍要保留
!
show ip bgp neighbors 10.0.0.2 | include ORF # 确认协商结果
show ip bgp neighbors 10.0.0.2 received-routes | include 10.9.能力取值
| 取值 | 含义 | 注意 |
|---|---|---|
| both | 同时发送与接收过滤列表 | 需双方都支持才生效 |
| send | 只把本端列表推给对端 | 影响对端发送什么 |
| receive | 接受对端推来的列表 | 约束本端发送范围 |
| 协商失败 | 静默不生效,不报错 | 必须用 show 命令确认 |
ORF 是优化不是防护:对端仍可能发送列表之外的路由,本地入方向过滤必须独立设置,不能依赖对方自律。
两端能力不匹配时 ORF 静默不生效:配置看起来正常却没有任何过滤效果,必须用邻居输出确认协商状态。
过滤条件变更后要确认列表是否真正推送成功:过期列表会让对端继续发送已经不需要的前缀,优化效果与预期不符。