BGP простыми словами. Как работает маршрутизация между сетями и почему от неё зависит интернет

1537
BGP простыми словами. Как работает маршрутизация между сетями и почему от неё зависит интернет

Что такое Border Gateway Protocol, зачем нужны автономные системы, как маршруты проходят между провайдерами и почему одна ошибка в настройках BGP способна нарушить работу тысяч сайтов.

BGP простыми словами

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

Такие сбои возникают из-за ошибок в межсетевой маршрутизации. За выбор путей между независимыми сетями интернета отвечает BGP (Border Gateway Protocol), протокол граничного шлюза.

Интернет не принадлежит единому оператору. Сеть объединяет множество провайдеров, дата-центров, облачных платформ, университетов и крупных организаций. Каждая самостоятельно управляет своей инфраструктурой, но для обмена трафиком необходим общий механизм распространения информации о доступных IP-сетях.

BGP выполняет именно такую задачу. Маршрутизаторы сообщают друг другу, какие адресные диапазоны доступны через их сети, какие автономные системы встречаются по пути и какие правила требуется соблюдать при передаче маршрутов.

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

Но BGP не всегда выбирает самый короткий или быстрый маршрут. Для крупных операторов договорённости о передаче трафика, надёжность соединений и административные правила часто оказываются важнее минимального числа промежуточных сетей.

Что такое BGP и чем он отличается от OSPF

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

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

Поэтому протоколы маршрутизации решают разные задачи.

Характеристика BGP OSPF
Основное назначение Обмен маршрутами между автономными системами, а также внутри AS Маршрутизация внутри административно управляемой сети
Тип протокола Path-vector, маршрутизация по вектору пути Link-state, маршрутизация по состоянию каналов
Принцип выбора маршрута Политики и атрибуты маршрутов Стоимость пути на основе метрик каналов
Информация о сети Доступные префиксы, атрибуты и цепочки AS Топология внутри области маршрутизации
Типичные применения Провайдеры, обмен трафиком между организациями, крупные дата-центры Корпоративные сети, инфраструктура операторов
Транспорт TCP, обычно порт 179 Непосредственно IP, номер протокола 89

OSPF распространяет сведения о состоянии соединений и использует алгоритм поиска кратчайшего пути по заданным метрикам. Такой подход подходит для сетей, которыми управляет одна организация.

BGP работает иначе. Провайдер может предпочесть маршрут через собственного клиента, даже если путь через другого оператора содержит меньше автономных систем. Такой выбор вполне нормален, поскольку BGP прежде всего учитывает политику маршрутизации.

При этом BGP и OSPF не конкурируют напрямую. Крупный оператор может использовать OSPF или IS-IS для внутренней маршрутизации, а BGP для обмена маршрутами с внешними сетями и распространения внешней маршрутной информации внутри собственной инфраструктуры.

Автономные системы и номера ASN

Чтобы разобраться в BGP, нужно сначала понять понятие автономной системы (Autonomous System, AS).

Автономная система представляет собой совокупность IP-сетей и маршрутизаторов под единым административным управлением, для которой действует согласованная политика маршрутизации.

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

Каждой автономной системе назначают идентификатор ASN (Autonomous System Number).

Например, Google использует AS15169, а Cloudflare использует AS13335. По ASN можно найти сведения об операторе сети и изучить наблюдаемые межсетевые маршруты.

В современном BGP поддерживаются 32-разрядные номера автономных систем. Часть значений выделена для частного применения. Например, диапазоны 64512–65534 и 4200000000–4294967294 не предназначены для использования в качестве публичных ASN глобальной маршрутизации.

ASN обозначает автономную систему, а не отдельный маршрутизатор. У одной AS могут быть многочисленные маршрутизаторы и несколько подключений к другим операторам.

Что такое IP-префикс

Маршрутизаторы обмениваются информацией не о каждом устройстве интернета, а об адресных диапазонах, которые называют IP-префиксами.

Возьмём учебный пример.

203.0.113.0/24

Запись обозначает IPv4-подсеть из 256 адресов. Число 24 показывает, сколько старших битов адреса образуют сетевой префикс.

Вместо сотен отдельных записей BGP может распространять одно объявление для всего диапазона.

Адреса 203.0.113.0/24 специально зарезервированы для документации, поэтому в примерах ниже не используются реальные публичные маршруты.

Для IPv6 принцип аналогичный. Маршрутизаторы обмениваются IPv6-префиксами, например формата /48, используя расширения многопротокольного BGP.

Как работает BGP. Соседи, объявления маршрутов и AS_PATH

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

Для такого обмена маршрутизаторы устанавливают BGP-сессию.

В отличие от ряда внутренних протоколов маршрутизации BGP обычно не ищет соседей автоматически. Администраторы заранее задают адреса соседних маршрутизаторов, их ASN и параметры соединения.

После установления TCP-соединения маршрутизаторы обмениваются служебными сообщениями.

  • OPEN согласовывает основные параметры BGP-сессии, включая ASN и поддерживаемые возможности.
  • KEEPALIVE помогает контролировать работоспособность установленной сессии.
  • UPDATE передаёт сведения о доступных маршрутах, их атрибутах и отзываемых префиксах.
  • NOTIFICATION сообщает об ошибках и условиях завершения BGP-сессии.

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

Как маршрут проходит через несколько операторов

Рассмотрим условную цепочку из трёх автономных систем.

AS64496              AS64497              AS64498
 Сеть компании  →  Провайдер A  →  Провайдер B
 
 203.0.113.0/24

ASN из диапазона 64496–64511 зарезервированы для документации, поэтому схема показывает только учебную ситуацию.

Сначала AS64496 объявляет провайдеру AS64497, что через неё доступен префикс 203.0.113.0/24.

Провайдер AS64497 принимает маршрут и, если политика экспорта разрешает, объявляет его следующему оператору AS64498.

При передаче маршрута по обычной eBGP-сессии автономная система добавляет собственный номер в начало атрибута AS_PATH.

В результате AS64498 может увидеть следующую цепочку.

Префикс: 203.0.113.0/24
 AS_PATH: 64497 64496
 NEXT_HOP: адрес соседнего маршрутизатора

Атрибут AS_PATH показывает последовательность автономных систем в объявленном маршруте. Номер 64496 в данном случае соответствует исходной AS, а 64497 обозначает промежуточного оператора.

Если AS64498 продолжит передавать маршрут другой внешней автономной системе, в начало AS_PATH обычно добавится номер 64498.

Так маршрутизаторы получают представление о доступных межсетевых путях без построения единой подробной карты всех физических соединений.

Но AS_PATH нельзя считать точной записью движения каждого пакета. Атрибут отражает цепочку автономных систем в маршрутных объявлениях, а внутри каждой AS пакеты могут проходить через множество маршрутизаторов.

Зачем нужен AS_PATH и как он предотвращает петли

AS_PATH выполняет две важные функции.

Первая связана с выбором маршрута. При прочих равных BGP нередко предпочитает путь с меньшим количеством элементов AS_PATH.

Вторая касается предотвращения маршрутных петель.

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

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

В чём разница между eBGP и iBGP

У BGP есть два основных режима взаимодействия маршрутизаторов.

Параметр eBGP iBGP
Полное название External BGP Internal BGP
Где работает Между разными AS Внутри одной AS
ASN соседей Разные Одинаковые
AS_PATH При обычном экспорте добавляется собственный ASN Собственный ASN при обычной передаче не добавляется
Типичная задача Обмен маршрутами с провайдерами и партнёрами Распространение BGP-маршрутов между внутренними маршрутизаторами

Допустим, у оператора есть два пограничных маршрутизатора. Первый принимает интернет-маршруты от провайдера A, второй от провайдера B.

Оба устройства принадлежат одной автономной системе. Чтобы распространять внешние маршруты между внутренними маршрутизаторами, оператор может использовать iBGP.

Но у iBGP имеется особенность. Маршрут, полученный от обычного iBGP-соседа, по стандартным правилам нельзя просто передать другому iBGP-соседу.

Поэтому небольшие сети могут строить полносвязную схему iBGP-сессий, а крупные используют Route Reflector, отражатель маршрутов, который позволяет масштабировать внутренний обмен без прямой BGP-сессии между каждой парой маршрутизаторов.

Ещё один нюанс связан с атрибутом NEXT_HOP, адресом следующего маршрутизатора. Даже если BGP получил формально правильный маршрут, передавать пакеты по нему не получится, пока адрес следующего перехода недостижим через доступную маршрутизацию.

Как BGP выбирает лучший маршрут и почему самый короткий путь не всегда побеждает

Представим компанию с подключением к двум провайдерам. Оба сообщают маршруты к одной удалённой сети, но предложенные пути отличаются.

Логично предположить, что BGP выберет вариант с меньшим числом автономных систем. Иногда происходит именно так, однако длина AS_PATH далеко не всегда определяет результат.

BGP учитывает набор атрибутов, а оператор может менять приоритеты маршрутов собственными правилами. Конкретный порядок проверок зависит от реализации и настроек оборудования. Базовые принципы описаны в RFC 4271.

В распространённых реализациях выбор маршрута учитывает следующие условия.

  1. Допустимость маршрута. Сначала отбрасываются варианты, не соответствующие обязательным проверкам и политике фильтрации. Например, маршрут с недостижимым NEXT_HOP обычно не может стать рабочим.
  2. LOCAL_PREF. Большему значению локального предпочтения обычно отдают приоритет. Оператор использует атрибут, чтобы управлять выбором выхода из собственной AS.
  3. Локальное происхождение. В ряде реализаций маршрут, сформированный самим маршрутизатором, получает дополнительное преимущество.
  4. AS_PATH. При прочих равных может побеждать маршрут с более короткой цепочкой AS.
  5. ORIGIN. Учитывается тип происхождения маршрута. Атрибут имеет исторические значения IGP, EGP и INCOMPLETE, которые не следует путать с фактическим применением OSPF или iBGP.
  6. MED. Атрибут Multiple Exit Discriminator позволяет одной AS сообщить соседу о предпочтительном входе в свою сеть. Обычно меньший MED предпочтительнее, а сравнение часто ограничено маршрутами, полученными из одной соседней AS.
  7. Тип BGP-сессии. При выполнении предшествующих условий распространённые алгоритмы предпочитают eBGP-маршрут аналогичному iBGP-маршруту.
  8. Стоимость пути к NEXT_HOP. При равенстве других критериев может учитываться внутренняя метрика достижения следующего перехода.

На оборудовании Cisco некоторых семейств перед LOCAL_PREF используется собственный параметр WEIGHT. Он влияет на решение конкретного маршрутизатора и не является универсальным атрибутом BGP, передаваемым другим операторам. В разных версиях сетевого ПО дополнительные условия и порядок сравнения могут отличаться.

Пример, когда BGP выбирает более длинный путь

Допустим, маршрутизатор получил два допустимых объявления для одинакового префикса.

Атрибут Маршрут A Маршрут B
AS_PATH 64497 64496 64499 64498 64496
LOCAL_PREF 100 200
Количество AS в пути 2 3
Результат при стандартном сравнении этих атрибутов Не выбран Выбран

Хотя маршрут B содержит больше автономных систем, повышенный LOCAL_PREF даёт ему преимущество. Предполагается, что оба маршрута допустимы, а более ранние критерии выбора не меняют результат.

Причина может быть экономической или технической. Например, оператор предпочитает отправлять трафик через определённое соединение в рамках договорённости с партнёром.

Отсюда следует принцип, который часто упускают в упрощённых объяснениях BGP. Маршрут с минимальным AS_PATH не обязательно обеспечивает минимальную задержку, максимальную пропускную способность или наибольшую надёжность.

Почему более точный IP-префикс может изменить маршрут

Есть ещё одна особенность, которую нельзя смешивать с алгоритмом выбора лучшего BGP-пути.

Маршрутизатор может иметь два маршрута к пересекающимся адресным диапазонам.

203.0.112.0/23
 203.0.113.0/24

Для IP-адреса 203.0.113.10 подходят обе записи. Но при пересылке пакета маршрутизатор обычно использует правило Longest Prefix Match, выбирая наиболее специфичный подходящий префикс.

Поэтому пакет будет отправлен согласно маршруту 203.0.113.0/24, если соответствующая запись установлена в таблице пересылки.

Здесь BGP не сравнивает /23 и /24 как два альтернативных пути к одному префиксу. Оба маршрута могут одновременно существовать, а решение на уровне пересылки принимает поиск наиболее точного совпадения.

Такой механизм необходим для нормальной работы IP-маршрутизации, но создаёт дополнительный риск при ложных объявлениях более специфичных префиксов.

Почему от BGP зависит интернет и что происходит при ошибках маршрутизации

Интернет продолжает работать без единого центрального маршрутизатора именно благодаря распределённому обмену маршрутами.

Каждый оператор контролирует собственную часть инфраструктуры, а BGP позволяет передавать сведения о доступности IP-сетей между независимыми участниками.

Но распределённость не означает неуязвимость. Неверная настройка на границе одной AS может повлиять на соседей, а затем распространиться значительно дальше.

Три опасных сценария

Первый сценарий. Отзыв маршрута. Оператор перестаёт объявлять префикс, и другие сети теряют информацию о пути к соответствующим IP-адресам. Если альтернативных доступных маршрутов нет, трафик перестаёт достигать назначения.

Второй сценарий. Утечка маршрутов (BGP route leak). Автономная система передаёт полученный маршрут другой сети вопреки согласованной политике маршрутизации. Например, небольшой оператор ошибочно объявляет одному транзитному провайдеру маршруты, полученные от другого. В результате трафик может направиться через сеть, не рассчитанную на транзитную нагрузку.

Третий сценарий. BGP-перехват (BGP hijacking). Посторонняя автономная система объявляет префикс, который ей не принадлежит или который она не уполномочена анонсировать. Если объявление пройдёт фильтры, часть маршрутизаторов может направить трафик к неверной AS. Такой механизм используется в отдельных атаках на маршрутизацию.

Не всякая аномалия BGP означает злонамеренную атаку. Ошибки фильтрации, неверные настройки автоматизации и случайные объявления также приводят к крупным инцидентам.

Как BGP помог отключить Facebook, Instagram и WhatsApp

Показательный инцидент произошёл 4 октября 2021 года, когда сервисы Facebook, Instagram и WhatsApp стали недоступны для пользователей по всему миру.

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

В результате системы мониторинга сочли некоторые инфраструктурные площадки недоступными и отозвали BGP-анонсы IP-префиксов, связанных с авторитетными DNS-серверами компании.

Сами DNS-серверы не обязательно вышли из строя. Интернет потерял маршруты, необходимые для обращения к ним. Из-за недоступности авторитетных серверов внешние DNS-резолверы перестали нормально получать адреса сервисов.

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

История хорошо показывает зависимость нескольких уровней инфраструктуры. Сбой внутренней сети привёл к отзыву внешних маршрутов, недоступности DNS и массовому отказу сервисов.

Как операторы защищают BGP

В базовой модели BGP соседние маршрутизаторы обмениваются объявлениями, но протокол сам по себе не гарантирует, что заявленная автономная система действительно вправе распространять конкретный IP-префикс.

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

Один из основных инструментов защиты называется RPKI (Resource Public Key Infrastructure).

Владелец IP-ресурсов может создать подписанный объект ROA (Route Origin Authorization), который указывает, каким ASN разрешено объявлять определённый префикс и какова допустимая максимальная длина объявления.

При Route Origin Validation (ROV) проверяющая система определяет статус маршрута, используя сведения RPKI.

  • Valid означает, что происхождение маршрута соответствует подходящему разрешению.
  • Invalid означает, что существующие разрешения противоречат объявленному происхождению или длине префикса.
  • NotFound означает, что подходящего покрытия проверенными разрешениями нет.

Статус Invalid сам по себе не гарантирует автоматическую блокировку. Дальнейшие действия зависят от настроенной политики маршрутизатора.

RPKI заметно помогает бороться с ошибочными и поддельными объявлениями происхождения префиксов, однако не проверяет достоверность всей цепочки AS_PATH. Маршрут со статусом Valid нельзя автоматически считать полностью безопасным. Ограничения проверки изложены в RFC 6811.

Для предотвращения утечек маршрутов существует отдельный механизм из RFC 9234. Он определяет роли BGP-соседей и атрибут OTC (Only to Customer), который помогает ограничивать недопустимое распространение маршрутных объявлений. Защитный эффект зависит от поддержки и корректной настройки механизма на участвующих маршрутизаторах.

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

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

Как посмотреть BGP-маршруты самостоятельно

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

Самый простой вариант заключается в просмотре публичных маршрутных данных. Например, сервис RIPE RIS собирает BGP-анонсы из множества точек наблюдения. Через инструменты RIPE можно изучать маршруты к публичным IP-префиксам и их изменения со временем.

Для практики найдите публичный IP-префикс интересующей организации, выясните его ASN, посмотрите доступные цепочки AS_PATH и сравните, отличаются ли наблюдаемые пути из разных частей интернета.

Нужно учитывать, что публичные наблюдатели видят только маршруты, доступные из их точек сети. Единого представления обо всех возможных путях глобального интернета не существует.

Если на собственном Linux-маршрутизаторе установлен пакет FRRouting (FRR) и настроена BGP-сессия, состояние протокола можно проверить командами.

vtysh -c 'show bgp ipv4 unicast summary'

Команда показывает BGP-соседей, номера AS, состояние сессий и сведения о полученных префиксах. Установленную сессию обычно обозначает состояние Established или отображаемый счётчик префиксов вместо названия неустановленного состояния.

Посмотреть известные IPv4-маршруты можно следующей командой.

vtysh -c 'show bgp ipv4 unicast'

В таблице появятся сведения о префиксах, следующих переходах, атрибутах и AS_PATH. В текстовом выводе FRR символ > обычно обозначает выбранный BGP-путь.

Чтобы проверить маршрут к конкретному адресу или префиксу, используйте команду с интересующей сетью. Например, для адресного диапазона, который действительно присутствует в таблице.

vtysh -c 'show bgp ipv4 unicast 1.1.1.0/24'

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

Чтобы изучить маршруты, объявляемые определённому соседу, можно использовать следующую команду, подставив действительный адрес настроенного BGP-соседа.

vtysh -c 'show bgp ipv4 unicast neighbors 192.0.2.1 advertised-routes'

На маршрутизаторах Cisco, Juniper, MikroTik и других производителей команды и формат вывода отличаются. Для FRR актуальные варианты приведены в справочнике команд BGP.

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

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

Частые вопросы о BGP

Нужен ли BGP обычному домашнему пользователю?

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

Можно ли пользоваться интернетом без BGP?

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

Почему BGP не выбирает самый быстрый маршрут?

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

Чем BGP отличается от DNS?

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

Можно ли узнать реальный путь пакета по AS_PATH?

Не полностью. AS_PATH показывает цепочку автономных систем из маршрутного объявления, но не перечисляет физические маршрутизаторы и каналы связи. Для исследования фактического пути используют дополнительные методы, включая traceroute, однако даже traceroute не всегда раскрывает все промежуточные узлы.

Что такое BGP Community?

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

Защищает ли HTTPS от BGP-перехвата?

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

Может ли одна компания использовать несколько автономных систем?

Да. Крупная организация может управлять несколькими AS по техническим, организационным или историческим причинам. Разные автономные системы позволяют независимо задавать политики маршрутизации для отдельных сетей, подразделений и инфраструктурных площадок.

Что произойдёт, если один из двух провайдеров перестанет работать?

Если сеть правильно настроила резервирование, маршруты через отказавшего провайдера могут быть исключены, а трафик перейдёт на альтернативное подключение. Но переключение не обязательно происходит мгновенно. Время зависит от обнаружения отказа, BGP-таймеров, механизмов ускоренного обнаружения проблем и распространения новых маршрутных объявлений.

Вывод

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

Основные понятия BGP сводятся к нескольким элементам. Автономная система представляет самостоятельный домен маршрутизации, ASN обозначает такую систему, IP-префикс описывает диапазон адресов, а AS_PATH показывает цепочку автономных систем, через которые распространялся маршрут.

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

Для первого знакомства достаточно открыть публичные сведения о любом ASN, посмотреть цепочку AS_PATH и сравнить маршруты из разных точек наблюдения. Следующий шаг для сетевого инженера заключается в изучении таблицы BGP на собственном маршрутизаторе, проверке соседских сессий и правил импорта и экспорта.

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

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

asn BGP интернет маршрутизатор маршрутизация префикс провайдер протокол сеть трафик
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.