Основы протокол обмена маршрутной информации OSPF, сравнение протоколов, преимущества и недостатки

(длясамостоятельного изучения)

Протокол OSPF

Спецификация протокола OSPF (Open Shortest Path First) описана в документе RFC 1247. Протокол принят в 1991 году. Он ориентирован на применение в больших распределенных сетях. OSPF вычисляет маршруты в сетях IP, работая совместно с другими протоколами обмена маршрутной информацией. Протокол OSPF основан на алгоритме состояния канала. Суть этого алгоритма состоит в том, что он должен вычислить кратчайший путь. При этом «кратчайший» не означает, что путь физически самый короткий. Имеется в виду, что информация пройдет по этому пути быстрее, чем по другим. Маршрутизатор, работающий с этим протоколом, отправляет запросы всем соседним маршрутизаторам, находя­щимся в одном с ним домене маршрутизации, для выявления состояния каналов до них и далее от них. Состояние канала при этом характеризуется несколькими параметрами, которые называются метриками. Метрикой может быть пропуск­ная способность канала, его загрузка на текущий момент, задержка информации при ее прохождении по этому каналу и т. д. Обобщив полученные сведения, этот маршрутизатор сообщает их всем соседям. После этого им строится ориентиро­ванный граф, который повторяет топологию домена маршрутизации. Каждому ребру этого графа назначается оценочный параметр (метрика). После построе­ния графа используется алгоритм Дейкстры, который по двум заданным узлам находит набор ребер с наименьшей суммарной стоимостью, то есть, по сути, выбирает оптимальный маршрут. По совокупной информации (полученной и найденной в результате вычислений) создается таблица маршрутизации.

Сообщения протокола OSPF передаются в IP-дейтаграммах с полем «Прото­кол» равным 89.

Протокол OSPF отвечает за IP-маршрутизацию и относится к классу про­токолов IGP. Он может заменить протокол маршрутизации RIP в больших и сложных сетях.

Протокол OSPF решает многие из перечисленных выше проблем, присущих протоколу RIP. Кроме того:

§ Протокол OSPF обладает большей скоростью сходимости, что предотвра­щает возникновение петель маршрутизации;

§ При работе протокола не генерируется большой сетевой трафик;

§ Информация, которой обмениваются маршрутизаторы, проходит процедуру аутентификации. Это позволяет участвовать в процессе маршрутиза­ции только авторизованным маршрутизаторам. Аутентификация устраня­ет возможность случайного или преднамеренного искажения маршрутной информации;

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

§ Протокол поддерживает распределение нагрузки (load balancing) по мар­шрутам, имеющим одинаковые стоимости;

§ Протокол поддерживает маски подсетей переменной длины (VLSM). Дан­ные о масках подсетей передаются в сообщениях LSA (Link-State Adverti­sement, объявление о состоянии канала), таким образом маршрутизаторы получают эту информацию динамически, что позволяет более гибко ис­пользовать выделенное организации адресное пространство;

§ Протокол поддерживает области маршрутизации. Это позволяет админис­траторам разделять автономную систему на отдельные части с изоляцией сетевого трафика и маршрутизации;

§ Протокол OSPF поддерживает передачу внешней маршрутной информа­ции через автономные системы.

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

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

Сообщение LSA передается во всем домене маршрутизации. Поэтому марш­рутизаторы обладают информацией о состоянии каналов других маршрутизато­ров в домене. Каждый маршрутизатор на основе сообщений LSA формирует базу данных состояния каналов (Link-State Database). Эта база данных одна и та же на всех маршрутизаторах в одном домене. Алгоритм маршрутизации под­держивает синхронизацию этих баз данных.

После того как все базы данных синхронизированы, каждый маршрутизатор начинает создавать свою таблицу маршрутизации. Эта таблица базируется на информации, содержащейся в базе данных состояния каналов. Сначала создает­ся карта сетевой топологии. Непосредственно связанные маршрутизаторы по терминологии протокола OSPF называются соседями. Каждый маршрутизатор хранит информацию о том, в каком состоянии, по его мнению, находится сосед. Маршрутизатор полагается на соседние маршрутизаторы и передает им дейта­граммы только в том случае, если он уверен, что они полностью работоспособны.

Основы протокол обмена маршрутной информации OSPF, сравнение протоколов, преимущества и недостатки - student2.ru

Рис. 11.15. Множество сетей

После создания карты сетевой топологии маршрутизатор формирует дерево кратчайших путей ко всем возможным получателям. Это дерево строится таким образом, чтобы путь от корня — маршрутизатора, формирующего дерево, — до конечных объектов — целевых сетей — имел наименьшую стоимость. На рис. 11.15 показано множество сетей, для которого формируется дерево кратчайших путей, изображенное на рис. 11.16. Мы считаем, что метрики пути до каждой из сетей равны 10.

Основы протокол обмена маршрутной информации OSPF, сравнение протоколов, преимущества и недостатки - student2.ru

Рис. 11.16. Дерево кратчайших путей

После того как дерево построено, маршрутизаторы формируют локальные таблицы маршрутизации. Дерево путей показывает, что маршрутизатор Ml напрямую подключен к сетям #2 и #3. В таблицу маршрутизации для сетей, подключенных напрямую, в качестве значения метрики заносится 0. В табл. 11.17 показаны данные таблицы маршрутизации для маршрутизатора Ml.

Таблица 11.17. Таблииа маршрутизаиии маршрутизатора М1

Сеть Следующий маршрутизатор в сети Метрика маршрута
Сеть #1 Маршрутизатор М5
Сеть #2 Подключена напрямую
Сеть #3 Подключена напрямую
Сеть #4 Маршрутизатор М2
Сеть #5 Маршрутизатор М4

Так как маршрут в сеть #4 состоит из двух путей (от маршрутизатора Ml к М2, а затем от М2 к сети #4), а метрика каждого пути равна 10, то метрика маршрута до сети #4 равна 20. Аналогично вычисляются метрики остальных маршрутов. Следует отметить, что к сети #5 от маршрутизатора Ml имеются два пути — через маршрутизаторы М4 и М2. Путь через маршрутизатор М4 имеет метрику 20, а путь через маршрутизатор М2 — 30. Алгоритм состояния канала будет всегда выбирать кратчайший маршрут в целевую сеть. В результате в таб­лицу маршрутизации в качестве следующего маршрутизатора в пути будет включен маршрутизатор М4.

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

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

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

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

Маршрутизаторы внутри одной области OSPF не обмениваются инфор­мацией с маршрутизаторами другой области. Это уменьшает объем служеб­ного трафика между маршрутизаторами и сокращает размер баз данных маршрутизаторов. Например, в большой распределенной сети, состоящей из 500 маршрутизаторов, создание 10 областей, в каждой из которых работает 50 маршрутизаторов, означает, что каждому маршрутизатору необходимо под­держивать информацию о состоянии каналов только для 50 маршрутизато­ров, а не для 500.

Области OSPF связываются друг с другом с помощью специально выделен­ных маршрутизаторов, которые должны содержать базу данных с информацией об обеих областях. Эти маршрутизаторы называются граничными маршрутиза­торами областей (Area Border Routers). Они работают как фильтры для сообще­ний маршрутизации, не выпуская их из области. Граничные маршрутизаторы взаимодействуют между собой, используя специальные сообщения LSA, ко­торые содержат краткую информацию об IP-адресах, содержащихся в области. Граничные маршрутизаторы сохраняют эти сообщения в специальной базе дан­ных, которая используется для определения маршрута между областями (такой способ взаимодействия называется inter-area). Граничные маршрутизаторы должны быть достаточно мощными.

В протоколе OSPF введено понятие автономных систем маршрутизации, которые представляют собой домены маршрутизации, находящиеся под общим административным управлением и использующие единый протокол маршрути­зации. Маршрутизатор, соединяющий две автономные системы, одна из которых использует протокол маршрутизации, отличный от OSPF, называется погра­ничным маршрутизатором автономной системы — ASBR (Autonomous System Boundary Router). Внешние маршруты обрабатываются в два этапа. Сначала маршрутизатор выбирает оптимальный внешний маршрут. Если таких маршру­тов несколько (то есть метрики этих маршрутов примерно одинаковы), то выби­рается маршрут, который имеет наименьшую стоимость внутреннего пути до ASBR.

Протокол OSPF поддерживает настраиваемые метрики, предоставляя адми­нистратору возможность присваивать метрику маршрута, основываясь на раз­личных характеристиках, таких как стоимость передачи, надежность, задержка или количество переходов. Число, используемое в качестве метрики пути, может быть задано произвольным образом. По умолчанию в качестве метрики исполь­зуется время передачи бита, измеряемое в десятках наносекунд. Так линии Ethernet назначается значение 10, а линии со скоростью 56 Кбит/с — 1785. Вы­числяемая протоколом OSPF метрика маршрута представляет собой сумму мет­рик по всему маршруту.

Основы протокол обмена маршрутной информации OSPF, сравнение протоколов, преимущества и недостатки - student2.ru

Рис. 11.18. Топология с настраиваемыми метками

Рассмотрим пример (рис. 11.18). Предположим, что станции А необходимо передать данные станции Б и администратор вручную настроил метрики для протокола OSPF. Протокол RIP не учитывает при выборе маршрута скорость каналов связи. Поэтому при использовании протокола RIP данные будут пере­даваться через низкоскоростной (56 Кбит/с) канал связи, так как он имеет на­именьшее количество переходов. В отличие от протокола RIP протокол OSPF принимает во внимание скорость канала связи (если она выбрана в качестве метрики). Поэтому будут задействованы именно высокоскоростные каналы, так как их суммарная стоимость составит 20.

Протокол OSPF способен работать в сетях следующих типов:

§ Сети точка-точка.Используются для связи двух маршрутизаторов. Обыч­но, для организации такой связи используются коммутируемые или выде­ленные каналы связи;

§ Широковещательные сети.Примером может служить Ethernet. В этой сети с помощью широковещательной адресации можно передавать инфор­мацию одновременно всем маршрутизаторам.

§ Нешироковещательные сети(NBMA, Non- Broadcast Multiple Access Net­works, нешироковещательные сети со множественным доступом). Приме­ром таких сетей могут служить Х.25, Frame Relay или ATM.

При включении маршрутизатору необходимо синхронизовать свою базу дан­ных со всеми маршрутизаторами локальной сети. Так как база данных на всех маршрутизаторах одинакова, достаточно провести синхронизацию с одним из них. Этот маршрутизатор называется назначенным маршрутизатором — Desig­nated Router (DR). Его «заместитель» называется резервным назначенным мар­шрутизатором — Backup Designated Router (BDR). При этом DR и BDR будут единственными маршрутизаторами, с которыми новый маршрутизатор должен синхронизировать свою базу. После синхронизации базы с назначенным марш­рутизатором, новый маршрутизатор будет синхронизован со всеми маршру­тизаторами данной сети. Кроме того, назначенный маршрутизатор делает объявления о сетевых связях, перечисляя своих соседей по подсети. Остальные маршрутизаторы просто объявляют о своей связи с назначенным маршрутизатором. BDR занимает место DR в тех случаях, когда последний выходит из строя. Достоинство этого метода в том, что после назначения DR значительно умень­шается количество маршрутной информации, передаваемой по сети. Протокол OSPF состоит из трех внутренних протоколов: Hello, Exchange и Flooding.

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

§ приоритет маршрутизатора, который используется для выбора DR и BDR;

§ интервал между сообщениями Hello в секундах;

§ интервал ожидания сообщения;

§ список маршрутизаторов, от которых недавно были получены сообщения Hello;

§ маршрутизаторы, которые в настоящий момент являются DR и BDR.

Наиболее важны интервал между сообщениями Hello и интервал ожидания сообщения. В сообщениях Hello маршрутизатор передает некоторые сведения о себе и говорит о том, кого он рассматривает в качестве своих ближайших сосе­дей. Маршрутизаторы с разными рабочими параметрами игнорируют сообщения Hello друг от друга, поэтому маршрутизаторы с некорректно настроенными параметрами не влияют на остальные. Маршрутизаторы посылают сообщения Hello всем своим соседям, по крайней мере, один раз на протяжении интервала времени Hello. Если интервал ожидания сообщения истек, а сообщение Hello от соседа не пришло, то считается, что сосед неработоспособен, и рассылается объ­явление о сетевых каналах, для того чтобы в сети произошел пересчет маршру­тов. На рис. 11.19 показан формат сообщения Hello.

Основы протокол обмена маршрутной информации OSPF, сравнение протоколов, преимущества и недостатки - student2.ru

Рис. 11.19. Формат сообшения Hello

Поле «Маска подсети» указывает маску подсети порта, через который по­сылается сообщение. Это поле устанавливается в шестнадцатеричное значение %FF000000 для сетей класса A, %FFFF0000 для сетей класса В и %FFFFFF00 для сетей класса С.

Значения «Интервал Hello» и «Интервал Dead» устанавливаются админист­ратором. Поле «Приоритет» используется при выборе DR и BDR. Каждому маршрутизатору назначается приоритет в пределах от 0 до 255. Выбирается марш­рутизатор, имеющий наибольший приоритет. Если маршрутизатор с наиболь­шим приоритетом выходит из строя или просто отключен, выбирается другой маршрутизатор с наибольшим приоритетом. Он будет оставаться маршрутизато­ром DR, даже если старый DR вновь будет функционировать. Но маршрутиза­торы, у которых приоритет равен нулю, никогда не будут избраны DR. В сетях точка-точка выбор DR не производится.

Начальная синхронизация баз данных нового маршрутизатора и DR выпол­няется с помощью протокола Exchange. Работу данного протокола можно разде­лить на два этапа. На первом этапе определяются роли двух маршрутизаторов: один становится доминирующим, другой — доминантным. После этого на вто­ром этапе происходит взаимный обмен базами данных с помощью пакетов DDP (Database Description Packet, пакет описания базы данных). После начальной синхронизации с помощью протокола Exchange ответственность за поддержку синхронизации баз данных состояния каналов связи всех маршрутизаторов несет протокол Flooding.

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

Для распространения по сети данных о состоянии каналов связи маршрути­заторы обмениваются специальными сообщениями LSA, называемыми Network Links Advertisement (объявления о каналах сети, NLA), — объявлениями о кана­лах и их состоянии. Маршрутизаторы обмениваются не только своими, но и чужими объявлениями о каналах, получая, в конце концов, информацию о со­стоянии всех каналов в сети. По этой информации строится ориентированный граф связей сети (он один и тот же для маршрутизаторов). Кроме информации о соседях маршрутизаторы в своих объявлениях перечисляют IP-подсети, с ко­торыми они связаны непосредственно. Маршрутизатор вычисляет путь не до подсети, а до маршрутизатора, к которому эта подсеть подключена. Каждый мар­шрутизатор имеет уникальный идентификатор, который передается в объявле­нии о состоянии каналов.

Для обмена маршрутной информацией протокол OSPF использует группо­вую адресацию. В этих целях зарезервированы два IP-адреса класса D:

§ 224.0.0.5— все маршрутизаторы, работающие по протоколу OSPF, долж­ны поддерживать передачу и получение дейтаграмм по этому групповому адресу;

§ 224.0.0.6— все DR и BDRдолжны поддерживать получение дейтаграмм с данным групповым адресом.

В соответствии с уже рассмотренными правилами преобразования груп­повых адресов протокола IP в физические адреса канального уровня исполь­зуемые групповые адреса преобразуются в следующие физические адреса (табл. 11.20).

Таблииа 11.20. Соответствие между групповыми и физическими адресами протокола OSPF

Адрес класса D Физический адрес
224.0.0.5 %01-00-5Е-00-00-05
224.0.0.6 %01-00-5Е-00-00-06

Необходимо отметить, что протокол OSPF не использует групповую переда­чу в сетях NBMA. Все сообщения протокола OSPF начинаются со стандартного заголовка (рис. 11.21).

Основы протокол обмена маршрутной информации OSPF, сравнение протоколов, преимущества и недостатки - student2.ru

Рис. 11.21. Формат заголовка сообщений OSPF

Поля в заголовке имеют следующие значения:

§ «Версия»-указывает на версию протокола OSPF. Текущая версия — 2;

§ «Тип»указывает на тип сообщения протокола OSPF;

§ «Длина сообщения»— длина сообщения в байтах;

§ «Идентификатор маршрутизатора»— это может быть IP-адрес, выбран­ный для идентификации маршрутизатора;

§ «Идентификатор области»используется для указания области. Общей практикой является выбор IP-адресов в качестве идентификаторов;

§ «Контрольная сумма»вычисляется для всего сообщения, исключая 8-байтовое поле «Аутентификация»;

§ «Идентификатор алгоритма аутентификации»может принимать только два значения: 0 — аутентификация не используется, 1 — простая аутентификация.

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

Практика показывает, что не существует сетей, в которых используется ис­ключительно протокол OSPF. Совместно с ним применяются протоколы EGP, BGP, RIP IP или фирменные протоколы производителей.

Наши рекомендации