Se ha presentado la versión portátil del paquete de enrutamiento OpenBGPD 9.1, desarrollado por los creadores del proyecto OpenBSD y adaptado para su uso en FreeBSD y Linux (se promete soporte para Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Para asegurar la portabilidad, se han utilizado partes del código de los proyectos OpenNTPD, OpenSSH y LibreSSL. El proyecto admite la mayor parte de las especificaciones BGP 4 y cumple con los requisitos de la RFC8212, pero no intenta abarcarlo todo y proporciona principalmente soporte para las funciones más solicitadas y extendidas.
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 en garantizar el máximo nivel de seguridad y fiabilidad. Se utiliza una estricta verificación de la validez de todos los parámetros, herramientas para el control del cumplimiento de los límites de los buffers, separación de privilegios y restricción del acceso a llamadas del sistema. También se destaca un sintaxis conveniente para el lenguaje de definición de configuración, así como un alto rendimiento y eficiencia en el uso de memoria (por ejemplo, OpenBGPD puede trabajar con tablas de enrutamiento que incluyen cientos de miles de registros).
Cambios clave en la nueva versión:
- Se ha mejorado el rendimiento del filtro de rutas salientes (outbound filter). Las reglas de filtrado ahora se almacenan en un array, y los filtros que se repiten en diferentes pares se deduplican.
- En el proceso RDE (Route Decision Engine) se ha aumentado el rendimiento del procesamiento de tablas con filtros (filter_sets); para mejorar la eficiencia de almacenamiento en caché, los filtros se han trasladado a un array lineal de objetos. En servidores con un gran número de rutas, las optimizaciones relacionadas con los filtros han permitido reducir el tiempo de sincronización inicial en más del 25%.
- Se ha mejorado el registro de errores relacionados con el análisis de atributos que conducen a la recolección de sesiones.
- Se han añadido métricas adicionales al comando 'show rib memory' para evaluar el consumo de memoria.
Fuente: opennet.ru
