Die portable Version des Routing-Pakets OpenBGPD 9.1, entwickelt von den Entwicklern des OpenBSD-Projekts und für die Verwendung unter FreeBSD und Linux angepasst (unterstützt werden Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu), wurde vorgestellt. Für die Portabilität wurden Teile des Codes aus den Projekten OpenNTPD, OpenSSH und LibreSSL verwendet. Das Projekt unterstützt den Großteil der BGP 4-Spezifikationen und erfüllt die Anforderungen von RFC8212, versucht jedoch nicht, das Unmögliche zu erfassen, und bietet hauptsächlich Unterstützung für die gefragtesten und am weitesten verbreiteten Funktionen.
Die Entwicklung von OpenBGPD erfolgt mit Unterstützung der regionalen Internetregistrierungsstelle RIPE NCC, die daran interessiert ist, die Funktionalität von OpenBGPD für die Nutzung in Servern Routing an Internet Exchange Points (IXP) und für die Schaffung einer vollständigen Alternative zum BIRD-Paket (unter den Open-Source-Alternativen mit Implementierung des BGP-Protokolls sind die Projekte FRRouting, GoBGP, ExaBGP und Bio-Routing zu nennen).
Im Projekt wird ein besonderes Augenmerk auf die Gewährleistung eines maximalen Sicherheits- und Zuverlässigkeitsniveaus gelegt. Zur Sicherheit wird eine strenge Überprüfung aller Parameter, Maßnahmen zur Kontrolle von Puffergrenzen, Privilegienaufteilung und Zugangsbeschränkung zu Systemaufrufen verwendet. Zu den Vorteilen zählen auch die benutzerfreundliche Syntax der Konfigurationssprache, hohe Leistung und effiziente Speicherverwaltung (zum Beispiel kann OpenBGPD mit Routing-Tabellen arbeiten, die Hunderttausende von Einträgen enthalten).
Wichtige Änderungen in der neuen Version:
- Die Leistung des Ausgangsroutefilters (outbound filter) wurde verbessert. Die Filterregeln werden jetzt in einem Array gespeichert, und doppelte Filter bei verschiedenen Nachbarn werden dedupliziert.
- Im RDE (Route Decision Engine) wurde die Leistung der Verarbeitung von Tabellen mit Filtern (filter_sets) verbessert – um die Effizienz der Caching-Mechanismen zu erhöhen, wurden die Filter in ein lineares Array von Objekten verschoben. Auf Servern mit einer großen Anzahl von Routen haben die mit Filtern verbundenen Optimierungen die Dauer der initialen Synchronisation um mehr als 25 % verkürzt.
- Die Protokollierung von Analysefehlern in Bezug auf Attribute, die zur Sitzungssammlung führen, wurde verbessert.
- Das Kommando ‚show rib memory‘ wurde um zusätzliche Metriken zur Bewertung des Speicherverbrauchs ergänzt.
Quelle: opennet.ru
