Файл: Проектирование маршрутизации в двух трехуровневых сетях с использованием протокола BGP (Расположение маршрутизаторов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 98

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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, в котором содержится код ошибки, и возвращается в состояние ожидания. Кроме того, в ответ на событие "Останов", инициированное системой или оператором, BGP-система также переходит в состояние ожидания.

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

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


Ниже приведены описания форматов служебных сообщений протокола BGP.

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

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

Автономная система (My autonomous system) — поле размером 2 байта, где указывается номер AS спикера ВGР. Таймер удержания (Hold timer). В поле "Таймер удержания", имеющее в длину 2байта, включаются целые числа, указывающие максимальный интервал времени между приемом сообщений KEEPALIVE и UPDATE. По сути таймер удержания представляет собой счетчик, величина которого увеличиваются от 0 до значения времени удержания. Прием сообщений типа KEEPALIVE или UPDATE сбрасывает таймер в 0. Если время удержания для заданного соседнего узла превышено, делается вывод о недоступности такого узла. Маршрутизатор, поддерживающий работу по ВGР, в фазе переговоров со своим соседом подбирает для него время удержания. Выбор времени удержания между соседними маршрутизаторами производится на основе наименьшего времени удержания. Таймер удержания может быть равным 0, но тогда ни он, ни таймер состояния соединения (KEEPALIVE timer) никогда не будут сбрасываться. Другими словами, оба таймера всегда будут иметь значение 0, следовательно, соединение будет считаться активным. Если таймер не установлен в 0, то по умолчанию минимальное значение времени ожидания для таймера удержания 3 секунды.

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


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

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

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

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

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

Код ошибки (Error code) определяет тип уведомления об ошибке, а дополнительный код ошибки (Error subcode) предоставляет более детальную информацию о природе ошибки. В поле данных (Data field) содержатся сведения об ошибке, такой как неправильный заголовок, запрещенный номер AS и т.д.

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

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


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

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

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

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

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

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

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

6.Атрибуты BGP.

Рассмотрим наиболее часто используемые атрибуты BGP.

Атрибут ORIGIN. ORIGIN (тип 1) – обязательный атрибут, указывающий источник информации о маршруте:

0 – IGP (информация о достижимости сети получена от протокола внутренней маршрутизации или введена администратором),

1 – EGP (информация о достижимости сети импортирована из устаревшего протокола EGP),

2 – INCOMPLETE (информация получена другим образом, например, RIP->OSPF->BGP или BGP->OSPF->BGP).

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

Атрибут AS_PATH. AS_PATH (тип 2) – обязательный атрибут, содержащий список автономных систем, через которые должна пройти дейтаграмма на пути в указанную в маршруте сеть. AS_PATH представляет собой чередование сегментов двух типов: AS_SEQUENCE – упорядоченный список АС, и AS_SET – множество АС (последнее может возникнуть при агрегировании нескольких маршрутов со схожими, но не одинаковыми AS_PATH в один общий маршрут). Каждый BGP-узел при анонсировании маршрута (за исключением IBGP-соединений, т.е.при использовании BGP для передачи маршрутов внутри AS) добавляет в AS_PATH номер своей АС. Возможно (в зависимости от политики) дополнительно добавляются номера других АС.


Атрибут NEXT_HOP. NEXT_HOP (тип 3) – обязательный атрибут, указывающий адрес следующего BGP-маршрутизатора на пути в заявленную; может совпадать или не совпадать с адресом BGP-узла, анонсирующего маршрут. Указанный в NEXT_HOP маршрутизатор должен быть достижим для получателя данного маршрута. При передаче маршрута по IBGP NEXT_HOP не меняется.

Атрибут MULTI_EXIT_DISC. MULTI_EXIT_DISC (тип 4) – необязательный атрибут, представляющий собой приоритет использования объявляющего маршрутизатора для достижения через него анонсируемой сети, то есть фактически это метрика маршрута с точки зрения анонсирующего маршрут BGP-узла. Имеет смысл не само значение, а разница значений, когда несколько маршрутизаторов одной АС объявляют о достижимости через себя одной и той же сети, предоставляя, таким образом, получателям несколько вариантов маршрутов в одну сеть. При прочих равных условиях дейтаграммы в объявляемую сеть будут посылаться через маршрутизатор, заявивший меньшее значение MULTI_EXIT_DISC. Атрибут сохраняется при последующих объявлениях маршрута по IBGP, но не по EBGP.

Атрибут LOCAL_PREF. LOCAL_PREF (тип 5) – необязательный атрибут, устанавливающий для данной АС приоритет данного маршрута среди всех маршрутов к заявленной сети, известных внутри АС. Атрибут вычисляется каждым пограничным маршрутизатором для каждого присланного ему по EBGP маршрута и потом распространяется вместе с этим маршрутом по IBGP в пределах данной АС. Способ вычисления значения атрибута определяется политикой приема маршрутов (по умолчанию берется во внимание только длина AS_PATH). LOCAL_PREF используется для согласованного между маршрутизаторами одной АС выбора маршрута из нескольких вариантов.

Атрибуты агрегирования. ATOMIC_AGGREGATE (тип 6) и AGGREGATOR (тип 7) – необязательные атрибуты, связанные с операциями агрегирования (объединения) нескольких маршрутов в один. Для более детального ознакомления с ними отсылаем читателей к документу RFC-1771.

Атрибут Weight (вес) – данный атрибут не входит в RFC 1771, и введен компанией Cisco для использования в своем оборудовании. Этот атрибут является локальным по отношению к маршрутизатору, он не распространяется на соседние маршрутизаторы. Если маршрутизатор обнаруживает несколько маршрутов к приемнику, то выбирается маршрут с наибольшим весом.

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