В офисе перестало открываться приложение, потому что пропала связь с сервером в другом здании. Резервное соединение есть, но оборудование ещё должно начать передавать данные через него. С такими задачами работает сетевой инженер, а один из его инструментов — протокол OSPF. Показываем на простой схеме, как он выбирает путь и что происходит при отказе канала.
Что такое OSPF простыми словами
OSPF — протокол динамической маршрутизации. Он помогает маршрутизаторам обмениваться сведениями о сети и рассчитывать пути для передачи данных. Полное название — Open Shortest Path First.
Маршрутизатор соединяет разные IP-сети. Чтобы отправить данные к серверу, ему нужно знать, куда передать их дальше. Эти сведения хранятся в таблице маршрутизации: для каждой известной сети указан подходящий путь.
Администратор может прописать маршруты вручную. Это удобно для простой и редко меняющейся схемы. Но когда устройств и резервных соединений становится больше, нужно поддерживать согласованные настройки на нескольких маршрутизаторах.
OSPF позволяет им получать сведения об изменениях и пересчитывать пути. Если один канал отключился, протокол помогает выбрать другой доступный маршрут. Новое соединение он при этом не создаёт: резерв нужно предусмотреть при проектировании сети.
OSPF используют внутри автономной системы — сети или группы сетей под общим управлением. Например, в инфраструктуре компании или оператора связи. Для обычного домашнего подключения с одним роутером он, как правило, не нужен.
Как устройства узнают о доступных путях
Представь три офиса. Между первым и третьим есть прямое соединение. Ещё один путь проходит через второй офис. На каждом участке работают маршрутизаторы, которые должны согласованно передавать данные.
OSPF позволяет каждому устройству получить сведения о соединениях и рассчитать маршруты от своего положения в сети. Для этого выполняется несколько действий:
- Маршрутизаторы находят соседей. Они отправляют служебные Hello-пакеты. По ним обнаруживают друг друга и поддерживают соседские отношения.
- Проверяют настройки обмена. Например, принадлежность к одной зоне на общем соединении и интервалы отправки Hello.
- Обмениваются сведениями о топологии. Устройства сообщают о соединениях через объявления LSA. Необходимый полный обмен устанавливается между определёнными парами соседей.
- Рассчитывают пути. Каждый маршрутизатор использует полученные сведения, чтобы определить, через какого соседа достигать нужных сетей.
Объявления хранятся в LSDB — базе состояний каналов. Это информация, на основе которой выполняется расчёт. Таблица маршрутизации содержит уже выбранные маршруты.
Поэтому устройства могут знать об одних и тех же соединениях, но передавать данные разным соседям. Для первого офиса путь к третьему может идти через второй. Маршрутизатору второго офиса достаточно отправить данные непосредственно в третий.
Почему OSPF не всегда выбирает прямое соединение
В названии OSPF есть слова Shortest Path — кратчайший путь. Но протокол выбирает его по стоимости, которую называют cost. Для обычного пути внутри одной зоны складываются стоимости исходящих интерфейсов по направлению к назначению. Меньшая сумма предпочтительнее.
Возьмём условные настройки: прямое соединение между первым и третьим офисами имеет стоимость 50. Каждый из двух участков через второй офис — 10.

Для пути через второй офис получится 10 + 10 = 20. У прямого соединения стоимость 50. OSPF предпочтёт путь через второй офис, хотя в нём больше переходов.
Эти числа в примере заданы вручную. В рабочей сети стоимость можно назначать или рассчитывать автоматически. Например, в Cisco IOS автоматический расчёт опирается на пропускную способность интерфейса и опорное значение, выбранное в настройках.
При этом OSPF не измеряет текущую скорость скачивания. Если кто-то начал загружать большой файл, протокол сам по себе не решит, что канал стал дорогим, и не перенаправит весь трафик. Чтобы путь соответствовал замыслу администратора, стоимость нужно настроить и проверить.
Есть и техническая тонкость: при стандартном для Cisco IOS опорном значении 100 Мбит/с интерфейсы на 100 Мбит/с, 1 Гбит/с и 10 Гбит/с могут получить одинаковый cost 1. Для различения быстрых каналов меняют опорное значение. Поэтому одного знания физической скорости соединений для объяснения маршрута недостаточно.
Что происходит, если основной канал отключился
В нашей схеме данные идут из первого офиса в третий через второй. Теперь представим, что соединение между вторым и третьим офисами пропало.
Маршрутизаторы обнаруживают изменение и распространяют обновлённые сведения. После пересчёта первый офис сможет использовать прямой путь в третий. Его стоимость выше, зато он остаётся доступным.
Когда отключённый канал восстановится и обмен OSPF возобновится, более дешёвый путь снова станет предпочтительным.
Переключение может сопровождаться потерей пакетов. Сначала нужно обнаружить отказ, затем передать обновления и пересчитать маршруты. Физическое отключение порта и потеря соседа через внешне работающий канал могут обнаруживаться по-разному. Поэтому одинаковое время восстановления для любой сети обещать нельзя.
Здесь мы сравниваем пути внутри одной зоны. В более сложных сетях OSPF учитывает также тип маршрута: правило «всегда побеждает самое маленькое число» нельзя переносить на все случаи.
Зачем нужны зоны OSPF
Небольшую сеть можно настроить в одной зоне — area. В большой инфраструктуре устройств и соединений больше, а изменения могут происходить в разных её частях. Деление на зоны помогает ограничить распространение подробных сведений о топологии и объём расчётов.
Маршрутизаторы получают подробную информацию о своей зоне, а о сетях других зон узнают через пограничные устройства. Такие маршрутизаторы называются ABR.
Основой многозональной архитектуры служит area 0, или backbone. Другие зоны в обычной схеме подключают к ней через ABR. Для первого учебного примера достаточно одной area 0; специальные варианты вроде stub и NSSA изучают, когда появляется задача управления внешними маршрутами.
Что проверяет инженер, если связь не восстановилась
Включённый OSPF ещё не означает, что вся сеть настроена правильно. Инженеру нужно выяснить, на каком этапе возникла проблема.
Если маршрутизаторы не обнаруживают друг друга, проверяют соединение, состояние интерфейсов, адреса и включение OSPF на нужных портах. Если сосед уже обнаружен, но обмен не завершается, сравнивают параметры на обоих концах: зону, таймеры, аутентификацию и другие настройки.
В Cisco IOS для просмотра соседей используют команду show ip ospf neighbor. Состояние Full означает, что полная смежность установлена и необходимая информация синхронизирована.
Но состояние 2-Way не всегда говорит об ошибке. В общем Ethernet-сегменте с несколькими маршрутизаторами OSPF выбирает выделенный маршрутизатор DR и резервный BDR. Остальные устройства образуют полную смежность с ними, а между собой могут оставаться в 2-Way. Это особенность организации служебного обмена; DR не становится обязательным промежуточным узлом для всего пользовательского трафика.
Если соседи установили связь, а сервер всё ещё недоступен, проверяют маршрут до его сети, обратный путь и правила доступа. Причина может находиться и на самом сервере. Поэтому состояние OSPF и доступность приложения проверяют отдельно.
Чем OSPF отличается от RIP и BGP
RIP выбирает путь по числу переходов. Для него максимально достижимое значение — 15, а 16 означает недоступность. OSPF использует стоимость соединений. Поэтому в нашей схеме RIP при прочих равных предпочёл бы прямой путь, а OSPF выбрал более дешёвый маршрут через второй офис.
BGP решает другую задачу: распространяет маршруты и позволяет управлять их выбором через атрибуты и политики. Он применяется между автономными системами и внутри них через iBGP. В одной инфраструктуре OSPF и BGP могут работать вместе: первый обеспечивает внутреннюю достижимость, второй — обмен маршрутами по нужным правилам.
Существует также EIGRP с алгоритмом DUAL и собственной метрикой, по умолчанию учитывающей пропускную способность и задержку. Заучивать все протоколы одновременно для первого знакомства с сетями не нужно. На примере OSPF можно освоить общую задачу: как оборудование получает сведения о путях и реагирует на изменения.
Как перейти от понимания схемы к настройке сети
Сетевой инженер решает, какие сети нужно связать, где предусмотреть резерв и как проверить результат. Ему приходится разбираться и с адресацией, и с оборудованием, и с причинами отказов. OSPF занимает в этой работе своё место, но не заменяет остальные знания.
Начать можно с небольшой сети в симуляторе. Сначала связать две подсети и разобраться, что делают адрес, маска и шлюз. Затем добавить маршрутизаторы и второй путь. После этого настроить OSPF, отключить один канал и посмотреть, как изменился маршрут.
На таком задании становится понятнее, что именно тебе интересно: собирать схему, настраивать оборудование, искать причину недоступности или проверять резервирование. Покупать физические маршрутизаторы для первого знакомства необязательно.
Курс «Сетевой инженер» в Академии IT DMS
Сертификат, диплом о переподготовке или удостоверение о повышении квалификации.
AFFTIMES−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.
Попробуй выбрать маршрут самостоятельно
Вернись к схеме трёх офисов. Мы назначили прямому соединению стоимость 50, а каждому участку обходного пути — 10.
Теперь измени условия: прямое соединение имеет cost 15, а два остальных по-прежнему по 10. Какой путь предпочтёт OSPF? Что произойдёт, если прямой канал отключится?
При работающих соединениях предпочтителен прямой путь: 15 меньше 20. После его отказа остаётся путь через второй офис стоимостью 20. Если можешь объяснить оба решения, основной принцип выбора пути ты уже понял. Следующий шаг — воспроизвести эту смену маршрута в учебной сети.
FAQ
Нет. OSPF — открытый стандарт, который поддерживают разные производители сетевого оборудования. Для совместной работы устройств нужны совместимые версии протокола и настройки, а команды конфигурации у платформ различаются.
OSPF относится к протоколам маршрутизации сетевого уровня. OSPFv2 передаёт служебные пакеты непосредственно поверх IPv4 с номером протокола 89, без TCP и UDP.
OSPFv2 используется для IPv4. OSPFv3 изначально разработан для IPv6, но расширение Address Families позволяет применять его и для IPv4, если оборудование это поддерживает.
Нет. OSPF может распространять настроенный маршрут по умолчанию, но для доступа в интернет нужны подключение к провайдеру и настройки пограничного оборудования. Протокол не создаёт внешний канал и не заменяет NAT, если он требуется.





