Что такое BGP (Border Gateway Protocol)?

Определение BGP

Протокол граничного шлюза (Border Gateway Protocol, BGP) — это основной протокол маршрутизации в интернете. Он используется для обмена информацией о маршрутах между отдельными сетями, из которых состоит интернет. По сути, интернет может работать как огромная взаимосвязанная сеть сетей именно благодаря протоколу BGP, устанавливающему наиболее эффективный путь из одной точки в другую через множество автономных систем.

BGP можно сравнить с системой почтовых индексов интернета, которая работает поверх IP-адресов. Эта система помогает направлять данные по самым эффективным маршрутам через разные сети и постоянно адаптируется, чтобы находить оптимальный путь с учетом текущих условий.

Что такое автономная система (AS)?

В маршрутизации интернета отдельные сети, из которых состоит глобальная сеть, называются автономными системами (Autonomous System, AS). Формально автономная система — это совокупность IP-сетей и маршрутизаторов, которые находятся под управлением одного или нескольких операторов, использующих единую политику маршрутизации.

Примером автономной системы может служить крупный интернет-провайдер или корпоративная сеть большого предприятия. Сети университетов и государственных организаций также часто функционируют как автономные системы.

Каждой AS присваивается уникальный номер автономной системы (Autonomous System Number, ASN), который используется в протоколе BGP аналогично тому, как почтовые индексы применяются для географических областей.

Органом, отвечающим за распределение ASN, является IANA (Internet Assigned Numbers Authority). IANA ведет реестр номеров, зарезервированных для частного использования, и распределяет блоки публичных ASN между региональными интернет-регистраторами (RIR). RIR, в свою очередь, делегируют ASN локальным регистраторам (LIR) и конечным организациям.

Количество автономных систем стабильно растет, и по состоянию на середину 2025 года в мире существует более 77 000 AS.

Как работает BGP

Как уже было сказано выше, основная задача протокола BGP — определить наиболее эффективный путь передачи данных от одной автономной системы к другой. Поскольку в мире существуют десятки тысяч автономных систем, связанных между собой в сложную, ячеистую структуру, поиск оптимального маршрута представляет собой непростую задачу.

Интернет — всемирная сеть сетей

Для решения этой задачи BGP использует несколько ключевых механизмов:

  • Объявление маршрутов BGP (BGP Route Advertisement): каждая автономная система передает своим соседям информацию о том, к каким IP-префиксам она может обеспечить доступ. Эти данные формируют карту маршрутов в глобальной сети.

  • Выбор наилучшего маршрута BGP (BGP Best Path Selection): если до одной и той же точки назначения существует несколько маршрутов, BGP-маршрутизатор оценивает их по ряду критериев и выбирает оптимальный. Учитываются, например, количество переходов между автономными системами (AS hops), стоимость передачи и надежность пути.

  • Таблицы маршрутизации BGP (BGP Routing Tables): BGP-маршрутизаторы сохраняют лучшие маршруты в таблицах маршрутизации, которые затем используются при передаче пакетов данных. Эти таблицы постоянно обновляются по мере появления новых маршрутов или изменения состояния сети.

Интернет — это динамичная среда, где маршруты регулярно становятся доступными или, наоборот, недоступными. BGP-маршрутизаторы непрерывно отслеживают такие изменения и обновляют свои таблицы, чтобы обеспечить прохождение трафика по наиболее эффективному пути.

Маршруты BGP


В чем разница между внешним и внутренним BGP?

Протокол BGP можно использовать как для обмена маршрутами между разными автономными системами, так и внутри одной автономной системы. Поэтому различают два варианта BGP:

  • Внешний BGP (External или Exterior Border Gateway Protocol, eBGP) — используется для взаимодействия между маршрутизаторами в разных автономных системах. Он обеспечивает обмен маршрутной информацией для передачи данных через интернет.

  • Внутренний BGP (Internal или Interior Border Gateway Protocol, iBGP) — применяется для распространения внешней маршрутной информации между маршрутизаторами внутри одной автономной системы (AS).

Важно не путать iBGP с IGP (Interior Gateway Protocol) — категорией протоколов маршрутизации, предназначенных для распространения внутренней маршрутной информации внутри автономной системы.

Уязвимости и проблемы BGP

Протокол граничного шлюза (BGP) был разработан в 1989 году, когда его, согласно легенде, набросали на «трех салфетках с пятнами кетчупа». Сегодня он стал основой функционирования интернета. Однако в момент его создания вопросы безопасности практически не учитывались: в те времена многие системы в интернете строились на доверии к пользователям, и BGP не был исключением.

По своей архитектуре BGP устроен так, что маршрутизаторы по умолчанию принимают пути, объявленные другими BGP-маршрутизаторами. С одной стороны, это обеспечивает автоматическую и децентрализованную маршрутизацию трафика в интернете. С другой — делает BGP уязвимым и приводит к случайным или злонамеренным инцидентам, таким как утечки маршрутов, BGP-перехваты и богоны.

  • Утечки маршрутов (BGP Route Leaks) происходят, когда автономные системы объявляют маршруты другим AS, хотя не должны этого делать. В результате трафик перенаправляется через AS, ответственную за инцидент. Обычно это вызвано ошибочной настройкой, при которой маршруты, предназначенные для внутреннего использования или ограниченного круга партнеров, становятся публичными. Несмотря на то что такие утечки чаще всего случаются непреднамеренно, они могут привести к серьезным последствиям — неэффективной маршрутизации, росту задержек и, в некоторых случаях, передаче трафика по небезопасным маршрутам.

  • BGP-перехват (BGP Hijacking) — это нелегитимное объявление префикса со стороны злонамеренной или ошибочно настроенной автономной системы, в результате которого трафик перенаправляется в AS, ответственную за инцидент. Например, таким образом злоумышленник может перенаправить трафик в контролируемую им сеть. В зависимости от намерений, подобные инциденты могут приводить к перехвату данных, их потере или сбоям в работе сервисов.

BGP-перехват (BGP Hijack

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

Безопасность протокола BGP

На протяжении десятилетий в протокол BGP внедрялись различные меры безопасности, направленные на повышение его надежности — включая фильтрацию маршрутов и аутентификацию соседей. Наиболее значимыми достижениями в этой области стали RPKI и ROA, которые уже существенно повысили уровень безопасности маршрутизации.

  • RPKI (Resource Public Key Infrastructure) — это криптографический фреймворк, разработанный для защиты инфраструктуры маршрутизации BGP. Он дает владельцам автономных систем возможность удостовериться, что объявления маршрутов являются легитимными. Это помогает предотвращать BGP-перехваты.

  • ROA (Route Origin Authorization) — ключевой элемент RPKI. Это цифровой объект с криптографической подписью, указывающий, какая AS уполномочена объявлять конкретный IP-префикс. При получении маршрута другие AS могут проверить его соответствие данным ROA. Если объявление маршрута им не соответствует, оно помечается как потенциально недостоверное.

Несмотря на то что RPKI и ROA уже доказали свою эффективность в борьбе с BGP-перехватами и продолжают набирать популярность, их внедрение пока не охватывает весь интернет. Кроме того, RPKI ROA не защищает от утечек маршрутов — для борьбы с ними нужно применение стандарта RFC 9234, который появился сравнительно недавно и пока далек от повсеместного внедрения.

Одним словом, уязвимости BGP по-прежнему актуальны, а глобальный интернет-трафик остается под угрозой. Поэтому сетевым инженерам важно постоянно отслеживать инциденты BGP, которые касаются их автономных систем, и оперативно реагировать на возникающие проблемы.

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

Будьте в курсе наших новостей и продуктов!

Подпишитесь на ежемесячный обзор самых популярных идей Интернета от CURATOR!

E-mail *

Отправляя свой адрес электронной почты, вы соглашаетесь с политикой конфиденциальности

Предыдущая статья Следующая статья
Ваша подписка успешно активирована
На главную