3.1 Обзор протокола OSPF, типы пакетов в OSPF

3. Open Shortest Path First (OSPF)

3.1 Обзор протокола OSPF, типы пакетов в OSPF

 OSPF является link-state протоколом маршрутизации и используется внутри автономной системы. Является протоколом внутреннего шлюза (IGP). Два OSPF маршрутизатора, установив отношения соседства, могут обмениваться данными о подключенных к ним сетях. Для этого в OSPF используются LSA (link-state advertisements).

 OSPF маршрутизаторы создают и обмениваются LSA, заполняя собственные LSDB (link-state (or topological) database). На основании LSDB на маршрутизаторе высчитывается по алгоритму SPF (shortest-path first) наилучший путь к каждому префиксу в сети в автономной системе.

Link State Database (LSDB)

Помимо поиска соседей, обмена LSA в OSPF третьей важной задачей OSPF является заполнение LSDB сообщениями LSA. В LSDB хранится такая информация, как ID маршрутизаторов, подключенные к ним сети и соседи, стоимость до этих сетей и соседей. Все OSPF маршрутизаторы в области должны иметь идентичные LSDB для одинакового представления о топологии. Информация в LSDB является входящими данными для алгоритма SPF, высчитывающего лучшие маршруты до всех префиксов в сети. Рассчёт производится используя алгоритм Дейкстры. Результаты вычислений помещаются в таблицу маршрутизации и используются для пересылка трафика.

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

Для своей работы OSPF использует следующие типы пакетов:

  1. Hello (Type 1)
  2. Database Description (Type 2)
  3. Link-Sate Request (Type 3)
  4. Link-Sate Update (Type 4)
  5. Link-Sate Acknowledgment (Type 5)

Hello пакет (Type 1)

Рассылается маршрутизатором каждые 10 секунд на multicast-адрес 224.0.0.5. Состоит из заголовка OSPF и следующих полей:

  • Network Mask *
  • Hello Interval *
  • Dead interval *
  • Options *
  • Router Priority
  • Designated Router (DR)
  • Backyp Designated Router (BDR)
  • Neighbor

Поля, помеченные знаком * должны совпадать на маршрутизаторах для установления отношений соседства. Поле Network Mask может не совпадать на point-to-point линках.

Hello пакет в OSPF используется для поиска соседей и поддержания отношений соседства между OSPF маршрутизаторами.

Если в течение Dead Interval’а от соседа не получено ни одного Hello-пакета, отношения соседства сбрасываются. Интервал равен 40 секундам по-умолчанию.

В 8-ми битном поле Options содержится такая информация, как принадлежность к stub-области.


Database Description (DD или DBD) пакет (Type 2)

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

При синхронизации баз данных выбирается ответственный маршрутизатор на основании наибольшего OSPF Router-ID (RID). Выбранный ответственным маршрутизатор называется master, а второй маршрутизатор — slave. Master устанавливает рандомный sequence number первого пакета Database Description и управляет этим sequence number во время передачи заголовков LSA из баз данных, увеличивая sequence number на 1 для каждого последующего Database Description пакета. После обмена маршрутизаторы утрачивают роли master и slave.

Database Description пакет содержит следующие поля:

  • OSPF header длиной 24 байт
  • Sequence number используется для того, чтобы убедиться, что все Database Description пакеты получены в процессе синхронизации LSDB
  • LSA header идентифицирующий каждую LSA

Link-State Request (LSR) пакет (Type 3)

Используется маршрутизатором для отправки запроса на недостающие или устаревшие LSA в LSDB локального маршрутизатора. Эти LSA могут быть обнаружены после обмена Database Description пакетами.

Link-State Request пакет содержит следующие поля:

  • OSPF header длиной 24 байт
  • Link-state type содержит номер типа запрашиваемой LSA (Type 1, Type 2 …)
  • Link-state ID — идентификатор запрашиваемой LSA
  • Advertising router — OSPF Router-ID маршрутизатора, сгенерировавшего запрашиваемую LSA

Link-State Update (LSU) пакет (Type 4)

Является основным информационным «блоком» в OSPF. Передаётся на multicast-адрес 224.0.0.5 (All OSPF Routers) или на 224.0.0.6 (Designated Router), может содержать несколько LSA. Рассылается в следующих случаях:

  • в ответ на LSR во время синхронизации LSDB при установлении соседства
  • при изменении LSA в процессе работы

Link-State Update пакет содержит следующие поля:

  • OSPF header длиной 24 байт
  • Number of advertisements — количество LSA в LSU-пакете
  • Link-state advertisements (LSA) — поле с полным содержанием каждой LSA

Link-State Acknowledgment (LSAck) пакет (Type 5)

LSAck отсылается в ответ на принятый LSU пакет с целью оповестить отправивший LSU маршрутизатор о приёме этой LSU. Один LSAck может отправляться в ответ на несколько LSU, и содержит:

  • OSPF header длиной 24 байт
  • LSA header полученной (-ных) LSA

Позволяет осуществить надёжный обмен данными в OSPF.

К оглавлению

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