Summary

  • Craig Johnson 的 NANOG 98 案例从 BGP 出站前缀列表中删掉 le 32;会话仍连接,服务发布的两个 /25 却不再匹配。
  • 仿真环境运行真实网络系统,观察这次撤路;数字孪生用采集到的网络状态计算路径影响。两份证据回答不同问题。

绿灯最会骗人,尤其当它只监视 BGP 会话。Craig Johnson 展示的改动不过是一行:permit 10.20.30.0/24 le 32 变成 permit 10.20.30.0/24。服务端发布的是两个 /25。在他给定的拓扑里,没有覆盖的 /24,也没有客户 VRF 默认路由;改完后两个 /25 都过不了出站规则。会话不断,HTTPS 探测却超时。

Johnson 于 10 月 19 日在迈阿密的 NANOG 98 讲述了这件事。他搭建的 Skyforge 是一个可按需销毁的内部网络实验平台。拓扑以 YAML 声明,由 netlab 编译,经 KNE 和 meshnet 启动真实网络操作系统实例。这样的实验能看到软件究竟怎样接受命令、撤销路由、维持邻接。对于这行改动,实验观察到的正是“BGP 仍在、/25 已走”。

但实验里的网络是人搭出来的。外部邻居、当前故障、学到的路由、返回路径和策略依赖,如果没被放进去,再逼真的设备也不会替它们作证。Johnson 因而把第二个问题交给行为数字孪生:从实际网络采集配置与状态,计算这项改动会切断哪些路径。其示例结果是 56 对源与目的地中有 8 对受到影响。模型覆盖的是被采集的网络;它没有亲自运行一次真实设备的软件转换,也不能凭路径计算证明应用响应时间。

这两种工具在同一个前缀列表例子上给出一致结论,价值正在于证据可互相对照。实验说明软件确实会撤掉两个 /25;模型指出哪些通信关系因此失去路径。Johnson 也给出实验规模的代价:100 个 cEOS 节点 374 秒就绪;一次 250 节点尝试在 220 个时因内存卡住;修正后 500 个节点在 925 秒全部就绪。这是讲稿中的实验数据,足以解释为什么不能靠不断扩大实验室来替代全网状态计算。

他描述的变更流程先把改动写进 git,在实验设备上带着自动撤销机制应用,再采集新快照并核对检查项。讲稿写明这一流程运行在实验设备,不是生产网已验证的自动发布。真正该搬进审批表的不是“我们有数字孪生”六个字,而是具体哪条路径被测过、哪台设备的软件行为被看见,以及缺失的输入由谁补齐。

来源:NANOG 98 会议条目 · Johnson 的原始讲稿。