Александр Филимонов

Сети ЭВМ и телекоммуникации




Начало > Основы TCP/IP

Протоколы внешней маршрутизации

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

  • Border Gateway Protocol
  • Exterior Gateway Protocol

Особенности внешней маршрутизации

Два маршрутизатора, которые обмениваются информацией о маршрутах, называются внутренними соседями в том случае, если они принадлежат к одной автономной системе и внешними – в том случае, если они принадлежат к различным автономным системам. На рисунке маршрутизаторы R2 R4 являются внутренними для автономных систем AS N  и AS M соответственно. R1 и R3 совмещают функции внешнего и внутреннего маршрутизаторов. Маршрутизатор R1 представляет для автономной системы AS M маршруты к сетям, которые находятся в автономной системе AS N. Аналогичную функцию выполняет маршрутизатор R3 по отношению к маршрутам AS M. 

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

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

Основные принципы построения протокола маршрутизации EGP определены в RFC 904 . Этот протокол маршрутизации имеет три основные черты:

  • Использование механизма установления отношений между маршрутизаторами neighbor acquisition
  • Маршрутизаторы EGP используют специальный механизм для определения статуса свих  партнеров по протоколу
  • Маршрутизаторы EGP периодически обмениваются информацией о достижимости сетей путем передачи сообщений об обновлениях маршрутов.

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

  • Сообщения  Neighbor Acquisition Messages
  • Сообщения Neighbor Reach ability Messages
  • Сообщения Poll Request Messages
  • Сообщения Routing Update Messages

Сообщения об установлении отношений ( Neighbor Acquisition)

Сообщения этого типа маршрутизатор передает в том случае, когда собирается установить с другим маршрутизатором отношения в соответствии с алгоритмами информационного обмена  EGP.

Сообщения проверки состояния соседа Neighbor Reach ability

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

Когда маршрутизатор находится в активном состоянии (см. рисунок) он периодически посылает сообщения Hello вместе с обновлениями маршрутов и ожидает ответа от соседа.  Если маршрутизатор находится в пассивном режиме, он может использовать содержимое поля STATUS для определения состояния соседа вместо того, чтобы периодически опрашивать его. Обычно оба маршрутизатора находятся в активном состоянии.

Сообщения проверки состояния  маршрута Poll Request

Сообщения этого типа маршрутизатор передает в том случае, когда хочет установить, достижима или нет сеть SOURCE NETWORK.

Сообщения проверки состояния  маршрута Routing Update

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

Как уже было выше отмечено,  описание метрики маршрута в протоколе EGP указывается относительно общей сети, которая называется  SOURCE NETWORK. Это является существенным отличием данного протокола от протоколов класса IGP.  Рассмотрим представленный на рисунке пример: 

В данном случае автономная система AS M использует маршрутизатор R1 для представления  маршрутов к своим внутренним сетям для других автономных систем. В соответствии с принципом формирования информации о маршрутах, который принят в EGP, внутренние сети  AS M будут представлены следующим образом:

Маршрутизатор Сеть Дистанция
R1 N3 1
R1 N5 2
R1 N4 3
R2 N2 1
R3N11

Сообщение Error Response/Indication

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

Недостатки протокола EGP

Протоколу EGP свойственен ряд существенных недостатков:

  1. Маршрутизатор EGP представляет только один путь до каждой сети. Это делает невозможным использование процедур динамического перераспределения нагрузки между параллельными каналами
  2. Маршрутизатор EGP не поддерживает внеклассовые сети.

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

Протокол маршрутизации BGP (Border Gateway Protocol RFC 1771) представляет собой более современный, чем протокол EGP, протокол внешней маршрутизации автономных систем. Оба этих протокола построены по примерно одинаковой схеме, однако протокол BGP имеет ряд существенных преимуществ по отношению к EGP.

Основные принципы построения BGP

Протокол BGP используется для передачи информации о внутренних маршрутах между автономными системами. Протокол BGP может быть использован для определения различных типов маршрутов –

  • Inter-autonomous system routing маршруты которые соединяют данную автономную систему с одной или несколькими другими автономными системами
  • Intra-autonomous system routing  - протокол может быть использован для определения маршрута внутри автономной системы, в том случае, когда несколько маршрутизаторов участвуют в процессе определения маршрута BGP.
  • Pass-through autonomous system - протокол может быть использован для определения маршрутов, которые проходят через автономную систему, которая не участвует в процессе BGP

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

  • Начало сеанса (Open)
  • Для периодической проверки состояния соседа (Keep Alive)
  • При изменении содержания таблицы маршрутов автономной системы(update)
  • При возникновении аварийной ситуации(Notification)

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

Каждое сообщение BGP состоит из заголовка и последующих специфических полей:

MARKER
MARKER
MARKER
MARKER
LENGTH TYPE  

В поле LENGTH  помещается размер сообщения (вместе с заголовком), выраженный в байтах. В поле TYPE помещается код сообщения  в соответствии со следующей таблицей:

TYPE Сообщение
1 OPEN
2 UPDATE
3 NOTIFICATION
4 KEEPALIVE

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

Сообщение OPEN

Первое сообщение, которое должно быть передано маршрутизатором BGP после установления соединения TCP -  сообщение OPEN.

VERSION  
My Autonomous System  
Hold Time  
BGP Identifier
Opt Parameter Len  
Optional Parameters

Поле VERSION

В данном поле размещается информация о номере версии протокола BGP. В настоящий момент используется версия 4 этого протокола.

Поле AS Number

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

Поле Hold Time

Значение этого поля определяет величину интервала времени, в течение которого отправитель будет ожидать получения ответного сообщения в подтверждение  установления сессии BGP.

Поле BGP Identifier

В этом поле размещается идентификатор отправителя сообщения – в качестве этого идентификатора может быть использован IP адрес одного из интерфейсов маршрутизатора.

В поле необязательные параметры может быть размещена информация, которая может быть использована для выполнения процедуры аутентификации абонента.

Сообщение UPDATE

Сообщение UPDATE используется для представления маршрута соседнему маршрутизатору BGP. Это сообщение одновременно может быть использовано для уничтожения маршрутов, которые перестали существовать.

Unfeasible Routes Length
Withdrawn Routes (Variable)
Total Path Attribute Length
Path Attributes
Network Layer Reach ability Information (Variable)

Поля Unfeasible Routes Length и Withdrawn Routes определяют уничтожаемые маршруты. В поле Withdrawn Routes размещаются описания отзываемых маршрутов. Если данное сообщение UPDATE не содержит уничтожаемых маршрутов, поле Unfeasible Routes Length должно иметь значение 0.

В поле Total Path Attribute Length – содержится выраженная в байтах длина поля Path Attributes. Атрибут каждого маршрута представляет собой совокупность трех значений: <attribute Туре, attribute length, attribute value>. Содержимое этих полей используется для гибкого определения таких атрибутов маршрута, как – путь, по которому был получен данный маршрут, Next hop gateway, и т.д.

В поле  Network Layer Reach ability Information определяется собственно представляемая сеть. Для представления используются  пара значений <length, prefix>.

Причем значение length представляет собой выраженную в битах длину префикса сети, а в поле  prefix помещается собственно префикс.


< Предыдущая лекция
Протоколы маршрутизации IGRP и EIGRP
Следующая лекция
Протоколы транспортного уровня Internet
>

Ссылки по теме:


Поиск

Поиск документов на RFC.net



© 2000— Александр Филимонов
© 2001— Алексей Бусыгин

Top.Mail.Ru