什么是BGP?

边界网关协议(英语:Border Gateway Protocol,缩写:BGP)是运行于TCP 上的一种自治系统之间的路由协议。它通过维护IP路由表或“前缀”表来实现自治系统(AS)之间的可达性,属于矢量路由协议。BGP不使用传统的内部网关协议(IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。因此,它更适合被称为矢量性协议,而不是路由协议。

现在的Internet是一个由多个自治系统(AS)相互连接构成的大网络,BGP作为事实上的Internet路由协议标准,被广泛应用于ISP(Internet Service Provider)之间。

什么是GoBGP?

GoBGP 是使用 Go 语言开发的,运行在 Linux 系统上的开源工具,可以提供 BGP 协议的控制平面功能。与 Quagga/FRRouting 相比,GoBGP 的性能更好,收敛时间更短,可以适用于更大规模的网络,比如充当 IXP 路由器。

可以使用 Python、C++ 等多种语言,通过 gRPC API 对 GoBGP 进行配置,当然也支持 CLI。GoBGP 还支持 OpenConfig。因为 GoBGP 可以很方便地人工干涉路由,参与感更强,是一个很好的实验工具。

广州市百果园网络科技有限公司

粤ICP备15049658号