Алгоритмы и протоколы маршрутизации
1. Общие описание
Основными формами каждого маршрутизатора, реализуемым в соответствии с протоколами маршрутизации, являются:
Определение наилучших маршрутов до возможных пунктов назначения и сохранение полученной информации в таблице маршрутизации;
Передача пакетов по оптимальным путям, выбранным из таблицы маршрутизации на основе адресов получателей.
Современные протоколы маршрутизации предусматривают автоматическое формирование таблиц маршрутизации и поддержание их виртуального состояния на основе взаимодействия маршрутизаторов друг с другом. На каждом маршрутизаторе функции определяют программы опроса и прослушивания, с помощью которых он обменивается информацией с другими маршрутизаторами. Полученная информация используется для построения и обновления таблицы маршрутизации.
Таблица маршрутизации, иногда называемая базой банных маршрутизации, включает набор оптимальных путей, используемых маршрутизатором при передаче пакетов в данный момент времени. Каждая строка этой таблицы содержит, по крайней мере, следующею информацию:
Сетевой адрес получателя
Адрес следующего маршрутизатора, пересылка к которому соответствует оптимальному пути до пункта назначения;
Характеристику пути, например, пропускная способность канала связи и отметку времени, когда эта характеристика была определена;
Информацию о способе пересылки, например, номер выходного порта.
В одной строке таблицы могут храниться данные о нескольких возможных следующих транзитных маршрутизаторах, задающих различные критерии оптимальности пути. Способ выбора транзитного маршрутизатора зависит от используемой схемы протокола маршрутизации.
Определение оптимальности путей при формировании и обновлении таблицы маршрутизации может производиться в соответствии с такими критериями или их комбинациями, как:
Длина маршрута, измеренная количеством маршрутизаторов, через которое необходимо пройти до пункта назначения;
Пропускная способность канала связи;
Прогнозируемое суммарное время пересылки;
Стоимость канала связи.
При наличии таблицы маршрутизации функцию передачи пакетов по оптимальным путям маршрутизатор реализует достаточно просто. Для отправки пакета через маршрутизатор узел локальной сети помещает в заголовок пакета на сетевом уровне мадуля OSI адрес действительного получателя, а на канальном уровне – MAC- адрес маршрутизатора. После получения очередного пакета маршрутизатор выполняет следующие действия:
Считывает из заголовка пакета, соответствующий сетевому уровню модели OSI, адрес назначения, т.е. сетевой адрес получателя;
По таблице маршрутизации определяется адрес следующего транзитного маршрутизатора, пересылка к которому соответствует оптимальному пути до пункта назначения;
Заменяет в заголовке пакета, соответствующий канальному уровню модели OSI, свой МАС- адрес на МАС- адрес выбранного транзитного маршрутизатора;
Отсылает пакет выбранному транзитному маршрутизатору.
По мере того, как пакет передвигается через сеть, физический адрес (МАС- адрес) его получателя меняется, но логический адрес пункта назначения, соответствующий сетевому уровню модели OSI, остается без изменений.
2. Требования к алгоритму маршрутизации
Алгоритмы, положенные в основу формирования и обновления таблицы маршрутизации, называют алгоритмами маршрутизации. В соответствии с данными алгоритмами и определяются наилучшие маршруты до возможных пунктов назначения. Алгоритмы передачи пакетов по оптимальным путям, выбранным из таблицы маршрутизации, называются алгоритмами коммутации.
Алгоритмы коммутации, задающие порядок транспортировки пакетов через сеть при известных оптимальных маршрутах, являются достаточно простыми. Сложными и наиболее важными являются алгоритмы маршрутизации, которые и составляют основу протоколов маршрутизации. К данным алгоритмам предъявляют следующие функциональные требования:
По оптимизации определенных маршрутов – способ
По гибкости – способность быстро и точно адаптироваться к изменениям структуры и условий функционирования сети;
По сходимости – способности достичь быстрого соглашения между маршрутизаторнами сети по оптимальным маршрутам.
В протоколах маршрутизации показатель оптимальности маршрута часто называют метрикой. Оптимальным считается кратчайший путь. При этом метрика, т.е. мера длины пути задается определенной формулой, в качестве переменных, которой могут выступать любые характеристики маршрута, например, общее число транзитных маршрутизаторов и суммарное время пересылки.
Требования к алгоритмам маршрутизации по гибкости и сходимости взаимосвязаны друг с другом. Когда в сети происходит какие- либо изменения, влияющие на выбор оптимальных маршрутов, например, перегрузка какого- либо участка сети или появления нового канала связи, узнавшие первыми об этих изменениях маршрутизаторы должны переопределить свои оптимальные маршруты, адаптируясь к возникшим изменениям. Кроме того, они должны разослать сообщения об изменениях другим маршрутизаторам. Данные сообщения пронизывают сети, стимулируя пересчет оптимальных маршрутов. В конечном итоге все маршрутизаторы должны прийти к общему соглашению по оптимальным маршрутам.
Алгоритмы маршрутизации, не обладающие высокой гибкостью и быстрой сходимостью, приводят к образованию петель маршрутизации и даже выхода сети из строя.
3. Классификация алгоритмов и протоколов маршрутизации
Признаки классификации алгоритмов и протоколов маршрутизации в большинстве случаев совпадают друг с другом. Наиболее важными признаками являются:
Степень динамичности, отражающая наличие или отсутствие гибкости и сходимости;
Количество одновременно поддерживаемых маршрутов к одному пункту назначения;
Способ организации маршрутов;
Область влияния;
Способ получения маршрутной информации.
По степени гибкости и сходимости различают статические и динамические алгоритмы маршрутизации.
Статические алгоритмы представляют собой свод правил по запоминанию и использованию статических таблиц маршрутизации, которые не изменяются в автоматическом режиме. Данные таблицы формируются и обновляются администратором, который сам должен отслеживать все изменения в сети. Статические алгоритмы не обеспечивают гибкость и сходность. Их целесообразно использовать только в простых и небольших сетях, где трафик является предсказуемым.
Динамические алгоритмы маршрутизации обеспечивают автоматическое формирование и обновление таблиц маршрутизации в масштабе реального времени. В соответствии с данными алгоритмами между маршрутизаторами осуществляется обмен сообщениями. При отсутствии маршрутной информации маршрутизаторы запрашивают ее друг у друга. В случае возникновения изменений в сети мершрутизаторы уведомляют друг друга. Полученные друг от друга сообщения стимулируют пересчет оптимальных маршрутов и обновление таблиц маршрутизации в масштабе реального времени. Без динамических алгоритмов маршрутизации администрирование больших и сложных сетей существенно затрудняется. Все перечисленные ниже протоколы маршрутизации основаны на динамических алгоритмах:
По количеству одновременно поддерживаемых маршрутов к одному пункту назначения алгоритмы маршрутизации могут иметь одномаршрутными или многомаршрутными.
По способу организации маршрутов различают алгоритмы одноуровневой и иерархической организации.
По области влияния алгоритмы маршрутизации могут быть внутредоменными и междоменными.
По способу получения маршрутной информации различают алгоритмы вектора расстояния и алгоритмы состояния канала.
Список литературы
Джон Вакка. Секреты безопасности в Internet. Перевод с английского. – Киев; Диалектика, 1997г.
Джеймс Саймино. Сети интранет: внутреннее движение. Превод с английского. – М.: ООО «Бук Медиа Паблишер». 1997г.
Владимир Зима. Безопасность глобальных сетевых технологий /В.М. Зима, А.А. и Н.А. Молдавян. СПб и др.: БХВ – Санкт – Петербург, 2000 г.