Протоколы маршрутизации BGP и OSPF: как работают и обеспечивают отказоустойчивость | AdminWiki

Протоколы маршрутизации BGP и OSPF: как работают и обеспечивают отказоустойчивость

16 июля 2026 10 мин. чтения

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

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

Зачем нужны BGP и OSPF: разделение ответственности в сетях

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

Внутренние шлюзовые протоколы (IGP) работают внутри одной автономной системы. Внешние шлюзовые протоколы (EGP) управляют связями между разными автономными системами. Это разделение аналогично организации энергосистем: OSPF управляет распределительными сетями внутри объекта, а BGP - межрегиональными магистральными линиями.

OSPF: ваш внутренний навигатор

OSPF - это протокол состояния канала (Link-State). Его задача - построить точную карту топологии внутренней сети и рассчитать оптимальные маршруты между всеми узлами. Каждый маршрутизатор, работающий по OSPF, распространяет информацию о состоянии своих интерфейсов и связей с соседями. На основе этих данных все устройства строят идентичную базу данных топологии, затем независимо вычисляют кратчайшие пути до каждой сети.

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

BGP: дипломат интернета

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

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

Как OSPF строит оптимальные пути: логика, метрика и отказоустойчивость

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

Ключевая концепция OSPF - метрика (cost), основанная на пропускной способности канала. Наличие альтернативных путей в топологии обеспечивает отказоустойчивость: при обрыве одного линка OSPF быстро пересчитывает маршруты по резервному пути. Этот принцип аналогичен готовности резервных источников питания в энергетической инфраструктуре для обеспечения бесперебойной работы.

Расчет метрики и выбор лучшего маршрута

OSPF рассчитывает стоимость пути по формуле: cost = Reference Bandwidth / Interface Bandwidth. По умолчанию Reference Bandwidth равен 100 Мбит/с. Это означает, что для интерфейса 1 Гбит/с стоимость составит 100 / 1000 = 0.1, но так как OSPF использует целочисленные значения, минимальная стоимость устанавливается равной 1.

Примеры стоимостей для разных интерфейсов:

  • 10 Гбит/с: cost = 1
  • 1 Гбит/с: cost = 1
  • 100 Мбит/с: cost = 1
  • 10 Мбит/с: cost = 10
  • 1.544 Мбит/с (T1): cost = 64

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

Проектирование отказоустойчивой топологии с OSPF

Для масштабирования и стабильности OSPF использует иерархическую модель с областями (areas). Область 0 (backbone area) обязательна и соединяет все остальные области. Такое разделение ограничивает распространение обновлений состояния каналов и уменьшает нагрузку на ресурсы маршрутизаторов.

Рекомендуемые топологии для отказоустойчивости:

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

Настройка таймеров hello и dead интервалов критически важна. По умолчанию для Ethernet hello интервал составляет 10 секунд, dead интервал - 40 секунд. Уменьшение этих значений ускоряет обнаружение сбоев, но увеличивает служебный трафик и нагрузку на CPU.

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

Как BGP управляет связями в интернете: атрибуты, политики и AS Path

BGP принимает решения о выборе пути на основе последовательного анализа атрибутов. Алгоритм выбора лучшего пути включает более десяти шагов, основные из которых: наибольшее значение LOCAL_PREF, самый короткий AS_PATH, наименьшее значение MULTI_EXIT_DISC (MED).

Ключевые атрибуты BGP:

  • AS_PATH: список пройденных автономных систем, длина влияет на выбор пути
  • LOCAL_PREF: внутренний атрибут для указания предпочтения среди нескольких путей
  • MED: совет внешним соседям о предпочтительном пути в вашу автономную систему
  • NEXT_HOP: IP-адрес следующего перехода для достижения префикса

Эти атрибуты позволяют реализовывать бизнес-политики: например, назначить один ISP основным для исходящего трафика, установив высокий LOCAL_PREF для его маршрутов, а другой сделать резервным.

Обеспечение отказоустойчивости с помощью BGP Multihoming

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

Конфигурация мультихостинга включает:

  1. Получение автономного номера (ASN) от регионального интернет-регистратора
  2. Настройку eBGP сессий с каждым провайдером
  3. Фильтрацию префиксов для предотвращения транзитного трафика
  4. Настройку атрибутов для реализации политик

Важно фильтровать префиксы, которые вы анонсируете провайдерам, чтобы не стать транзитным узлом для трафика между ними. Это достигается через prefix-list и route-maps, которые ограничивают анонсирование только вашими адресными блоками.

Фильтрация и управление маршрутами для безопасности

Безопасность BGP сессий начинается с аутентификации MD5. Это предотвращает установление несанкционированных сессий и подмену маршрутов. Конфигурация включает установку пароля на обеих сторонах соединения.

Фильтрация маршрутов - критически важная практика, аналогичная контролю доступа RBAC в банковских системах безопасности. Базовые меры включают:

  • Ограничение максимального количества принимаемых префиксов от провайдера
  • Отклонение приватных адресных пространств (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Фильтрация слишком специфичных префиксов (/24 и длиннее для IPv4)
  • Валидация origin AS через IRR или RPKI

Эти меры предотвращают анонсирование и прием мусорных или чужих префиксов, что защищает от утечек трафика и DDoS-атак.

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

Практическая настройка: базовые команды для Cisco и аналогов

Минимальные рабочие конфигурации для OSPF и BGP включают обязательные параметры для установления соседства и обмена маршрутами. Приводимые примеры основаны на синтаксисе Cisco IOS, но принципы применимы к другим платформам, включая оборудование HPE и решения на базе Linux.

Базовая конфигурация OSPFv2

Конфигурация OSPF в одной области (area 0) для маршрутизатора с интерфейсами GigabitEthernet0/0 и GigabitEthernet0/1:

interface GigabitEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip ospf 1 area 0
!
interface GigabitEthernet0/1
 ip address 10.0.0.1 255.255.255.252
 ip ospf 1 area 0
!
router ospf 1
 router-id 1.1.1.1
 passive-interface default
 no passive-interface GigabitEthernet0/0
 no passive-interface GigabitEthernet0/1

Ключевые моменты:

  • Команда router ospf 1 запускает процесс OSPF с идентификатором 1
  • router-id должен быть уникальным в пределах автономной системы
  • passive-interface default делает все интерфейсы пассивными по умолчанию
  • no passive-interface активирует отправку hello-пакетов на указанных интерфейсах

Для интерфейсов, где соседей нет (например, подключенных к конечным устройствам), оставьте пассивный режим для экономии ресурсов.

Базовая конфигурация eBGP сессии

Настройка eBGP между автономной системой 65001 (ваша) и 64512 (провайдер):

router bgp 65001
 bgp router-id 1.1.1.1
 neighbor 203.0.113.1 remote-as 64512
 neighbor 203.0.113.1 password MySecurePassword123
 neighbor 203.0.113.1 description Uplink-to-Provider-A
 !
 address-family ipv4
  network 198.51.100.0 mask 255.255.255.0
  neighbor 203.0.113.1 activate
  neighbor 203.0.113.1 prefix-list FILTER-IN in
  neighbor 203.0.113.1 prefix-list FILTER-OUT out
  neighbor 203.0.113.1 route-map SET-LOCAL-PREF in
 exit-address-family
!
ip prefix-list FILTER-OUT seq 5 permit 198.51.100.0/24
ip prefix-list FILTER-IN seq 5 permit 0.0.0.0/0 le 24
!
route-map SET-LOCAL-PREF permit 10
 set local-preference 200

Обязательные элементы:

  1. Указание локального ASN в команде router bgp
  2. Настройка соседа с указанием его IP и ASN
  3. Активация соседа в address-family ipv4
  4. Анонсирование ваших префиксов через network
  5. Настройка next-hop-self для iBGP соседей

Фильтр FILTER-IN ограничивает принимаемые префиксы маской не длиннее /24, что защищает от атак с использованием очень специфичных маршрутов.

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

Диагностика проблем: как проверить работу и найти неполадку

Диагностика протоколов маршрутизации следует алгоритму: проверка соседства, проверка таблиц маршрутизации, проверка политик. Команды show предоставляют информацию о состоянии, а debug - детализацию процесса обмена сообщениями.

Базовые команды для проверки:

  • show ip ospf neighbor - состояние соседства OSPF
  • show ip ospf database - база данных состояния каналов
  • show ip bgp summary - сводка по BGP сессиям
  • show ip bgp neighbors [IP] advertised-routes - маршруты, анонсированные соседу
  • show ip route ospf и show ip bgp - таблицы маршрутизации

Инструменты ping и traceroute проверяют сквозную связность и путь прохождения пакетов.

OSPF: соседство не устанавливается

Чек-лист для решения проблемы с установлением соседства OSPF:

  1. Проверка IP-адресации: убедитесь, что интерфейсы на одном линке находятся в одной подсети, маски совпадают.
  2. Совпадение параметров OSPF: Area ID, hello и dead интервалы, тип сети (broadcast, point-to-point) должны совпадать.
  3. Проверка MTU: несовпадение MTU может блокировать обмен LSA. Используйте show interfaces для проверки.
  4. Аутентификация: если настроена, проверьте тип (plain text, MD5) и ключи на обоих устройствах.
  5. Состояние интерфейса: интерфейс должен быть в состоянии up/up. Проверьте через show ip interface brief.
  6. ACL и фильтры: убедитесь, что ACL не блокируют OSPF трафик (протокол 89, адреса 224.0.0.5 и 224.0.0.6).

Команда debug ip ospf adj показывает процесс установления соседства, но используйте ее осторожно в рабочей среде из-за нагрузки на CPU.

BGP: маршруты не анонсируются или не принимаются

Алгоритм диагностики проблем с обменом маршрутами BGP:

  1. Проверка состояния сессии: show ip bgp summary должен показывать состояние Established для соседа. Другие состояния (Idle, Active, Connect) указывают на проблемы с TCP-соединением.
  2. Анализ обмена маршрутами: команды show ip bgp neighbors [IP] advertised-routes и received-routes показывают, какие префиксы отправляются и принимаются.
  3. Проверка фильтров: последовательно проверьте prefix-list, route-map, filter-list и distribute-list, примененные к соседу. Убедитесь, что политики разрешают нужные префиксы.
  4. Наличие префикса в таблице маршрутизации: BGP может анонсировать только те префиксы, которые присутствуют в таблице маршрутизации. Проверьте через show ip route [префикс].
  5. Синхронизация BGP: в старых версиях IOS по умолчанию включена синхронизация, требующая наличия маршрута в IGP. Отключите командой no synchronization если используете только BGP.

Для комплексного сравнения протоколов и выбора оптимального решения изучите практическое сравнение RIP, OSPF, EIGRP и BGP.

BGP vs OSPF: сводка для принятия решений

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

Параметр OSPF BGP
Тип протокола IGP (Internal Gateway Protocol) EGP (Exterior Gateway Protocol)
Алгоритм Link-State (Дейкстра) Path Vector
Метрика/Атрибуты Cost (на основе bandwidth) AS_PATH, LOCAL_PREF, MED, COMMUNITY
Скорость конвергенции Быстрая (секунды) Медленная (минуты)
Масштабируемость До нескольких тысяч маршрутизаторов с областями Глобальная (сотни тысяч маршрутов)
Нагрузка на CPU/память Высокая при изменениях топологии Постоянная для хранения таблиц
Типичные сценарии Корпоративные сети, дата-центры Интернет-магистрали, мультихоминг, дата-центры

Рекомендации по применению:

  • Используйте OSPF для внутренней маршрутизации в корпоративной сети или дата-центре. Протокол обеспечивает быструю конвергенцию при сбоях и автоматическое построение оптимальных путей.
  • Используйте BGP для подключения к интернету через нескольких провайдеров, построения крупных дата-центров с iBGP как underlay, организации overlay-сетей для Kubernetes или SD-WAN решений.
  • Совместное использование: OSPF внутри автономной системы для быстрой маршрутизации, iBGP для распределения маршрутов между edge-маршрутизаторами, eBGP для связей с провайдерами.

При проектировании сети учитывайте требования к оборудованию: OSPF требует больше CPU для расчетов при изменениях топологии, BGP - больше памяти для хранения глобальной таблицы маршрутов. Оборудование Cisco и HPE предоставляет инструменты для мониторинга и оптимизации этих параметров.

Для развертывания и масштабирования сетевой инфраструктуры рассмотрите облачные решения, такие как Timeweb Cloud, которые предоставляют гибкие ресурсы для IT-проектов.

Поделиться:
Сохранить гайд? В закладки браузера