RIPE NCC поддержал разработку OpenBGPD
Региональный интернет-регистратор RIPE NCC, занимающийся распределением IP-адресов на территории Европы, Средней и Центральной Азии, обеспечил поддержку разработки OpenBGPD, развиваемого проектом OpenBSD пакета для маршрутизации с использованием протокола BGP. RIPE и несколько европейских точек обмена трафиком организовали финансирование работы над OpenBGPD - последние 6 месяцев ключевой разработчик OpenBGPD имеет возможность развивать проект в режиме полного рабочего дня. Целью проекта является доведение функциональности OpenBGPD до состояния, пригодного для использования на серверах для маршрутизации в точках межоператорского обмена трафиком (IXP).
Из наблюдаемых ранее проблем, мешавших использованию OpenBGPD в крупных инфраструктурах отмечается низкая производительность в условиях поддержания полного набора фильтров на базе глобальной таблицы BGP-маршрутов, и блокировка обновлений в процессе перезагрузки конфигурации (перезаливка конфигурации с 370 тысячами фильтров занимает около часа). Полгода назад началась интенсивная работа по устранению данных проблем и улучшению поддержки актуальных спецификаций. Например, в процессе разработки OpenBGPD 6.4 в код внесено 154 улучшения, что составляет около 8% всех коммитов за всю историю проекта.
В частности, в OpenBGPD 6.4 обеспечено соответствие требованиям RFC8212 (по умолчанию теперь применяются правила блокировки), добавлена поддержка RPKI (Resource Public Key Infrastructure) для верификации автономных систем (пока только для статических таблиц (roa-set), без поддержки RTR), реализованы средства для манипуляции наборами префиксов (prefix-sets), автономных систем (as-sets) и исходных систем (origin-sets, префикс + исходная автономная система), задействован новый быстрый алгоритм поиска в больших коллекциях фильтров, обеспечена возможность фонового обновления конфигурации, убрана блокировка, мешающая применению обновлений в процессе перезагрузки конфигурации.
Поддержка новых возможностей OpenBGPD 6.4 добавлена в утилиты bgpq3 и arouteserver, часто применяемыми сетевыми операторами для генерации конфигурации BGP. Например, реализация наборов префиксов и автономных систем позволила существенно сократить размер генерируемых таблиц с фильтрами. Если в версии 6.3 таблица с фильтрами включала 370 тысяч записей, то для версии 6.4 ее удалось ужать до 6000 правил. Время загрузки полного набора правил после перезапуска сократилась с часа до 2 минут. Перезагрузка конфигурации теперь занимает менее 10 секунд.
В мае планируется выпустить релиз OpenBGPD 6.5, в котором ожидается продолжение оптимизации операций с фильтрами, улучшение фильтрации по "community" (сопоставление групп и быстрые операции установки и удаления), рефакторинг кода обработки таблиц маршрутизации (RIB, Routing Information Base) и ускорение работы с несколькими таблицами маршрутизации. Отдельно можно отметить намерение подготовить весной переносимую версию OpenBGPD (пока без поддержки FIB), которую по аналогии с OpenSSH и LibreSS, можно будет использоваться в разных операционных системах.
Из дальнейших планов упоминается добавление поддержки многопоточности в RDE для распаралелливания операций с фильтрами, добавление поддержки FIB в переносимую версию, реализацию расширенных функций (ADD_PATH, BGP multipath, RFC 7313, BMP, RTR).