Ospd что это
Перейти к содержимому

Ospd что это

  • автор:

OSPF: 34 вещи, которые вы должны запомнить

Open Shortest Path First [сначала открыть кратчайший путь] (OSPF) — это протокол маршрутизации для сетей Internet Protocol (IP). Он использует алгоритм маршрутизации по состоянию соединения и относится к группе внутренних протоколов маршрутизации, работающих в пределах одной автономной системы (AS). Он определен как OSPF версии 2 в RFC 2328 (1998) для IPv4. Обновления для IPv6 определены как OSPF версии 3 в RFC 5340 (2008).

OSPF, возможно, является наиболее широко используемым протоколом внутреннего шлюза (IGP) в сетях крупных предприятий. IS‑IS, другой протокол динамической маршрутизации по состоянию связи, распространен в крупных сетях провайдеров услуг. В качестве протокола внешнего шлюза обычно применяется протокол Border Gateway Protocol (BGP), основной протокол маршрутизации между автономными системами в Интернете.

OSPF — это протокол внутреннего шлюза (IGP) для маршрутизации пакетов веб‑протокола (IP) только между одной маршрутной областью, например, ассоциированной автономной системой. Он собирает информацию о состоянии связи, поступающую от маршрутизаторов на рынке, и строит топологическую карту сети. Топология передается в виде таблицы маршрутизации на сетевой уровень, который выполняет маршрутизацию дейтаграмм, исходя только из адреса назначения, содержащегося в информационных пакетах. OSPF поддерживает сети с веб‑протоколом версии 4 (IPv4) и веб‑протоколом версии 6 (IPv6), а также модели адресации с маскированием подсети переменной длины (VLSM) и эгалитарной междоменной маршрутизации (CIDR).

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

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

Сеть OSPF также структурирована или разделена на области маршрутизации для изменения управления и оптимизации использования трафика и ресурсов. Области обозначаются 32-битными числами, выраженными в десятичной или, как правило, в октетной точечно‑десятичной нотации, знакомой по нотации адресов IPv4.

34 вещи, которые вы должны запомнить:

  1. Номер протокола OSPF в IP‑заголовке пакета — 89.
  2. Для установления отношений соседства в OSPF, таймеры hello/dead, MTU [Maximum transmission unit — это максимальный объём данных, который может быть передан протоколом за одну итерацию] (в противном случае необходимо применить команду ip ospf mtu-ignore , чтобы отключить проверку значения MTU в пакетах OSPF) должны совпадать. Также требуется уникальный router‑id.
  3. Маршрутизаторы в stub area (тупиковой области) могут быть соседними только с маршрутизаторами в тупиковой или полностью тупиковой области (totally stubby area). Маршрутизаторы в NSSA [Not‑so‑stubby‑areas — не такая уж и тупиковая область] могут быть соседними только с маршрутизаторами в NSSA или полностью (totally) NSSA.
  4. OSPF рассматривает вторичные сети как тупиковые и не может создавать отношения соседства через вторичные адреса. OSPF будет анонсировать вторичную сеть или подсеть, только если она также запущена в первичной сети или подсети. Для анонсирования маршруты OSPF вторичных адресов должны находиться в той же области, что и первичный адрес. Чтобы узнать маршруты от соседа, подключенного к вторичной сети, должен быть запущен другой протокол маршрутизации, например RIP, который перераспределяется в OSPF. Другим решением для подобной проблемы является создание суб‑интерфейсов dot1q.
  5. Единственный случай, когда OSPF будет формировать отношения смежности между соседями, не находящимися в одной подсети, это когда они подключены через соединения «точка‑точка» с использованием «ip unnumbered» (ip‑адрес без номера).
  6. Основной интерфейс и интерфейс «IP unnumbered» будут иметь включенный OSPF, если сетевой оператор соответствует IP‑адресу основного интерфейса.
  7. Внешний маршрут OSPF не может использовать другой внешний маршрут OSPF в качестве следующего хопа.
  8. Внутри области OSPF использует логику Link State [состояние канала], но между областями OSPF в чем‑то действует подобно протоколу Distance Vector (DV) [дистанционно‑векторный протокол]. Например, анонс LSA типа 3 из одной области в другую скрывает топологию исходной области от второй области, просто перечисляя подсеть назначения, метрику (стоимость) и ABR [Area Border Router — пограничный маршрутизатор], через который можно подключиться к подсети — все это концепции DV.
  9. Только широковещательные и сети без широкого вещания выбирают DR/BDR [Designated Router — выделенный маршрутизатор/Backup Designated Router — резервный выделенный маршрутизатор] на основе приоритета или router‑id (в случае равенства приоритетов).
  10. В сети без широкого вещания DR/BDR должен иметь второй уровень связи со всеми другими маршрутизаторами в той же области.
  11. В сетях OSPF широковещательного и нешироковещательного типов значения следующего хопа не изменяются при передаче обновлений через среду NBMA [Non Broadcast MultiAccess — нешироковещательные сети множественного доступа]. Оба типа сети точка‑многоточка и точка‑многоточка без широкого вещания обновляют значение следующего хопа маршрутов, полученных в частично объединенных (meshed) сетях, до непосредственно подключенного соседа и объявляют сеть как набор эндпоинтов, а не транзитную.
  12. Сеть OSPF точка‑точка является опцией по умолчанию для интерфейсов точка‑точка, таких как HDLC [High‑Level Data Link Control — протокол высокоуровнего управления каналом передачи данных], PPP [Point‑to‑Point Protocol — двухточечный протокол] или NBMA субинтерфейсов точка‑точка.
  13. Поскольку только сети широковещательного и нешироковещательного типов выбирают DR/BDR, они совместимы друг с другом, но при этом не совместимы с любыми другими типами сетей.
  14. Стоимость OSPF может быть изменена с помощью (i) команды interface bandwidth . , (ii) команды interface ip ospf cost . , (iii) команды process auto-cost reference-bandwidth . или (iv) команды neighbor . cost . в сети точка‑многоточка без широкого вещания.
  15. Только типы сетей OSPF точка‑многоточка и точка‑многоточка без широкого вещания поддерживают значение стоимости OSPF для каждого соседа. В широковещательных сетях точка‑многоточка, если используется команда neighbor. , необходимо указать стоимость для каждого соседа. Но в сетях без широкого вещания точка‑многоточка команда neighbor . должна использоваться для идентификации соседей, назначение стоимости для соседа необязательно.
  16. Внутренние маршруты OSPF могут быть суммированы только на ABR, в то время как внешние (перераспределенные) маршруты могут быть суммированы только на ASBR [Autonomous System Boundary Router — пограничный маршрутизатор автономной системы].
  17. Команда area default-cost . используется для указания стоимости дефолтного суммарного маршрута (стоимость по умолчанию равна 1), который отправляется в тупиковую область или NSSA.
  18. В NSSA ABR с самым высоким router‑id выполняет преобразование LSA [Link‑State Advertisement — объявление о состоянии канала] 7 в 5.
  19. В NSSA нельзя использовать команду default-information originate [исходная информация по умолчанию], так как она генерирует LSA типа 5. Это запрещено в области NSSA.
  20. NSSA ASBR может генерировать дефолтный маршрут только при наличии маршрута по умолчанию в своей таблице маршрутизации, в то время как NSSA ABR может генерировать такой маршрут как при наличии, так и при его отсутствии в своей таблице.
  21. Виртуальные каналы не разрешены в тупиковой области или NSSA. В этом случае OSPF может быть туннелирован через тупиковую область с помощью туннеля GRE [Generic Routing Encapsulation — общая инкапсуляция маршрутов] (туннель должен быть подключен к области 0).
  22. Если аутентификация на виртуальном канале неверна, то его интерфейс сразу не отвалится. Так как виртуальный канал не поддерживает периодические hello‑сообщения, следует выполнить команду clear ip ospf process [очистить процесс ip ospf], если на виртуальном канале включена аутентификация.
  23. Виртуальный канал не появится, если единственный интерфейс доступа к другому концу виртуального канала имеет максимальную стоимость (65 535).
  24. Чтобы BGP перераспределял маршруты в OSPF, router‑id должен быть идентичным в OSPF и BGP.
  25. Фильтрация OSPF с помощью команд distribute-list . , route-map . (match route‑type, match ip route‑source, match ip next‑hop [сопоставить тип маршрута, сопоставить ip источника маршрута, сопоставить ip следующего хопа]) и distance . может только блокировать маршрут от попадания в локальную RIB [Routing Information Base — маршрутная база данных], но не может остановить распространение LSA в базу данных OSPF.
  26. Фильтрация OSPF с помощью команд area . filter-list prefix . [область. префикс списка фильтров. ], area . range . not-adv [область. диапазон. не аносировать], summary-address . not-adv [суммаризация (скрытие) подсетей. не аносировать], ip ospf database-filter all out [ip ospf база данных‑фильтр все исходящие] или neighbor . database-filter all out [сосед. база данных‑фильтр все исходящие] может фильтровать LSA из базы данных OSPF.
  27. Если обе команды настроены для области area . range . [область. диапазон. ] и area . filter-list prefix . out [область. префикс списка фильтров. отсутствует], то всем остальным областям рассылаются LSA типа 3, соответствующие диапазону области, только если хотя бы один префикс в диапазоне областей соответствует записи в списке префиксов.
  28. OSPF по умолчанию устанавливает стоимость 20 при перераспределении из IGP и 1 при перераспределении из BGP.
  29. neighbor . database-filter all out [сосед. база данных‑фильтр все исходящие] работает только для сетей типа точка‑многоточка.
  30. Если команда distribute-list out настроена на ASBR, то он генерирует внешние LSA типа 5 только для тех сетей, которые явно разрешены в списке распределения (distribute list).
  31. OSPF соединение, устанавливаемое по требованию (demand circuits) ставит флаг » do not age» [не стареть] на всех изученных LSA и будет посылать обновления только при изменении топологии OSPF. Команда должна быть настроена в соединении точка‑точка и необходима только с одной стороны. Если маршрутизатор является частью топологии «точка‑многоточка», эта команда должна быть настроена только с многоточечной стороны.
  32. Основное различие между командами по уменьшением флуда ( ip ospf flood-reduction ) и соединениями, устанавливаемыми по требованию ( ip ospf demand-circuit ) заключается в том, что первая препятствует только периодическому обновлению LSA; она не блокирует регулярные пакеты hello‑сообщений. Таким образом, фича по уменьшению флуда не влияет на обнаружение отказа соседнего маршрутизатора.
  33. OSPF stub router [функция, которая позволяет указать, что маршрутизатор, временно или постоянно, не будет транзитным маршрутизатором] ( max-metric router-lsa ) анонсирует все не свои (self‑originated) маршруты/LSA с максимальной метрикой.
  34. Когда настроена команда redistribute maximum-prefix . , ограничение перераспределения не применяется к маршрутам по умолчанию или префиксам, которые генерируются в результате преобразования Type-7 в Type-5.

Приглашаем всех желающих на открытое занятие «Оптимизация BGP: как сделать BGP чувствительным к трафику». На вебинаре рассмотрим основные проблемы BGP на границах сети. А также рассмотрим инструменты, с помощью которых можно влиять на маршрутизацию BGP с учетом загруженности и производительности каналов. Записаться можно на странице курса «Network engineer».

  • Блог компании OTUS
  • Сетевые технологии

Перевод «OSPD» на русский

The Outline of Strategy and Policy for Development (OSPD), covering the period up to 2017, comprises of 50 policy directions.

Основные стратегические направления развития (ОСНР), охватывающие период до 2017 года, включают 50 программ.

One of the Government’s policy directions that highlights and promotes gender equality is mentioned in the ‘Economic Strategy’ of the OSPD, where the Government has called for the need to «Encourage equal opportunities for women in the workforce and in the nation building».

Одна из программ по обеспечению и поощрению гендерного равенства упоминается в экономической стратегии ОСНР, которая призвана «обеспечить равные возможности для женщин на рынке труда и их участие в процессе национального строительства».

«OSPD«, the system of proactive defense — provides the integrity of software environment and blocks the activities performed by malicious code.

Система проактивной защиты «OSPD» обеспечивает целостность программной среды и блокирует деятельность вредоносного кода.

Протокол маршрутизации OSPF

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

Принцип работы OSPF

  1. Маршрутизаторы производят обмен малыми пакетами HELLO.
  2. После выполнения обмена между ними устанавливаются соседства. Каждый из маршрутизаторов добавляет в специальную локальную таблицу соседей.
  3. Маршрутизаторы выполняют сбор состояний своих связей с соседями (линков). Линки включают id самого маршрутизатора и соседа, сеть и префикс, тип сети и метрику (стоимость линка). После сбора состояний маршрутизатор формирует пакет LSA (Link State Advertisement).
  4. LSA рассылается каждому соседу, который передает пакет дальше по сети.
  5. После получения пакета LSA каждый маршрутизатор добавляет содержащуюся в нем информацию в локальную таблицу LSDB (Link State Database).
  6. В таблице LSDB накапливаются данные обо всех парах маршрутизаторов в пределах сети.
  7. На основании накопленных данных выстраивается полная карта сети, которая включает все действующие маршрутизаторы и образованные между ними связи.
  8. Используя карту, каждый маршрутизатор выполняет поиск самых коротких маршрутов во все сети и формирует из них таблицу маршрутизации.

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

В случае разрыва связи с соседом у одного из маршрутизаторов, он отправляет по сети новые пакеты LCA, и повторяется вся процедура формирования таблицы маршрутизации. Чтобы исключить постоянный пересчет в крупных сетях с большим количеством маршрутизаторов, в них применяют разделение на отдельные зоны. В каждой из них выполняются автономные вычисления с передачей между зонами только итогового результата. В любой конфигурации OSPF должна присутствовать корневая зона с индексом 0. Малые сети обычно помещаются в ее пределах, а для больших — требуется формирование дополнительных зон.

Пакет OSPF помещается в пакет IP с мультикастовым адресом получателя. Отправителю же в нем соответствует адрес маршрутизатора. Пакет помещается в мультикастовый фрейм, например, в Ethernet. При формировании списков контроля доступа нужно учитывать, что OSPF инкапсулируется непосредственно в IP, а не в UDP или TCP.

Виды OSPF сообщений

Протокол маршрутизации OSPF поддерживает 5 типов сообщений:

  • Hello — периодически направляются для поиска соседей.
  • Database Description DBD — применяются для контроля синхронизации LSDB у соседей.
  • Link state request LSR — запрос у LSA у маршрутизатора, выполняемый принудительно. Применяется в случаях, когда маршрутизатор только включается и ему необходимо определить действующие в сети связи, а также если у него пропала сеть и нужно найти альтернативные маршруты.
  • Link state update LSU — содержит данные о состоянии связей маршрутизатора.
  • Link State Acknowledgment LSAck — подтверждающий пакет, который отправляется в ответ на сообщения других типов.

Hello пакеты отправляются с установленной периодичностью. По умолчанию она составляет 1 раз в 10 секунд для сетей BMA и point-to-point и 1 раз в 40 секунд для сетей NBMA. Также существует понятие Dead-интервала, который по умолчанию равняется 4 Hello-интервалам. Если в течение этого периода маршрутизатор не получает ни одного пакета, то он считает, что сосед отключился. За этим следует пересчет и обновление таблицы маршрутизаторы.

ID маршрутизатора в OSPF

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

Идентификатор записывается в виде IP-адреса IPv4. Неважно, какое он примет значение, главное, чтобы он был уникальным в пределах этой сети. ID маршрутизатора в OSPF можно задать вручную. Если он не задан, то будет присвоен автоматически.

Принцип работы протокола OSPF предусматривает следующий алгоритм назначения ID маршрутизатора:

  1. В случае явного задания идентификатора командой router-id, используется назначенный вручную ID.
  2. В случае если не было ввода router-id, присваивается больший адрес из настроенных на маршрутизаторе loopback интерфейсов.
  3. При отсутствии loopback интерфейсов принимается больший адрес из всех включенных на маршрутизаторе интерфейсов.

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

Работа OSPF в сетях с множественным доступом

К основным проблемам OSPF можно отнести работу протокола в сетях с множественным доступом. Распространена топология, при которой множество маршрутизаторов объединяются не через последовательное подключение друг к другу, а через общую сеть. Теоретически OSPF должен выстраивать соседства в пределах общей сети на основе принципа «каждый с каждым». Однако это требует формирования огромных таблиц, работа с которыми сильно перегружает процессор и память.

Решение этой проблемы достигается посредством механизма выбора Designated Router (DR) и Backup Designated Router (BDR), которые представляют собой роли маршрутизаторов. В сети с множественным доступом, к которой подключены более 2 маршрутизаторов, один из них назначается на роль DR, а второй — на роль BDR. При отправке любым маршрутизатором какого-либо пакета, он поступает не всем устройства в сети, а подается на отдельный мультикастовый адрес, доступный только DR и BDR. В свою очередь, DR рассылает пакет всем маршрутизаторам в сети. Такое посредничество значительно снижает нагрузку. BDR выполняет резервную функцию и моментально принимает роль DR при его отключении. После этого среди остальных маршрутизаторов сразу выбирается новый BDR.

Метрика в OSPF

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

Например, Cisco применяет два варианта расчета стоимости.

В первом случае стоимость линка рассчитывается как обратная величина от его скорости (1000 — для 1 Мбит, 100 — для 10 Мбит, 10 — для 100 Мбит, 1 — для 1 Гбита и т. д.). Этот вариант подойдет при условии, что все маршрутизаторы будут считать стоимость по данному алгоритму, аэто требует использование только устройств Cisco.

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

Типы маршрутизаторов OSPF

Принцип действия протокола OSPF предусматривает использование следующих типов маршрутизаторов:

  • IR (Internal Router) — это внутренний маршрутизатор, у которого все интерфейсы ассоциированы только с одной определенной областью.
  • ABR (Area Border Router) — устанавливается в нулевой зоне для обеспечения связи с другими зонами.
  • ASBR (Autonomous System Boundary Router) — обеспечивает объединение автономных систем для обмена маршрутами.

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

OSPF-протокол: основные термины и алгоритмы работы

Рассказываем об OSPF (Open Shortest Path First) — протоколе внутренней динамической маршрутизации.

Эта инструкция — часть курса «Как работают сетевые протоколы».

Смотреть весь курс

Изображение записи

OSPF расшифровывается как Open Shortest Path First. Если переводить дословно, получится что-то вроде «открытый короткий путь первым». Под названием скрывается протокол внутренней маршрутизации, который передает информацию по лучшему пути. Но, несмотря на название, он не всегда короткий. Чтобы найти лучший путь, протокол отслеживает состояние каналов, а путь рассчитывается по алгоритму Дейкстры.

OSPF довольно просто настраивается по инструкциям, но вот объяснить порядок его работы довольно сложно. Попробуем это сделать.

Основы протокола OSPF

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

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

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

Аналогично в случае сбоев: со статической маршрутизацией тяжело отслеживать доступность сетей. Если канал между маршрутизаторами прерван, то пакеты, которые M2 получил от M1 (см. схему ниже), никуда не отправятся.

канал прерван

Если сети работают на протоколе OSPF, маршруты перестроятся автоматически.

автоматическая перестройка

OSPF — протокол внутренней маршрутизации. «Внутренней» означает, что маршрутизаторы связаны в замкнутой системе или в одном домене. Понимание принципов работы протокола и алгоритмов облегчат настройку OSPF, поэтому о них подробнее.

Терминология

  • Автономная система — это сети под общим управлением, с едиными политиками маршрутизации для всех устройств.
  • Интерфейс — соединение маршрутизатора и сети. В контексте OSPF термины «интерфейс» и «канал» (link) синонимичны.
  • Area, или зона, — это условная «площадка» в виде комплекса маршрутизаторов, которые обмениваются LSA друг с другом. У маршрутизаторов в этой зоне единый идентификатор.
  • LSA, или Link State Advertisement, — это сообщение (объявление, пакеты) о состоянии канала между маршрутизаторами. В нем содержатся данные о каналах маршрутизатора и их состоянии — например, прерывании, маршруте, интерфейсах.
  • Состояние канала, или Link State, — состояние канала между двумя маршрутизаторами, которое обновляется посредством пакетов LSA.
  • LSU, или Link State Update, — это пакет, в котором передается LSA (один или несколько).
  • Link-State DataBase — это база сообщений LSA, в ней содержатся все записи о состоянии каналов. Встречается также термин «топологическая база данных» (topological database), это синоним.
  • Router ID — индивидуальный и уникальный номер маршрутизатора для идентификации. Чаще всего это сетевой адрес интерфейса — 32-х битный номер.
  • Маршрутизаторы, у которых интерфейс в одной зоне, называются соседями. Список всех соседей содержится в базе данных соседей.
  • Для определения соседа маршрутизаторы обмениваются hello-сообщениями, или hello-пакетами. В hello-сообщениях содержатся LSA.
  • Состояние смежности, или Adjacency, — взаимосвязь между определенными соседними маршрутизаторами для обмена информацией о маршрутах.
  • Shortest Path First — алгоритм, который рассчитывает лучший маршрут между сетями.
  • Стоимость — это условный показатель «цены» пересылки данных по каналу. В OSPF стоимость зависит от разных факторов — например, пропускной способности канала.
  • Designated Router (DR) — выделенный маршрутизатор. Каждый маршрутизатор устанавливает с ним отношения, потому что DR управляет рассылкой LSA в сети и отправляет информацию остальным об изменениях в сети.
  • Backup Designated Router (BDR) — резервный выделенный маршрутизатор. Маршрутизатор на случай выхода DR из строя. Каждый маршрутизатор в сети также устанавливает с ним отношения.

Алгоритм работы протокола OSPF

Примечание. Здесь мы изначально считаем, что на маршрутизаторе и интерфейсе установлен и включен OSPF.

Как работает динамическая маршрутизация OSPF? Краткое описание:

  • Когда маршрутизатор включают, он выбирает Router ID, либо администратор устанавливает его значение вручную.
  • Протокол ищет другие маршрутизаторы — подключенных соседей, отправляя им через определенные промежутки времени hello-пакеты с информацией о соседях и состоянии каналов.
  • Если маршрутизатор получает в ответ пакет по интерфейсу, на которых активирован OSPF, то устанавливает с ним «соседские» отношения. Если не получает, маршрутизатор считает устройство «мертвым» — не отправляет ему трафик и перестраивает маршруты.
  • После того как маршрутизаторы подружились, они обмениваются LSA-сообщениями о подключенных и доступных сетях, о соседском роутере и стоимости. Эти данные нужны, чтобы построить карту сети (топологию) — она пригодится для расчетов кратчайшего пути трафика. Карта одинакова на всех маршрутизаторах.
  • Маршрутизаторы синхронизируют общую базу LSDB, где хранят LSA.
  • В сети могут быть сотни или тысячи маршрутизаторов. Отправка сообщений LSA от каждого устройства к каждому обязательно забьет каналы. Чтобы этого не произошло, отправкой сообщений заведует DR: через него отправляется информация об изменениях в сети ко всем маршрутизаторам — например, когда какой-то маршрутизатор упал. Если DR не прописан изначально, то им становится маршрутизатор с самым большим IP-адресом.
  • Дальше запускается алгоритм SPF, который рассчитывает оптимальный маршрут к каждой сети. Процесс похож на построение дерева, где корень — маршрутизатор, а ветви — пути к доступным сетям. В общей таблице маршрутизации будут храниться лучшие пути к каждой сети.

Теперь подробнее о каждом этапе.

Запуск протокола

Для запуска OSPF-протокола нам нужно запустить процесс OSPF на маршрутизаторе подобной командой:

selectel-gw1(config)# router OSPF 1

Мы сообщаем, что запускаем протокол, указываем, какой именно, уточняем номер процесса (в конце).

Автоматически назначается Router ID. По умолчанию это наибольший IP-адрес устройства. Но можно настроить идентификатор вручную:

selectel-gw1(config-router)#router-id 172.16.255.1

Следующим шагом объявляем, какие сети будем передавать соседям OSPF. С помощью этой команды сообщаем, с каких интерфейсов будут отправляться hello-пакеты и какие сети хотим анонсировать другим маршрутизаторам:

selectel-gw1(config-router)#network 172.16.0.0 0.0.255.255 area 0

Первый параметр — номер сети, второй — wildcard-маска, последний — номер зоны.

Готово! Если другие роутеры в сети настроены, то они установят соседские отношения.

Примечания. На соседских маршрутизаторах должны совпадать интервалы hello-пакетов, Dead Interval, интерфейсы и номера зон.

Установка отношений соседства

Если есть Router ID, совпадают интерфейсы, запущен OSPF-протокол и указаны сети, которые необходимо анонсировать по OSPF, то маршрутизаторы установят отношения соседства и произойдет обмен маршрутов.

Установка отношений происходит в несколько этапов. Рассмотрим на примере, когда у нас есть четыре маршрутизатора M1, M2, M3 и M4, который считаем новым. При этом M2 выбран как DR, а M3 как BDR.

пример с четырьмя маршрутизаторами

  • Маршрутизатор M4 рассылает hello-сообщения на групповой адрес 224.0.0.5.

рассылка сообщения на групповой адрес

  • Маршрутизаторы M1, M2 и M3 получили сообщения и добавили M4 в список соседей. Его статус они определяют как Init (состояние попытки поиска).
  • Маршрутизаторы M1, M2, M3 отправляют сообщения маршрутизатору M4 с его Router ID и списком соседей. M4 добавляет их в список соседей.

список соседей

симметричные соседские отношения

  • Устанавливаются симметричные соседские отношения 2-Way (состояние, когда есть обмен сообщениями, но без передачи маршрутов).
  • Устройства обмениваются служебными сообщениями с кратким описанием базы данных маршрутов и LSR-сообщениями (Link State Request), запросами о неизвестных сетях.
  • Устройства обмениваются сообщениями с более подробным описанием маршрутов и синхронизируют LSDB. Статус отношений устанавливается в Full, передаются маршруты.

Отношения соседства устанавливаются со всеми маршрутизаторами, включая DR и BDR.

Распределение ролей

Выше мы писали, что в сети назначаются две важные роли:

  • Designated Router (DR) — выделенный маршрутизатор,
  • Backup Designated Router (BDR) — резервный выделенный маршрутизатор.

DB и BDR назначаются администратором вручную или автоматически во время установления отношений соседства. Вручную обычно DR/BDR ставят корневые, а автоматически выбирается маршрутизатор с самым высоким приоритетом интерфейса OSPF или с наибольшим Router ID. BDR выбирается второй маршрутизатор по приоритету. Когда DR выходит из строя, то его заменяет BDR. Далее проводится выбор нового BDR.

Обе роли нужны, чтобы уменьшить количество LSA-сообщений. Работает это так.

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

установка отношений через DR

После выбора DR соседи обмениваются DBD-сообщениями — они содержат описание LSDB (Link-State DataBase), чтобы синхронизироваться. Для этого за устройствами DR и BDR закрепляется групповой адрес — например, 224.0.0.5, как на схеме выше.

Зоны OSPF: магистральная, стандартная, NSSA, stub area

OSPF позволяет делить сеть на зоны — логические объединения узлов и сетей. Зона — это набор маршрутизаторов со своей базой, LSA, топологией. Маршрутизаторы другой зоны не знают о топологии других зон. У каждой зоны есть свой идентификатор — area ID. Идентификатор может быть указан в формате IP-адреса, но это не IP-адреса. Идентификация маршрутизаторов зоны проходит с помощью Router ID.

В OSPF есть несколько зон.

Магистральная (Area 0, Backbone-area, зона 0.0.0.0). Она особенная — формирует ядро сети OSPF. Все остальные зоны подключаются к ней. Все пакеты от любой ненулевой зоны в другую ненулевую проходят через магистральную. Магистральный маршрутизатор — Backbone Router, у которого хотя бы один интерфейс принадлежит магистральной зоне.

Стандартная (обычная, Normal). Это область без определенной цели: создается по умолчанию, принимает обновления каналов, суммарные и внешние маршруты.

Транзитная. Зона, которая используется для передачи сетевого трафика из одной смежной области в другую. Магистральная зона, например, тоже транзитная, но особого типа.

NSSA (Not-so-stubby area). Это специфичная область, которая может инжектировать внешние маршруты сообщений в систему с помощью специального типа LSA и отправлять их в другие области. Но зона не может получать внешние маршруты из других областей.

Для передачи данных в этой зоне используется маршрутизатор ASBR, Autonomous System Boundary Router. Он применяется не только здесь, а, в целом, для получения маршрутов из внешних систем. Для передачи данных на границах зон используются пограничные маршрутизаторы ABR, или Area Border Router.

Тупикова зона (stub area). Эта зоне не принимает информацию о внешних маршрутах для автономной системы, но принимает маршруты из других зон. В тупиковой зоне не может находиться ASBR. Для передачи сообщений за границу системы из тупиковой зоны маршрутизаторы используют маршрут по умолчанию.

Также есть totally stub area — это «усиление» тупиковой зоны (термин внедрен компанией Cisco). В отличие от stub area в ней заменены на маршрут по умолчанию и внешние, и межзональные маршруты.

Все маршрутизаторы, которые находятся внутри зон (магистральной тоже), называются Internal Router — внутренними. Их интерфейсы принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.

Примечание. Маршрутизаторы могут выполнять несколько функций/ролей одновременно.

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

Мультизона и ее преимущества

Мультизона, или мультизональность, удобна при большом количестве маршрутизаторов. Разделение позволяет:

  • Сегментировать сеть, например, по отделам или департаментам.
  • Снизить нагрузку на ЦПУ маршрутизаторов, потому что уменьшается количества перерасчетов по алгоритму SPF. Например, делим 100 роутеров на три зоны. При падении одного из них маршрут перестраивается не для всех, а лишь для трети роутеров.
  • Снизить размер таблиц маршрутизации, потому что маршруты на границах зон суммируются.
  • Снизить число пакетов LSA.

Объявления о состоянии канала — LSA

LSA, или Link State Advertisement, — это сообщение с описанием локального состояния маршрутизатора или сети. Вместе они создают базу данных состояния каналов LSDB. Есть 11 типов LSA сообщений (пакетов), у каждого своя функция.

Рассмотрим каждый LSA type.

LSA 1 (Router LSA). Каждый маршрутизатор создает этот тип. Он отправляется между маршрутизаторами одной зоны и дальше не идет. Содержит описание интерфейсов, как соединены маршрутизаторы и сети внутри зоны.

Router LSA

LSA 2 (Network). Этот тип рассылается между соседями в одной зоне, а создает его DR для описания маршрутизаторов, которые подключены к нему.

Network LSA

LSA 3 (Summary, Network Summary). Эти сообщения (пакеты) создает ABR, чтобы передать информацию о маршрутах соседей (из первого и второго типов) в другую область, в сокращенном виде. В сообщениях описываются подсети, стоимость маршрута, но не топология зоны.

LSA 3

LSA 4 (ASBR Summary). Как третий тип, но передает маршрут до локального ASBR соседям из других зон.

LSA 4

LSA 5 (External) содержат информацию из внешних систем — например, из другого протокола. Сообщения создает ASBR.

LSA 6 (Group Membership LSA) разработаны для протокола Multicast OSPF (MOSPF) , который поддерживает многоадресную маршрутизацию через OSPF. Не поддерживается Cisco.

LSA 7 (NSSA External) как пятый тип, но создает ASBR, если он находится в зоне NSSA.

Тип LSA 8 используется для передачи атрибутов BGP через сеть OSPF, а специальные типы LSA с 9 до 11 — специальные, используются для расширения возможностей, например, потоковой передачи данных.

Типы пакетов OSPF

LSA сами по себе не передаются. Маршрутизаторы передают LSA внутри других пакетов. Например, LSU или DD (Database Description), где передается описание всех LSA, которые хранятся в LSDB маршрутизатора. Кроме них, в OSPF используется еще три типа пакетов: Hello, Link-State Request (LSR) и Link-State Acknowledgment (LSAck).

В заголовке любого OSPF-пакета передается такая информация:

  • Version — номер версии протокола OSPF.
  • Type — тип OSPF-пакета, например, Hello.
  • Packet length — длина пакета с заголовком в байтах.
  • Router ID — идентификатор маршрутизатора.
  • Area ID — 32-битный идентификатор зоны, определяет, в какой зоне создан пакет.
  • Checksum — контрольная сумма, для проверки целостности пакета.
  • Authentication type — тип используемой схемы аутентификации. Есть три типа: 0 (нет), 1 (есть аутентификация), 2 (MD5-аутентификация).
  • Authentication — поле данных аутентификации.

Каждый тип пакета передает еще дополнительную информацию, кроме общей.

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

Пакет выглядит примерно так.

пакет OSPF

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

  • Network mask — сетевая маска интерфейса.
  • HelloInterval — информация о частоте отправки.
  • Options — дополнительные опции, которые поддерживает маршрутизатор, например, MC-bit.
  • Router Priority — приоритет маршрутизатора. Эта информация используется при выборе DR и BDR.
  • RouterDeadInterval — интервал времени, после которого сосед считается «мертвым».
  • Designated Router — IP-адрес DR для сети, в которую отправлен hello-пакет.
  • Backup Designated Router — IP-адрес BDR.
  • Neighbor — идентификаторы соседей-маршрутизаторов.

Database Description (DBD). Проверяет синхронизацию базы данных между маршрутизаторами. В пакете содержатся данные:

  • Interface MTU — максимальный размер в байтах IP-дейтаграммы, которая может быть отправлена через интерфейс без фрагментации.
  • I-бит — устанавливается для первого пакета в последовательности.
  • M-бит — указывает наличие последующих дополнительных пакетов.
  • MS-бит — устанавливается для ведущего.
  • DD sequence number — уникальное значение, устанавливается в начальном пакете; в каждом следующем увеличивается на единицу, пока не будет передана вся база данных.
  • LSA headers — массив заголовков базы данных состояния каналов.

Link-State Request (LSR). Предназначен для запроса части базы данных соседнего маршрутизатора. В пакете содержатся.

  • LS Type — тип сообщения.
  • Link State ID — идентификатор домена маршрутизации.
  • Advertising Router — идентификатор маршрутизатора, который создал объявление о состоянии канала.

Link-State Update (LSU). Предназначен для рассылки записей о состоянии каналов. В нем содержится Number of LSA — количество объявлений в пакете.

Link-State Acknowledgment (LSAck). Сообщение, которое подтверждает получение других типов пакетов.

Синхронизация LSDB

Все LSA всех типов образуют LSDB. У каждого маршрутизатора есть своя копия LSDB и они синхронизируют свою LSDB с DR.

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

За извещение отвечает Flooding protocol — все маршрутизаторы пересылают сообщения об обновлении состояния связей (LSA). Получение подтверждается сообщениями LSA с типом OSPF, о котором говорили выше. У каждой записи в LSDB есть номер версии. У следующей записи номер больше, чем у предыдущей, чтобы в базу не попадали устаревшие версии.

Выбор лучшего маршрута

За выбор лучшего маршрута отвечает алгоритм SPF. Например, у нас есть сеть в виде графа, в узлах которой маршрутизаторы, а за ними сети. Как выбрать маршрут передачи данных?

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

Когда топология известна, проводится расчет по алгоритму Дейкстры (SPF) — нидерландского ученого, который разработал его еще в 1959 году. Маршрутизатор выбирает маршрут на основании наименьшего значения стоимости пути.

Стоимость рассчитывается по нескольким метрикам. Метрикой может быть загрузка канала, задержка, надежность связи или полоса пропускания канала. Например, последнюю метрику производители устройств считают каждый по своему: для маршрутизаторов Cisco это время передачи 100 Мбит данных по каналу в секундах.

Также у маршрута есть приоритет (в порядке убывания):

  • Внутренние маршруты зоны.
  • Маршруты между зонами.
  • Внешние маршруты.

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

После расчета маршрутов создается дерево SPF.

Маршруты добавляются в таблицу маршрутизации.

таблица маршрутизации

Для получения маршрута маршрутизатор обращается к таблице LSDB. При этом таблица постоянно обновляется. Но обновление означает обнуление — маршруты строятся снова, с нуля, даже если изменились параметры всего одного маршрутизатора. Этот процесс сильно нагружает CPU.

Надежная IT-инфраструктура

От серверов до сетевых услуг и оборудования.

Реализации OSPF в Cisco и Juniper

Запуск и настройка OSPF протокола на оборудовании Cisco практически ничем не отличается от стандартного, описанного выше. Мы также включаем протокол на маршрутизаторах:

ter ospf 1

Задаем Router ID, сеть и зоны:

router ospf 1 router-id 1.1.1.1 log-adjacency-changes redistribute static network 1.1.1.1 0.0.0.0 area 0 network 172.16.1.0 0.0.0.255 area 0 !

Проверяем, заработала ли маршрутизация:

show ip ospf neighbors

Проверяем таблицу маршрутизации:

show ip route

Реализация OSPF-протокола на устройствах Juniper аналогична, но команды другие. Включаем OSPF, определяем интерфейсы и зоны:

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0

Здесь мы настроили область OSPF 0 (0.0.0.0) на интерфейсах ge-0/0/0.0 и ge-0/0/1.0 для маршрутизатора.

Для примера возьмем второй роутер:

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/2.0
root@R1> show ospf neighbor

Увидим подобный ответ — значит, сосед активен:

Address Interface State ID Pri Dead
1.1.1.2 ge-0/0/0.0 Full 1.1.1.2 128 39
root@R1> show ospf interface

Проверим маршруты, таблицу:

root@R1> show route

OSPF для IPv6

IPv6 поддерживается протоколом OSPF, но только третьей версии. Версия OSPFv2 поддерживает только IPv4. При переходе на протокол OSPFv3 почти ничего не меняется — вся теория работает и на этой версии.

В целом, настройка выглядит примерно так же:

  • Включаем OSPF.
  • Задаем идентификатор маршрутизатора. В OSPFv3 Router ID. Для IPv6 он настраивается только вручную, если не настроен адрес IPv4.

Как это выглядит в виде команд:

ipv6 router ospf 1 router-id 1.0.0.0 exit interface Serial0/0/0 ipv6 ospf 1 area 0 exit interface Serial0/0/1 ipv6 ospf 1 area 0 exit

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

show ipv6 ospf database

проверка базы LSDB

Команда проверки соседей:

show ipv6 ospf neighbor

проверка соседей

В контексте настроек OSPF для IPv6 остаются те же идентификаторы, те же области и зоны, так же настраиваются IP-адреса. При этом все маршрутизаторы Cisco поставляются с предварительно настроенными адресами IPv6.

Итог

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

  1. Основа OSPF — протокол SPF, вычисляющий лучший (не кратчайший) маршрут.
  2. Для вычислений в протоколе реализована общая база маршрутов LSDB.
  3. База синхронизируется благодаря постоянным LSA сообщениям о состоянии каналов от маршрутизаторов.
  4. OSPF инкапсулируется в IP, без TCP/UDP, их замена — hello-сообщения.
  5. Hello-сообщения помогают реализовать отношения соседства и смежности с другими маршрутизаторами. Это позволяет протоколу проверять состояния канала и автоматически перестраивать маршруты, используя SPF-алгоритм.
  6. Перестройка маршрутов происходит локально, поэтому быстро, но затратно для процессора и оперативной памяти.
  7. Протокол поддерживает иерархические структуры зон, а значит — масштабирование.
  8. Есть несколько версий протокола, чаще используется вторая, а третья поддерживает IPv6.

POP3 или IMAP: в чем разница между почтовыми протоколами и какой лучше выбрать

Принципы работы протокола DHCP

Зарегистрируйтесь в панели управления

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *