Протокол OSPF

Подробно об OSPF можно прочитать в RFC 1583-1585.

Начнём с указания недостатков протокола RIP.

Этот протокол использует фиксированную метрику - методику вычисления "длин" маршрутов для их сравнения друг с другом. Поэтому он неприменим в ситуациях, требующих динамической маршрутизации, в зависимости от текущего состояния сети (текущей загруженности линий, их надёжности и т.п.). Попытки искусственного расширения возможностей RIP путём введения динамических метрик типа времён задержек при передаче по линии, пропускной способности и т.п. приводят к возникновению неустойчивостей, с которыми алгоритм Беллмана-Форда справиться не способен.

RIP можно использовать только в достаточно однородных сетях умеренных размеров. Использование алгоритма Беллмана-Форда (RIP) для маршрутизации в больших сетях очень неэффективно. При расширении сети увеличивается количество изменений топологии сети в единицу времени, что требует более частой передачи маршрутной информации. При этом также увеличивается и сама таблица маршрутизации, что в RIP означает увеличение объёма передаваемой за один раз маршрутной информации.

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

Ещё одна проблема — ограничение, накладываемое RIP на количество проходимых пакетом узлов.

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

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

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

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

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

Как только случается измениться состоянию какой-либо линии связи в сети, ответственный за неё маршрутизатор рассылает всем остальным маршрутизаторам информацию о своих подопечных линиях связи и их текущих состояниях (о пропускной способности, о задержках, о загруженности и т.д.). Рассылка информации производится методом лавинной маршрутизации, т.е. каждый маршрутизатор сразу рассылает полученную им маршрутную информацию всем своим сотоварищам, которые еще не успели получить её. При этом каждый маршрутизатор должен подтвердить получение этой информации. Маршрутизаторы, исходя из полученной информации, вычисляют соответствующие таблицы маршрутизации независимо и самостоятельно. Такое вычисление происходит, очевидно, практически мгновенно. Вид формируемых таблиц маршрутизации в составной сети представлен на рис. 2.11

Соответственно на рис.2.12 представлена схема построения таблиц маршрутизации с помощью протокола OSPF.

 

 

Рис. 2.11. Принципы маршрутизации в составной сети

 

Рис.2.12 Построение таблиц маршрутизации

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

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

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

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

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

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

 

 

Рис.2.13 Схема вычислений по алгоритму Дейкстры

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

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

OSPF хорош ещё и тем, что его можно очень просто доработать для осуществления маршрутизации групповых передач. Групповая передача (multicasting) — передача сообщения сразу нескольким получателям. Если широковещание — это передача всем компьютерам данной сети, то групповая передача — только группе указанных.

 

Рис.2.14 Свойства протокола OSPF

 

Простейший способ организовать групповую передачу — сделать нужное количество копий сообщения и разослать каждое как обычно, но, очевидно, это очень неэффективно. Намного мудрее — сообщение размножать только там, где при простейшей организации пути копий разошлись бы. Этот способ можно реализовать и в рамках RIP. Но дело в том, что и этот очевидный метод тоже не самый оптимальный. Почему? Подумайте об этом на досуге сами. Так как при использовании OSPF каждый маршрутизатор имеет всю необходимую для маршрутизации информацию о состоянии сети, он легко может определить маршрут групповой передачи, минимально загружающий сеть. Подробнее об этом расширении OSPF (MOSPF) можно прочитать в RFC 1584, 1585.

Пожалуй, единственным недостатком OSPF является его сложность. Если описание RIP в RFC 1058 занимает 93 KB, то описание OSPF в RFC 1583 занимает 524 КВ.


Глава 3. Локальные и глобальные сети

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