Se ha presentado la versión portátil del paquete de enrutamiento OpenBGPD 9.0, desarrollado por los creadores del proyecto OpenBSD y adaptado para su uso en FreeBSD y Linux (se ha declarado soporte para Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Para garantizar la portabilidad, se han utilizado partes del código de los proyectos OpenNTPD, OpenSSH y LibreSSL. El proyecto soporta la mayor parte de las especificaciones de BGP 4 y cumple con los requisitos de RFC8212, pero no intenta abarcarlo todo y se centra principalmente en el soporte de las funciones más demandadas y comunes.
El desarrollo de OpenBGPD se lleva a cabo con el apoyo del registrador de internet regional RIPE NCC, que está interesado en llevar la funcionalidad de OpenBGPD a la idoneidad para su uso en como en entornos de nube públicos o privados. el enrutamiento en puntos de intercambio de tráfico entre operadores (IXP) y en la creación de una alternativa completa al paquete BIRD (entre las alternativas abiertas que implementan el protocolo BGP se destacan proyectos como FRRouting, GoBGP, ExaBGP y Bio-Routing).
El proyecto se centra principalmente en garantizar el máximo nivel de seguridad y fiabilidad. Se aplica una verificación estricta de la validez de todos los parámetros, herramientas para el control del cumplimiento de los límites de los búferes, separación de privilegios y restricción del acceso a las llamadas al sistema. También se destaca su sintaxis conveniente para el lenguaje de definición de configuración, alto rendimiento y la eficiencia en el uso de la memoria (por ejemplo, OpenBGPD puede manejar tablas de enrutamiento que incluyen cientos de miles de registros).
Cambios clave en la nueva versión:
- Se ha reescrito la implementación de las tablas Adj-RIB-Out (Adjacency Routing Information Base Out), que almacenan rutas para anunciar a los enrutadores vecinos. Las optimizaciones implementadas durante la reestructuración han permitido reducir notablemente el consumo de memoria y aumentar el rendimiento; por ejemplo, en grandes servidores de intercambio de tráfico (IXP, Internet Exchange Point), el consumo de memoria se ha reducido en más del 50%.
- Se ha modernizado el procesamiento de los mensajes UPDATE, que se ha dividido en dos fases: primero se actualizan las tablas Adj-RIB-In, Loc-RIB y FIB, después se procesan por separado todas las tablas Adj-RIB-Out. Este nuevo método ha permitido reducir las latencias, ya que la mayor parte del tiempo se consume en la actualización de las tablas Adj-RIB-Out.
- Se ha implementado una nueva y escalable versión de tablas hash, lo que ha permitido mejorar el rendimiento a través de un acceso más efectivo a los datos en caché.
- Se han añadido nuevas métricas para rastrear el tiempo gastado en las distintas etapas del ciclo de procesamiento de eventos en el motor de enrutamiento.
Fuente: opennet.ru
