我正在尝试编写 eBGP 扬声器的简化版本。对于导入策略,我想确保我导入的任何新路由都没有任何循环。我构建的路由表看起来像这样。
10.0.0.0/8 3 8 11
10.8.0.0/8 4
192.168.0.0/16 3 5 6
192.168.43.0/24 (local)
我的问题是,你如何检查路由循环?
现在我已经尝试了多种方法,我认为查看是否存在任何循环的正确方法是使用路由表中的所有路由构造一个 DAG。然后检查新路线是否在图中创建了一个循环。但是我不明白在创建 DAG 时是否应该只查看某些前缀。