Введение

Реализация BGP-демона с открытым исходным кодом

OpenBGPD, также известный как демон протокола граничной маршрутизации OpenBSD (OpenBSD Border Gateway Protocol Daemon), – это серверная программа, позволяющая использовать компьютеры общего назначения в качестве маршрутизаторов. Это системный демон Unix, предоставляющий бесплатную реализацию протокола граничной маршрутизации версии 4 с открытым исходным кодом. Это позволяет устройству обмениваться маршрутной информацией с другими системами, использующими BGP. OpenBSD Border Gateway Protocol Daemon разработан Хеннингом Брауэром, Питером Хесслером и Клаудио Джекером в рамках проекта OpenBSD. OpenOSPFD, разработанный Эсбеном Нёрби, является сопутствующим демоном OpenBGPD, реализующим протокол Open Shortest Path First. Этот набор программ был разработан как альтернатива пакетам, таким как Quagga – маршрутизационному комплексу, ориентированному на Linux, который лицензирован под GPL и не соответствует требованиям и стандартам качества проекта.

Голы

Цели разработки демона OpenBSD Border Gateway Protocol включают в себя безопасность (неуязвимость), надежность и достаточную компактность для большинства пользователей, как по размеру, так и по потреблению памяти. Язык конфигурации должен быть одновременно мощным и простым в использовании. Он также должен обеспечивать быструю обработку сотен тысяч записей таблицы с эффективным использованием памяти.

Дизайн

OpenBGPD состоит из родительского процесса и двух дочерних процессов: движка принятия решений о маршрутах (RDE) и движка сеансов (SE). Родительский процесс – единственная часть, которая не снижает привилегии; остальные снижают их в целях повышения безопасности. Родительский процесс не может снизить привилегии, поскольку ему необходимо обновлять таблицу маршрутизации и он должен работать на привилегированном порту (179).