ИИ

Лаборатория AI Routing: как машинное обучение помогает совершенствовать сетевые маршруты

Краткое резюме

В рамках проекта CloudBridge Research используют машинное обучение для оптимизации сетевых маршрутов и преодоления ограничений протокола BGP. Цель — научить сеть самостоятельно выбирать оптимальный путь, учитывая реальную задержку и джиттер.

В рамках исследовательского проекта CloudBridge Research, направленного на использование машинного обучения для оптимизации сетевых протоколов, была подготовлена статья. Проект доступен по адресу github.com/twogc/ai-routing-lab. Ранее мы уже рассказывали о том, как максимально эффективно использовали сетевые протоколы BBRv3, FEC и QUIC, а также о создании инструментов для их тестирования, таких как quic-test. Однако мы столкнулись с проблемой: несмотря на все усилия по ускорению передачи данных по одному каналу, иногда самый быстрый способ доставки данных — это выбор альтернативного маршрута. В интернете, где BGP (протокол маршрутизации) функционирует независимо и не всегда учитывает текущие условия сети, такой как потери пакетов или джиттер на «коротком» маршруте, мы решили использовать машинное обучение для того, чтобы научить сеть самостоятельно выбирать оптимальный путь. **Контекст задачи** Представьте, что у вас есть три маршрута между Москвой и Франкфуртом: прямой маршрут через Ростелеком, через Амстердам (Cogent) и через Варшаву (Level3). Каждый маршрут имеет свои особенности в зависимости от времени суток, загрузки сети, погодных условий и других факторов. Традиционная маршрутизация выбирает путь на основе метрик BGP, таких как AS Path и MED, но эти метрики не учитывают реальную задержку и джиттер. Мы решили использовать машинное обучение для прогнозирования поведения маршрутов и активного выбора наилучшего пути. **Проблема BGP** BGP — это основа интернет-маршрутизации, но у него есть ограничения: * Статические метрики, такие как AS Path, Local Preference и MED, не отражают реальное качество канала. * Медленная конвергенция: изменение маршрута занимает много времени. * Отсутствие учёта джиттера: BGP не знает о вариации задержки. * Отсутствие прогнозирования: BGP реагирует на проблемы, а не предсказывает их. **Реальный пример** На маршруте Москва — Франкфурт мы наблюдали, что прямой маршрут быстрее утром, но ухудшается вечером. BGP об этом не знает и продолжает использовать прямой путь. **Решение: использование машинного обучения для прогнозирования маршрутов** Архитектура системы включает в себя: * quic-test для непрерывного измерения метрик на всех доступных маршрутах; * AI Routing Lab для обучения моделей машинного обучения; * CloudBridge Relay для применения моделей. Данные экспортируются в Prometheus с временными метками. AI Routing Lab использует Random Forest для прогнозирования: * LatencyPredictor предсказывает RTT на следующие 5–10 минут; * JitterPred предсказывает джиттер.

Фильтры и сортировка