В рамках проекта GoBGP развивается реализация протокола BGP на языке Go
В рамках проекта GoBGP подготовлена реализация протокола маршрутизации BGP, которую можно использовать для развёртывания серверов и рефлекторов BGP. GoBGP рассчитан на применения на многоядерных системах и активно использует средства распараллеливания операций, предоставляемые языком Go. GoBGP поддерживает такие расширенные возможности, как Route Map, MRT (Multi-Threaded Routing Toolkit), BMP (BGP Monitoring Protocol), EVPN (Ethernet VPN), Flowspec (RFC5575) и RPKI (Resource Public Key Infrastructure для верификации автономных систем). Исходные тексты проекта распространяются под лицензией Apache 2.0.
Для управления предлагается удобный интерфейс командной строки, позволяющий изменять конфигурацию на лету, без перезапуска фонового процесса. Конфигурация может храниться в форматах toml, json, yaml или hcl. Модель настройки не привязана к особенностям реализаций BGP отдельных поставщиков и основана на рекомендациях IETF. Имеется поддержка интерфейса gRPC, который обеспечивает интеграцию GoBGP с приложениями на различных языках программирования, включая Python, Ruby, C++, Node.js и Java.
Источник opennet.ru