Протокол состояния связей OSPF
OSPF (англ. Open Shortest Path First) — протокол маршрутизации, основанный на технологии отслеживания состояния канала и использующий для нахождения кратчайшего пути алгоритм SPF. OSPF может применяться для внутренней маршрутизации в системах сетей любой сложности.
Пример маршрутизации с использованием алгоритма OSPF: - построение маршрута - построение база данных состояния связей - реализация алгоритма OSPF - проверка работоспособности
Построение маршрута Рис1 - пример OSPF системы Обозначения на рисунке: 1 , 2 , 3 , 4 - маршрутизаторы; A, B, C, D - линии связи, цифры означают метрику каждой связи.
Построение базы данных состояния связей Для работы алгоритма SPF на каждом маршрутизаторе строится база данных состояния связей, представляющая собой полное описание графа OSPF-системы. При этом вершинами графа являются маршрутизаторы, а ребрами - соединяющие их связи. Базы данных на всех маршрутизаторах идентичны.
База данных состояния связей для нашей OSPF системы выглядит следующим образом: Рис2 База данных состояния
Реализация алгоритма SPF Алгоритм SPF был предложен Е. В. Дейкстрой (E. W. Dijkstra). Пусть S - заданная вершина (источник путей); E - множество обработанных вершин, т. е. вершин, кратчайший путь к которым уже найден; R - множество оставшихся вершин графа (т. е. множество вершин графа за вычетом множества E); O - упорядоченный список путей. Описание алгоритма 1. Выделить E={S} и R={все вершины графа, кроме S}. Поместить в О все пути длиной в одно ребро, начинающиеся из S, отсортировав их в порядке возрастания метрик. 2. Если О пуст или первый путь в О имеет бесконечную метрику, то отметить все вершины в R как недостижимые и закончить работу алгоритма. 3. Рассмотрим P - кратчайший путь в списке О. Удалим этот P путь из О. И пусть V - последний узел в P.
Если V принадлежит E, перейти на шаг 2; иначе P является кратчайшим путем из S в V (будем записывать как V: P); перенести V из R в E. 4. Построить набор новых путей, подлежащих рассмотрению, путем добавления к пути P всех путей длиной в одно ребро, начинающихся из V. Метрика каждого нового пути равна сумме метрики P и метрики соответствующего односегментного отрезка, начинающегося из V. Добавить новые пути в упорядоченный список О, поместив их на места в соответствии со значениями метрик. Перейти на шаг 2.
Пример работы алгоритма SPF Рассмотрим результат работы алгоритма на примере базы данных состояния связей рассматриваемой системы. Результатом работы является таблица кратчайших путей от маршрутизатора 3 до всех остальных маршрутизаторов: 3 - 1 : DB 3 -2: DBA 3 -4 : D На основе этой информации в узле 3 строится таблица маршрутов, ведущих ко всем узлам OSPF-системы и таким образом таблица маршрутов в узле будет выглядеть: 3 - 1 : через 4 , линия D 3 - 2: через 4 , линия D 3 - 4: через линию D .
Функции протокола OSPF: -вычисление оптимального маршрута связи -обмен маршрутной информацией Таким образом, каждый маршрутизатор хранит информацию о том, в каком состоянии по его мнению находится сосед. Маршрутизатор полагается на соседние маршрутизаторы и передает им пакеты данных только в том случае, если он уверен, что они полностью работоспособны. Для выяснения состояния связей маршрутизаторы-соседи достаточно часто обмениваются короткими сообщениями HELLO.
В протоколе OSPF сети делятся на три категории: -"хост-сеть", представляющая собой сеть из одного адреса -"тупиковая сеть", которая представляет собой сеть, подключенную только к одному маршрутизатору - "транзитная сеть", которая представляет собой сеть, подключенную к более чем одному маршрутизатору.
Интерфейс OSPF (порт маршрутизатора, поддерживающего протокол OSPF) является обобщением подсети IP. Подобно подсети IP, интерфейс OSPF имеет IPадрес и маску подсети. Если один порт OSPF поддерживает более, чем одну подсеть, протокол OSPF рассматривает эти подсети так, как если бы они были на разных физических интерфейсах, и вычисляет маршруты соответственно