Протоколы маршрутизации

RIP

 

  Routing Information Protocol (RIP) использует широковещательные User Datagram Protocol (UDP) пакеты данных для обмена маршрутной информацией. Программное обеспечение Cisco IOS посылает маршрутные обновления каждые 30 секунд, это называется вещаением или рассылкой (advertising). Если маршрутизатор не получает обновления от другого маршрутизатора в течение 180 секунд или более, он помечает маршруты обслуживаемые необновляемым маршрутизатором как непригодные. Если через 240 секунд до сих пор нет обновления , маршрутизатор удаляет все записи в таблице маршрутизации для не обновляемого маршрутизатора.

 

  Маршрутизатор под управлением RIP может получить сеть по умолчанию с помощью обновлений от другого маршрутизатора, на котором работает RIP, или маршрутизатор может быть сам источником (генерировать) сети по умолчанию посредством RIP. В обоих случаях, сети по умолчанию вещаются через RIP другим RIP - соседям.
Реализация Cisco RIP версии 2 поддерживает обычную текстовую и Message Digest 5 (MD5) аутентификацию, суммирование маршрутов, бесклассовую междоменной роутинг (CIDR) и подсети с маской переменной длины (VLSMs).

RIP обновления

  RIP использует единственную метрику маршрутизации, чтобы измерить расстояние между источником и сетью назначения и называется hop count. Число прыжков (hop count) - это количество маршрутизаторов, через которые может пройти пакет по данному маршруту. Каждому хопу в пути от источника к получателю присваивается значение числа переходов, которое, как правило, равно 1. Когда маршрутизатор получает обновление маршрутной информации, которая содержит новую или измененную запись об адресате, маршрутизатор добавляет 1 к значению метрики указанную в обновлении и пишет сеть в таблицу маршрутизации. IP-адрес отправителя используется в качестве следующего хопа. Непосредственно подключеная сеть к маршрутизатору имеет метрику нуль; недоступные сети имеет метрику 16. Этот небольшой диапазон метрики RIP делает непригодными протокол маршрутизации для больших сетей. Если сеть сетевого интерфейса не указана, она не будет вещаться ни в каком RIP обновлении.

RIP версии 1 и RIP версия 2 и футентификация

  RIP v.1 не поддерживает маски, т. е. он распространяет между маршрутизаторами информацию только о номерах сетей и расстояниях до них, но не о масках этих сетей, считая, что все адреса принадлежат к стандартным классам A, B или С. RIP v.2 передает данные о масках сетей, поэтому он в большей степени соответствует современным требованиям.
 По умолчании, Cisco IOS умеет принимать только RIP пакеты версий 1 и 2, но отправляет только версии 1. Вы можете настроить IOS, чтобы получать и отправлять только пакеты версии 1. Кроме того, вы можете настроить IOS, чтобы получать и отправлять пакеты только версии 2. Чтобы переопределить поведение по умолчанию, вы можете указать, какие RIP версии посылать интерфейсу. Кроме того, вы также можете управлять тем, как обрабатываются пакеты, полученные от интерфейса .
RIP версии 1 не поддерживает аутентификацию. Если вы отправляете и получаете RIP Version 2 , вы можете включить проверку подлинности RIP на интерфейсе.
Ключевой блок (Key Chain) определяет набор ключей, которые можно использовать на интерфейсе. Если Ключевой блок не настроен проверка подлинности не выполняется на этом интерфейсе.
 Мы поддерживаем два режима проверки подлинности на интерфейсе, для которого включена RIP аутентификация: простая текстовая аутентификация и аутентификация MD5. Проверка подлинности по умолчанию в каждом пакете RIP версии 2 является простой текстовой аутентификацией.

OSPF

 

  Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути (Open Shortest Path Fisrt - OSPF) является протоколом маршрутизации, разработанным для сетей IP рабочей группой Internet Engineering Task Force (IETF), занимающейся разработкой протоколов для внутрисистемных роутеров (interior gateway protocol - IGP).
 Как видно из его названия, OSPF имеет две основных характеристики. Первая из них-это то, что протокол является открытым, т.е. его спецификация является общественным достоянием. Второй его главной характеристикой является то, что он базируется на алгоритме SPF. Алгоритм SPF иногда называют алгоритмом Dijkstra по имени автора, который его разработал.

Основы технологии

  OSPF является протоколом маршрутизации с об'явлением состояния о канале (link-state). Это значит, что он требует отправки об'явлений о состоянии канала (link-state advertisement - LSA) во все роутеры, которые находятся в пределах одной и тойже иерархической области. В oб'явления LSA протокола OSPF включается информация о подключенных интерфейсах, об использованных показателях и о других переменных. По мере накопления роутерами OSPF информации о состоянии канала, они используют алгоритм SPF для расчета наикратчайшего пути к каждому узлу.

  Являясь алгоритмом с об'явлением состояния канала, OSPF отличается от RIP и IGRP, которые являются протоколами маршрутизации с вектором расстояния. Роутеры, использующие алгоритм вектора расстояния, отправляют всю или часть своей таблицы маршрутизации в сообщения о корректировке маршрутизации, но только своим соседям.

  В отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным об'ектом в этой иерархии является автономная система (Autonomous System - AS) AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.

  Любая AS может быть разделена на ряд зон или областей(area). Зона - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких зонах. Такие роутеры, которые называются пограничными областными роутерами (area border routers), поддерживают отдельные топологические базы данных для каждой области.

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

  Термин "домен" (domain) исользуется для описания части сети, в которой все роутери имеют идентичную топологическую базу данных. Термин "домен" часто используется вместо AS.

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

  Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях. Маршрутизация внутри области имеет место в том случае, когда источник и пункт назначения находятся в одной области; маршрутизация между областями - когда они находятся в разных областях.

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

 

  На этом рисунке роутеры 4, 5, 6, 10, 11 и 12 образуют магистраль. Если хост Н1 Области 3 захочет отправить пакет хосту Н2 Области 2, то пакет отправляется в роутер 13, который продвигает его в роутер 12, который в свою очередь отправляет его в роутер 11. Роутер 11 продвигает пакет вдоль стержня к роутеру 10 границы области, который отправляет пакет через два внутренних роутера этой области (роутеры 9 и 7) до тех пор, пока он не будет продвинут к хосту Н2.

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

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

  Граничные роутеры AS, использующие OSPF, узнают о внешних маршрутах через протоколы внешних роутеров (EGPs), таких, как Exterior Gateway Protocol (EGP) или Border Gateway Protocol (BGP), или через конфигурацию.

Алгоритм OSPF

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

  После получения подтверждения о работоспособности своих интерфейсов роутер использует приветственный протокол (hello protocol) OSPF, чтобы приобрести соседей (neighbor). Соседи - это роутеры с интерфейсами с общей сетью. Описываемый роутер отправляет своим соседям приветственные пакеты и получает от них такие же пакеты. Помимо оказания помощи в приобретении соседей, приветственные пакеты также действуют как подтверждение дееспособности, позволяя другим роутерам узнавать о том, что другие роутери все еще функционируют.

  В сетях с множественным доступом (multi-access networks) (сетях, поддержиающих более одного роутера), протокол Hello выбирает назначенный роутер (designated router) и дублирующий назначенный роутер. Назначеный роутер, помимо других функций, отвечает за генерацию LSA для всей сети с множественным доступом. Назначенные роутеры позволяют уменьшить сетевой трафик и об'ем топологической базы данных.

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

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

Формат пакета

 

  Все пакеты OSPF начинаются с 24-байтового заголовка, как показано на рисунке:

 

Первое поле в заголовке OSPF - это номер версии OSPF (version number). Номер версии обозначает конкретную используемую реализацию OSPF.
За номером версии идет поле типа (type). Существует 5 типов пакета OSPF:

 

  Каждое LSA в пакете корректировки состояния канала содержит тип поля. Существуют 4 типа LSA:

  За полем типа заголовка пакета OSPF идет поле длины пакета (packet length). Это поле обеспечивает длину пакета вместе с заголовком OSPF в байтах.

  Поле идентификатора роутера (router ID) идентифицирует источник пакета.

  Поле идентификатора области (area ID) идентифицирует область, к которой принадлежит данный пакет. Все пакеты OSPF связаны с одной отдельной областью.

  Стандартное поле контрольной суммы IP (checksum) проверяет содержимое всего пакета для выявления потенциальных повреждений, имевших место при транзите.

  За полем контрольной суммы идет поле типа удостоверения (authentication type). Примером типа удостоверения является "простой пароль". Все обмены протокола OSPF проводятся с установлением достоверности. Тип удостоверения устанавливается по принципу "отдельный для каждой области".

  За полем типа удостоверения идет поле удостоверения (authentication). Это поле длиной 64 бита и содержит информацию удостоверения.

BGP

  Общая схема работы BGP такова. BGP-маршрутизаторы соседних АС, решившие обмениваться маршрутной информацией, устанавливают между собой соединения по протоколу BGP и становятся BGP-соседями (BGP-peers).

  Далее BGP использует подход под названием path vector, являющийся развитием дистанционно-векторного подхода. BGP-соседи рассылают (анонсируют, advertise) друг другу векторы путей (path vectors). Вектор путей, в отличие от вектора расстояний, содержит не просто адрес сети и расстояние до нее, а адрес сети и список атрибутов (path attributes), описывающих различные характеристики маршрута от маршрутизатора-отправителя в указанную сеть. В дальнейшем для краткости мы будем называть набор данных, состоящих из адреса сети и атрибутов пути до этой сети, маршрутом в данную сеть.

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

Реализация BGP

 

  Пара BGP-соседей устанавливает между собой соединение по протоколу TCP, порт 179. Соседи, принадлежащие разным АС, должны быть доступны друг другу непосредственно; для соседей из одной АС такого ограничения нет, поскольку протокол внутренней маршрутизации обеспечит наличие всех необходимых маршрутов между узлами одной автономной системы.

  Поток информации, которым обмениваются BGP-соседи по протоколу TCP, состоит из последовательности BGP-сообщений. Максимальная длина сообщения 4096 октетов, минимальная - 19. Имеется 4 типа сообщений.

Типы BGP-сообщений:

 

Формат BGP-сообщения

 

  Сообщение протокола BGP состоит из заголовка и тела. Заголовок имеет длину 19 октетов и состоит из следующих полей:

  1 - OPEN
  2 - KEEPALIVE
  3 - UPDATE
  4 - NOTIFICATION

IGRP

 

  Протокол маршрутизации внутренних роутеров (Interior Gateway Routing Protokol-IGRP) является протоколом маршрутизации, разработанным в середине 1980 гг. компанией Cisco Systems, Inc. Главной целью было обеспечение живучего протокола для маршрутизации в пределах автономной системы (AS), имеющей произвольно сложную топологию и включающую в себя носитель с разнообразными характеристиками ширины полосы и задержки.

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

  IGRP использует комбинацию (вектор) показателей. Задержка объединенной сети (internetwork delay), ширина полосы (bandwidth), надежность (reliability) и нагрузка (load) - все эти показатели учитываются в виде коэффициентов при принятии маршрутного решения. Администраторы сети могут устанавливать факторы весомости для каждого из этих показателей. IGRP предусматривает широкий диапазон значений для своих показателей.

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

Формат пакета

 

  Первое поле пакета IGRP содержит номер версии (version number).

  Поле операционного кода (opcode). Это поле обозначает тип пакета. Операционный код, равный 1, обозначает пакет корректировки (содержат заголовок, за которым сразу же идут записи данных маршрутной таблицы); равный 2-пакет запроса (используются источником для запроса маршрутной таблицы из другого роутера.

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

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

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

  Поле контрольной суммы (checksum). Вычисление контрольной суммы позволяет принимающему роутеру проверять достоверность входящего пакета.

 

Характеристики стабильности

 

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

Таймеры

 

  IGRP обеспечивает ряд таймеров и переменных, содержащих временные интервалы. Сюда входят: