Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Реализация BGP-демона с открытым исходным кодом
Open source BGP daemon implementation
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 и не соответствует требованиям и стандартам качества проекта.
OpenBGPD, also known as OpenBSD Border Gateway Protocol Daemon, is a server software program that allows general purpose computers to be used as routers. It is a Unix system daemon that provides a free, open source implementation of the Border Gateway Protocol version 4. This allows a machine to exchange routes with other systems that speak BGP. OpenBSD Border Gateway Protocol Daemon is developed by Henning Brauer, Peter Hessler, and Claudio Jeker as part of the OpenBSD project. OpenOSPFD, developed by Esben Nørby, is a companion daemon of OpenBGPD that implements the Open Shortest Path First protocol. The suite was developed as an alternative to packages such as Quagga, a Linux focused routing suite which is licensed under the GPL and does not meet the project's requirements and quality standards.
Голы
Цели разработки демона OpenBSD Border Gateway Protocol включают в себя безопасность (неуязвимость), надежность и достаточную компактность для большинства пользователей, как по размеру, так и по потреблению памяти. Язык конфигурации должен быть одновременно мощным и простым в использовании. Он также должен обеспечивать быструю обработку сотен тысяч записей таблицы с эффективным использованием памяти.
The design goals of OpenBSD Border Gateway Protocol Daemon include being secure (non exploitable), reliable, and lean enough for most users, both in size and memory usage. The configuration language should be both powerful and easy to use. It must also be able to quickly handle hundreds of thousands of table entries in a memory efficient way.
Дизайн
OpenBGPD состоит из родительского процесса и двух дочерних процессов: движка принятия решений о маршрутах (RDE) и движка сеансов (SE). Родительский процесс – единственная часть, которая не снижает привилегии; остальные снижают их в целях повышения безопасности. Родительский процесс не может снизить привилегии, поскольку ему необходимо обновлять таблицу маршрутизации и он должен работать на привилегированном порту (179).
OpenBGPD consists of a parent process, and two child processes: the Route Decision Engine (RDE), and the Session Engine (SE). The parent process is the only part that doesn't drop privileges; the others do, in the interest of non exploitability. The parent process cannot drop privileges, because it needs to update the routing table and it has to run on a privileged port (179).