Протокол маршрутизации ospf реферат

Обновлено: 18.05.2024

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

Принцип работы заключается в следующем:

  1. После включения маршрутизаторов протокол ищет непосредственно подключенных соседей и устанавливает с ними “дружеские” отношения.
  2. Затем они обмениваются друг с другом информацией о подключенных и доступных им сетях. То есть они строят карту сети (топологию сети). Данная карта одинакова на всех маршрутизаторах.
  3. На основе полученной информации запускается SPF (Shortest Path First - Выбор наилучшего пути) алгоритм, который рассчитывает оптимальный маршрут к каждой сети. Данный процесс похож на построение дерева, корнем которого является сам маршрутизатор, а ветви - пути к доступным сетям. Данный процесс, то есть конвергенция, происходит очень быстро.

SPF протоколы не рассылают периодические обновления, как это делают векторные алгоритмы. Вместо этого они рассылают обновления каждые 30 минут, причем не всю базу данных, а только определенную часть, не загружая при этом сеть.

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

Для сравнения возьмем сеть и посмотрим как протоколы RIP и SPF построят маршрут от узла А до сети Е.

RIP построит следующий маршрут, учитывая наименьшее расстояния до цели:


SPF протоколы построят иной маршрут, но с учетом скорости и надежности канала:


У SPF протоколов маршрут получился гораздо длиннее, однако пропускная способность канала гораздо выше, чем у RIP.

К SPF протоколам относят OSPF и IS-IS. Это 2 похожих протокола, которые были разработаны разными организациями. Мы будем рассматривать только протокол OSPF.

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

Иерархия и структура сети

OSPF прекрасно работает в любой сети, однако, если сеть большая, то необходимо разделить ее на зоны.

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


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

В OSPF зона 0 (Area 0) всегда является магистральной (backbone), к которой подключаются остальные зоны. Связь между зонами всегда осуществляется только через магистральную зону.

Всего существует 6 зон:

Название зоны

Отвечает за межзональную маршрутизацию. Всегда присутствует в топологии сети

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

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

Totally Stub - полностью тупиковая

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

Not-So-Stubby-Area (NSSA) - частично тупиковая сеть

Такая же сеть, как и Stub, однако может иметь ASBR маршрутизатор.

“Усиление” NSSA, кроме того маршруты к другим зонам заменены на маршрут по умолчанию.

Мы же рассмотрим только магистральные и стандартные зоны.

Следует выделить специальные маршрутизаторы, играющие определенную роль при разделении на зоны:

Магистральный маршрутизатор ( Backbone router, BR ) - используется только в зоне 0.

Пограничный маршрутизатор ( Area Border Router, ABR ) - включается на стыке 2-х и более зон.

Внутренний маршрутизатор ( Internal Route r) - обычный внутризонный маршрутизатор.

Пограничный маршрутизатор автономной сети ( AS Boundary router, ASBR ) - подключается на стыке разных автономных систем


К маршрутизаторам BR, ABR, ASBR предъявляются большие требования по мощности и пропускной способности, так как они оперируют с большими потоками данных.

Составление таблиц протокола

При работе протокола OSPF в каждом маршрутизаторе создаются 3 таблицы, необходимые для нормальной работы сети.

Таблица смежности или таблица соседей ( Adjacency table ) - содержит всех непосредственно подключенных соседей:



Топологическая таблица (Link State Data Base, LSDB) - содержит информацию обо всех маршрутизаторах своей зоны и активных интерфейсах этих маршрутизаторах. Все маршрутизаторы одной зоны имеют одинаковую таблицу


Таблица маршрутизации (Route table) - вычисляется алгоритмом SPF на основе информации из топологической таблицы


Чтобы понять назначение всех этих таблиц сравним работу протокола с работой обычного навигатора, установленного в машине. Водителю необходимо доехать из пункта А в пункт В. Для этого в навигатор загружают карту, чтобы он смог найти дорогу. Эта карта и является аналогом Топологической таблицы LSDB. Затем навигатор вычисляет оптимальный маршрут, учитывая при этом множества параметров:

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

Подобные параметры также учитываются протоколами SPF.

В результате на экране навигатора отображаются один или несколько маршрутов. Эти маршруты являются аналогом таблицы маршрутизации протокола OSPF.

Как же строятся таблицы смежности и топологии?

Для этого маршрутизаторы рассылают друг другу специальные обновления, называемые анонсами LSA (Link State Advertisements). Анонсы рассылаются по адресам 224.0.0.5 и 225.0.0.6. Существуют несколько типов анонсов. Мы их рассмотрим ниже в этом уроке.

Типы OSPF сетей

Маршрутизация работает на уровне L3, однако для того, чтобы связать маршрутизаторы другом с другом, используются различные технологии, работающие на уровнях L1 и L2. Одна из таких технологий Ethernet. Существуют и другие технологии такие, как Frame Relay, ATM, ISDN и так далее. Мы подробно их изучим в одной из следующих глав. Сейчас вкратце остановимся на том, каковы особенности работы протокола OSPF в сетях, где используются перечисленные технологии.

Прежде всего следует знать, что в некоторых типах сетей, протокол выбирает выделенный (Designated, DR) и резервный выделенный (Backup Designated Router, BDR) маршрутизаторы. Сделано это с целью уменьшения служебного трафика. Об этом подробнее чуть далее.

Выделяют следующие типы OSPF сетей:

  • Point-to-Point (сети типа точка-точка) - связь организуется только между парой маршрутизаторов. DR и BDR не выбираются. Например, 2 маршрутизатора связаны с помощью технологии ISDN.


  • Broadcast (широковещательные сети) - сети с множественным доступом (то есть объединяет сразу несколько маршрутизаторов) с поддержкой широковещательных рассылок. Например, сеть Ethernet. DR и BDR в данном случае выбираются


  • Nonbroadcast multiaccess, NBMA - сеть с множественным доступом, однако широковещательная рассылка в них не поддерживается. В таких сетях задействованы технологии Frame Relay, ATM, X.25. DR и BDR в них могут выбираться, а могут и не выбираться. Все зависит от режима работа сети NBMA


В данном курсе рассматривать сети NBMA мы не будем, однако для общей информации приведу таблицу режимов работы сетей NBMA

Режим работы

Похож на режим Broadcast в Ethernet, однако необходимо вручную указать всех соседей. Все маршрутизаторы должны находиться в одной подсети. Выбираются DR и BDR, работает в полносвязной топологии.

Сеть воспринимается как набор нескольких соединений point-to-point. Соседи обнаруживаются автоматически за счет многоадресной (multicast) рассылки пакетов Hello. Все маршрутизаторы должны находиться в одной подсети. DR и BDR не выбираются, все соседи обнаруживаются автоматически.

Похож на режим point-to-point, то есть устанавливается только парное соединение. DR и BDR не выбираются.

Похож на режим Broadcast в Ethernet.Соседи обнаруживаются автоматически за счет многоадресной (multicast) рассылки пакетов Hello. Все маршрутизаторы должны находиться в одной подсети. Выбираются DR и BDR, работает в полносвязной топологии.

Похож на режим Point-to-multipoint, однако необходимо вручную указывать всех соседей. Multicast и Broadcast рассылка пакетов Hello не поддерживается. DR и BDR не выбираются.


Итак, для чего же нужны DR и BDR?

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

Если взглянуть на сеть Ethernet, то отношения смежности установятся каждый с каждым. Это приведет к резкому увеличению служебного трафика. Чтобы снизить трафик была выбрана концепция с применением DR и BDR.

Данный принцип основан на следующих правилах:

  • Выбираются DR и BDR
  • Если DR выходит из строя, то BDR сразу становится DR. После этого выбирается другой BDR.
  • Отношения смежности устанавливаются только с DR и BDR. Это означает, что передача топологической информации осуществляется только между выделенным и невыделенным (DROther) маршрутизаторами.
  • Для связи с DR и BDR используется адрес групповой рассылки 224.0.0.6.
  • DR и BDR связываются с остальными маршрутизаторами по адресу 224.0.0.5
  • При любом изменении сети, обновления передаются всегда только DR и BDR (по каналу 224.0.0.6). И только после этого DR оповещает остальные маршрутизаторы (по каналу 224.0.0.5).
  • BDR не принимает активного участия в рассылке обновлений, однако содержит идентичную базу данных, что и DR на случай отказа последнего.



А как выбираются DR и BDR?

В OSPF каждый маршрутизатор обязан иметь свой ID. ID представляет собой 32-х битный десятичный номер, который выглядит как IP адрес. Поэтому в качестве ID выбирается IP адрес работающего порта. Затем все маршрутизаторы сравнивают свои ID. Побеждает тот у кого ID имеет большее значение. Весь процесс выбора DR автоматический, однако на его результаты можно повлиять.

Для этого можно настроить один из следующих параметров:

  • Приоритет интерфейса
  • Router ID
  • IP адрес loopback интерфейса

Если приоритет установлен на 0, то маршрутизатор никогда не будет выбран в качестве DR/BDR. На блок-схеме внизу указан процесс выбора ID OSPF маршрутизатора:


Сам процесс выбора DR и BDR рассмотрен подробнее в конце данного урока.

Принцип работы протокола. Типы пакетов, состояния связей

Углубимся немного в детали протокола. Рассмотрим типы пакетов, а также узнаем какие стадии проходит маршрутизатор в процессе конвергенции.

Рассмотрим весь процесс по порядку на примере сети


Как только включили маршрутизаторы они находятся в состоянии Down , то есть никаких отношений соседства нет и они даже не знают друг о друге.

1. Чтобы обнаружить соседей каждые 10 с каждый маршрутизатор отправляет пакет Hello по адресу 224.0.0.5, а также сам принимает такой же пакет от соседей.

  • Свой ID (Router ID)
  • Hello Interval
  • Dead Interval
  • ID своих соседей (Neighbors)
  • Маску подесети (Subnet mask)
  • Номер зоны (Area ID)
  • Приоритет маршрутизатора (Router Priority)
  • Адреса DR и BDR маршрутизаторов
  • Пароль аутентификации

2. Сразу после отправки пакета маршрутизаторы переходят в состояние Init .

3. Первый пакет Hello не содержит ID соседа. Пакет посылается по групповому адресу 224.0.0.5:


Как только R2 получит пакет от R1, то R2 в начале сравнит все параметры. если они совпадают, то адрес R1 вносится в таблицу соседей. После этого R2 вложит ID R1 в следующий пакет. Hello, который отправляется по адресу маршрутизатора R1, то есть ответный пакет Hello не использует групповой адрес:


R1, приняв пакет от R2 тоже сравнит параметры. И если они совпадают, то адрес R2 вносится в таблицу соседей. Затем R1 анализирует ID соседей в принятом пакете. Как только R1 увидит свой ID в пакете от R2, то перейдет в состояние двусторонней связи 2WAY . Аналогичный процесс происходит и с R2. Весь процесс проиллюстрирован ниже:

4. Если тип сети Broadcast, то выбирается DR/BDR. В процессе выбора все маршрутизаторы переходят в состояние Exstart . Изначально на стадиях INIT и 2WAY все маршрутизаторы в пакетах Hello указывают, что DR и BDR = 0.0.0.0, то есть не определены.


После того, как определены все соседи, маршрутизатор с более высоким ID указывает себя в качестве DR во пакетах Hello. Остальные маршрутизаторы, приняв такой пакет, сравнивают свои ID c ID “самопровозглашенного” DR. Если их ID меньше, то они с этим соглашаются и также передают его ID в своих пакетах Hello.

Аналогичным способом выбирается и BDR.


Что будет, если после выбора DR/BDR в сети появится маршрутизатор с большим ID?

Ничего. Процесс выбора DR/BDR запускается лишь раз. Если DR отключится, то его место займет BDR, а вместо BDR может стать новый маршрутизатор с более высоким ID.

Если тип сети Point-to-Point, то данный процесс пропускается.

5. Затем начинается процесс обмена топологическими данными. Для этого маршрутизаторы рассылают друг другу пакеты DBD ( Database Description ). Маршрутизаторы переходят в состоянии Exchange. На основе данных, полученных от DBD строится топологическая таблица. Для подтверждения приема пакета DBD маршрутизатор отправляет пакет LSAck ( Link State Acknowledgment ), в котором говорится: “Я все принял.” На данной стадии маршрутизаторы используют одноадресатные пакеты (unicast), то есть не используют групповой адрес 224.0.0.5.

6. Если у маршрутизатора отсутствует часть информации о структуре сети либо его база данных устарела и он хочет ее обновить, то отправит запрос LSR ( Link State Request ), в котором говорится: “Моя база данных неполная либо устарела. Отправьте мне актуальную информацию.” Ответом на запрос LSR будет пакет LSU ( Link State Update ). Получив LSU маршрутизатор подтвердит его получение пакетом LSAck. Во время данного процесса маршрутизатор пребывает в состоянии Loading .

7. Когда у маршрутизаторов больше нет вопросов друг к другу и их базы данных актуальны и равны они переходят в состоянии FULL .

Итак, подведем итоги.

Для своей работы OSPF использует следующие типы пакетов:

Hello - keep-alive пакет, которые рассылается каждые 10 с. Предназначен для установления “добрососедских” отношений между маршрутизаторами, которые непосредственно подключены друг к другу. А также для объявления соседям, что канал/маршрутизатор все еще “жив”. С ним связан Dead интервал, который ждет 40с (всегда в 4 раза больше, чем Hello интервал). Если маршрутизатор не примет Hello от соседа в течении 40 c, то вся таблица пересчитывается снова. А соседям сразу высылается новый анонс.

Database Description , DBD - передает топологическую информацию сети.

Link State Request , LSR - запрос соседям на передачу части данных о состоянии каналов для обновления топологической базы данных.

Link State Update , LSU - ответ маршрутизатора на запрос LSR

Link State Acknowledgment , LSAck - подтверждение в получении LSU.

В процессе работы протокола маршрутизатор проходит через следующие состояния:

Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей. Протокол разработан в университете Калифорнии (Беркли), базируется на разработках фирмы Ксерокс и реализует те же принципы, что и программа маршрутизации routed, используемая в ОC UNIX (4BSD). Маршрут здесь характеризуется вектором расстояния до места назначения. Предполагается, что каждый маршрутизатор является отправной точкой нескольких маршрутов до сетей, с которыми он связан. С 1988 года RIP был повсеместно принят производителями персональных компьютеров для использования в их изделиях передачи данных по сети.

Решение, найденное по алгоритму Белмана-Форда, является не оптимальным, а близким к оптимальному.Преимуществом протокола RIP является его вычислительная простота и простота конфигурирования, а недостатками – увеличение трафика при периодической рассылке широковещательных пакетов и неоптимальность найденного маршрута.

В современных сетевых средах RIP – не самое лучшее решение для выбора в качестве протокола маршрутизации, так как его возможности уступают более современным протоколам, таким как EIGRP, OSPF. Присутствует ограничение на 15 хопов, которое не дает применять его в больших сетях.

RIP работает на основе UDP‑протокола и использует порт 520. На каждом хосте, использующем RIP, должно быть установлено программное обеспечение, обрабатывающее RIP‑пакеты. Настроить работу протокола на маршрутизаторе можно с помощью того же HyperTerminal с рабочей станции, имеющей на это право и доступ. Настройки производится с помощью команд в соответствии с документацией к маршрутизатору.

Пример корректной работы протокола


(на рисунке: маршрутизаторы 1-6, сегменты сетей A..F; приведена изначальная информация в маршрутизаторе 2 и информация в нем после двух итераций обмена маршрутными пакетами RIP; после определенного числа итераций маршрутизатор будет знать о расстояниях до всех сегментов, а также альтернативные маршруты)

Пример неустойчивой работы по протоколу (отслеживание изменений в топологии)


(на рисунке: маршрутизаторы M1..M3; при работоспособном состоянии в таблице маршрутов каждого маршрутизатора есть запись о сети 1 и о соответствующем расстоянии до нее; далее рассмотрим случай обрыва линии связи между сетью 1 и маршрутизатором M1).

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

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


Пример неустойчивой работы по протоколу (возникновение циклических маршрутов – процедура splithorizon).

В исходном состоянии все каналы передачи данных функционируют нормально и, поэтому, маршруты из узлов D и C к сети N лежат через маршрутизатор B и имеют метрику 2.

Предположим, что в некоторый момент времени канал, который связывает маршрутизаторы A и В, выходит из строя. Маршрутизатор B в этом случае перестает принимать update для сети N от маршрутизатора A и по истечении установленного интервала времени маршрутизатор B определяет сеть N в качестве недостижимой и исключает её из своих массивов update.

Однако из-за того, что эти массивы передаются в сети асинхронно вполне возможно, что вскоре после этого маршрутизатор C получит массивов update от маршрутизатора D, который пока ещё считает, что маршрут из B до сети N существует. Получив такую информацию, маршрутизатор C включит в свою таблицу маршрутизации новый маршрут до сети N – через маршрутизатор D с метрикой 3. После того, как истечет время существования исходного маршрута в маршрутизаторе D, эта ситуация повторится совершенно аналогичным образом.

Правило split horizon (предотвращение возникновения циклических маршрутов)

Алгоритм split horizon является неотъемлемой частью протокола маршрутизации RIP и предназначен для предотвращения появления циклических маршрутов в сети. Для предотвращения возникновения подобных ситуаций достаточно использовать следующее правило:

Маршрутизатор не должен направлять update для маршрутов в адрес их источника.

За этим правилом закрепилось название split horizon – расщепленный горизонт. Маршрутизатор, используя данное правило, разделяет свои маршруты на столько групп, сколько у него есть активных интерфейсов. При использовании правила split horizon, обновления для маршрутов, которые были получены через некоторый интерфейс, не должны передаваться через этот же интерфейс.

Правило split horizon with poisoned reverse

Пример неустойчивой работы по протоколу (процедура triggeredupdate – управляемые модификации)


Использование процедуры Split horizon позволяет избежать появления зацикленного маршрута у двух шлюзов. Однако возможно возникновение ситуации, когда в циклическом маршруте участвуют три шлюза.

На рисунке приведен пример возникновения подобной ситуации. В приведенной сети при выходе из строя канала, который связывает узел А с сетью N, маршрутизатор B может принять от маршрутизатора С несуществующий маршрут до сети N, который якобы проходит через узел C. К тому моменту, когда маршрутизатор C определит, что он не имеет собственного маршрута до сети N, маршрутизатор B уже успеет передать информацию о наличии у него маршрута до этой сети марщрутизатору D.

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

Пример неустойчивой работы по протоколу
(счетчик времени timeout – timer)

Возможно возникновение ситуации, когда периодическое обновление будет просто потеряно в сети из-за возникновения краткосрочной перегрузки или временной неработоспособности канала передачи данных. Для того чтобы в этой ситуации маршруты не были ошибочно удалены из таблицы маршрутизации, каждому маршруту ставится в соответствие специальный счетчик времени, который называется timeout – timer . В тот момент времени, когда данный маршрут включается в таблицу маршрутизации, или когда для него приходит очередное обновление значение счетчика timeout – timer устанавливается равным Ttimeout max. = 180 секунд и этот счетчик начинает обратный отсчет времени. В том случае, если счетчик timeout – timer какого либо маршрута достигнет значения 0, этот маршрут должен быть исключен из числа активных маршрутов.

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

Ограничение максимальной длины маршрута

Использование протокола RIP целесообразно в сетях, самый длинный путь в которых составляет не более 15 переходов (hops). Данное ограничение определяется способом вычисления маршрута, который принят в данном алгоритме и не может быть преодолено.

Спецификации

· RFC ‑1388. Протокол RIP‑2 (1993 год) является новой версией RIP, которая в дополнение к широковещательному режиму поддерживает мультикастинг; позволяет работать с масками субсетей.

· RFC ‑1582. Расширение к RIP по требованиям к хостам к поддержке определённых параметров.

· RFC ‑1721. Анализ протокола RIP версии 2.

· RFC ‑1722 ( STD 0057). Протокол RIP версии 2, предписание к применению.

· RFC ‑1724. Протокол RIP версии 2, расширение по MIB (база управляющей информации – management information base).

· RFC ‑2080. Спецификации протокола RIP для IPv6.

· RFC ‑2092. Спецификация для автоматически запускающегося протокола RIP (triggeredRIP).

· RFC ‑2453 ( STD 0056). Общее описание протокола второй версии.

Реализация протокола.

· ответ (response) – рассылка вектора расстояний;

· запрос (request) – маршрутизатор (например, после своей загрузки) запрашивает у соседей их маршрутные таблицы или данные об определенном маршруте.


Дополнительно к полям версии 1 во второй версии определены следующие.

Работа протокола RIP

· проверяет, не превышает ли метрика (расстояние до сети) бесконечности;

· некорректный элемент игнорируется;

· если метрика меньше бесконечности, она увеличивается на 1;

· производится поиск сети, указанной в рассматриваемом элементе вектора расстояний, в таблице маршрутов;

· если искомая запись присутствует в таблице с метрикой больше, чем объявленная в полученном векторе, в таблицу вносятся новые метрика и, соответственно, адрес следующего маршрутизатора; таймер для этой записи перезапускается;

· во всех прочих случаях рассматриваемый элемент вектора расстояний игнорируется.

В каждую из сетей, подключенных к маршрутизатору, рассылается свой собственный вектор расстояний, построенный с учетом дополнения 1 (1А), сформулированного выше в п. 4.2.1. Там, где это возможно, адреса сетей агрегируются (обобщаются), то есть несколько подсетей с соседними адресами объединяются под одним, более общим адресом с соответствующим изменением маски.

В случае triggered response посылается информация только о тех сетях, записи о которых были изменены.

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

Настройка протокола RIP (логи)

%May 12 16:08:13:801 2009 Quidway SHELL/5/LOGIN: Console login from con0

Routing Platform Software

Version AR28–10 8040V300R003B03D040 (COMWAREV300R002B60D021), RELEASE SOFTWARE

Compiled Apr 04 2006 14:35:29 by Houming

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

User privilege level is 3, and only those commands can be used

whose level is equal or less than this.

Privilege note: 0‑VISIT, 1‑MONITOR, 2‑SYSTEM, 3‑MANAGE

System View: return to User View with Ctrl+Z.

%May 12 16:24:58:322 2009 Quidway PHY/2/PHY: Ethernet0/0: change status to up

%May 12 16:24:58:322 2009 Quidway IFNET/5/UPDOWN: Line protocol on the interface

Ethernet0/0 is UP

[Quidway] interface Ethernet 0/0

[Quidway-Ethernet0/0] display ip interface

Aux0 current state: Administratively DOWN

Line protocol current state:DOWN

Internet Address is 172.16.0.2/24

Broadcast address: 172.16.0.255

The Maximum Transmit Unit: 1500 bytes

ip fast-forwarding incoming packets state is Disabled

ip fast-forwarding outgoing packets state is Disabled

ip multicast-fast-forwarding packets state is Disabled

IP packets input number: 0, bytes: 0, multicasts: 0

IP packets output number: 0, bytes: 0, multicasts: 0

TTL invalid packet number: 0

ICMP packet input number: 0

Source quench: 0

Routing redirect: 0

Router advert: 0

Router solicit: 0

IP header bad: 0

Timestamp request: 0

Timestamp reply: 0

Information request: 0

Information reply: 0

Netmask request: 0

Netmask reply: 0

Ethernet0/0 current state:UP

Line protocol current state:UP

Internet Address is 192.168.1.5/24

Broadcast address: 192.168.1.255

The Maximum Transmit Unit: 1500 bytes

ip fast-forwarding incoming packets state is Enabled

ip fast-forwarding outgoing packets state is Enabled

ip multicast-fast-forwarding packets state is Disabled

IP packets input number: 15, bytes: 4920, multicasts: 0

IP packets output number: 0, bytes: 0, multicasts: 0

ARP packets input number: 35

Request packet: 35

Unknown packet: 0

TTL invalid packet number: 0

ICMP packet input number: 0

Source quench: 0

Routing redirect: 0

Router advert: 0

Router solicit: 0

IP header bad: 0

Timestamp request: 0

Timestamp reply: 0

Information request: 0

Information reply: 0

Netmask request: 0

Netmask reply: 0

[Quidway] ping 192.168.1.10

PING 192.168.1.10: 56 data bytes, press CTRL_C to break

Reply from 192.168.1.10: bytes=56 Sequence=1 ttl=64 time=2 ms

Reply from 192.168.1.10: bytes=56 Sequence=2 ttl=64 time=1 ms

Reply from 192.168.1.10: bytes=56 Sequence=3 ttl=64 time=2 ms

Reply from 192.168.1.10: bytes=56 Sequence=4 ttl=64 time=1 ms

Reply from 192.168.1.10: bytes=56 Sequence=5 ttl=64 time=2 ms

– 192.168.1.10 ping statistics –

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 1/1/2 ms

deal mode: global

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] network 192.168.0.0

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] peer 192.168.1.10

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] undo peer 192.168.1.10

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

Quidway-rip] filter-policy gateway 192.168.1.10 import

The gateway does not exist, but the configuration is saved

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Checkzero is on Default cost: 1

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

filter-policy gateway 192.168.1.10 import

[Quidway-rip] undo filter-policy gateway 192.168.1.10 import

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Host-route is off

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] undo summary

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is off Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] preference 150

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 150

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

[Quidway-rip] preference 100

[Quidway-rip] timers timeout 200

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 200

Garbage-collection timer: 120

[Quidway-rip] timers timeout 180

[Quidway-rip] timers update 1005

[Quidway-rip] display rip

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 1005

Timeout timer: 180

Garbage-collection timer: 4020

[Quidway-rip] timers update 30

[Quidway-rip] display rip

Checkzero is off Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

Назначение.

Протокол OSPF (Open Shortest Pass First, алгоритмы предложены Дейкстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется – коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Он был изобретён для избавления сетей, использующих RIP от таких напастей, как:

1. Циклические маршруты. Так как в протоколе нет механизмов выявления замкнутых маршрутов, необходимо либо слепо верить партнерам, либо принимать меры для блокировки такой возможности.

СОДЕРЖАНИЕ
1. Общие сведения о протоколе OSPF 4
1.1. Описание алгоритма Dijkstra 4
1.2. Иерархия маршрутизации 6
1.3. Алгоритм SPF 8
1.4. Формат пакета 8
1.5. Метрика протокола OSPF 12
2. Конфигурирование протокола OSPF 13
3. Краткие итоги 18
Список использованных источников19

1. Общие сведения о протоколе OSPF
Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути (Open Shortest Path Fisrt - OSPF) является протоколом маршрутизации, разработанным для сетей IP рабочей группой Internet Engineering Task Force (IETF), занимающейся разработкой протоколов для внутрисистемных роутеров (interior gateway protocol - IGP). Рабочая группа былаобразована в 1988 г. для разработки протокола IGP, базирующегося на алгоритме "поиска наикратчайшего пути" (shortest path first - SPF), с целью его использования в Internet, крупной международной сети, об'единяющей научно-исследовательские институты, правительственные учреждения, университеты и частные предприятия. Как и протокол IGRP , OSPF был разработан по той причине, что к середине 1980 гг.непригодность RIP для обслуживания крупных гетерогенных об'единенных систем стала все более очевидна.
ОSPF явился результатом научных исследований по нескольким направлениям, включающим:
Алгоритм SPF компании Bolt, Beranek и Newman (BBN), разработанный для Arpanet (программы с коммутацией пакетов, разработанной BBN в начале 1970 гг., которая явилась поворотным пунктом в истории разработки сетей) в 1978 г.Исследования Koмпании Radia Perlman по отказоустойчивости широкой рассылки маршрутной информации (1988).
Исследования BBN по маршрутизации в отдельной области (1986).
Одна из первых версий протокола маршрутизации IS-IS OSI
Как видно из его названия, OSPF имеет две основных характеристики.Первая из них-это то, что протокол является открытым, т.е. его спецификация является общественнымдостоянием. Спецификация OSPFопубликована в форме Запроса для Комментария (RFC) 1247. Второй его главной характеристикой является то, что он базируется на алгоритме SPF. Алгоритм SPF иногда называют алгоритмом Dijkstra по имени автора,который его разработал.
1.1. Описание алгоритма Dijkstra

Рис. 1. Иллюстрация работы алгоритма Dijkstra

Ниже дается формальное описание алгоритма. Сначала вводимнекоторые определения.
Пусть D(v) равно сумме весов связей для данного пути.
Пусть c(i,j) равно весу связи между узлами с номерами i и j.
Далее следует последовательность шагов, реализующих алгоритм.
1. Устанавливаем множество узлов N = .
2. Для каждого узла v не из множества n устанавливаем D(v)= c(1,v).
3. Для каждого шага находим узел w не из множества N, для которого D(w)минимально, и добавляем узел w в множество N.
4. Актуализируем D(v) для всех узлов не из множества N
D(v)=min.
5. Повторяем шаги 2-4, пока все узлы не окажутся в множестве N.
Топология маршрутов для узла a приведена на нижней части рис. 1. В скобках записаны числа, характеризующие метрику отобранного маршрута согласно критерию пункта 3.
Реализация алгоритма
| Множество | Метрикасвязи узла a с узлами |
Шаг | N | B | C | D | E | F | G | H | I | J |
0 | | 3 | - | 9 | - | - | - | - | - | - |
1 | | (3) | 4 | 9 | 7 | - | 10 | - | - | - |
2 | | 3 | (4) | 6 | 6 | 10 | 10 | 8 | - | 14 |
3 | | 3 | 4 | (6) | 6 | 10 | 10 | 8 | 9 | 14 |
4 | | 3 | 4 | 6 | (6) | 10 | 10 | 8 | 9 | 14 |
5 | | 3 | 4 | 6 | 6 | 10 | 10 | (8) | 9| 14 |
6 | | 3 | 4 | 6 | 6 | 10 | 10 | 8 | (9) | 14 |
7 | | 3 | 4 | 6 | 6 | (10) | 10 | 8 | 9 | 14 |
8 | | 3 | 4 | 6 | 6 | 10 | (10) | 8 | 9 | 14 |
9 | | 3 | 4 | 6 | 6 | 10 | 10 | 8 | 9 | (14) |

Таблица может иметь совершенно иное содержимое для какого-то другого вида сервиса.

Автономная система (autonomous system) — группа маршрутизаторов, обменивающаяся маршрутизирующей информацией с помощью одного протокола маршрутизации (определение соответствует тому, как этот термин используется в протоколах IGP)

Базовые термины OSPF:

Идентификатор маршрутизатора (router ID, RID) — уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы

Зона (area) — совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны

Объявление о состоянии канала (link-state advertisement, LSA) — единица данных, которая описывает локальное состояние маршрутизатора или сети. Например, для маршрутизатора LSA включает описание состояния каналов и отношений соседства. Множество всех LSA, описывающих маршрутизаторы и сети, образуют базу данных состояния каналов (LSDB).

База данных состояния каналов (link state database, LSDB) — список всех записей о состоянии каналов (LSA). Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов

Соседи OSPF:

Соседи (neighbours) — два маршрутизатора, интерфейсы которых находятся в одном широковещательном сегменте (и на которых включен OSPF на этих интерфейсах)

Отношения соседства (adjacency) — взаимосвязь между соседними маршрутизаторами, установленная с целью синхронизации информации

Hello-протокол (hello protocol) — протокол, использующийся для установки и поддержания соседских отношений

База данных соседей (neighbours database) — список всех соседей (также используется термин neighbour table)

Пакеты OSPF:

Hello — пакеты, которые используются для обнаружения соседей, установки отношений соседства и мониторинга их доступности (keepalive)

DBD — пакеты, которые описывают содержание LSDB

LSR — пакеты, с помощью которых запрашивается полная информация об LSA, которых недостает в LSDB локального маршрутизатора

LSU — пакеты, которые передают полную информацию, которая содержится в LSA

LSAck — пакеты, с помощью которых подтверждается получение других пакетов

2) Основной принцип работы OSPF (Open Shortest Path First)

3) Конфигурация OSPF в Cisco

Базовая настройка протокола OSPF на маршрутизаторе Cisco

Настройка протокола OSPF на маршрутизаторах Cisco не представляет каких-либо сложностей. Достаточно в режиме глобальной конфигурирации выполнить следующие команды (начнём с маршрутизатора R1):


  • router ospf 1 — команда для запуска процесса динамической маршрутизации OSPF на маршрутизаторе. Цифра 1 в конце команды указывает номер процесса OSPF (OSPF Process ID). Следует отметить, что этот номер не обязан быть одинаковым на всех маршрутизаторах в area (да и даже в автономной системе в целом) , на которых запускаем OSPF. Я буду использовать OSPF Process ID равный номеру маршрутизатора в рассматриваемой топологии

  • router-id 1.1.1.1 — задаётся в режиме конфигурирования процесса маршрутизации (в который попадаем после ввода первой рассмотренной команды). Здесь указывается OSPF идентификатор (OSPF Router ID) данного маршрутизатора. OSPF идентификатор каждого маршрутизатора, который участвует в процессе маршрутизации OSPF в автономной системе, должен быть уникальным. Процесс выбора OSPF Router ID происходит следующим образом (по уменьшению приоритета):

*Sep 11 09:54:02.935: %OSPF-4-NORTRID: OSPF process 1 failed to allocate unique router-id and cannot start

При запуске процесса OSPF на любом маршрутизаторе, обязательно должен быть выбран Router ID.

Router ID — это уникальное имя маршрутизатора, по которому он известен в AS.


  • минимальный IP-адрес или максимальный IP-адрес, который назначен на интерфейсах маршрутизатора

  • также обычно есть способ задания Router ID вручную

  • главное, чтобы Router ID был уникален в AS

  • network 192.168.12.1 0.0.0.0 area 0 — указываем на каких интерфейсах маршрутизатора запускать процесс OSPF.

*Sep 11 09:59:34.435: %OSPF-5-ADJCHG: Process 2, Nbr 1.1.1.1 on GigabitEthernet1/0 from LOADING to FULL, Loading Done

говорящее о том, что маршрутизатор R2 установил отношение смежности с соседом (Nbr — от слова Neighbor), идентификатор OSPF (OSPF Router Id) которого 1.1.1.1, и находится этот сосед за интерфейсом GigabitEthernet1/0 и перешёл в состояние Full (об этом детально будет позже).

GigabitEthernet2/0 is up, line protocol is up
интерфейс GigabitEthernet2/0 с IP адресом 192.168.12.1/24 находится в Area 0
Internet Address 192.168.12.1/24, Area 0
идентификатор процесса OSPF (OSPF Process ID), который мы задали первой командой — 1, OSPF Router ID (задали второй командой) — 1.1.1.1
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
…………………………………………………
количество соседей — 1, отношения соседства установлены с одним маршрутизатором
Neighbor Count is 1, Adjacent neighbor count is 1
OSPF Router ID соседа, с которым установлены отношения соседства — 2.2.2.2 (задавали на маршрутизаторе R2)
Adjacent with neighbor 2.2.2.2 (Designated Router)
…………………………………………………

Настроив все 4 маршрутизатора мы получим рабочий OSPF домен маршрутизации с одной областью — area 0 (Backbone Area).

Neighbor ID Pri State Dead Time Address Interface
3.3.3.3 1 FULL/BDR 00:00:33 192.168.13.3 GigabitEthernet3/0
2.2.2.2 1 FULL/DR 00:00:34 192.168.12.2 GigabitEthernet2/0

Видим, что у R1 есть 2 OSPF-соседа. Так же видим OSPF Router ID, IP Address соседей и через какие интерфейсы маршрутизатора R1 эти соседи достижимы.

Ну и таблица маршрутизации на R1:

Codes: C — connected, S — static, R — RIP, M — mobile, B — BGP
D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area
N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2
E1 — OSPF external type 1, E2 — OSPF external type 2
i — IS-IS, su — IS-IS summary, L1 — IS-IS level-1, L2 — IS-IS level-2
ia — IS-IS inter area, * — candidate default, U — per-user static route
o — ODR, P — periodic downloaded static route

Gateway of last resort is not set

C 192.168.12.0/24 is directly connected, GigabitEthernet2/0
C 192.168.13.0/24 is directly connected, GigabitEthernet3/0
O 192.168.24.0/24 [110/2] via 192.168.12.2, 00:02:54, GigabitEthernet2/0
O 192.168.34.0/24 [110/2] via 192.168.13.3, 00:04:23, GigabitEthernet3/0

Читайте также: