Entwickler von OpenBSD erste stabile Aktualisierung der portablen Version des Routing-Pakets , die in Betriebssystemen eingesetzt werden kann, die nicht auf OpenBSD basieren. Für die Gewährleistung der Portabilität wurden Teile des Codes aus den Projekten OpenNTPD, OpenSSH und LibreSSL genutzt. Neben OpenBSD werden auch Linux und FreeBSD unterstützt. Die Funktionalität von OpenBGPD wurde unter Debian 9, Ubuntu 14.04 und FreeBSD 12 getestet.
Die Entwicklung von OpenBGPD erfolgt unter des regionalen Internetregistrars RIPE NCC, der an der Erweiterung der Funktionalität von OpenBGPD interessiert ist, um dessen Nutzbarkeit auf Servern für das Routing an internen Verkehrsaustauschpunkten (IXP) sicherzustellen und eine vollwertige Alternative zu den Paketen zu schaffen. (unter den anderen offenen Alternativen mit der Implementierung des BGP-Protokolls können Projekte wie , , und ).
Bei der Entwicklung von OpenBGPD liegt der Schwerpunkt auf der Gewährleistung höchster Sicherheits- und Zuverlässigkeitsstandards. Zur Absicherung kommen strenge Validierungsverfahren für alle Parameter, Mechanismen zur Kontrolle der Einhaltung von Puffergrenzen, eine Trennung von Rechten und der eingeschränkte Zugriff auf Systemaufrufe zum Einsatz. Zu den Vorteilen zählen auch die benutzerfreundliche Syntax der Konfigurationssprache, hohe Leistung und effiziente Speicherverwaltung (zum Beispiel kann OpenBGPD mit Routingtabellen arbeiten, die Hunderttausende von Einträgen umfassen). 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 leisten, und bietet in erster Linie Unterstützung für die am häufigsten geforderten und verbreitetsten Funktionen.
Dank der Unterstützung des RIPE NCC im Rahmen der Entwicklungszyklen von OpenBSD 6.4 und 6.5 hat das OpenBGPD-Projekt einen bedeutenden Fortschritt gemacht. Im Release 6.5 wurden beispielsweise folgende Verbesserungen implementiert:
- Ein einfacher Regeloptimierer wurde hinzugefügt (führt das Zusammenführen von Filterregeln durch, die sich nur durch Filtersets unterscheiden);
- Der Prozess zur Konfiguration von BGP MPLS VPN wurde geändert;
- Unterstützung für IPv6 BGP MPLS VPN hinzugefügt
- Die Funktionalität «as-override» wurde implementiert, um den Nachbar-AS in Pfaden durch den lokalen AS zu ersetzen;
- Die Möglichkeit, mehrere Communities in einer Regel zuzuordnen, wurde hinzugefügt;
- Neue Matching-Labels «*», «local-as» und «neighbor-as» wurden hinzugefügt;
- Neue Befehle zum Arbeiten mit Gruppen benachbarter autonomer Systeme hinzugefügt («bgpctl neighbor group», «bgpctl show neighbor group», «bgpctl show rib neighbor group»);
- Arbeit zur Reduzierung des Speicherverbrauchs durchgeführt;
- Die Handhabung großer Regelsets wurde verbessert;
- In bgpctl wurde die Möglichkeit hinzugefügt, Netzwerke in die BGP VPN-Tabellen einzutragen.
Quelle: opennet.ru
