Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Принципы маршрутизации в Internet. Самое полное описание протокола BGP 4 - Сэм Хелеби

.pdf
Скачиваний:
643
Добавлен:
24.05.2014
Размер:
8.46 Mб
Скачать

указывающих на список узлов, на которые можно доставить трафик через спикер ВОР. В сообщение UPDATE также включены атрибуты маршрута. К ним относятся: степень предпочтения определенного маршрута и список AS, через которые пролегает маршрут.

Рис. 5.3. Обмен обновлениями маршрутной информации

Рис. 5.4. Маршрут NJ выходит из строя. Посылается частичное обновление

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

На рис. 5.4 показана система в уравновешенном состоянии (steady state): если нет никаких изменений в структуре маршрутов, то маршрутизаторы обмениваются только пакетами KEEPALIVE.

Сообщения KEEPALIVE периодически посылаются между соседними маршрутизаторами ВОР, чтобы убедиться, что соединение находится в нормальном состоянии. Пакеты KEEPALIVE (длиной 19 байт каждый) не создают практически никакой нагрузки на процессор маршрутизатора и полосу пропускания, так как им требуется очень незначительная полоса пропускания (один 152-битовый пакет каждые 60 секунд, т.е. около 2,5 байт/с).

Впротоколе BGP учитывается номер версии таблицы маршрутов, чтобы отслеживать изменения маршрутов. Если в таблицу маршрутов вносятся какие-либо изменения, то BGP автоматически увеличивает номер версии таблицы. Быстро растущие номера версии таблицы обычно указывают на то, что в сети имеется нестабильно работающий участок (хотя это довольно обычная ситуация для сетей крупных провайдеров Internet). Нестабильность сетей, подключенных к Internet по всему миру, приводит к росту номеров версий таблиц маршрутов на каждом спикере BGP, где имеются сведения обо всех маршрутных таблицах сети Internet. Для снижения воздействия этих неоднородностей в Internet были разработаны механизмы коммутации маршрутов и другие мероприятия (более подробно о них в главе 10, "Проектирование стабильных сетей на базе TCP/IP").

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

111

Формат заголовка сообщения протокола BGP

Формат заголовка сообщения в BGP представляет собой поле маркера длиной 16 байт, за которым следует поле длины (2 байта) и поле типа (1 байт). На рис. 5.6 представлен формат заголовка сообщения протокола BGP.

Рис. 5.6. Формат заголовка сообщения BGP

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

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

Если послано сообщение типа OPEN или в нем отсутствует информация об аутентификации, то в поле маркера все позиции выставляются в 1.

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

Поле длины размером 2 байта используется для отображения полной длины сообщения ВОР, включая заголовок. Наименьшая длина сообщения ВОР составляет 19 байт (16+2+1), а наибольшая — 4096 байт.

Поле типа размером 1 байт определяет тип сообщения. Возможны следующие значения:

OPEN (Открытие соединения)

UPDATE (Обновление маршрутной информации)

NOTIFICATION (Уведомление об ошибке)

KEEPALIVE (Проверка состояния соединения)

В последующих разделах мы рассмотрим назначение и формат каждого типа сообщений более детально.

Переговоры с соседними BGP-узлами

Одно из основных положений протокола ВОР состоит в том, что взаимодействующие узлы устанавливают между собой сеансы ВОР. Если этот этап по каким-либо причинам не был выполнен, то обмен маршрутной информацией или ее обновление не проводится. Переговоры с соседними узлами основаны на успешном установлении соединения по протоколу TCP, успешной обработке сообщения OPEN и периодическом обмене сообщениями UPDATE и KEEPALIVE.

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

На рис. 5.7 представлен формат сообщения OPEN.

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

112

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

Рассмотрим назначение каждого из полей сообщения OPEN.

Версия (Version) — целое число длиной 1 байт, которое отражает номер версии протокола ВОР, такой как BGP-3 или BGP-4. В течение фазы переговоров с соседями стороны, участвующие в BGP-сеансе, должны согласовать номер версии протокола ВОР. Вначале стороны пытаются "договориться" о наивысшей версии, которую они могут поддерживать. На этом этапе стороны могут сбрасывать сеанс ВОР и проводить повторные переговоры до тех пор, пока не согласуют, по какой версии ВОР будет проводиться сеанс. Для ускорения процесса переговоров компания Cisco Systems ввела специальный параметр, в котором определяется версия протокола. Как правило, номер версии устанавливается статически, когда версии ВОР сторон уже известны, хотя большинство реализаций по умолчанию начинают переговоры с BGP-4.

Автономная система (My autonomous system) — поле размером 2 байта, где указывается номер AS спикера ВОР.

Таймер удержания (Hold timer). В поле "Таймер удержания", имеющее в длину 2байта, включаются целые числа, указывающие максимальный интервал времени между приемом сообщений KEEPALIVE и UPDATE. По сути таймер удержания представляет собой счетчик, величина которого увеличиваются от 0 дозначения времени удержания. Прием сообщений типа KEEPALIVE илиUPDATE сбрасывает таймер в 0. Если время удержания для заданного соседнего узла превышено, делается вывод о недоступности такого узла.

Маршрутизатор, поддерживающий работу по ВОР, в фазе переговоров со своим соседом подбирает для него время удержания. Выбор времени удержания между соседними маршрутизаторами производится на основе наименьшего времени удержания. Таймер удержания может быть равным 0, но тогда ни он, ни таймер состояния соединения (KEEPALIVE timer) никогда не будут сбрасываться. Другими словами, оба таймера всегда будут иметь значение 0, следовательно, соединение будет считаться активным. Если таймер не установлен в 0, то по умолчанию минимальное значение времени ожидания для таймера удержания 3 секунды.

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

Идентификатор BGP (BGP Identifier) представляет собой четырехбайтовое целоечисло, которое отображает значение идентификатора ВОР узла отправителя. Вмаршрутизаторах компании Cisco это значение обычно соответствует идентификатору маршрутизатора (Router ID — RID), который вычисляется из наивысшего IP-адреса на маршрутизаторе или из наивысшего адреса обратной петли в

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

113

начале сеанса ВОР. Адрес обратной петли представляет собой IP-адреспрограммного виртуального интерфейса, который считается всегда активным,независимо от состояния физического интерфейса на маршрутизаторе.

Длина поля необязательных параметров (Optional Parameter Length — Opt ParmLen). Это однобайтовый целочисленный параметр, который отражает полнуюдлину в байтах поля "Необязательные параметры". Если длина равна 0, то необязательные параметры отсутствуют.

Необязательные параметры (Optional Parameters). Это поле переменной длины, вкотором отображается список необязательных параметров, используемых протоколом ВОР при ведении переговоров между соседними узлами. В этом полемогут отображаться параметры <Параметр типа, параметр длины, параметр зна-

чения> (<Parameter Type, Parameter Length, Parameter Value>) длиной по одному байту и переменной длины, соответственно. Примером необязательных параметров может служить параметр информации об аутентификации (тип 1), который применяется для аутентификации сторон в сеансе ВОР.

Модель конечных состояний

Процесс переговоров между BGP-соседями до полной установки соединения происходит в несколько этапов. На рис. 5.8 приведена упрощенная модель конечных состояний (finite state machine — FSM), с помощью которой можно рассматривать основные события, в результате которых генерируются сообщения от одного узла другому и реакцию на них другой стороны.

Ниже приведен список основных состояний модели FSM.

Рис. 5.8. Модель конечных состояний при переговорах по протоколу ВОР между соседними узлами

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

114

1.Ожидание (Idle). Это первое состояние, в котором находятся системы перед установлением соединения. В протоколе ВОР ожидается наступление события "Пуск" (Start), инициированного оператором или самой BGP-системой. Администратор вызывает наступление события "Пуск" путем установления BGPсеанса маршрутизатором или посредством сброса существующего BGP-сеанса. После наступления события "Пуск" BGP-система инициализирует свои ресурсы, сбрасывает таймер повторных попыток установки соединения (ConnectRetry timer), устанавливает транспортное соединение по протоколу TCP и находится в режиме ожидания соединения с удаленной стороной. Затем BGP-система переходит в состояние ведения связи. В случае появления каких-либо ошибок BGP-система возвращается в состояние ожидания.

2.Связь (Connect). В этом состоянии BGP-система ожидает полного установлениясоединения транспортным протоколом. Если TCP-соединение

установлено успешно, то система переходит в состояние пересылки сообщения OPEN(OpenSent) (т.е. на этом этапе удаленной системе посылается сообщение об открытии соединения OPEN). Если истекает время, заданное таймером повторныхпопыток ConnectRetry timer, то система остается в состоянии "Связь", таймерсбрасывается, и повторно начинается установка соединения транспортным протоколом. При наступлении каких-либо других событий, инициированных оператором или самой системой, BGP-система возвращается в состояние ожидания.

3.Система активна (Active). На этом этапе BGP-система пытается достичь удаленной

системы путем открытия соединения транспортного протокола. Если установлено транспортное соединение, то система переходит в состояние пересылки сообщения OPEN (OpenSent), при котором генерируется и посылается сообщение OPEN. Если истекает интервал времени, заданный таймеромповторных попыток, то система перезапускает таймер и возвращается в состояние "Связь". При этом BGPсистема продолжает ожидать появления входящегосоединения от удаленного узла. При наступлении еще каких-либо событий система может вернуться и в состояние ожидания. Таким событием может бытьсобытие "Останов" (Stop), инициированное самой системой или оператором.

Если система находится в состоянии, колеблющимся между состояниями "Связь" и "Система активна", — это признак того, что при установке транспортного TCPсоединения что-то происходит неправильно. Причинами такого состояния может быть большое количество повторных передач пакетов по протоколу TCP или невозможность соседнего узла распознать IP-адрес удаленной стороны.

4.Состояние пересылки сообщения OPEN (OpenSent). В этом состоянии BGP-

система ожидает получения сообщения OPEN от удаленной стороны. Полученноесообщение проверяется на целостность. Если в нем содержатся ошибки, такиекак искаженный номер версии протокола или недопустимый номер AS, системаотправляет удаленной стороне сообщение об ошибке NOTIFICATION и возвращается в состояние ожидания. Если ошибок не обнаружено, BGP-система начинает посылать сообщения KEEPALIVE и сбрасывает свой таймер проверки состояния канала (KEEPALIVE timer) в 0. С этого момента оговаривается такжевремя удержания и устанавливается наименьшее его значение из связанных систем. Если согласованное время удержания равно 0, то таймер удержания (Holdtimer) и таймер проверки состояния (KEEPALIVE timer) не перезапускаются.

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

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

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

115

на событие "Останов", инициированное системой или оператором, BGP-система также переходит в состояние ожидания.

5.Подтверждение получения сообщения OPEN (OpenConfirm). В этом состоянииBGP-система ожидает поступления сообщения KEEPALIVE. Приняв такое сообщение, система переходит в следующее состояние "Связь установлена"(Established) и переговоры с соседним узлом завершаются. Приняв сообщениеKEEPALIVE, система перезапускает свой таймер удержания (при условии, что оговоренное значение времени ожидания не равно 0). Если же система получает сообщение NOTIFICATION, то она возвращается в состояние ожидания. Система периодически посылает другой стороне сообщения KEEPALIVE с частотой, установленной таймером проверки состояния канала. В случае любого разрыва транспортного соединения или в ответ на событие "Останов", инициированное самой системой или оператором, система также возвращается в состояние ожидания. При наступлении какого-либо другого события система посылает сообщение NOTIFICATION, содержащее код ошибки модели конечных состояний FSM, и возвращается в состояние ожидания.

6.Связь установлена (Established). Это последнее состояние, в котором находятся соседние узлы при ведении переговоров. В этом состоянии BGP-система начинает обмен пакетами UPDATE со своими соседями. Предположим, что таймер удержания не равен 0. Тогда он будет перезапускаться каждый раз при приеме сообщения UPDATE или KEEPALIVE. Если же система получает сообщение NOTIFICATION (в случае возникновения какой-либо ошибки), то она возвращается в состояние ожидания.

Сообщения UPDATE также проверяются на наличие ошибок, таких как недостающие атрибуты, дублированные атрибуты и другие. При обнаружении ошибки взаимодействующей стороне высылается сообщение NOTIFICATION, и система переводится в состояние ожидания. В состояние ожидания система возвращается также по истечении времени, заданного таймером удержания, при получении уведомления о разрыве транспортного соединения или при наступлении события "Останов", принятого от другого узла или наступившего в результате какого-либо другого события.

Сообщение NOTIFICATION

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

Рис. 5.9. Формат сообщения NOTIFICATION

Сообщение NOTIFICATION состоит из кода ошибки (1 байт), дополнительного кода ошибки (1 байт) и поля данных переменной длины.

Код ошибки (Error code) определяет тип уведомления об ошибке, а дополнительный код ошибки (Error subcode) предоставляет более детальную информацию о природе ошибки.

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

116

В поле данных (Data field) содержатся сведения об ошибке, такой как неправильный заголовок, запрещенный номер AS и т.д. В табл. 5.1 приведен список возможных ошибок и их дополнительные коды.

Таблица 5.1. Коды ошибок протокола BGP

Код ошибки

Дополнительный код ошибки

1

— Ошибка в заголовке

1 — Соединение не синхронизировано сообщения

 

 

2

— Неправильная длина сообщения

 

 

3

— Неправильный тип сообщения

2

— Ошибка в сообщении OPEN

1 — Номер версии не поддерживается

 

 

2 — Неправильный номер AS взаимодействующего узла

 

 

3

— Неправильный идентификатор BGP

 

 

4

— Необязательный параметр не поддерживается

 

 

5

— Ошибка аутентификации

 

 

6

— Неприемлемое значение таймера удержания

 

 

7

— Параметр не поддерживается

3

— Ошибка в сообщении UPDATE

1 — Список атрибутов сформирован неправильно

 

 

2

— Общеизвестный атрибут не опознан

 

 

3

— Общеизвестный атрибут не найден

 

 

4

— Ошибка в атрибуте Flags

 

 

5

— Ошибка в атрибуте Length

 

 

6

— Неправильный атрибут Origin

 

 

7

— Петля маршрутизации между AS

 

 

8

— Неправильный атрибут NEXTJHOP

 

 

9

— Ошибка в необязательном атрибуте

 

 

10 — Неправильное поле "Сеть”

 

 

11 — Ошибка в атрибуте AS_PATH

4

— Окончание работы таймера

Нет

удержания

 

 

5

— Ошибка модели конечных

Нет

состояний (для ошибок

 

 

обнаруженных FSM)

 

 

6

— Останов (при других серьезных

Нет

ошибках, кроме вышеуказанных)

Сообщение KEEPALIVE

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

KEEPALIVE — 1/3 от значения таймера удержания. Если же таймер удержания установлен в 0, то обмен сообщениями KEEPALIVE не ведется. Как мы уже говорили ранее, сообщение типа KEEPALIVE представляет собой 19-байтовый заголовок протокола BGP, без какихлибо значений в поле данных. Сообщения этого типа могут подавляться в течение передачи сообщения UPDATE.

Сообщение UPDATE и маршрутная информация

Основу протокола BGP составляет концепция обновлений маршрутной информации.

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

117

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

информация сетевого уровня о доступности сети (Network Layer ReachabilityInformation — NLRI);

атрибуты маршрута;

недостижимые маршруты.

Ка рис. 5.10 показаны все компоненты сообщения UPDATE.

Блок NLRI отображает форму записи IP-префикса маршрута к объявляемой сети. Список атрибутов маршрута позволяет протоколу BGP обнаруживать петли в маршрутизации и придает ему дополнительную гибкость при определении локальных и глобальных правил маршрутизации. В качестве примера атрибутов маршрута можно привести атрибут AS_PATH, с помощью которого определяется последовательность номеров AS, составляющих маршрут до маршрутизатора BGP.

Например, на рис. 5.11 автономная система AS3 получает сообщения UPDATE от AS2, где указывается, что в сеть 10.10.1.0/24 (NLRI) можно попасть через два промежуточных узла — AS2 и AS1. На основе этой информации система AS3 может направлять трафик в сеть 10.10.1.0/24 через транзитный узел AS2 в пункт назначения, подключенный к AS1.

Рис. 5.10. Формат сообщения UPDATE протокола BGP

Третья часть сообщения UPDATE представляет собой список маршрутов, которые стали недействительными, или, согласно терминологии, принятой в BGP, удаленными. Из рис. 5.11 видно, что если сеть 10.10.1.0/24 становится недостижимой или в информацию об атрибутах маршрута внесены какие-либо изменения, протокол BGP на всех трех AS может удалить маршрут и разослать сообщение UPDATE со списком новой информации об атрибутах или о невозможности попасть по заявленному ранее маршруту в заданную сеть.

Рис. 5.11. Пример обновления маршрутной информации в ВОР

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

118

Информация сетевого уровня о доступности сети

Одно из основных улучшений, введенных в протокол BGP-4, по сравнению со старыми версиями, — это набор процедур, реализующих механизм бесклассовой междоменной маршрутизации (CIDR). В главе 3, "IP-адресация и методы распределения адресов", уже говорилось о том, что концепция CIDR является отступлением от традиционной классовой модели протокола IP (с разбиением адресов на классы А, В и С) и основана на использовании IP-префиксов и бесклассовой модели.

IP-префикс представляет собой IP-адрес сети с отображением количества битов (слева направо), которые составляют сетевой адрес. Информация сетевого уровня о доступности сети (Network Layer Reachability Information — NLRI) является механизмом, с помощью которого в протоколе ВОР осуществляется поддержка бесклассовой маршрутизации. Блок NLRI является частью BGP-сообщения UPDATE. В этом блоке указывается список узлов, о маршрутах к которым BGP-система пытается проинформировать своих соседей. В блок NLRI входят одна или несколько записей формата

<длина, пре-фикс>, где длина — количество маскируемых битов, входящих в заданный префикс.

На рис. 5.12 представлен пример NLRI— <19, 198.24.160.0>. Здесь префикс — 198.24.160.0, а длина маски — 19 бит (считая с левой позиции префикса).

Рис. 5.12. Пример NLRI

Удаляемые маршруты

Удаление маршрутов позволяет создать список маршрутов, которые больше не обслуживаются или по каким-либо причинам недоступны в данный момент. Эти маршруты следует изъять (удалить) из маршрутных таблиц ВОР. Удаляемые маршруты записываются в том же формате, что и NLRI: IP-адрес и число бит, используемых в нем, считая слева (рис.

5.13).

Рис. 5.13. Общий вид поля удаляемых маршрутов

Удаляемые маршруты также представляются в формате <длина, префиксХ Запись в форме <18, 192.213.128.0> указывает на то, что будет удален маршрут к сети 192.213.128.0 255.255.192.0 или в формате CIDR - 192.213.128.0/18.

Поле длины недостижимых маршрутов (Unfeasible Routes Length) в сообщении UPDATE показывает длину в байтах всех удаляемых маршрутов. В одном сообщении UPDATE может содержаться список из нескольких маршрутов, которые будут удалены, или ни одного удаляемого маршрута.

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

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

119

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

Атрибуты маршрута

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

0

1

7

15

 

 

Атрибут флагов

Атрибут кода типа

 

 

 

 

 

 

 

 

 

 

 

 

Бит определения

Бит транзитивности

необязательного/общеизвестного

(транзитивный/нетранзитивный)

атрибута

 

Рис. 5.14. Формат поля типа атрибутов маршрута

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

Первый бит в поле флагов атрибута (бит 0) указывает на то, является ли атрибут общеизвестным (0) или необязательным (1).

Второй бит (бит 1) указывает, является ли необязательный атрибут нетранзитивным

(0)или транзитивным (1). Общеизвестные атрибуты всегда транзитив-ны, так что второй бит всегда установлен в 1.

Третий бит (бит 2) показывает, является ли информация, содержащаяся в необязательном транзитивном атрибуте, полной (0) или частичной (1).

В четвертом бите (бит 3) определяется длина атрибута — 1 байт (0) или 2 байта (1).

Младшие биты (с 4 по 7) в поле атрибута флага в настоящее время не используются и всегда установлены в 0.

Ниже подробно описана каждая категория атрибутов.

Обязательные общеизвестные (Well-known mandatory). Атрибуты, которые обязательнодолжны присутствовать в пакете UPDATE протокола ВОР. Если отсутствует общеизвестный атрибут, то автоматически генерируется сообщение об ошибке NOTIFICATION и сеанс прекращается. Это служит подтверждением того, что во всехреализациях BGP может использоваться стандартный набор атрибутов. В качествепримера общеизвестного обязательного атрибута можно привести атрибут

AS_PATH.

Общеизвестные, предоставленные на собственное усмотрение (Well-known discretionary). Эти атрибуты опознаются всеми реализациями BGP, но при этом могут и не посылаться в сообщении UPDATE протокола BGP. Атрибутом этой категории является атрибут LOCAL_PREF.

Глава 5. Протокол граничного шлюза Border Gateway Protocol версии 4

120