Алгоритм SPF
Алгоритм маршрутизации SPF является основой для операций OSPF. Когда
на какой-нибудь роутер SPF подается питание, он инициилизирует
свои структуры данных о протоколе маршрутизации, а затем ожидает
индикации от протоколов низшего уровня о том, что его интерфейсфы
работоспособны.
После получения подтверждения о работоспособности своих интерфейсов
роутер использует приветственный протокол (hello protocol) OSPF,
чтобы приобрести соседей (neighbor). Соседи - это роутеры с
интерфейсами с общей сетью. Описываемый роутер отправляет своим
соседям приветственные пакеты и получает от них такие же пакеты.
Помимо оказания помощи в приобретении соседей, приветственные пакеты
также действуют как подтверждение дееспособности, позволяя другим
роутерам узнавать о том, что другие роутери все еще
функционируют.
В сетях с множественным доступом (multi-access networks)
(сетях, поддержиающих более одного роутера),
протокол Hello выбирает назначенный
роутер (designated router) и дублирующий назначенный
роутер. Назначеный роутер, помимо других функций, отвечает
за генерацию LSA для всей сети с множественным доступом. Назначенные
роутеры позволяют уменьшить сетевой трафик и об'ем топологической
базы данных.
Если базы данных о состоянии канала двух роутеров являются
синхронными, то говорят, что эти роутеры смежные (adjacent). В
сетях с множественным доступом назначенные роутеры определяют,
какие роутеры должны стать смежными. Топологические базы данных
синхронизируются между парами смежных роутеров. Смежности
управляют распределением пакетов протокола маршрутизации. Эти пакеты
отправляются и принимаются только на смежности.
Каждый роутер периодическив отправляет какое-нибудь LSA. LSA
также отправляются в том случае, когда изменяется состояние какого-
нибудь роутера. LSA включает в себя информацию о смежностях
роутера. При сравнении установленных смежностей с состоянием
канала быстро обнаруживаются отказавшие роутеры, и топология
сети изменяется сооответствующим образом. Из топологической базы
данных, генерируемых LSA, каждый роутер рассчитывает дерево
наикратчайшего пути, корнем которого является он сам. В свою очередь
дерево наикратчайшего пути выдает маршрутную таблицу.