Файл: Разработка локальной вычислительной сети ООО "ИНТЕГРАЛ" с использованием протокола BGP.pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

Во время пирингового рукопожатия при обмене OPEN-сообщениями динамики BGP могут согласовывать дополнительные возможности сеанса, включая многопротокольные расширения и различные режимы восстановления. Если многопротокольные расширения для BGP согласованы во время создания, динамик BGP может префикс информации о достижимости сетевого уровня (NLRI), которую он рекламирует с префиксом семейства адресов. Эти семейства включают в себя IPv4 (по умолчанию), IPv6, IPv4 / IPv6 виртуальные частные сети и многоадресную BGP. Все чаще BGP используется как обобщенный протокол сигнализации для передачи информации о маршрутах, которые не могут быть частью глобального Интернета, например, VPN.

Для принятия решений в своих операциях со сверстниками одноранговый узел BGP использует простой конечный конечный автомат (FSM), который состоит из шести состояний: Idle; Подключение; Активный; OpenSent; OpenConfirm; и создана. Для каждого однорангового сеанса реализация BGP поддерживает переменную состояния, которая отслеживает, в каком из этих шести состояний находится сеанс. BGP определяет сообщения, которые должен обрабатывать каждый одноранговый узел, чтобы изменить сеанс из одного состояния в другое. Первое состояние - это состояние «Idle». В состоянии «Idle» BGP инициализирует все ресурсы, отказывает во всех входящих попытках подключения BGP и инициирует TCP-соединение с одноранговым узлом. Второе состояние - «Подключиться». В состоянии «Подключиться» маршрутизатор ожидает завершения соединения TCP и перехода в состояние «OpenSent» в случае успеха. Если это не удается, он запускает таймер ConnectRetry и переходит в состояние «Актив» по истечении срока действия. В состоянии «Актив» маршрутизатор сбрасывает таймер ConnectRetry на ноль и возвращается в состояние «Подключиться». В состоянии «OpenSent» маршрутизатор отправляет сообщение «Открыть» и ждет ответа в очереди, чтобы перейти в состояние «OpenConfirm». Сохраненные сообщения обмениваются и после успешного получения маршрутизатор помещается в состояние «Установлено». В состоянии «Установлено» маршрутизатор может отправлять / получать: Keepalive; Обновить; и уведомлений в / из своего партнера.

Состояние холостого хода:

• Откажитесь от всех входящих соединений BGP.

• Запустите инициализацию триггеров событий.

• Запускает TCP-соединение с его настроенным узлом BGP.

• Слушает TCP-соединение со своим одноранговым узлом.

• Изменяет свое состояние на Connect.

Если ошибка возникает в любом состоянии процесса FSM, сеанс BGP немедленно прекращается и возвращается в состояние ожидания. Некоторые причины, по которым маршрутизатор не продвигается из состояния ожидания, следующие:


• Порт TCP 179 не открыт.

• Случайный порт TCP более 1023 не открыт.

• Одноранговый адрес настроен неправильно на любом маршрутизаторе.

• Номер AS неправильно настроен на любом маршрутизаторе.

Состояние подключения:

• Ожидает успешного согласования TCP с одноранговым узлом.

• BGP не проводит много времени в этом состоянии, если сеанс TCP был успешно установлен.

• Отправляет открытое сообщение в peer и переходит в состояние OpenSent.

Если возникает ошибка, BGP переходит в активное состояние. Некоторые причины ошибки:

• Порт TCP 179 не открыт.

• Случайный порт TCP более 1023 не открыт.

• Одноранговый адрес настроен неправильно на любом маршрутизаторе.

• Номер AS неправильно настроен на любом маршрутизаторе.

Активное состояние:

• Если маршрутизатору не удалось установить успешный сеанс TCP, он попадает в активное состояние.

• BGP FSM пытается перезапустить еще один сеанс TCP с одноранговым узлом и, в случае успеха, затем отправляет одноранговое сообщение Open.

• Если он снова не увенчался успехом, FSM сбрасывается в состояние ожидания.

Повторные сбои могут привести к циклическому переходу маршрутизатора между состояниями Idle и Active. Некоторые из причин этого включают:

• Порт TCP 179 не открыт.

• Случайный порт TCP более 1023 не открыт.

• Ошибка конфигурации BGP.

• Перегрузка сети.

• Flapping сетевой интерфейс.

• Статус OpenSent:

BGP FSM прослушивает сообщение Open от своего однорангового узла.

После получения сообщения маршрутизатор проверяет достоверность сообщения Open.

Если есть ошибка, это связано с тем, что одно из полей сообщения Open не совпадает между одноранговыми узлами, например, несоответствие версии BGP, пиринговый маршрутизатор ожидает другую учетную запись My AS и т. Д. Затем маршрутизатор отправляет сообщение оповещения партнеру указывая, почему произошла ошибка.

Если нет ошибки, отправляется сообщение Keepalive, устанавливаются различные таймеры и состояние изменяется на OpenConfirm.

Состояние OpenConfirm:

Друг-слушатель слушает сообщение Keepalive от своего партнера.

Если получено сообщение Keepalive и не истечет таймер до получения Keepalive, BGP переходит в состояние Установлен.

Если таймер истекает до получения сообщения Keepalive или если возникает условие ошибки, маршрутизатор переходит в состояние ожидания.

Штатное расписание:

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


Если в сообщении «Обновление» есть ошибка, сообщение «Уведомление» отправляется одноранговому узлу, а BGP переходит в состояние «Бездействия».

В простейшем расположении все маршрутизаторы в одной AS и участвующие в маршрутизации BGP должны быть сконфигурированы в полной сетке: каждый маршрутизатор должен быть настроен как один на другой маршрутизатор. Это вызывает проблемы масштабирования, так как число требуемых соединений растет квадратично с количеством задействованных маршрутизаторов. Чтобы устранить проблему, BGP реализует два варианта: отражатели маршрутов (RFC 4456) и конфедерации BGP (RFC 5065). Следующее обсуждение основной обработки UPDATE предполагает полный набор iBGP.

Данный BGP-маршрутизатор может принимать обновления UPDATE от сетевой сотовой сети (NLRI) от нескольких соседей и рекламировать NLRI в том же или другом наборе соседей. Концептуально BGP ведет свою собственную «главную» таблицу маршрутизации, называемую локальной информационной базой маршрутизации (Loc-RIB), отдельно от основной таблицы маршрутизации маршрутизатора. Для каждого соседа процесс BGP поддерживает концептуальную базовую информационную базу сопряжения, входящую (Adj-RIB-In), содержащую NLRI, полученную от соседа, и концептуальный Adj-RIB-Out (исходящий) для NLRI, который должен быть отправлен соседнему ,

Концептуальный, в предыдущем абзаце, означает, что физическое хранилище и структура этих различных таблиц определяются разработчиком кода BGP. Их структура не видна другим маршрутизаторам BGP, хотя их обычно можно опросить с помощью команд управления на локальном маршрутизаторе. Например, для хранения двух Adj-RIB и Loc-RIB в одной и той же структуре данных достаточно дополнительной информации, прикрепленной к записям RIB. Дополнительная информация сообщает BGP-процессу о том, что отдельные записи принадлежат Adj-RIB для конкретных соседей, независимо от того, сделали ли процесс выбора маршрута соседа-партнера приемлемыми для Loc-RIB, и могут ли записи Loc-RIB быть отправлен в процесс управления таблицей маршрутизации локального маршрутизатора.

Получив право на участие в конкурсе, BGP отправит маршруты, которые он наилучшим образом рассматривает в процессе основной таблицы маршрутизации. В зависимости от реализации этого процесса маршрут BGP не обязательно выбирается. Например, наиболее предпочтительным является предварительно подключенный префикс, полученный из собственного оборудования маршрутизатора. Пока активный интерфейс подключенного маршрута активен, маршрут BGP к месту назначения не будет помещен в таблицу маршрутизации. Как только интерфейс опустится, и нет более предпочтительных маршрутов, маршрут Loc-RIB будет установлен в основной таблице маршрутизации. До недавнего времени было распространенной ошибкой говорить, что BGP несет политики. BGP фактически несла информацию, с помощью которой правила внутри BGP-говорящих маршрутизаторов могли принимать политические решения. Некоторая информация, которая явно предназначена для использования в политических решениях, - это сообщества и дискриминаторы с множественными выходами (MED).


Стандарт BGP определяет ряд факторов принятия решений, больше, чем те, которые используются любым другим общим процессом маршрутизации, для выбора NLRI для входа в Loc-RIB. Первым пунктом решения для оценки NLRI является то, что его атрибут next-hop должен быть доступен (или разрешимым). Еще один способ сказать, что следующий прыжок должен быть доступен, заключается в том, что должен быть активный маршрут, уже находящийся в основной таблице маршрутизации маршрутизатора, до префикса, в котором доступен адрес следующего перехода.

Затем для каждого соседа процесс BGP применяет различные стандартные и зависящие от реализации критерии, чтобы решить, какие маршруты концептуально должны войти в Adj-RIB-In. Сосед мог отправить несколько возможных маршрутов в пункт назначения, но первый уровень предпочтения находится на соседнем уровне. Только один маршрут для каждого пункта назначения будет установлен в концептуальном Adj-RIB-In. Этот процесс также удалит из Adj-RIB-In любые маршруты, которые будут удалены соседом.

Всякий раз, когда изменяется концептуальный Adj-RIB-In, основной процесс BGP решает, предпочитают ли какие-либо из новых маршрутов соседей маршруты уже в Loc-RIB. Если это так, он заменяет их. Если данный маршрут отозван соседом, и нет другого маршрута к этому месту назначения, маршрут будет удален из Loc-RIB и больше не будет отправлен BGP в главный менеджер таблицы маршрутизации. Если маршрутизатор не имеет маршрута к этому месту назначения из любого источника, отличного от BGP, отобранный маршрут будет удален из основной таблицы маршрутизации.

После проверки того, что следующий прыжок достигнут, если маршрут поступает из внутреннего (то есть iBGP) однорангового узла, первое правило, применяемое в соответствии со стандартом, заключается в проверке атрибута LOCAL_PREFERENCE. Если есть несколько маршрутов iBGP от соседа, выбирается тот, который имеет наибольшую LOCAL_PREFERENCE, если не существует нескольких маршрутов с одним и тем же LOCAL_PREFERENCE. В последнем случае процесс выбора маршрута переходит к следующему таймеру. В то время как LOCAL_PREFERENCE является первым правилом в стандарте, после проверки доступности NEXT_HOP, Cisco и несколько других поставщиков сначала рассматривают фактор принятия решений, называемый WEIGHT, который является локальным для маршрутизатора (т. Е. Не передается BGP). Предпочтительным является маршрут с наивысшим весом.

К LOCAL_PREFERENCE, WEIGHT и другим критериям можно управлять с помощью локальной конфигурации и программных возможностей. Такая манипуляция выходит за рамки стандарта, но обычно используется. Например, атрибут COMMUNITY (см. Ниже) напрямую не используется процессом выбора BGP. Однако у соседа BGP может быть правило, чтобы установить LOCAL_PREFERENCE или другой фактор на основе запрограммированного вручную правила, чтобы установить атрибут, если значение COMMUNITY соответствует критерию соответствия шаблону. Если маршрут был получен из внешнего однорангового узла, процесс BGP на основе соседства вычисляет значение LOCAL_PREFERENCE из локальных правил политики, а затем сравнивает LOCAL_PREFERENCE всех маршрутов от соседа.


На уровне соседей - игнорируя модификаторы политики, специфичные для реализации, - порядок правил нарушения связи:

Предпочитайте маршрут с кратчайшим AS_PATH. AS_PATH - это набор номеров AS, которые необходимо пройти, чтобы добраться до объявленного адресата. AS1-AS2-AS3 короче AS4-AS5-AS6-AS7.

Предпочитают маршруты с наименьшим значением атрибута ORIGIN.

Предпочитают маршруты с наименьшим значением MULTI_EXIT_DISC (мультивыход дискриминатора или MED).

Перед самым последним выпуском стандарта BGP, если UPDATE не имел значения MULTI_EXIT_DISC, несколько реализаций создали MED с наименьшим возможным значением. Однако в текущем стандарте указывается, что недостающие MED должны рассматриваться как максимально возможное значение. Поскольку текущее правило может приводить к другому поведению, чем интерпретации поставщика, реализации BGP, которые использовали нестандартное значение по умолчанию, имеют функцию конфигурации, которая позволяет выбрать старое или стандартное правило.

После того, как маршруты кандидатов получены от соседей, программное обеспечение Loc-RIB применяет дополнительные тай-брейки для маршрутов в тот же пункт назначения.

Если по крайней мере один маршрут был получен от внешнего соседа (т. Е. Маршрут был получен из eBGP), отбросьте все маршруты, полученные из iBGP.

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

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

Лучше предпочитать маршрут, полученный от динамика BGP, с наименьшим идентификатором BGP

Также маршрут, полученный от динамика BGP с наименьшим IP-адресом одноранговой сети.

2.3 Выбор и обоснование решений по техническому и программному обеспечению сети