Семейство протоколов TCP/IP. Протоколы маршрутизации. Протокол маршрутизации OSPF.


Добавил:DMT
Дата создания:21 июня 2008, 13:07
Дата обновления:21 июня 2008, 13:07
Просмотров:13418 последний вчера, 18:58
Комментариев: 0

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

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

•  отсутствие ограничений на размер сети;

•  поддержку внеклассовых сетей;

•  передачу обновлений маршрутов с использованием адресов типа multicast;

•  достаточно большую скорость установления маршрута;

•  использование процедуры authentication при передаче и получении обновлений маршрутов.

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

Рис. 2.7.1.

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

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

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

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

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

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

•  пропускная способность канала;

•  величина задержки распространения сигнала в канале;

•  надежность канала;

•  загруженность канала;

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

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

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

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

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

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

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

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

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

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

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

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

•  Internal Router – IR;

•  Area Border Router – ABR;

•  Backbone Router – BR;

•  AS Boundary Router- ASBR.

Рис. 2.7.2.

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

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

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

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

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

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

Сообщения, в которых содержатся 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

Таблица 2.7.1.

OSPF Header (TYPE=1)

Net MASK

DEAD TIMER

Hello Inter

GWAY PRIO

DR

BDR

NEIGHBOUR 1 ADDRESS

NEIGHBOUR 2 ADDRESS

NEIGHBOUR N ADDRESS

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

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

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

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

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

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

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

Таблица 2.7.2.

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

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

up