Byla vydána verze přenosné edice routovacího balíčku OpenBGPD 9.0, vyvíjeného vývojáři projektu OpenBSD a přizpůsobeného pro použití ve FreeBSD a Linuxu (podporovány jsou Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Pro zajištění přenositelnosti byly použity části kódu z projektů OpenNTPD, OpenSSH a LibreSSL. Projekt podporuje většinu specifikací BGP 4 a splňuje požadavky RFC8212, ale nesnaží se obsáhnout nemožné a poskytuje především podporu nejžádanějších a nejrozšířenějších funkcí.
Vývoj OpenBGPD probíhá s podporou regionálního internetového registrátora RIPE NCC, který má zájem o přivedení funkčnosti OpenBGPD k použitelnosti na serverech pro směrování na místech mezitrafikových výměn (IXP) a o vytvoření plnohodnotné alternativy balíčku BIRD (mezi otevřenými alternativami s implementací protokolu BGP lze zmínit projekty FRRouting, GoBGP, ExaBGP a Bio-Routing).
V projektu je hlavní důraz kladen na zajištění maximální úrovně bezpečnosti a spolehlivosti. Pro ochranu se používá přísná kontrola správnosti všech parametrů, prostředky pro kontrolu dodržování hranic bufferů, dělení privilegií a omezení přístupu k systémovým voláním. Mezi výhody patří také přívětivá syntaxe jazyka pro definici konfigurace, vysoký výkon a efektivita práce s pamětí (například OpenBGPD může pracovat s routovacími tabulkami obsahujícími stovky tisíc záznamů).
Hlavní změny v nové verzi:
- Byla přepracována implementace tabulek Adj-RIB-Out (Adjacency Routing Information Base Out), které uchovávají trasy pro oznamování sousedním routerům. Optimalizace provedené při přepracování umožnily výrazně snížit spotřebu paměti a zvýšit výkon, například na velkých serverech pro výměnu provozu (IXP, Internet Exchange Point) se spotřeba paměti snížila o více než 50%.
- Byla modernizována zpracování UPDATE zpráv, které bylo rozděleno do dvou fází - nejprve se provede aktualizace tabulek Adj-RIB-In, Loc-RIB a FIB, po čemž jsou odděleně zpracovány všechny tabulky Adj-RIB-Out. Nová metoda umožnila snížit latence, protože většinu času zabírá aktualizace tabulek Adj-RIB-Out.
- Byla nasazena nová škálovatelná implementace hash tabulek, což umožnilo zvýšit výkon díky efektivnějšímu zasahování dat do cache.
- Byly přidány nové metriky pro sledování času stráveného plněním různých fází cyklu zpracování událostí v routovacím jádru.
Zdroj: opennet.ru
