我们旧的 BGP 监控系统使用 ExaBGP 来收集实时 BGP 公告消息。该系统通常安装在 Linux 代理中,该代理将成为许多其他路由器/交换机的对等体,以便该代理可以收集我们网络中的实时 BGP 更新消息。问题是,ExaBGP 每次都必须为新对等体设置一个新进程,而我们的代理必须监控数千台路由器(因此有数千个进程......),因此旧系统不稳定。
最近我在研究 Quagga/FRRouting 和 GoBGP。这两个也是高效的 BGP 实现。我计划注入一些代码,用于在代理收到这些消息时收集详细的 BGP 公告消息。我想知道是否可以使用 GoBGP 或 Quagga 实现我们的目标。如果可以,我应该在哪里注入这些代码?在 Zebra 模块中?
我是 BGP 新手,不熟悉这些 BGP 工具。您能提供一些建议或经验吗?谢谢 :)
我尝试阅读 Quagga 和 GoBGP 的源代码,但由于我对 BGP 了解甚少,所以对我来说有点难 :(