Александр Филимонов

Сети ЭВМ и телекоммуникации




Начало > Основы TCP/IP

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

Протокол OSPF является стандартным протоколом  маршрутизации для использования в сетях IP. Основные принципы организации современной версии протокола маршрутизации OSPF изложены в RFC 2328. Протокол OSPF представляет собой классический протокол маршрутизации класса Link–State, который обеспечивает:

  • отсутствие ограничений на размер сети
  • поддержку внеклассовых сетей
  • передачу обновлений маршрутов с использованием адресов типа multicast
  • достаточно большую скорость установления маршрута
  • использование процедуры authentication при передаче и получении обновлений маршрутов

Преимущества использования протокола OSPF

Иерархическая  маршрутизация

Использование иерархической маршрутизации позволяет существенно повысить эффективность использования каналов передачи данных за счет сокращения доли передаваемого по ним служебного трафика.

Информационный обмен, который осуществляют маршрутизаторы для определения маршрута передачи данных внутри области, показан на рисунке зелеными стрелками. Определение маршрута и информационный обмен между областями в данном случае производится через специальную центральную область - AREA 0. Использование такой схемы логического построения сети позволяет существенно уменьшить долю неинформативного трафика, который передается по каналам передачи данных между областями. В частности в этом случае по каналам, используемых для  передачи данных между областями, (красный цвет) не будет передаваться информация о сетях, которые имеют чисто локальное значение.

Распределение нагрузки между параллельными каналами (Load balancing)

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

Процедура установления подлинности источника информации

Использование процедуры установления подлинности целесообразно в тех информационных системах, в которых большое внимание уделяется информационной безопасности. В таких системах маршрутизаторы, которые участвуют в процессе определения маршрута, должны выполнить совокупность действий, которая необходима для установления приемником подлинности источника передаваемых данных (authentication procedure). Только в том случае, если источник передаваемых данных успешно выполнил процедуру аутентификации,  те данные о маршрутах, которые были от него получены,  принимаются для обработки.

Способы организации обмена информацией о маршрутах

Примечательной особенностью протокола маршрутизации OSPF является использование адресов типа multicast для информационного обмена между маршрутизаторами в процессе определения маршрута. Использование таких адресов позволяет отказаться от использования адресов типа broadcast, что в свою очередь приводит к повышению эффективности использования вычислительных ресурсов сети.

Еще одной важной особенностью процесса организации информационного обмена у протокола маршрутизации OSPF является также использование аппарата «назначенных» (designated) маршрутизаторов. Использование этой возможности позволяет существенно сократить объем служебного трафика в том случае, когда несколько маршрутизаторов подключены к одной сети. 

Формат метрики протокола OSPF

В отличие от протокола маршрутизации RIP, который для сравнения маршрутов может использовать только их длину, выраженную в числе переходов, протокол маршрутизации OSPF использует для этой – же цели специальный критерий, который  называется метрика. Метрика маршрута в протоколе OSPF формируется по специальному алгоритму и учитывает следующие параметры:

  • пропускная способность канала
  • величина задержки распространения сигнала в канале
  • надежность канала
  • загруженность канала
  • размер максимального блока данных, который может быть передан через данный канал

Использование такой метрики позволяет более объективно оценивать маршруты и, при наличии выбора, принимать эффективное  и целесообразное решение. 

Основные компоненты и принципы организации информационного обмена

Построение дерева кратчайших путей

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

Термины и определения алгоритма OSPF

При описании алгоритма OSPF используются несколько специальных терминов и понятий:

Autonomous System

Автономной системой (AS) называется группа маршрутизаторов, которая для  обеспечения взаимного обмена информацией о маршрутах использует единый протокол маршрутизации.

Neighboring Routers

Маршрутизаторы, которые подключены к одной и той же сети называются соседними маршрутизаторами.

Adjacency

Два маршрутизатора из числа соседних могут быть выбраны для установления близких отношений, которые предполагают обмен информацией о маршрутах. Близкие отношения устанавливаются не в каждой паре соседствующих маршрутизаторов.    

Link State Advertisement (LSA)

Блок данных, который содержит информацию о состоянии маршрутизатора или сети называется объявлением о состоянии канала. В том случае, если данное объявление представляет состояние маршрутизатора, оно должно  содержать информацию о статусе его интерфейсов и близких ему маршрутизаторов. Каждое такое объявление распространяется по всей автономной системе. Совокупность таких LSA формирует базу данных маршрутизации в каждом из маршрутизаторов. 

Flooding

Процесс распространения LSA в пределах автономной системы называется затоплением (Flooding). 

Hello Protocol

Одним из компонентов протокола OSPF является Hello протокол, с помощью которого маршрутизаторы устанавливают и обслуживают соседские отношения. С помощью этого протокола, в частности производится выбор назначенного маршрутизатора для некоторых сетей.

Designated Router

Возможно возникновение ситуации, когда к одной сети типа broadcast окажутся подключенными несколько входящих в один домен маршрутизации OSPF маршрутизаторов. Для того, чтобы избежать дублирования представления  сети типа broadcast  несколькими маршрутизаторами в протоколе OSPF используется специальный алгоритм, с помощью которого выбирается Designated Router (назначенный  маршрутизатор). В этом случае только один маршрутизатор обеспечивает передачу информации о маршрутах в сегменте сети.

Типы маршрутизаторов OSPF

Протокол OSPF относится к протоколам, которые обеспечивают иерархическую маршрутизацию. При использовании протоколов данного типа информационная система разбивается на независимые области по функциональному принципу. Как уже было выше отмечено, область №0 играет роль backbone  и используется для обеспечения информационного взаимодействия между остальными областями. В зависимости от того, к какой области принадлежит маршрутизатор, и какие информационные потоки через него проходят, различают четыре типа маршрутизаторов OSPF:

  • Internal Router - IR
  • Area Border Router - ABR
  • Backbone Router - BR
  • AS Boundary Router - ASBR

На рисунке представлены различные типы маршрутизаторов OSPF.

Internal Router

Маршрутизаторы типа Internal Router – внутренний маршрутизатор – размещаются внутри автономной системы  и не имеют интерфейсов, которые выходят за пределы этой автономной системы. На приведенном рисунке маршрутизаторы этого типа обозначены буквами IR.

Backbone Router

К данному типа относятся все маршрутизаторы, которые имеют интерфейсы в нулевую область. На приведенном рисунке маршрутизаторы Backbone Router обозначены символами BR.

Area Border Router

Маршрутизаторы типа Area Border Router (пограничный маршрутизатор области) – размещаются на границе между несколькими областями в пределах автономной системы. Такие маршрутизаторы имеют интерфейсы, которые связывают их с маршрутизаторами, находящимися в других областях. Маршрутизаторы данного типа обозначены на рисунке ABR и  предназначены для того, чтобы передавать информацию о маршрутах между различными областями.

Autonomous System Boundary Router

Маршрутизаторы типа AS Boundary Router (пограничный маршрутизатор Автономной системы) обеспечивают информационный обмен с маршрутизаторами, которые расположены в других автономных системах. На рисунке маршрутизатор AS Boundary Router обозначен символами ASBR.

Базы данных маршрутизаторов OSPF

База данных Link-State Database отображает текущую структуру информационных связей в рассматриваемой области маршрутизации. Эти базы данных должны быть идентичными у всех маршрутизаторов, которые расположены в пределах одной области. Базы данных состоят из сообщений, которые называются Link – State Advertisement и формируются всеми активными маршрутизаторами данной области. Активным в данном случае считается маршрутизатор, который имеет хотя бы один подключенный канал в данной области.

Сообщения LSA

Сообщения, в которых содержатся LSA, формируются при каждом изменении состояния канала и  передаются всеми маршрутизаторами данной области методом затопления. Для формирования базы данных используются различные типы LSA:

  • LSA типа 1 – router link advertisement
  • LSA типа 2 – network link advertisement
  • LSA типа 3, 4 – summary link advertisement
  • LSA типа 5 – external link advertisement

Сообщения LSA типа 1

Сообщения типа router link advertisement (состояния каналов маршрутизатора) формируются каждым маршрутизатором для каждой области, в которой он имеет активные интерфейсы. Сообщения LSA типа 1 содержат объединенную информацию о состоянии каналов, которые имеет  маршрутизатор в данной области. Сообщения этого типа распространяются только в пределах одной области.

Сообщения LSA типа 2

Сообщения LSA типа network link advertisement (состояние  сети) формируется только в сетях, которые могут быть отнесены к классу broadcast (Ethernet) или NBMA (Non Broadcast Multi Access). В сообщении LSA типа 2 указываются идентификаторы всех маршрутизаторов, подключенных к данной сети. Формирование сообщений данного типа выполняется маршрутизатором, который называется Designated Router. Выбор этого маршрутизатора выполняется по специальному алгоритму среди всех маршрутизаторов, которые подключены к данной сети.   

Сообщения LSA типа 3, 4

Сообщения LSA типа – summary link advertisement формируются Area Border Router – маршрутизаторами и направляются за пределы области, в которой они сформированы. Каждое сообщение данного типа содержит маршрут, который может быть использован для информационного обмена между различными областями в пределах одной автономной системы. В частности, LSA типа 3 описывают маршруты к сетям, LSA типа 4 описывают маршруты к AS Boundary Router – маршрутизаторам.

Сообщения LSA типа 5

Сообщения LSA типа external link advertisement формируются AS Boundary Router- маршрутизаторами и содержат информацию о маршрутах, которые являются внешними по отношению к данной автономной системе. Сообщения данного типа распространяются по всем областям автономной системы за исключением отдельных специально сконфигурированных областей, которые называются stub-areas.

Протокол Hello

Помимо установления партнерских отношений данный протокол используется для регулярного подтверждения наличия двустороннего обмена между маршрутизаторами. Для этого пакеты Hello периодически отправляются через все интерфейсы маршрутизатора. В пакете Hello маршрутизатор размещает IP адреса соседей, от которых он получил сообщения Hello. Двусторонний характер обмена заключается в том, что маршрутизатор должен обнаружить в принятом от партнера пакете Hello  свой  собственный идентификатор.

В broadcast и NBMA сетях  данный протокол используется для выбора назначенного маршрутизатора. Процедуры, которые маршрутизатор выполняет в рамках протокола Hello, являются различными в сетях различного типа.

В broadcast сетях маршрутизатор периодически заявляет о себе путем передачи пакетов  адресованных в адрес типа multicast. В данном случае эти пакеты Hello содержат представления данного маршрутизатора по поводу кандидатуры назначенного маршрутизатора, а также, список маршрутизаторов, от которых были получены пакеты Hello в течение установленного интервала времени.

Структура сообщения типа Hello

На рисунке приведена структура сообщений типа Hello. Зеленым цветом отмечен стандартный заголовок сообщения OSPF.

OSPF Header (TYPE=1)
Net MASK
DEAD TIMER Hello Inter GWAY PRIO
DR
BDR
NEIGHBOUR1ADDRESS
NEIGHBOUR2ADDRESS
NEIGHBOURNADDRESS

Поле Net MASK

В этом поле размещается маска сети, через которую данное сообщение было передано.

Поле DEAD TIMER

В поле DEAD TIMER размещается значение в секундах интервала времени,  по истечении которого маршрутизатор который не отвечает на запрос, считается мертвым. Значение этого поля должно быть одинаковым у всех маршрутизаторов, которые принадлежат к одной сети.

Поле Hello Inter

В поле Hello Inter размещается значение в секундах интервала времени, который разделяет передачу одного сообщения типа Hello от передачи следующего такого же  сообщения.

Поле GWAY PRIO

В данном поле размещается приоритет маршрутизатора, который должен быть учтен при выборе назначенного маршрутизатора.

Поля DR и BDR

В этих полях маршрутизатор, который формирует сообщения Hello, размещает свои предложения по кандидатурам на посты назначенного маршрутизатора и его заместителя. 

Поле NEIGHBOUR ADDRESS

В данном поле маршрутизатор размещает адрес маршрутизатора, от которого он получил в свое время пакет Hello.

Сообщение типа Database Description

OSPF Header (TYPE=2)
Must be Zero I M S
Sequence Number
Link Type
Link ID
Advertising Router
Link Sequence Number
Link Checksum Link AGE

Сообщения данного типа передаются в том случае, если возникает необходимость в передаче всей базы данных маршрутизации. В этом случае один из маршрутизаторов, который называется Slave, (S=0) передает запрос на базу данных. Маршрутизатор типа мастер (S=1) формирует ответное сообщение, в котором размещается полное описание текущей базы данных маршрутизации данной области. В том случае, если сообщение занимает более одного пакета,  в сообщении размещаются специальные признаки начала (I=1) и продолжения (M=1). Для того, чтобы обеспечить возможность восстановления потерянных сообщений, каждое из них снабжается индивидуальным последовательным  номером (Sequence Number).


< Предыдущая лекция
Протоколы маршрутизации. Алгоритм RIP
Следующая лекция
Протоколы маршрутизации IGRP и EIGRP
>

Ссылки по теме:


Поиск

Поиск документов на RFC.net



© 2000— Александр Филимонов
© 2001— Алексей Бусыгин

Top.Mail.Ru