Публикация научных статей.
Вход на сайт
E-mail:
Пароль:
Запомнить
Регистрация/
Забыли пароль?
Международный научно-исследовательский журнал публикации ВАК
Научные направления
Поделиться:
Статья опубликована в №3 (ноябрь) 2013
Разделы: Информационные технологии, Телекоммуникации
Размещена 29.11.2013. Последняя правка: 29.11.2013.

Понимание протоколов OSPF и RIP. Основные сведения

Усынин Иван Александрович

Бакалавр

СибГУТИ

магистрант

Ращупкин Евгений Олегович, СибГУТИ, магистрант


Аннотация:
Статья посвящена протоколам OSPF и RIP. Проводится описание этих протоколов, основные понятия протоколов, также рассматриваются проблемы возникающие с ними и их решение.


Abstract:
The article is devoted protocols OSPF and RIP. Held description of these protocols, the basic concepts of protocols, also deals with the problems arising from them and their decision.


Ключевые слова:
OSPF, RIP

Keywords:
OSPF, RIP


УДК 004

Протокол OSPF[3] (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры.

Протокол OSPF был разработанIETF(англ. Internet Engineering Task Force) в 1988 году. Последняя версия протокола представлена в RFC 2328. Протокол OSPF представляет собой протокол внутреннего шлюза IGP(англ. Interior Gateway Protocol). Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы.

Open Shortest Path First можно перевести на русский, как протокол кратчайшего пути (маршрута). OSPF является промышленным протоколом, который описывается в соответствующем RFC 2328.

Протоколы маршрутизации разделяются на два вида, которые зависят от типов алгоритмов, на которых они основаны:

Дистанционно-векторные протоколы, основаны на Distance Vector Algorithm (DVA) это RIP, IGRP,BGP,EIGRP,AODV .

Протоколы состояния каналов связи, основаны на Link State Algorithm (LSA) это IS-IS,OSPF,NLSP,HSRP,CARP,OLSR,TBRPF

Так же протоколы маршрутизации делятся на два вида в зависимости от сферы применения:

Междоменной маршрутизации – это EGP, BGP, IDRP, IS-IS level 3;

Внутридоменной маршрутизации – это RIP, IS-IS level 1-2, OSPF, IGRP, EIGRP.

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

  • Высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации;
  • Поддержка сетевых масок переменной длины (VLSM);
  • Оптимальное использование пропускной способности

 

Описание работы протокола

1.Маршрутизаторы обмениваются hello-пакетами через все интерфейсы, на которых активирован OSPF[1]. Маршрутизаторы, разделяющие общий канал передачи данных, становятся соседями, когда они приходят к договоренности об определённых параметрах, указанных в их hello-пакетах.

2.На следующем этапе работы протокола маршрутизаторы будут пытаться перейти в состояние смежности со своими соседями. Переход в состояние смежности определяется типом маршрутизаторов, обменивающихся hello-пакетами, и типом сети, по которой передаются hello-пакеты. OSPF определяет несколько типов сетей и несколько типов маршрутизаторов. Пара маршрутизаторов, находящихся в состоянии смежности, синхронизирует между собой базу данных состояния каналов.

3.Каждый маршрутизатор посылает объявления о состоянии канала маршрутизаторам, с которыми он находится в состоянии смежности.

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

5.Рассылая объявления внутри одной OSPF-зоны, все маршрутизаторы строят идентичную базу данных состояния каналов маршрутизатора.

6.Когда база данных построена, каждый маршрутизатор использует алгоритм "кратчайший путь первым" для вычисления графа без петель, который будет описывать кратчайший путь к каждому известному пункту назначения с собой в качестве корня. Этот граф — дерево кратчайших путей.

7.Каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайших путей.

Типы сетей, поддерживаемые протоколом OSPF

Широковещательные сети со множественным  доступом (Ethernet, Token Ring)[1]

Точка-точка (T1, E1, коммутируемый доступ)

Нешироковещательные сети со множественным доступом (NBMA) (Frame relay)

OSPF - масштабируемый протокол маршрутизации, он может быть использован, как в отдельной единственной зоне в небольших сетях, так и в нескольких зонах большой сети. Можно сгруппировать некоторые маршрутизаторы в одну Area, а другие в другую. Тем самым изменения маршрутной информации в одной зоне, не повлияет на работоспособность другой. Для взаимодействия нескольких зон используют Area0, т.е. это зона является магистралью (backbone).

 Состояния протокола OSPF.

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

Существует 5 состояний:

1. Состояние отключено (down state)

2. Состояние инициализации (init state)

3. Двустороннее соединение (Two-way)

4. ExStart

5. Обмен (Exchange)

6. Загрузка (Loading)

7. Установка полной смежности (Full adjecency)

Для разбора всех этих состояний, нам требуется ещё знать, какие типы

пакетов используются в протоколе OSPF.

Типы пакетов в протоколе OSPF:

- Hello пакет - данный тип пакета предназначен для создания и поддержки таблицы соседних устройств.

- DBD пакет (Database Description packet), как видно из название это пакет описания содержимого базы данных состояния каналов маршрутизатора.

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

- LSU (Link state update) - обновление состояния каналов. Данный пакет передает в себе обновление о состоянии каналов.

- LSAck (Link state acknowledgment) - Подтверждение о получении от соседнего   устройства LSA (Link State Advertisement).

Теперь рассмотрим состояния и переходы между состояниями более подробно.

1. Down state.

Самое простое состояние, и не требует детального описания. В двух

словах, это состояние, при котором не происходил обмен между соседними маршрутизаторами, маршрутизатор ожидает перехода в следующее состояние - Init State, состояние инициализации.

2. Init State.

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

3. Состояние двусторонней связи (Two-way).

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

Данное состояние является базовым, но для совместного использования

маршрутной инфомарцией этого недостаточно.

4. Состояние ExStart.

Для установки состояние ExStart использутеся пакет DBD (описание базы данных). Так же в этом состоянии "выясняется", какой из маршрутизаторов является ведущим (master), а какой ведомый (slave). Выбор осуществляется по ID маршрутизатора. Маршутизатор, у которого ID больше становится master. После того, как определены роли маршрутизаторов, маршрутизаторы переходят в следующее состояние - обмена.

5. Exchange

В состоянии Exchange, как видно из названия, происходит обмен информации о состоянии каналов. После получения маршрутизатором такой информации, маршрутизатор сравнивает с своей базой данных и если такая информация отсутсвует, то маршрутизатор запрашивает полную информацию о данном канале. Полный обмен информации происходит в следующем состоянии - Loading.

6. Loading или состояние загрузки.

В состоянии Exchange, маршрутизатор нашел информацию, которой нет в собственной базе данных, для получения полной информации об этом канале маршрутизатор посылает пакет-запрос LSR (Link State Request) соответсвующему соседу. Сосед отвечает пакетом LSU (Link State Update), в котором содержится полная информация о запрашиваемом канале. После получения пакета LSU, маршрутизатор должен подтвердить это соответсвующим пакетом (LSAck).

7. Full adjacency - Состояние полной смежности.

После загрузки всех данных, в состоянии Loading, маршрутизаторы

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

 

При прохождении всех этих состояний, в маршрутизаторе будет сформированы три базы данных.

1. База данных канального уровня. - в данной базе содержится вся

информация о состоянии каналов всех маршрутизаторов, т.е. данная БД

содержит общую топологию всей сети. Следует отметить, что все

маршрутизаторы имеют одинаковую БД канального уровня.

2. База данных о смежных устройствах. - Список всех устройств, с

которыми установлено двусторонние соединение.

3. Таблица маршрутизации. - Список маршрутов, который сформирован каждым

маршрутизатором с помощью алгоритма SPF.

Маршруты вычисляются из базы данных канального уровня. И вычисляются каждым маршрутизатором самостоятельно!

 

Протокол OSPF поддерживает следующие типы сетей:

1. Nonbroadcast multiaccess (не широковещательные сети множественного доступа - NBMA)

2. Broadcast multiaccess (широковещательные сети множественного доступа – Ethernet, TokenRing)

3. Point - to – Point "Точка-точка" (T1,E1, коммутируемый доступ)

4. Point - to – multipoint  "точка-многоточка"

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

 

Для уменьшения служебного трафика используется выбор назначенного и резервного маршрутизатора (DR - designated router и BDR - backup

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

 

"Общение" между маршрутизаторами и DR/BDR осщуествляется с помощью мультикаста - 224.0.0.5. "Общение" между DR и BDR происходит по своему мультикаст адресу - 224.0.0.6

В сетях point - to - point существует только два маршрутизатора, соответсвенно не нужно выбирать ни DR ни BDR

 

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

  • Интерфейс (interface) — соединение маршрутизатора и одной из подключенных к нему сетей. При обсуждении OSPF термины интерфейс и канал (link) часто употребляются как синонимы.
  • Объявление о состоянии канала (link-state advertisement, LSA) — объявление описывает все каналы маршрутизатора, все интерфейсы и состояние каналов.
  • Состояние канала (link state) — состояние канала между двумя маршрутизаторами; обновления происходят при помощи пакетов LSA.
  • Метрика (metric) — условный показатель «стоимости» пересылки данных по каналу;
  • Автономная система (autonomous system) — группа маршрутизаторов обменивающихся маршрутной информацией через общий протокол маршрутизации.
  • Зона (area) — совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны.
  • Соседи (neighbours) — два маршрутизатора, имеющие интерфейсы в общей сети.
  • Состояние смежности (adjacency) — взаимосвязь между определёнными соседними маршрутизаторами установленная с целью обмена информацией маршрутизации.
  • Hello-протокол (hello protocol) — используется для поддержания соседских отношений.
  • База данных соседей (neighbours database) — список всех соседей.
  • База данных состояния каналов (link state database, LSDB) — список всех записей о состоянии каналов. Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов.
  • Идентификатор маршрутизатора (router ID, RID) — уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы.

 

Проблемы, возникающие в работе протокола маршрутизации OSPF

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

Далее приводится список распространенных проблем в работе протокола OSPF, которые возникают в операционной системе Windows Server 2003 при использовании службы удаленного доступа и маршрутизации

 

Проблемы в работе протокола маршрутизации OSPF

  1. 1.     Недостаточно маршрутов OSPF

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

ü Не принимаются внешние маршруты от пограничных маршрутизаторов автономных систем. Проверьте, чтобы на маршрутизаторе не использовалась слишком жесткая фильтрация. Фильтрация настраивается на вкладке Внешняя маршрутизация (External Routing) в диалоговом окне Свойства (Properties)протокола OSPF.

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

  1. 2.     Не формируется близость OSPF

ü Протокол OSPF не включен на интерфейсе маршрутизатора.

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

ü Отсутствие связи по протоколу IP между соседними маршрутизаторами.

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

ü Некорректные параметры аутентификации или пароли.

  1. 3.     Не формируется виртуальное подключение

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

ü Указан некорректный идентификатор маршрутизатора в виртуальном подключении к соседу.

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

ü Проверьте правильность настройки паролей, мертвого интервала или интервала приветствия.

 Протокол RIP

Протокол маршрутной информации (англ.  Routing Information Protocol) [2]— один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизатором динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов.

Алгоритм маршрутизации RIP (Алгоритм Беллмана - Формана) был впервые разработан в 1969 году, как основной для сети Arpanet.

Прототип протокола RIP — Gateway Information Protocol, часть пакета PARC Universal Packet.

Версия RIP, которая поддерживает протокло интернета была включена в пакет BSD операционной системы Unix под названием routed (route daemon), а также многими производителями, реализовавшими свою версию этого протокола. В итоге протокол был унифицирован в документе RFC 1058.

В 1994 году был разработан протокол RIP-2 (RFC 2453), который является расширением протокола RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности.

Для работы в среде IPv6 была разработана версия RIPng.

Техническая информация

RIP — так называемый протокол дистанционно-векторной маршрутизации, который оперирует транзитными участками в качестве метрики маршрутизации. Максимальное количество хопов, разрешенное в RIP — 15 (метрика 16 означает «бесконечно большую метрику»). Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи. RIP работает на прикладном уровне стека TCP/IP, используя UDP порт 520.

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

Преимущество этого протокола — простота конфигурирования.

Недостатки - увеличение трафика при периодической рассылке широковещательных пакетов и не оптимальность найденного маршрута.

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

Для каждой записи в таблице маршрутов существует время жизни, контролируемое таймером. Если для любой конкретной сети, внесенной в таблицу маршрутов, в течение 180 с не получен вектор расстояний, подтверждающий или устанавливающий новое расстояние до данной сети, то сеть будет отмечена как недостижимая (расстояние равно бесконечности). Через определенное время модуль RIP производит «сборку мусора» - удаляет из таблицы маршрутов все сети, расстояние до которых бесконечно.

При получении сообщения типа «ответ» для каждого содержащегося в нем элемента вектора расстояний модуль RIP выполняет следующие действия:

· проверяет корректность адреса сети и маски, указанных в сообщении;

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

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

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

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

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

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

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

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

Сообщения типа «ответ» рассылаются модулем RIP каждые 30 сек. по широковещательному или мультикастинговому (только RIP_2) адресу; рассылка «ответа» может происходить также вне графика, если маршрутная таблица была изменена (triggered response). Стандарт требует, чтобы triggered response рассылался не немедленно после изменения таблицы маршрутов, а через случайный интервал длительностью от 1 до 5 с. Эта мера позволяет несколько снизить нагрузку на сеть.

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

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

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

При получении сообщения типа «запрос» с адресом 0.0.0.0 маршрутизатор рассылает в соответствующую сеть обычное сообщение типа ответ. При получении запроса с любым другим значением в поле (полях) «IP Address» посылается ответ, содержащий информацию только о сетях, которые указаны. Такой ответ посылается на адрес запросившего маршрутизатора (не широковещательно).

Выводы

  • Протокол RIP является наиболее заслуженным и распространенным протоколом маршрутизации сетей TCP/IP. Несмотря на его простоту, определенную использованием дистанционно-векторного алгоритма, RIP успешно работает в .небольших сетях с количеством промежуточных маршрутизаторов не более 15.
  • RIP-маршрутизаторы при выборе маршрута обычно используют самую простую метрику - количество промежуточных маршрутизаторов между сетями, то есть хопов.
  • Версия RIPvl не распространяет маски подсетей, что вынуждает администраторов использовать маски фиксированной длины во всей составной сети. В версии RIPv2 это ограничение снято.
  • В сетях, использующих RIP и имеющих петлевидные маршруты, могут наблюдаться достаточно длительные периоды нестабильной работы, когда пакеты зацикливаются в маршрутных петлях и не доходят до адресатов. Для борьбы с этими явлениями в RIP-маршрутизаторах предусмотрено несколько приемов (Split Horizon, Hold Down, Triggered Updates), которые сокращают в некоторых случаях периоды нестабильности.
  • Протокол OSPF был разработан для эффективной маршрутизации IP-пакетов в больших сетях со сложной топологией, включающей петли. Он основан на алгоритме состояния связей, который обладает высокой устойчивостью к изменениям топологии сети.
  • При выборе маршрута OSPF-маршрутизаторы используют метрику, учитывающую пропускную способность составных сетей.
  • Протокол OSPF является первым протоколом маршрутизации для IP-сетей, который учитывает биты качества обслуживания (пропускная способность, задержка и надежность) в заголовке IP-пакета. Для каждого типа качества обслуживания строится отдельная таблица маршрутизации.
  • Протокол OSPF обладает высокой вычислительной сложностью, поэтому чаще всего работает на мощных аппаратных маршрутизаторах

Библиографический список:

1.Сайт Juniper [электронный ресурс] URL:https://www.juniper.net/techpubs/en_US/junos11.4/information-products/pathway-pages/config-guide-ospf/config-guide-ospf.html#overview (дата обращения: 29.11.2013 )
2. Сайт Juniper [электронный ресурс]
URL:http://www.juniper.net/techpubs/en_US/junos/topics/topic-map/rip-basic.html (дата обращения: 26.11.2013).
3. Протокол OSPF[электронный ресурс]
URL:http://ru.wikipedia.org/wiki/OSPF (дата обращения: 24.11.2013).




Рецензии:

30.11.2013, 3:13 Назарова Ольга Петровна
Рецензия: Хорошее изложение материала. Рекомендуется к печати.



Комментарии пользователей:

Оставить комментарий


 
 

Вверх