Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПК в рисунках.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
13.48 Mб
Скачать

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

Open Shortest Path First (OSPF) является протоколом состояния канала Link-state. может работать с оборудованием разных фирм.

Административное расстояние протокола OSPF равно 110. Протокол используется внутри определенной области. Нулевая область (area 0) является главной или единственной.

Области функционирования протокола ospf

Протоколы Link-state создают таблицы маршрутизации на основе информации, хранящейся в специальной базе данных (link-state database), а также в таблице данных соседних устройств (neighbor table). При этом алгоритм Дийкстра (Dijkstra) обеспечивается выбор кратчайшего пути (shortest path) к адресату назначения. Протокол OSPF не проводит периодический обмен объемными обновлениями (update) маршрутной информации, также как протокол EIGRP, и характеризуется быстрой сходимостью (convergence).

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

  1. Пакет Hello

  2. Пакет описания базы данных DataBase Description – DBD

  3. Пакет запроса Link-State Request – LSR

  4. Пакет обновлений Link-State Update – LSU

  5. Пакет подтверждения Link-State Acknowledgment – LSAck.

Hello-пакеты используются, чтобы устанавливать и поддерживать отношения смежности (adjacency) между соседними устройствами. Hello-пакеты содержат идентификатор устройства (Router ID).

На этапе формирования смежности устанавливаются 3 значения:

  1. Период времени обмена Hello-пакетами (Hello Interval)

  2. Период времени (Dead Interval), по истечению которого связь считается потерянной, если за это время не было получено ни одного Hello-пакета.

  3. Тип сети (Network Type).

Различают три типа сетей:

1. Широковещательные с множественным доступом (Broadcast multi-access), например Ethernet.

2. Сети типа точка-точка (Point-to-point)/

3. Нешироковещательные с множественным доступом (Nonbroadcast multi-access – NBMA), например, сети Frame Relay, ATM.

В сетях первых двух типов период рассылки Hello-пакетов составляет 10 секунд, а в сетях NBMA – 30 сек. Период Dead Interval – в четыре раза больше. Обмен Hello-пакетами производится с использованием адресов 224.0.0.5 или 224.0.0.6 многоадресного режима (multicast).

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

Для подтверждения принятого пакета обновлений LSU используется пакет подтверждения (Link-State Acknowledgment – LSAck).

Когда в сети происходит изменение, например, соседнее устройство становится недостижимым, протоколы состояния связи заполняют всю область обновлениями LSAs с использованием многоадресного режима multicast 224.0.0.5. Информация рассылается во все порты, кроме порта, на котором данная информация была получена. Каждый маршрутизатор копирует сообщение LSAs и модифицирует свое состояние связи, т.е. топологическую базу данных, которая содержит весь набор состояний. Затем маршрутизатор передает LSAs на все соседние маршрутизаторы в пределах области (area) и они повторно вычисляют маршруты. Итак, обновления маршрутной информации вызываются изменениями в сети.

Состояние связи (соединения) – это описание интерфейса, которое должно включать IP адрес интерфейса, маску подсети, тип сети и так далее. Содержащаяся в топологической базе данных информация используется, чтобы вычислить лучшие пути через сеть. Для вычисления кратчайшего пути к адресату назначения строится дерево, где корнем является сам маршрутизатор. Затем отбираются кратчайшие пути к сетям назначения и помещаются в таблицу маршрутизации. При вычислениях используется алгоритм Dijkstra выбора первого кратчайшего пути (shortest path first algorithm). Построение топологического дерева с использованием алгоритма Dijkstra позволяет формировать пути свободные от маршрутных петель (loop-free routing). Для этого протокол OSPF создает и поддерживает:

  1. Топологическую базу данных (link-state database).

  2. Базу данных смежных устройств (adjacency database).

  3. Таблицу маршрутизации.

Пакет OSPF размещается внутри IP-пакета сразу вслед за заголовком. Основной информацией пакета OSPF является:

тип пакета,

идентификатор маршрутизатора (Router ID),

номер области (area 0),

маска сети или подсети,

интервалы времени (Hello Interval, Dead Interval),

идентификаторы главного определяющего маршрутизатора (Designated Router - DR) и запасного (Backup Designated Router - BDR) определяющего маршрутизатора данной области,

список соседних устройств.

Выбор главного определяющего маршрутизатора области сети (DR) и запасного определяющего маршрутизатора сети (BDR), производится в сетях с множественным доступом. В сетях «точка-точка» этот механизм не используется. В сегменте сети с множественным доступом, несколько маршрутизаторов связаны между собой. Поскольку каждый маршрутизатор должен установить полное отношение смежности со всеми соседними маршрутизаторами и обменяться информацией о состоянии связи (соединений), то, например, при 5 маршрутизаторах необходим обмен десятью состояниями связи. В общем случае для n маршрутизаторов должно быть n ∙ (n-1)/2 обменов, на что должны быть выделены дополнительные ресурсы, прежде всего, полоса пропускания.

Если в сети выбран главный определяющий маршрутизатор области (DR), то маршрутизатор, первым обнаруживший изменение в сети, посылает информацию об изменениях только маршрутизатору DR, а тот в свою очередь, рассылает LSAs всем другим OSPF маршрутизаторам области, используя адрес 224.0.0.5. Если маршрутизатор DR выходит из строя, то его функции начинает выполнять запасной определяющий маршрутизатор области сети BDR.

Существует механизма выбора маршрутизаторов DR и BDR.

  1. Выбор DR и BDR происходит на основе сравнения приоритетов маршрутизаторов. По умолчанию приоритет всех маршрутизаторов равен 1. Приоритеты могут быть установлены на любое значение от 0 до 255. Маршрутизатор с приоритетом 0 не может быть избранным DR или BDR. Маршрутизатор с самым высоким OSPF приоритетом будет отобран как DR маршрутизатор. Маршрутизатор со вторым приоритетом будет BDR.

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

  3. Поскольку у интерфейсов используются разъемы, то они являются ненадежными элементами сети. Для повышения надежности на маршрутизаторах формируют виртуальные логические интерфейсы loopback. OSPF использует адрес интерфейса loopback как ID маршрутизатора, независимо от значения адресов других интерфейсов. Маршрутизатор, на котором сформировано несколько интерфейсов loopback, использует самый большой адрес интерфейса loopback в качестве ID маршрутизатора. Таким образом, выбор DR и BDR происходит на основе сравнения адресов интерфейсов loopback.

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

Создание интерфейса loopback производится по команде interface loopback, например:

Router(config)# interface loopback 0

Router(config-if)#ip address 10.1.1.1 255.255.255.255

Интерфейс loopback должен формироваться с маской подсети на 32 бита – 255.255.255.255. Такая маска называется маской узла, потому что маска подсети определяет сеть одного узла.

Изменение OSPF приоритета может производиться администратором по команде ip ospf priority в режиме конфигурирования интерфейса:

Router(config-if)#ip ospf priority

Значение приоритета () интерфейса может изменяться в пределах от 0 до 255. Приоритет можно посмотреть по команде show ip ospf interface:

Router#show ip ospf interface тип интерфейса

Кроме того, идентификатор маршрутизатора может быть задан администратором по команде:

Router(config)#router ospf процесса

Router(config-router)#router-id ip-адрес