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

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

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

Построение полной таблицы маршрутизации, в которой были бы указаны все сети, образующие Интернет, невозможно из-за огромного количества этих сетей. Для того чтобы упростить процедуру построения таблицы маршрутизации, в нее может быть включен специальный узел, куда необходимо передать дейтаграммы, адрес сети назначения которых не указан в таблице маршрутизации. Этот специальный узел называется шлюзом по умолчанию (Default Gateway) и применяется для маршрутизацииВ в режиме «по умолчанию». Для обозначения маршрута к Default GatewayВ в качестве адресов сети и маски принято использовать нулевые значения.

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

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

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

  • алгоритмы вектора расстояния (Distance-Vector) — маршрутизатор через заранее определенные промежутки времени передает соседнимВ маршрутизаторам содержимое своей таблицы маршрутизации;
  • алгоритмы состояния канала (Link-State) — маршрутизатор передаетВ информацию только об изменениях состояния системы.

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

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

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

Для определения внутренних маршрутов в автономных системах обычно используется один или несколько протоколов маршрутизации.В В автономных системах этот класс протоколов принято называть протоколами внутренней маршрутизации (Interior Gateway Protocol, IGP). Применение протоколов внешней маршрутизации (Exterior Gateway Protocol,В EGP) позволяет администратору реализовать совокупность мер повышения надежности и экономической эффективности информационного взаимодействия с внешними системами. В число параметров, используемыхВ современным протоколом внешней маршрутизации для определения качества маршрута, входят предпочтительность маршрута, последовательностьВ проходимых автономных систем и другие параметры.

Протокол RIP. Внутренний протокол маршрутизации RIP (Routing Information Protocol) использует алгоритм вектора расстояния для определения маршрута следования пакетов.

Функционирование маршрутизаторов по алгоритму вектора расстояния.

  • 1. Маршрутизатор строит первичную таблицу маршрутизации, в которую помещает номера непосредственно подключенных сетей. Эта таблицаВ содержит следующие поля:
    • Address (Адрес) — адрес сети или узла назначения;
    • Router (Маршрутизатор) — сетевой адрес первого маршрутизатораВ на маршруте к сети или узлу назначения;
    • Interface (Интерфейс) — сетевой адрес или номер интерфейса связиВ с первым маршрутизатором;
    • Metric (Метрика) — числовая характеристика маршрута от 0 до 15В (значение 0 соответствует непосредственно подключенной сети, метрика 15В указывает на недостижимость сети или узла назначения, в остальныхВ случаях — соответствует количеству промежуточных маршрутизаторовВ на маршруте к сети или узлу назначения);
    • Timer (Таймер) — показатель актуальности информации о сети илиВ узле назначения (если информация не подтверждается источником в течение установленного временного интервала, запись о маршруте удаляетсяВ из таблицы).
  • 2. Маршрутизатор рассылает оформленную в виде специального сообщения об обновлении (Update) текущую версию таблицы маршрутизацииВ соседним маршрутизаторам.
  • 3. При приеме аналогичного сообщения от соседнего маршрутизатораВ выполняются следующие действия:
    • а) если сообщение содержит информацию о сети, которой нет в таблицеВ маршрутизации, адрес этой сети заносится в таблицу со следующими значениями полей:
      • - Router (Маршрутизатор) — адрес источника сообщения,
      • Interface {Интерфейс) — адрес интерфейса, принявшего сообщение,
      • — в поле Metric {Метрика) заносится значение соответствующего поляВ исходного сообщения, увеличенное на весовой коэффициент интерфейсаВ (обычно все весовые коэффициенты интерфейсов принимаются равными 1),
      • — значение поля Timer {Таймер) у созданной записи устанавливаетсяВ равным утроенному периоду обновлений (90 с);
    • б) если сообщение содержит информацию о сети, которая есть в таблицеВ маршрутизации, выполняется сравнение содержимого полей Router существующей записи и принятого сообщения. Если источник маршрутнойВ информации в обоих случаях был один и тот же, поле Metric существующей записи модифицируется по обычному алгоритму значением соответствующего поля принятого сообщения. Поле Timer для модифицированной записи формируется так же, как и для вновь созданной;
    • в) если информацию об известной сети содержит сообщение, принятое от нового источника, маршрутизатор сравнивает содержимое полейВ Metric существующей записи и принятого сообщения. Если метрика существующего маршрута больше метрики нового маршрута, прежняя записьВ в таблице маршрутизации заменяется новой. В противном случае таблицаВ маршрутизации никак не модифицируется;
    • г) в том случае, если значение поля Timer у существующей записи сталоВ равным 0, запись удаляется из таблицы маршрутизации.

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

В протоколе RIP в качестве предельного значения метрики маршрута используется значение 15. Сети, удаленные от данного узла на расстояние,В которое превышает 15 переходов, считаются недостижимыми {Unreachable).

Методы противодействия возникновению циклических маршрутов. Для противодействия возникновению циклических маршрутов алгоритмыВ маршрутизации Distance-Vector вообще и RIP в частности используютВ некоторые специальные методы.

  • Правило расщепленного горизонта {Split Horizon). ИнформацияВ о маршруте в некоторую сеть N, полученная от маршрутизатора, не можетВ быть включена в регулярные обновления, отправляемые этому маршрутизатору. Использование этой процедуры позволяет гарантированноВ избежать появления циклических маршрутов между двумя соседнимиВ маршрутизаторами, повышает эффективность использования пропускнойВ способности канала за счет сокращения неинформативной составляющейВ сообщения об обновлении маршрутов. Однако в том случае, если циклический маршрут образован несколькими маршрутизаторами, применениеВ этой процедуры не даст желаемого эффекта.
  • Правило отравленного обратного пути {Poison Reverse). ДействуетВ аналогично предыдущему правилу, однако, в отличие от процедуры расщепленного горизонта, информация о маршруте в некоторую сеть N, полученная от маршрутизатора, включается в регулярные обновления,В отправляемые этому маршрутизатору с метрикой 16. В результате использования этой процедуры потенциально опасные маршруты будут удаленыВ из таблицы маршрутизации. Но если при использовании чистой процедурыВ Split Horizon эти маршруты будут удалены по истечении определенногоВ времени, то использование Poison Reverse приведет к их мгновенномуВ уничтожению.
  • Метод управляемых обновлений (Triggered Update). Наиболее мощным средством борьбы с длинными циклическими маршрутами является использование апериодических управляемых обновлений маршрутовВ (Triggered Update). Маршрутизатор формирует обновление при каждомВ изменении своей таблицы маршрутизации, не дожидаясь наступленияВ момента передачи очередного периодического обновления. При полученииВ такого управляемого обновления последующий маршрутизатор скорректирует свою таблицу маршрутизации, а затем, в свою очередь, сформируетВ свое управляемое обновление, которое направит своим соседям. ТакимВ образом, информация об изменении конфигурации распространяетсяВ по сети немедленно. Кроме того, вследствие особого дифференциальногоВ принципа формирования таких обновлений они распространяются по сетиВ от источника только в нужных направлениях, поскольку маршрутизатор,В не изменивший свою таблицу маршрутизации при получении управляемого обновления, не сформирует вторичное обновление и заблокирует егоВ дальнейшее распространение.

Режимы RIP. При реализации RIP можно выделить следующие режимы:

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

Формат сообщения RIP. Для взаимного обмена маршрутной информацией со своими соседями маршрутизаторы протокола RIP применяют сообщения специального формата (рис. 5.32).

Для отправки этих сообщений маршрутизаторы первой версии RIP обычно использовали широковещательный адрес (Broadcast) сетевогоВ уровня. Особенно негативно эта особенность протокола проявляласьВ в сетях множественного доступа (например, Ethernet), где она могла приводить к значительному снижению эффективности использования сетевыхВ ресурсов. В версии RIPv2 применяется специально выделенный групповойВ адрес 224.0.0.9 или для передачи сообщения конкретному соседу — обычный одноадресный режим (Unicast).

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

RIP содержится не более 25 маршрутных записей. То есть при передаче большой таблицы маршрутизатор должен использовать несколько последовательных сообщений.

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

Рис. 532. Формат сообщения RIP

Поле Команда (Command) может принимать следующие значения:

  • 1 — запрос на получение частичной или полной маршрутной информации;
  • 2 — отклик, содержащий информацию о расстояниях из маршрутнойВ таблицы отправителя;
  • 3 — включение режима трассировки;
  • 4 — выключение режима трассировки;
  • 5—6 — зарезервированы для внутренних целей SUN Microsystem.

Поле Версия ( Version) указывает версию протокола RIP (1 или 2). Поле Набор протоколов сети (Address family identifier) i (i < 25) указывает целоеВ число шагов до данной сети (от 1 до 15).

Сообщения типа «запрос» используются для запроса на получение полной таблицы маршрутизации или ее части. Обработка запроса ведетсяВ запись за записью (RTE за RTE). Для каждой маршрутной записи проверяется таблица маршрутизации на предмет того, есть ли там соответствующая запись. Если есть, то в ноле маршрутной записи помещается метрикаВ из таблицы маршрутизации. Если нет — в поле маршрутной записи помещается число 16, обозначающее бесконечную метрику. После того как все маршрутные записи обработаны, пакет отсылается обратно запрашивающему.

Сообщение типа «отклик» может быть ответом на конкретный запрос, регулярным сообщением обновления или сообщением обновления, вызванным изменением таблицы маршрутизации.

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

  • • проверяется корректность указанных в сообщении адреса сетиВ и маски;
  • • проверяется, не превышает ли метрика бесконечности:
    • — некорректный элемент игнорируется,
    • — если метрика меньше бесконечности, она увеличивается на 1;
  • • в таблице маршрутов производится поиск сети, указанной в рассматриваемом элементе вектора расстояний, причем, если запись о такой сетиВ в таблице маршрутов отсутствует и метрика в полученном элементе вектора меньше бесконечности, сеть вносится в таблицу маршрутов с указанной метрикой;
  • • в ноле «Следующий маршрутизатор» заносится адрес маршрутизатора, приславшего сообщение;
  • • запускается таймер для принятой записи в таблице;
  • • если искомая запись присутствует в таблице с метрикой больше,В чем объявленная в полученном векторе, в таблицу вносятся новые записиВ о метрике и, соответственно, об адресе следующего маршрутизатора и таймер для этой записи перезапускается;
  • • если искомая запись присутствует в таблице и отправителем полученного вектора был маршрутизатор, указанный в поле «СледующийВ маршрутизатор» этой записи, то таймер для этой записи перезапускается;
  • • более того, если при этом метрика в таблице отличается от метрикиВ в полученном векторе расстояний, в таблицу вносится значение метрикиВ из полученного вектора;
  • • во всех прочих случаях рассматриваемый элемент вектора расстояний игнорируется.

Недостатки RIP.

  • — Отсутствие поддержки спецификации CIDR. RIP-I воспринимаетВ внеклассовые сети типа 10.1.0.0/16, 10.2.0.0/16 и т.д. как одну сеть классаВ А 10.0.0.0/8 и формирует для нее один маршрут, что, естественно, приводит к потере пакетов, направляемых в указанные подсети. Этот недостатокВ был устранен во второй версии протокола путем введения в маршрутнуюВ информацию дополнительной характеристики SUBNET MASK (маска сетиВ назначения).
  • — Требует много времени для восстановления связи после сбоя в маршрутизаторе.
  • — Возможно возникновение циклов.
  • — Наличие лишь одного параметра определения маршрута — числаВ промежуточных маршрутизаторов.

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

Так, в новой версии протокола появилась возможность аутентификации передаваемых сообщений, для чего используется первая маршрутная запись в заголовке пакета[1]. Кроме того, стало возможным различать «внутренние» маршруты (полученные через RIP) от «внешних» (полученныхВ от других протоколов маршрутизации, таких как EGP, ВОР).

Как было сказано ранее, в новой версии протокола RIP стало возможным при помощи поля Маска подсети различать не только сети, но и подсети. В целях уменьшения использования полосы пропускания сетей протокол RIPv2 вместо адреса broadcast использует multicast-адрес — 224.0.0.9.

Протокол OSPF (Open Shortest Path First) относится к протоколам маршрутизации на основе состояния канала (класс Link-State).

Функционирование маршрутизаторов по алгоритму состояния каналов. Как и все протоколы маршрутизации класса Link-State, протокол OSPF предназначен для построения внутренних маршрутов автопомпойВ системы (.Autonomous System).

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

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

  • • внутренний (Internal Router, //?);
  • • пограничный области (Area Border Router);
  • • пограничный автономной системы (AS Boundary Router, ASBR);
  • • магистральный (Backbone Router, BR).

Все маршрутизаторы OSPF принимают участие в формировании маршрутной информации автономной системы путем передачи специальных сообщений, содержащих информацию о текущем состоянии фрагментаВ сети. Эти сообщения называются объявлением состояния капала (Link StateВ Advertisement, LSA). Сообщения LSA обязательно формируются при любомВ изменении состояния контролируемого компонента сети. Для обеспечения большей надежности сообщения LSA могут быть сформированыВ и при отсутствии каких-либо изменений в сети через достаточно большиеВ интервалы времени, например, один раз за полчаса.

Принятые сообщения образуют в каждом маршрутизаторе базу данных состояния сети (Link State Data Base). При получении сообщения об изменениях в структуре сети маршрутизатор вносит соответствующие изменения в свою копию базы данных. Таким образом, в каждый момент времениВ все базы данных маршрутизаторов, находящихся внутри одной автономной системы, являются идентичными и адекватно отображают структуруВ этой системы. Для того чтобы определить маршрут, по которому должнаВ быть передана дейтаграмма, маршрутизатор на основании своей копии базы данных строит дерево кратчайших путей, в вершине которого размещает самого себя (используя алгоритм Дсйкстры). Построение кратчайших путей маршрутизатор выполняет всякий раз, когда происходит изменениеВ состояния сети.

Существенной особенностью протокола маршрутизации OSPF является специальная процедура информационного обмена между маршрутизаторами в сетях с множественным доступом (например, Ethernet). Маршрутизаторы, подключенные к одной и той же сети, называются соседними маршрутизаторами (Neighboring Routers). Маршрутизаторы протоколаВ OSPF устанавливают и обслуживают соседские отношения, используяВ специальный дополнительный протокол Hello. С помощью этого протоколаВ определяется состав подключенных к сети маршрутизаторов, их работоспособность и производится выбор одного из них в качестве назначенногоВ маршрутизатора (Designated Router, DR). Назначенный маршрутизаторВ выбирается для того, чтобы исключить возможность многократного представления информации об одной сети. Он формирует сообщения, содержащие список подключенных к сети маршрутизаторов, и передает содержимое текущей базы данных по запросу, полученному от одного из них. ЕслиВ по каким-либо причинам назначенный маршрутизатор перестал функционировать, его функции автоматически переходят к запасному назначенномуВ маршрутизатору (Backup Designated Router, BDR), выбираемому одновременно с основным.

Для передачи маршрутной информации маршрутизаторы протокола OSPF используют различные типы обновлений о состоянии сетевых компонентов (LSA). Процесс распространения LSA в пределах автономнойВ системы называется затоплением (Flooding).

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

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

Поле Версия (Version No.) указывает версию протокола (= 2). Поле Тип (Packet Туре) идентифицирует функцию сообщения и может приниматьВ следующие значения:

  • 1 — сообщение является сообщением Hcllovv (используется для проверки доступности маршрутизатора);
  • 2 — сообщение является описанием базы данных;
  • 3 — сообщение является запросом состояния канала;
  • 4 — сообщение информирует об изменении состояния канала;
  • 5 — сообщение является подтверждением получения сообщения о статусе канала.
Формат заголовка сообщений протокола OSPF

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

Поле Длина пакета (Packet Length) определяет длину блока (включая заголовок) в октетах. Поле Идентификатор области {Area ID) представляет собой 32-битный код, идентифицирующий область, которой принадлежит данный пакет. Поле Контрольная сумма {Checksum) содержитВ контрольную сумму IP-пакета, включая поле Тип идентификации. Контрольное суммирование производится по модулю 1. Поле Тип идентификации {A U type) имеет значение 0, если отсутствует контроль доступа, и 1 —В в противном случае.

Формат сообщения Hellow протокола OSPF приведен на рис. 5.34.

Формат сообщения Hellow протокола OSPF

Рис. 534. Формат сообщения Hellow протокола OSPF

Поле Сетевая маска соответствует маске подсети интерфейса. Поле Время между сообщениями НЕЬЬО? содержит значение времени в секундах между сообщениями Не11оу. Поле Приоритет определяет уровень

приоритета маршрутизатора. Поле Время отключения маршрутизатора определяет временной интервал в секундах, по истечении которого не отвечающий маршрутизатор считается вышедшим из строя. Поля 1Р-адресВ маршрутизатора и 1Р-адрес резервного маршрутизатора указывают, кудаВ надо послать сообщение. Поля 1Р-адрес соседа г образуют список адресовВ соседних маршрутизаторов, от которых недавно были получены сообщенияВ Не11о?. Поле Опции (8 бит) информирует о состоянии канала и описываетВ базу данных. Его формат приведен на рис. 5.35.

Формат поля Опции протокола ОБРР с типом сообщения Не11оу

Рис. 5.35. Формат поля Опции протокола ОБРР с типом сообщения Не11оу

Бит Е характеризует возможность внешней маршрутизации и имеет значение только в сообщениях типа Hcllow, в остальных сообщениях данный бит должен быть обнулен (т.е. маршрутизатор не будет посылать илиВ принимать маршрутную информацию от внешних автономных систем).В Бит Т определяет сервисные возможности маршрутизатора (Type of Service,В ToS). Если Т = 0, то маршрутизатор поддерживает лишь один вид услуг.

Формат сообщения OSPF о маршрутах приведен на рис. 5.36.

J6. Формат OSPF-сообщения о маршрутах

Рис. 5J6. Формат OSPF-сообщения о маршрутах

Поля, начиная с поля Тип канала, повторяются для каждого описания канала. Содержимое базы может пересылаться по частям. В стартовомВ сообщении бит I устанавливается в 1, в сообщении-продолжении бит МВ устанавливается в 1. Бит Б определяет, послано сообщение сервером (8=1)В или клиентом (Б = 0). Поле Номер сообщения по порядку служит для кон-

троля пропущенных блоков. Поле Тип капала характеризует объявление о маршруте и может принимать следующие значения:

  • 1 — описание каналов маршрутизатора (состояние его интерфейсов);
  • 2 — описание сетевых каналов (перечень маршрутизаторов, непосредственно связанных с сетью);
  • 3 или 4 — сводное описание каналов, в которое входят маршруты междуВ отдельными областями сети (тип 3 приписан маршрутам, ведущим к сетям,В а тип 4 — маршрутам, ведущим от сетей);
  • 5 — описание внешних связей автономной системы.

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

Формат ОЗРР-запроса маршрутной информации приведен на рис. 5.37.

Формат ОБРР-запроса маршрутной информации

Рис. 537. Формат ОБРР-запроса маршрутной информации

Формат сообщения о получении ОБРР-пакета и формат ОБРР-сообщения об изменении маршрутов приведены на рис. 5.38, 5.39 соответственно.

Формат сообщения о получении ОБРР-пакета

Рис. 538. Формат сообщения о получении ОБРР-пакета

Причины посылки сообщений об изменении маршрута:

  • 1) продолжительность связи достигла предельного значения;
  • 2) изменилось состояние интерфейса;
  • 3) произошли изменения в маршрутизаторе сети;
  • 4) произошли изменения в одном из соседних маршрутизаторов;
  • 5) изменилось состояние одного из внутренних маршрутов;
  • 6) изменение состояния межзонного маршрута;
  • 7) появление нового маршрутизатора, подключенного к сети;
  • 8) изменение виртуального маршрута одним из маршрутизаторов сети;
  • 9) изменение одного из внешних маршрутов;
  • 10) маршрутизатор перестал быть пограничным для автономнойВ системы.
Формат OSPF-сообщения об изменении маршрутов

Рис. 5.39. Формат OSPF-сообщения об изменении маршрутов

Достоинства протокола OSPF. В отличие от универсальных протоколов (например, RIP), протокол OSPF предназначен для построения маршрутов только в сетях TCP/IP.

Основными достоинствами протокола OSPF являются:

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

Протокол пограничного шлюза (Border Gateway Protocol, BGP) является протоколом маршрутизации между автономными системами. Данный протокол работает поверх протокола транспортного уровня. Это позволяетВ нс нагружать сервисы обработки протокола BGP механизмами фрагментации или обеспечения достоверности доставки пакетов. Схемы аутентификации протоколов транспортного уровня также могут быть использованыВ BGP в дополнение к собственной системе аутентификации. Кроме того,В хотя BGP разработан как протокол маршрутизации между автономнымиВ системами, он может использоваться для маршрутизации и внутри автономных систем.

Основным предназначением BGP является обеспечение обмена информацией с другими BGP-системами о досягаемости определенных сетей или

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

Отличия протокола ВвР от других протоколов маршрутизации. Протокол ВвР нельзя отнести ни к классу дистанционно-векторных, ниВ к классу протоколов маршрутизации на основе состояния канала. НижеВ приведены характерные отличия протокола ВОР от других протоколовВ маршрутизации.

  • Коммуникация между автономными системами. Поскольку протоколВ ВОР относится к протоколам внешнего шлюза, его основное назначение —В обеспечить обмен информацией между двумя автономными системами.
  • Координирование работы нескольких спикеров ВСР. Если в составВ автономной системы входит несколько маршрутизаторов, каждый из которых обменивается информацией с равным ему по рангу маршрутизаторомВ внешней автономной системы (их называют спикерами ВСР), протоколВ ВвР может использоваться для координации работы всего набора маршрутизаторов. Это гарантирует, что маршрутизаторы распространяют непротиворечивую информацию.
  • Распространение информации о достижимости. Протокол ВвРВ позволяет автономной системе сообщить информацию о расположенныхВ в ней получателях, а также о тех получателях, доступ к которым осуществляется через данную автономную систему. Кроме того, с помощью протокола ВвР подобную информацию можно получить от других автономныхВ систем.
  • Принцип ближайшего перехода. Подобно дистанционно-векторнымВ протоколам маршрутизации, протокол ВСР предоставляет информациюВ об адресе ближайшей точки перехода для каждого получателя.
  • Поддержка различной политики маршрутизации. В отличие от многих дистанционно-векторных протоколов, которые сообщают только туВ маршрутную информацию, которая находится в локальной таблице маршрутизации, протокол ВвР обеспечивает политику маршрутизации в зависимости от выбора администратора. В частности, маршрутизатор, работающий под управлением протокола ВСР, можно настроить так, чтобы онВ различал получателей, доступ к которым осуществляется через компьютеры его автономной системы, и получателей, анонсированных другимиВ автономными системами.
  • Надежный транспортный протокол. Протокол ВСР отличаетсяВ от других протоколов, передающих информацию о маршрутизации, тем,В что он предполагает использование надежного транспортного протокола.В Таким образом, для обмена информацией в протоколе ВСР используетсяВ исключительно транспортный протокол ТСР.
  • Информация о маршруте. Кроме указания списка возможных получателей и адреса ближайшей точки перехода для каждого из них в сообще нии протокола BGP анонсируется также маршрутная информация, которая позволяет узнать, через какие автономные системы проложен маршрут к конкретному получателю.
  • Передача обновлений. Чтобы не создавать дополнительную нагрузкуВ на сеть, в каждом сообщении протокола BGP об обновлении не передаетсяВ полная маршрутная информация. Вместо этого обмен полной информацией происходит только один раз, а в следующих сообщениях передаютсяВ только изменения.
  • Поддержка бесклассовой адресации. Протокол BGP поддерживаетВ CIDR-адреса. Это означает, что программа протокола BGP не полагаетсяВ на методы идентификации IP-адресов, а вместе с каждым адресом отсылаетВ и его маску.
  • Объединение маршрутов. Чтобы не создавать дополнительной нагрузкиВ на сеть, протокол BGP позволяет отправителю накапливать информациюВ о маршрутах и отсылать в одном пакете данные сразу о нескольких, связанных между собой получателях.
  • Аутентификация. Протокол BGP позволяет получателю удостоверить подлинность сообщений (т.е. подтвердить «личность» отправителя).

Функции протокола BGP и виды сообщений. В процессе взаимодействия по протоколу BGP выполняется три основных действия:

  • 1) получение согласия сторон на взаимодействие по протоколу BGPВ и аутентификацию (при этом два равноправных маршрутизатора устанавливают соединение по протоколу TCP и обмениваются сообщениями, которые подтверждают, что обе стороны согласны вступить в процесс обменаВ информацией);
  • 2) каждая сторона отсылает информацию о доступности или недоступности получателей (это означает, что отправитель может сообщить о возможности доступа к одной или нескольким сетям получателя (при этомВ указывается адрес ближайшей точки перехода для каждой сети) или,В напротив, может заявить, что одна или несколько сетей, о которых сообщалось ранее, более недоступны);
  • 3) осуществление постоянного контроля над правильностью функционирования взаимодействующих пар маршрутизаторов и сетевых соединений.

В протоколе BGP определено четыре основных типа сообщений: OPEN (инициализирует процесс), UPDATE (аннулирует маршрутную информацию),В NOTIFICATION (отвечает на неверное сообщение), KEEPALIVE (выполняетВ активную проверку возможности соединения между BGP-парами).

В начале каждого сообщения протокола BGP расположен заголовок фиксированного формата, с помощью которого определяется тип сообщения (рис. 5.40).

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

Рис. 5.40. Формат сообщения BGP

В ноле Маркер (Marker) (16 октетов) заносится значение, которое обе стороны «договорились» использовать в качестве метки начала сообщения. В поле Длина (Length) (2 октета) указывается общая длина сообщения в октетах. Минимальный размер сообщения составляет 19 октетовВ (для типа сообщения, в котором после заголовка нет данных). Максимально допустимая длина сообщения составляет 4096 октетов.

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

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

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

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

Рис. 5.41. Формат BGP-сообщения OPEN

Поле Версия (длина 8 бит) указывает на версию протокола BGP. Моя автономная система (длина 16 бит) содержит идентификатор автономнойВ системы отправившего сообщение маршрутизатора. Поле Время сохранения (Hold Time) длиной 16 бит указывает на максимальное время (в секундах) между приходами сообщений KEEPALIVE, используемых для мониторинга активности соединения. BGP-идентификатор в 32 бита содержит идентификатор маршрутизатора (один из адресов интерфейсов). Поле КодВ идентификации, длина которого 8 бит, содержит длину поля Идентификационные данные, содержащего различные опции.

Сообщение UPDATE рассылается маршрутизатором BGP с целью внесения изменений в таблицы маршрутизации. Формат BGP-сообщения UPDATE приведен на рис. 5.42.

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

Рис. 5.42. Формат BGP-сообщения Update

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

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

Сообщениями-уведомлениями (NOTIFICATION) BGP-маршрутизаторы обмениваются при возникновении ошибок. Такие сообщения содержатВ в себе код ошибки (например, ошибка заголовка, ошибка в сообщенииВ OPEN, ошибка в сообщении UPDATE и т.д.).

  • [1] ИРС 2453 специфицирует использование только одной схемы аутентификации — использование простого нешифруемого пароля.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >