Este prezentată lansarea unei ediții portabile a pachetului de rutare OpenBGPD 9.0, dezvoltată de dezvoltatorii proiectului OpenBSD și adaptată pentru utilizare pe FreeBSD și Linux (se declară suport pentru Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Pentru a asigura portabilitatea, au fost utilizate părți ale codului din proiectele OpenNTPD, OpenSSH și LibreSSL. Proiectul acceptă majoritatea specificațiilor BGP 4 și respectă cerințele RFC8212, dar nu încearcă să îmbrățișeze vastul și oferă în principal suport pentru cele mai populare și răspândite funcții.
Dezvoltarea OpenBGPD se realizează cu sprijinul registrului regional de internet RIPE NCC, care este interesat să aducă funcționalitatea OpenBGPD la punctul de a fi potrivită pentru utilizare pe servere pentru rutare la punctele de schimb de trafic interoperator (IXP) și în crearea unei alternative complete la pachetul BIRD (dintre alternativele deschise cu implementarea protocolului BGP, se pot menționa proiectele FRRouting, GoBGP, ExaBGP și Bio-Routing).
Proiectul se concentrează pe asigurarea celui mai înalt nivel de securitate și fiabilitate. Protecția este asigurată prin validarea strictă a tuturor parametrilor, impunerea limitelor buffer-ului, separarea privilegiilor și accesul restricționat la apelurile de sistem. Sintaxa ușor de utilizat a limbajului de definire a configurației este, de asemenea, remarcată ca un punct forte. performanta ridicata și eficiența memoriei (de exemplu, OpenBGPD poate gestiona tabele de rutare care conțin sute de mii de intrări).
Schimbări cheie în noua versiune:
- Tabelele Adj-RIB-Out (Adjacency Routing Information Base Out), care stochează rute pentru a fi trimise către routerele vecine, au fost rescrise. Optimizările implementate în timpul rescrierii au redus semnificativ consumul de memorie și au îmbunătățit performanța; de exemplu, pe serverele IXP (Internet Exchange Point) de dimensiuni mari, consumul de memorie a fost redus cu peste 50%.
- Procesarea mesajelor UPDATE a fost simplificată și împărțită în două faze: mai întâi, tabelele Adj-RIB-In, Loc-RIB și FIB sunt actualizate, urmate de procesarea separată a tuturor tabelelor Adj-RIB-Out. Această nouă metodă a redus latența, deoarece actualizarea tabelelor Adj-RIB-Out ocupă cea mai mare parte a timpului de procesare.
- Se utilizează o nouă implementare a tabelului hash scalabil, care îmbunătățește performanța prin încărcarea mai eficientă a datelor în memoria cache.
- Au fost adăugate noi valori de măsurare pentru a urmări timpul petrecut executând diferite etape ale ciclului de procesare a evenimentelor în motorul de rutare.
Sursa: opennet.ru
