首页/网络/BGP 与广域网速查/Adj-RIB-In、Loc-RIB 与 Adj-RIB-Out
BGP 基础与邻居89 条

Adj-RIB-In、Loc-RIB 与 Adj-RIB-Out

BGP 路由数据分三个视图:入策略前的原始数据(Adj-RIB-In)、最优结果(Loc-RIB)与发往各邻居的集合(Adj-RIB-Out)。

BGP 与广域网速查网络更新于 2026-10-13

BGP 的三张路由视图

BGP 把路由数据分三层存放:从每个邻居收到的原始路由叫 Adj-RIB-In,它是策略处理前的样子;经过入策略、选路之后确定的最优结果进入 Loc-RIB;准备发给各邻居的集合是 Adj-RIB-Out,受出策略约束。排障时判断「收到但没选」还是「压根没收」靠的就是这三层的对比。

基本信息

Adj-RIB-In某邻居发来的全部路由,未过滤前
Loc-RIB本机最优路由集合,供转发表使用
Adj-RIB-Out本机打算发给某邻居的路由,已过出策略
Cisco 查看neighbors x routes / show ip bgp / neighbors x advertised-routes
华为查看display bgp routing-table peer x received-routes 与 advertised-routes

典型使用场景

  • 对端称已发送而本端没有:先看 Adj-RIB-In 是否有该前缀,判断是被拒还是没收到
  • 排除入策略误伤:查看策略生效前后的差异,定位是哪条过滤把路由挡掉
  • 确认发布范围:用 advertised-routes 核对本端实际对某邻居发出的前缀
  • 前缀数量异常排查:对比收发表与最优表,识别大量被策略拒绝的情况
  • 变更前后留证:变更前保存三层视图输出,作为回退与验收依据

三层视图查看命令

三层视图查看命令
# Adj-RIB-In:该邻居发来的原始路由
show ip bgp neighbors 10.0.0.2 routes
#
# Loc-RIB:本机最优路由集合
show ip bgp
show ip bgp 10.100.0.0/16
#
# Adj-RIB-Out:本机准备发给该邻居的路由
show ip bgp neighbors 10.0.0.2 advertised-routes
#
# 邻居收到的路由(部分平台支持,可反向核对)
show ip bgp neighbors 10.0.0.2 received-routes

差异定位

对比含义后续动作
收发表有、最优表无被入策略拒绝或选路未胜出查入 route-map 与属性比较
收发表也没有对端未发送或发送被中间过滤在对端执行 advertised-routes 核对
本端要发、对端没收到路上被过滤或对端入策略拒绝核查路径过滤与对端策略
两表都有但不通下一跳不可达或转发表未安装查下一跳与 CEF/转发表

排错记录模板

排错记录模板
# 变更前留档
show ip bgp summary > pre-change.txt
show ip bgp neighbors 10.0.0.2 routes > pre-in.txt
#
# 变更后比对
show ip bgp neighbors 10.0.0.2 routes
# 重点关注条目增减与属性变化,而不是只看会话是否 Up
未开启保存原始副本时,部分平台无法直接查看入策略前的路由,此时可临时启用或依靠对端 advertised-routes 与抓包来间接确认。判断依据要写清楚,避免把推断当成事实。

易错点

  • 不区分「收到」与「采用」:面对「对端说发了」的问题时,在错误的方向上反复排查
  • 把 advertised-routes 当成对端收到的内容:它只是本端打算发的集合,途中仍可能被过滤
  • 未开启保存副本却想查过滤前的路由:命令不可用时应改用对端输出或抓包佐证
  • 变更不留三层视图基线:出问题时无法判断哪些条目是本次变更引入或丢失的
  • 忽略 received-routes 的可用性差异:不同平台支持程度不同,取数前先确认命令存在

数据来源与参考

  • RFC 4271: RIB 概念
  • Cisco: BGP RIB 查看命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌