1. BGP 演示
生成的 BGP 演示会自动加载。其中包含 13 台路由器、22 个 BGP 会话,以及两台 BMP 能力刻意不同的 route reflector。
- 确认生成的演示拓扑已存在;无需上传或手动加载演示。
- 打开常规视图并确认 BGP 叠加层可见。叠加层默认启用;控件可以隐藏并恢复它。
- 找到 Router ID 为 123.123.100.100 (RFC 7854) 和 123.123.101.101 (RFC 7854 + RFC 9069 + RFC 8671) 的路由器。这些 RFC 表明 Topolograph 通过 BMP 从每台 route reflector 获取哪些 RIB。
IGP 拓扑仍是基础图。BGP 叠加层在不替换 OSPF 连通性的前提下增加会话。
2. BGP 会话
同时使用两种表示:表格可精确过滤 BGP 会话,BGP 会话的图形叠加层则显示所选会话在拓扑中的位置。
- 打开 BGP Sessions,并在 peer ip 列中按 123.123.31.31 过滤。
- 确认 123.123.31.31 (PE31) 只有一个 BGP 会话,与 123.123.100.100 (RR1) 建立,且未与 123.123.101.101 (RR2) 建立 BGP 会话。
- 返回常规视图,在 BGP 叠加层中定位同一条 PE 到 123.123.100.100 (RR1) 的连接。
下方过滤后的 BGP Sessions 表格使 RFC 7854 限制场景变得具体:123.123.31.31 (PE31) 只有一个可观测会话,到 123.123.100.100 (RR1)。
123.123.31.31 (PE31) 只有一个 BGP 会话,用于展示本手册后续说明的 RFC 7854 限制。
3. RIB 视图
与 route reflector 建立的 BMP 会话不会自动提供每个 RR 客户端路由表的视图。能够发送 Loc-RIB 的 BMP 会话可提供最准确的路由表状态视图。当部分信息不可用时,Topolograph 也可以在明确假设的基础上工作。例如,即使没有与设备本身建立 BMP 会话,也可以根据相邻 BMP speaker 面向该设备的 RFC 8671 Adj-RIB-Out post-policy 推断该设备的 RIB 状态。
BMP 各 RFC 覆盖范围及其对路径计算的含义
| BMP 数据 | 所观测 RIB 的所有者和方向 | 能否为指定设备计算路径? | 所需假设 |
|---|---|---|---|
| RFC 7854 Adj-RIB-In pre-policy/post-policy | Adj-RIB-In 属于 BMP speaker,包含它从 BGP 邻居收到的路由 | 否 | Adj-RIB-In 不显示 BMP speaker 在 Loc-RIB 中选择并安装了哪条路由 |
| RFC 9069 Loc-RIB | Loc-RIB 属于 BMP speaker,包含它选择的路由 | 是 | 无 |
| RFC 8671 Adj-RIB-Out post-policy | Adj-RIB-Out 属于 BMP speaker,包含它向特定 BGP 邻居通告的路由;对该邻居而言,此数据作为推断的 Adj-RIB-In 使用 | 是 | 无法观测 BGP 邻居的入站策略及其最终 Loc-RIB |
演示网络中的路由器与路由信息可见范围
| 路由器或分组 | Topolograph 中可用的 BMP 数据 | 路径计算 | 假设 |
|---|---|---|---|
| 123.123.101.101 (RR2) | Loc-RIB 属于 123.123.101.101 (RR2),并通过 RFC 9069 直接从该设备获取 | 可用 | 无 |
| 123.123.30.30 (PE30); 123.14.14.14 (PE14) | Adj-RIB-Out post-policy 属于 123.123.101.101 (RR2),并面向相应设备;对该设备而言,它作为推断的 Adj-RIB-In 使用 | 可用 | 无法观测该设备的入站策略及其最终 Loc-RIB |
| 123.10.10.10 (Core10); 123.123.110.110 (Core110) | Adj-RIB-Out post-policy 属于 123.123.101.101 (RR2),并面向相应设备;对该设备而言,它作为推断的 Adj-RIB-In 使用 | 可用 | 无法观测该设备的入站策略及其最终 Loc-RIB |
| 123.15.15.15 (PE15) | 所观测的 Loc-RIB 属于 123.123.101.101 (RR2);其面向 123.15.15.15 (PE15) 的 Adj-RIB-Out 未通过 BMP 导出 | 可用 | 假设 123.123.101.101 (RR2) 已向 123.15.15.15 (PE15) 通告其选定路由,且 123.15.15.15 (PE15) 在应用入站策略后接受该路由 |
| 123.11.11.11 (Core11), 123.13.13.13 (Core13), 123.123.111.111 (Core111), 123.30.30.30 (Core30), 123.31.31.31 (Core31) | 所观测的 Loc-RIB 属于 123.123.101.101 (RR2);其面向这些设备的 Adj-RIB-Out 未通过 BMP 导出 | 可用 | 假设 123.123.101.101 (RR2) 已向每台设备通告其选定路由,且每台设备在应用入站策略后接受该路由 |
| 123.123.100.100 (RR1) | 来自 123.123.100.100 (RR1) 的 RFC 7854 显示其 Adj-RIB-In,而非 Loc-RIB;路径计算使用属于 123.123.101.101 (RR2) 的 Loc-RIB,且 RR2 面向 RR1 的 Adj-RIB-Out 未通过 BMP 导出 | 可用 | 假设 123.123.101.101 (RR2) 已向 123.123.100.100 (RR1) 通告其选定路由,且 123.123.100.100 (RR1) 在应用入站策略后接受该路由 |
| 123.123.31.31 (PE31) | Adj-RIB-In pre-policy 和 post-policy 属于 123.123.100.100 (RR1),包含它从 123.123.31.31 (PE31) 收到的路由;对 PE31 而言,这只能证明其 Adj-RIB-Out。没有面向 PE31 的路由数据 | 不可用 | 所观测数据既不显示 123.123.31.31 (PE31) 的 Loc-RIB,也不显示其 Adj-RIB-In |
123.123.101.101 (RR2) 仅通过 BMP 为选定的 BGP 邻居导出 Adj-RIB-Out post-policy 数据。这是合规的:BMP Adj-RIB-Out 监控按 BGP 邻居和地址族分别配置,尽管 BGP 本身会为每个已建立的 BGP 邻居维护 Adj-RIB-Out。
4. BGP 路由
在收窄到单台路由器之前,先从图级别的 BGP Routes 表格开始。这里用于查看和过滤整个演示收集到的路由数据。
- 打开 Graph table 并选择 BGP Routes。让表格保持实时模式。
- 使用 prefix、bmp source、bmp ribs、peer ip 和路径属性列查找要调查的路由集合。
下方的全屏实时表格是图级别的 BGP Routes 视图。
BGP Routes 表格显示为整个图收集的路由。
5. 设备表单中的路由视图
设备表单中的路由计数显示该路由器的 RIB 视图:可以来自与该设备建立的 BMP 会话所提供的 Loc-RIB,也可以来自与相邻设备建立的 BMP 会话所提供的 Adj-RIB-Out post-policy。
- 在图上点击 123.14.14.14 (PE14),找到设备表单中的 BGP 部分。
- 确认 Routes 为 4,并阅读说明:这些路由由 123.123.101.101 (RR2) 通过 RFC 8671 向该路由器通告。
- 阅读 RIB 明细。Adj-RIB-Out post-policy 描述 123.123.101.101 (RR2) 导出的 RIB;从 123.14.14.14 (PE14) 的角度看,这四条通告是其推断出的 Adj-RIB-In。
- Adj-RIB-Out (post) 4 这一行计入 Routes:它表示 123.123.101.101 (RR2) 面向 123.14.14.14 (PE14) 的 Adj-RIB-Out,并作为 123.14.14.14 (PE14) 的推断 Adj-RIB-In。
该表单显示 123.14.14.14 (PE14) 的 RIB 视图:通过 BMP 从 123.123.101.101 (RR2) 获取的 Adj-RIB-Out post-policy 中的四条路由。
123.14.14.14 (PE14) 表单显示四条路由、BMP 来源 123.123.101.101 (RR2) 和 RIB Adj-RIB-Out post-policy。Routes 不包含 123.14.14.14 (PE14) 向 123.123.101.101 (RR2) 通告的路由,也不包含未用于 123.14.14.14 (PE14) RIB 视图的其他 BMP 观测。
6. 单个节点路由的过滤、排序与分页
从设备表单打开路由表;该表保留为 123.14.14.14 (PE14) 选择的 RIB 范围。
- 在 123.14.14.14 (PE14) 上点击 Routes 4。确认抽屉中恰好包含 100.30.0.0/24、10.100.31.0/24、2001:db8:123:123:30:30::/96 和 2001:db8:100:31::/64。
- 在 prefix 列中按 100.30.0.0/24 过滤。匹配行和表格计数都必须从 4 降到 1。
- 清除 prefix 过滤器并分别检查其他属性:local pref = 250 留下两条 VPN 路由,afi = 2 留下两条 IPv6 路由,med = 20 留下两条来自 123.123.30.30 (PE30) 的路由。
- 清除过滤器并确认 123.14.14.14 (PE14) 的四条路由全部返回。清除表格过滤器不得移除表单确定的设备范围。
- 点击可排序的表头,例如 prefix、nexthop、local pref 或 med。反复点击在升序、降序和不排序之间循环;地址列使用地址顺序,而非文本顺序。
- 对较大的路由表使用 Rows per page。在这个节点范围示例中演示只有一页,因此“上一页”和“下一页”控件正确地保持禁用。
下方表格保留 123.14.14.14 (PE14) 范围并加上前缀过滤,仅留下一条匹配路由。
过滤后的行将 123.123.101.101 (RR2) 显示为 bmp source,并将 Adj-RIB-Out post-policy 显示为观测到的 RIB。
7. 最佳路径选择
对于每个前缀,演示展示一个最佳路径选择条件。从 AS_PATH 开始:比较候选属性,然后从 123.123.101.101 (RR2) 构建路由并验证选定的 BGP next hop。
试点示例:AS_PATH 胜出
- 按 198.18.2.0/24 过滤 BGP Routes。
- 比较两个候选:两者的
Local Preference均为 100、Origin为 IGP、MED为 10。123.123.30.30 (PE30) 通告AS_PATH65010 65011 65012;123.14.14.14 (PE14) 通告AS_PATH65010。 - 切换到 BGP / VPN 路径模式。将 Router 设为 123.123.101.101 (RR2),将 VPN 或全局表设为 global,将 To 设为 198.18.2.0/24;然后选择 Build a path。
- 在 Route resolution 中确认第一行是 123.123.101.101 (RR2) 上的 BGP,next hop 为 123.14.14.14 (PE14)。其余行通过 IGP 解析该选定的 next hop。
下方过滤后的 BGP Routes 表格在构建路由前显示这两个候选。
接下来,选择 BGP / VPN 路径查找表单,并输入 123.123.101.101 (RR2)、全局表和该前缀。
在 Route resolution 中,第一行显示 123.123.101.101 (RR2) 选择 123.14.14.14 (PE14) 作为 BGP next hop;后续行根据 OSPF 数据构建。
post-policy 候选在 AS_PATH 长度上不同,而 Local Preference、Origin 和 MED 相等。从 123.123.101.101 (RR2) 构建路由会选定 123.14.14.14 (PE14) 作为 BGP next hop;随后的 IGP 行显示该 BGP next hop 的可达性。
其他最佳路径选择示例
| 决策 | 前缀 | 预期 BGP next hop | 区别所在 |
|---|---|---|---|
| LOCAL_PREF | 198.18.1.0/24 | 123.123.30.30 (PE30) | 更高的 Local Preference |
| AS_PATH | 198.18.2.0/24 | 123.14.14.14 (PE14) | 更短的 AS_PATH |
| ORIGIN | 198.18.3.0/24 | 123.123.30.30 (PE30) | origin 为 IGP 优于 incomplete |
| MED 参与比较 | 198.18.4.0/24 | 123.14.14.14 (PE14) | 来自同一相邻 AS 的更低 MED |
| MED 不参与比较 | 198.18.5.0/24 | 123.14.14.14 (PE14) | 相邻 AS 值不同使 MED 不符合比较条件 |
| Originator ID | 198.18.6.0/24 | 123.14.14.14 (PE14) | 在此前多项相等后,更低的 originator ID |
其他最佳路径选择条件
演示展示了上表列出的六个 BGP 最佳路径选择条件。它没有展示 eBGP 优于 iBGP、到 next hop 的 IGP 开销、路由存续时间、cluster-list 长度或 BGP 邻居地址的比较。
8. 两个时刻之间的路由状态比较
实时显示当前路由表状态。对比用于比较 T0 和 T1 时刻的路由状态。
- 打开图级别的 BGP Routes 表格,并从实时切换到对比。
- 保留演示加载时创建的默认一小时 T0-T1 时间范围,然后按运行。
- 表格显示一条新增路由 100.14.210.0/24;changed at 列包含该路由在 T1 之前最后一次变更的时间。
- added 表示路由在 T0 不存在而在 T1 存在;withdrawn 表示在 T0 存在而在 T1 不存在;changed 表示两个时刻都存在但属性不同。T1 之后的事件不在比较范围内。
- 切回实时以打开当前路由表状态。
下方比较是默认演示窗口的端点差异,而非按时间排列的事件日志。
在默认演示时间范围内,路由 100.14.210.0/24 的状态为 added,并且在 T1 时 MED 为 80。
单个 BGP 事件
事件模式使用相同的 BGP Routes 表格和时间范围,但显示每一次路由和 BGP 邻居观测,而不只显示 T0 与 T1 之间的差异。
- 从对比切换到事件,并保留覆盖演示变更的时间范围。
- 按运行,验证有一条路由 add、一个 peer down 事件,以及针对 100.14.210.0/24 的一条路由 change。
- 使用 event、kind、prefix、peer source、peer target 和 at 区分路由变更与 BGP 会话状态变更。
下方事件视图按时间列出观测:新增的路由、peer down 事件,然后是 MED 为 80 的变更路由。
事件模式按顺序显示全部三次观测。与对比不同,即使最终路由状态未变,它也保留中间事件。
9. BGP 下一跳经 OSPF 解析
BGP 选择路由;OSPF 为选定的 BGP next hop 提供可达性。路径视图明确展示这次交接。
- 在 Standard / IGP 路径模式下,用 123.123.30.30 (PE30) 作为源,用 100.14.0.0/24 作为目的。
- 查看选定的 BGP 行,确认 123.14.14.14 (PE14) 为 BGP next hop。
- 打开 Route resolution,从左到右阅读结果:第一行是 BGP,管理距离 200,next hop 为 123.14.14.14 (PE14)。
- 继续查看管理距离为 110 的五个 IGP 行,它们在物理上解析从 123.123.30.30 (PE30) 到 123.14.14.14 (PE14) 的可达性。
下方表格把单一的 BGP 路由选择与使其 next hop 可达的 IGP 跳分开。
BGP next hop 指向 123.14.14.14 (PE14);其余路径随后根据 OSPF 数据构建。
10. 无法构建的视图
按 123.123.31.31 (PE31) 过滤。Topolograph 能显示 123.123.100.100 (RR1) 从 123.123.31.31 (PE31) 收到的路由,但仅凭 RFC 7854 无法揭示 123.123.31.31 (PE31) 安装了哪条路由,或 123.123.100.100 (RR1) 又向它通告了什么。
- 打开 BGP Routes,并在 peer ip 列中按 123.123.31.31 过滤。Adj-RIB-In (pre) 和 Adj-RIB-In (post) 显示 123.123.100.100 (RR1) 从 123.123.31.31 (PE31) 收到的路由,而不是 123.123.31.31 (PE31) 的路由表。
- 打开 BGP / VPN 路径查找表单并选择 Router 123.123.31.31。表单会警告未观测到该路由器的表,并且不允许根据 BGP 数据构建路径。
- 将 123.123.31.31 (PE31) 与 123.15.15.15 (PE15) 对比:对于 123.15.15.15 (PE15),Topolograph 使用 123.123.101.101 (RR2) Loc-RIB,并明确假设 123.123.101.101 (RR2) 已向 123.15.15.15 (PE15) 通告路由且 123.15.15.15 (PE15) 已应用入站策略。
当可用 BMP 数据无法描述所选设备的路由表时,Topolograph 不会构建路径。要消除此限制,请通过 RFC 9069 提供该设备的 Loc-RIB,或通过 RFC 8671 提供其按 BGP 邻居的 Adj-RIB-Out post-policy。