|
Протокол маршрутизации OSPFПротокол OSPF является стандартным протоколом маршрутизации для использования в сетях IP. Основные принципы организации современной версии протокола маршрутизации OSPF изложены в RFC 2328. Протокол OSPF представляет собой классический протокол маршрутизации класса Link–State, который обеспечивает:
Преимущества использования протокола 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:
На рисунке представлены различные типы маршрутизаторов 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 типа 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.
Поле Net MASK В этом поле размещается маска сети, через которую данное сообщение было передано. Поле DEAD TIMER В поле DEAD TIMER размещается значение в секундах интервала времени, по истечении которого маршрутизатор который не отвечает на запрос, считается мертвым. Значение этого поля должно быть одинаковым у всех маршрутизаторов, которые принадлежат к одной сети. Поле Hello Inter В поле Hello Inter размещается значение в секундах интервала времени, который разделяет передачу одного сообщения типа Hello от передачи следующего такого же сообщения. Поле GWAY PRIO В данном поле размещается приоритет маршрутизатора, который должен быть учтен при выборе назначенного маршрутизатора. Поля DR и BDR В этих полях маршрутизатор, который формирует сообщения Hello, размещает свои предложения по кандидатурам на посты назначенного маршрутизатора и его заместителя. Поле NEIGHBOUR ADDRESS В данном поле маршрутизатор размещает адрес маршрутизатора, от которого он получил в свое время пакет Hello. Сообщение типа Database Description
Сообщения данного типа передаются в том случае, если возникает необходимость в передаче всей базы данных маршрутизации. В этом случае один из маршрутизаторов, который называется Slave, (S=0) передает запрос на базу данных. Маршрутизатор типа мастер (S=1) формирует ответное сообщение, в котором размещается полное описание текущей базы данных маршрутизации данной области. В том случае, если сообщение занимает более одного пакета, в сообщении размещаются специальные признаки начала (I=1) и продолжения (M=1). Для того, чтобы обеспечить возможность восстановления потерянных сообщений, каждое из них снабжается индивидуальным последовательным номером (Sequence Number).
Ссылки по теме: |
|
© 2000 Александр Филимонов |