Прадстаўлены выпуск пераноснай рэдакцыі пакета маршрутызацыі OpenBGPD 9.0, які развіваецца распрацоўшчыкамі праекта OpenBSD і адаптаванага для выкарыстання ва FreeBSD і Linux (заяўлена падтрымка Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Для забеспячэння пераноснасці скарыстаны часткі кода з праектаў OpenNTPD, OpenSSH і LibreSSL. Праект падтрымлівае большую частку спецыфікацый BGP 4 і адпавядае патрабаванням RFC8212, але не спрабуе асягнуць неабсяжнае і забяспечвае галоўным чынам падтрымку найбольш запатрабаваных і распаўсюджаных функцый.
Распрацоўка OpenBGPD вядзецца пры падтрымцы рэгіянальнага інтэрнэт-рэгістратара RIPE NCC, які зацікаўлены ў давядзенні функцыянальнасці OpenBGPD да прыдатнасці да выкарыстання на серверах для маршрутызацыі ў кропках міжаператарскага абмену трафікам (IXP) і ў стварэнні паўнавартаснай альтэрнатывы пакету BIRD (з адчыненых альтэрнатыў з рэалізацыяй пратаколу BGP можна адзначыць праекты FRRouting, GoBGP, ExaBGP і Bio-Routing).
У праекце асноўная ўвага надаецца забеспячэнню максімальнага ўзроўню бяспекі і надзейнасці. Для абароны прымяняецца жорсткая праверка карэктнасці ўсіх параметраў, сродкі для кантролю захавання межаў буфераў, падзел прывілеяў і абмежаванне доступу да сістэмных выклікаў. З добрых якасцяў таксама адзначаецца зручны сінтаксіс мовы вызначэння канфігурацыі, высокая прадукцыйнасць і эфектыўнасць працы з памяццю (напрыклад, OpenBGPD можа працаваць з табліцамі маршрутызацыі, улучальнымі сотні тысяч запісаў).
Ключавыя змены ў новай версіі:
- Перапісана рэалізацыя табліц Adj-RIB-Out (Adjacency Routing Information Base Out), якія захоўваюць маршруты для анансавання суседнім маршрутызатарам. Рэалізаваныя пры перапрацоўцы аптымізацыі дазволілі прыкметна знізіць спажыванне памяці і павысіць прадукцыйнасць, напрыклад, на буйных серверах абмену трафікам (IXP, Internet Exchange Point) спажыванне памяці знізілася больш за на 50%.
- Мадэрнізаваная апрацоўка UPDATE-паведамленняў, якая падзелена на дзве фазы – спачатку ажыццяўляецца абнаўленне табліц Adj-RIB-In, Loc-RIB і FIB, пасля чаго асобна апрацоўваюцца ўсе табліцы Adj-RIB-Out. Новы метад дазволіў знізіць затрымкі, бо большую частку часу займае абнаўленне табліц Adj-RIB-Out.
- Задзейнічана новая якая маштабуецца рэалізацыя хэш-табліц, якая дазволіла падвысіць прадукцыйнасць за рахунак больш эфектыўнага траплення дадзеных у кэш.
- Дададзены новыя метрыкі для адсочвання часу, выдаткаванага на выкананне розных этапаў цыкла апрацоўкі падзей у рухавічку маршрутызацыі.
Крыніца: opennet.ru
