Рисунок 94 - Объединенная сеть с несколькими областями
Маршрутизаторы 4, 5, 6, 10, 11 и 12 образуют стержень. Если хост Н1 Области 3 захочет отправить пакет хосту Н2 Области 2, то пакет отправляется в роутер 13, который продвигает его в роутер 12, который в свою очередь отправляет его в роутер 11. Роутер 11 продвигает пакет вдоль стержня к роутеру 10 границы области, который отправляет пакет через два внутренних роутера этой области (маршрутизаторы 9 и 7) до тех пор, пока он не будет продвинут к хосту Н2. Сам стержень представляет собой одну из областей OSPF, поэтому все стержневые маршрутизаторы используют те же процедуры и алгоритмы поддержания маршрутной информации в пределах стержневой области, которые используются любым другим роутером. Топология стержневой части невидима для всех внутренних роутеров точно также, как топологии отдельных областей невидимы для стержневой части.
Область может быть определена так, что стержневая часть не будет смежной с ней. В этом случае связность стержневой части должна быть восстановлена через виртуальные соединения, формирующиеся между любыми роутерами стержневой области, которые совместно используют какую-либо связь с любой из нестержневых областей; они функционируют так, как если бы они были непосредственными связями.
Граничные маршрутизаторы AS, использующие OSPF, узнают о внешних роутерах через протоколы внешних роутеров (EGPs), через Exterior Gateway Protocol (EGP) или Border Gateway Protocol (BGP), или через информацию о конфигурации.
Алгоритм маршрутизации SPF является основой для операций OSPF. Когда на какой-нибудь роутер SPF подается питание, он инициилизирует свои структуры данных о протоколе маршрутизации, а затем ожидает индикации от протоколов низшего уровня о том, что его интерфейсфы работоспособны.
После получения подтверждения о работоспособности своих интерфейсов роутер использует приветственный протокол (hello protocol) OSPF, чтобы приобрести соседей (neighbor). Описываемый роутер отправляет своим соседям приветственные пакеты и получает от них такие же, которые действуют как подтверждение дееспособности, позволяя другим роутерам узнавать о том, что другие роутеры все еще функционируют.
В сетях с множественным доступом (multi-access networks), протокол Hello выбирает назначенный роутер (designated router) и дублирующий назначенный роутер. Назначеный роутер, помимо других функций, отвечает за генерацию LSA для всей сети с множественным доступом. Назначенные маршрутизаторы позволяют уменьшить сетевой трафик и объем топологической базы данных.
Маршрутизаторы смежные (adjacent), если базы данных о состоянии канала двух роутеров являются синхронными. В сетях с множественным доступом назначенные маршрутизаторы определяют, какие маршрутизаторы должны стать смежными. Топологические базы данных синхронизируются между парами смежных роутеров.
Каждый роутер периодически отправляет какое-нибудь LSA. LSA также отправляются в том случае, когда изменяется состояние любого роутера. LSA включает в себя информацию о смежностях роутера. При сравнении установленных смежностей с состоянием канала быстро обнаруживаются отказавшие маршрутизаторы, и топология сети изменяется соответствующим образом. Из топологической базы данных, генерируемых LSA, каждый роутер рассчитывает дерево наикратчайшего пути, корнем которого является он сам. В свою очередь дерево наикратчайшего пути выдает маршрутную таблицу.
Все пакеты OSPF начинаются с 24-байтового заголовка:
Рисунок 95 - Формат пакета OSPF
Существует 5 типов пакета OSPF (поле type):
Hello: Отправляется через регулярные интервалы времени для установления и поддержания соседских взаимоотношений.
Database Description: Описывает содержимое базы данных; обмен этими пакетами производится при инициализации смежности.
Link-State Request (запрос о состоянии канала). Запрашивает части топологической базы данных соседа. Обмен этими пакетами производится после того, как какой-нибудь роутер обнаруживает, что часть его топологической базы данных устарела.
Link-State Updat (корректировка состояния канала). Отвечает на пакеты запроса о состоянии канала. Эти пакеты также используются для регулярного распределения LSA. В одном пакете могут быть включены несколько LSA.
Link-State Acknowledgement (подтверждение состояния канала). Подтверждает пакеты корректировки состояния канала, которые должны быть четко подтверждены.
Каждое LSA в пакете корректировки состояния канала содержит тип поля. Существуют 4 типа LSA:
Router links advertisements (RLA): Объявления о каналах роутера. Описывают собранные данные о состоянии каналов роутера, связывающих его с конкретной областью. Любой роутер отправляет RLA для каждой области, к которой он принадлежит, RLA направляются лавинной адресацией через всю область, но они не отправляются за ее пределы.
Network links advertisements (NLA):Объявления о сетевых каналах. Отправляются назначенными роутерами, описывают все маршрутизаторы, которые подключены к сети с множественным доступом, и отправляются лавинной адресацией через область, содержащую данную сеть с множественным доступом.
Summary links advertisements (SLA):Суммарные объявления о каналах. Суммирует маршруты к пунктам назначения, находящимся вне какой-либо области, но в пределах данной AS. Они генерируются роутерами границы области, и отправляются лавинной адресацией через данную область. В стержневую область посылаются объявления только о внутриобластных роутерах. В других областях рекламируются как внутриобластные, так и межобластные маршруты.
AS external links advertisements:Объявления о внешних каналах AS. Описывают какой-либо маршрут к одному из пунктов назначения, который является внешним для данного AS. Объявления о внешних каналах AS вырабатываются граничными роутерами AS. Этот тип объявлений является единственным типом объявлений, которые продвигаются во всех направлениях данной AS; все другие объявления продвигаются только в пределах конкретных областей.
Поле длины пакета (packet length) обеспечивает длину пакета вместе с заголовком OSPF в байтах, поле идентификатора роутера (router ID) идентифицирует источник пакета, а поле идентификатора области (area ID) идентифицирует область, к которой принадлежит данный пакет. Все пакеты OSPF связаны с одной отдельной областью.
Стандартное поле контрольной суммы IP (checksum) проверяет содержимое всего пакета для выявления потенциальных повреждений, имевших место при транзите.
Примером поля типа удостоверения (authentication type) является "простой пароль". Все обмены протокола OSPF проводятся с установлением достоверности. Тип удостоверения устанавливается по принципу "отдельный для каждой области".
Дополнительные характеристики OSPF
В числе дополнительных характеристик OSRF - равные затраты, многотрактовая маршрутизация (multipath routing) и маршрутизация, базирующаяся на запросах типа услуг высшего уровня (type of service - TOS). Базирующаяся на TOS маршрутизация поддерживает протоколы высшего уровня, которые могут назначать конкретные типы услуг. Например, какая-нибудь прикладная программа может включить требование о том, что определенная информация является срочной. Если OSPF имеет в своем распоряжении каналы с высоким приоритетом, то они могут быть использованы для транспортировки срочных дейтаграмм.
OSPF обеспечивает один или более показателей. Если используется только один показатель, то он считается произвольным, и TOS не обеспечивается. Если используется более одного показателя, то TOS обеспечивается факультативно путем использования отдельного показателя (и следовательно, отдельной маршрутной таблицы) для каждой из 8 комбинаций, образованной тремя битами IP TOS: битом задержки (delay), производительности (throughput) и надежности (reliability).
Маски подсети IP включаются в каждый объявленный пункт назначения, что позволяет использовать маски подсети переменной длины (variable-length subnet masks). С помощью масок подсети переменной длины сеть IP может быть разбита на несколько подсетей разной величины, что обеспечивает администраторам сетей дополнительную гибкость при выборе конфигурации сети.
Внешние пртоколы маршрутизации.
Протокол внешних роутеров (Exterior Gateway Protocol-EGP) является протоколом междоменной досягаемости, который применяется в Internet. EGP документально оформлен в Запросах для Комментария (RFC) 904, опубликованных в апреле 1984 г. EGP в настоящее время не отвечает всем требованиям Internet и заменяется другими протоколами внешних роутеров - протоколам граничных роутеров (Border Gateway Protocol - BGP) и протоколам междоменной маршрутизации (Inter-Domain Routing Protocol – IDRP).
EGP первоначально предназначался для передачи информации о досягаемости в стержневые маршрутизаторы ARPANET и получения ее от них. Информация передавалась из отдельных узлов источника, находящихся в различных административных доменах (AS), вверх в стержневые маршрутизаторы, которые передавали эту информацию через стержневую область до тех пор, пока ее можно было передать вниз к сети пункта назначения, находящейся в пределах другой AS.
Рисунок 96 - Взаимоотношения между EGP и другими компонентами ARPANET