Семейство протоколов TCP/IP. Протоколы внешней маршрутизации.


Добавил:DMT
Дата создания:21 июня 2008, 13:11
Дата обновления:21 июня 2008, 13:12
Просмотров:7758 последний сегодня, 18:37
Комментариев: 0

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

Протоколы этого типа используются для определения маршрутов передачи данных между различными автономными системами. Такие протоколы обычно относят к классу 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.

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

Рис. 2.9.1.

Основные принципы построения протокола маршрутизации 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 маршрутизатор передает в том случае, когда хочет установить в каком состоянии находится соседний маршрутизатор.

Рис. 2.9.2.

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

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

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

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

Рис. 2.9.3.

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

Таблица 2.9.1.

Маршрутизатор

Сеть

Дистанция

R1

N3

1

R1

N5

2

R1

N4

3

R2

N2

1

R3

N1

1

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

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

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

•  Маршрутизатор EGP не поддерживает внеклассовые сети.

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

Протокол 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

Таблица 2.9.2.

MARKER

MARKER

MARKER

MARKER

LENGTH

TYPE

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

Таблица 2.9.3.

TYPE

Сообщение

1

OPEN

2

UPDATE

3

NOTIFICATION

4

KEEPALIVE

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

Первое сообщение, которое должно быть передано маршрутизатором 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 используется для представления маршрута соседнему маршрутизатору BGP. Это сообщение одновременно может быть использовано для уничтожения маршрутов, которые перестали существовать.

Таблица 2.9.4.

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 помещается собственно префикс.

up