Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
354289.doc
Скачиваний:
34
Добавлен:
20.04.2019
Размер:
2.68 Mб
Скачать

41. Пояснить принцип работы протокола bgp. Основные пакеты и их форматы.

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

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

Принцип работы дистанционно–векторного протокола маршрутизации:

Протокол BGP является протоколом вектора маршрута т.е. применяет информацию о векторе (направлении) и о пути к пункту назначения.

Пример работы дистанционно–векторного протокола маршрутизации

Предположим, что маршрутизатор А сгенерировал маршрут к сети 10.1.10/2А и объявил его маршрутизатору В. В информации о том, как достичь сети назначения 10.1.10/2А, маршрутизатор А указывает, что он является первым маршрутизатором в пути. Маршрутизатор В, получив этот маршрут, добавляет себя в путь и отправляет его маршрутизатору С, который, в свою очередь, добавляет себя в путь к сети 10.1.10/2А и отправляет маршрут маршрутизатору D. Когда маршрутизатор D получает маршрут к пункту назначения 10.1.10/2А, он обнаруживает, что путь к нему, проходит через маршрутизаторы С, В и А. Маршрутизатор D добавляет себя в путь и отсылает полученный маршрут обратно маршрутизатору А. Получив объявление маршрута, маршрутизатор А отвергает его, т. к. находит в соответствующем пути себя.

Так работает протокол BGP, за исключением того, что информация добавляется в путь к сети назначения не отдельными маршрутизаторами, а автономными системами. Любой маршрутизатор, который получил маршрут, может определить наличие петли маршрутизации, проверив присутствие в пути к заданной сети назначения своей автономной системы.

Протокол BGP не предъявляет никаких требований к топологии сети.

Протоколом BGP на основе информации, полученной от различных маршругизаторов, выстраивается граф автономных систем со всеми связями между узлами. Каждой АS соответствует уникальный номер. Соединение между двумя АS формирует путь, а информация о совокупности путей от одного узла в АS к узлу в другой АS составляет маршрут. Протокол BGP активно использует информацию о маршрутах к заданному пункту назначения, что позволяет избежать образования петель маршрутизации между доменами.

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

Протокол BGP объявляет всем своим соседям только один оптимальный маршрут. Ниже приведен список метрик, упорядоченный по возрастанию значимости:

  • Административный вес;

  • Локальное предпочтение;

  • Локально созданные маршруты;

  • Кратчайший AS-путь;

  • Наиболее низкий источник;

  • Метрика МЕD (Мultiple Ехit Discriminator);

  • Предпочтительные внешние пути;

  • Путь через ближайшего соседа, если включена синхронизация;

  • Путь через соседа с наименьшим идентификатором маршрутизатора;

Маршрут с кратчайшим AS – путем выбирается тогда, когда совпадают все более значимые факторы.

Взаимоотношения между соседними маршрутизаторами.

Протокол BGP не занимается автоматическим обнаружением соседей и требует ручной настройки взаимоотношений между ними, но требует надежной транспортной системы, обеспечивающей гарантированную доставку пакетов между BGP–соседями. Для этого используется протокол ТСР.

После того как BGP-маршрутизатор сконфигурирован для установки взаимоотношений соседства с другим BGP – маршрутизатором, он пытается установить ТСР – соединение для передачи информации.

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

Внешний протокол BGP.

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

Е – BGP – соседи.

Маршрутизатор А объявляет префикс 10.1.1.0/24 через протокол внутреннего шлюза маршрутизатору В, у которого установлены соседские взаимоотношения с Е– BGP – маршрутизатором С. Маршрутизатор В может преобразовать этот маршрут в маршрут протокола BGP несколькими способами:

Стандартное преобразование маршрутов. Маршрутизатор В может преобразовать маршруты IGP, используюшегося между маршрутизаторами А и В, в маршруты BGP. Это приведет к маркировке преобразованных путей как “неизвестных”.

Команда network. Для объявления маршрута к сети назначения 10.1.1.0/24 в маршрутизаторе В может быть использована команда network . Она не указывает, для какого интерфейса используется этот протокол, указывая вместо этого только объявляемые префиксы. Если запись в таблице маршрутизации BGP -маршрутизатора полностью совпадает (включая длину префикса) с указанным в команде network значением, то маршрутизатор объявляет этот префикс.

Команда aggregateadress. Маршрутизатор А может суммировать сеть 10.1.1.0/24 в более крупный блок IР-адресов с помощью этой команды.

Как только маршрутизатор В определит, что ему нужно объявить префикс маршрутизатору С, он отправит ему соответствующее обновление информации о маршруте.. Адресом следующей передачи пакета для этого маршрута является IP-адрес маршрутизатора В.

Когда маршрутизатор С получает обновление информации о маршруте, он определяет, что обновление пришло от Е-BGP-соседа, добавляет номер автономной системы этого соседа в начало AS–пути и помешает префикс в таблицу маршрутизации BGP. Маршрутизатор С может вносить, а может и не вносить этот префикс в свою таблицу маршрутизации, так как это зависит от других маршрутов к данному префиксу и прочих факторов.

Внутренний протокол BGP.

Когда BGP-маршрутизатор установил отношения соседства с другим BGP–маршрутизатором в одной и той же автономной системе, они становятся i–BGP соседями.

I-BGP– соседи

Маршрутизатор А объявляет сеть 10.1.1.0/24 маршрутизатору В как е-BGP – маршрут. В свою очередь, маршрутизатор В объявляет этот маршрут маршрутизатору С посредством протокола i-BGP.

Когда маршругизатор С получает этот префикс, он не изменяет значение адреса следующей передачи пакета, а также не меняет AS-путь (потому что префикс не пересекал границу автономной системы). То, что не изменяется АS, иллюстрирует одно из строгих ограничений протокола i–BGP: i- BGP – соседи не могут объявлять полученный по нему маршрут другим iBGP – соседям.

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

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

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

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

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

• В другом случае значение поля маркера вычисляется в соответствии с используемым механизмом аутентификации.

Размер – размер сообщения с учетом заголовка.

Тип указывает тип сообщения. Open ( открыть ), Update ( обновить ), Notification ( уведомление ), KeepAlive ( поддержать, сохранить ).

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

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

Процесс переговоров между BGP–соседями до полной установки происходит в несколько этапов.

Ожидание. Это первое состояние, в котором находятся системы перед установлением соединения. В протоколе BGP ожидается наступление события, инициированного оператором или самой BGP – системой. После наступления события “Пуск” BGP – система инициализирует свои ресурсы, сбрасывает таймер повторных попыток установки соединения, устанавливает транспортное соединение по протоколу ТСР и находится в режиме ожидания соединения с удаленной стороной. Затем BGP – система переходит в состояние ведения связи. В случае появления каких-либо ошибок BGP – система возвращается в состояние ожидания.

Связь. В этом состоянии BGP – система ожидает полного установления соединения транспортным протоколом. Если ТСР -соединение установлено успешно, то система переходит в состояние пересылки сообщения OPEN. Если истекает время, заданное таймером повторных попыток, то система остается в состоянии “Связь”, таймер сбрасывается и повторно начинается установка соединения транспортным протоколом.

Система активна. На этом этапе BGP – система пытается достичь удаленной системы путем открытия соединения транспортного протокола. Если установлено транспортное соединение, то система переходит в состояние пересылки сообщения ОРЕN.

Состояние пересылки сообщения ОРЕN. В этом состоянии BGP – система ожидает получения сообщения ОРЕN от удаленной стороны. Полученное сообщение проверяется на целостность. Если в нем содержатся ошибки, удаленной стороне передается сообщение об ошибке и происходит возвращение в состояние ожидания. Если ошибок не обнаружено, BGP – система начинает посылать сообщения КЕЕРАLIVЕ.

Подтверждение получения сообщения ОРЕN. В этом состоянии BGP – система ожидает поступления сообщения КЕЕРАLIVE. Приняв такое сообщение, система переходит в следующее состояние “Связь установлена”, и переговоры с соседним узлом завершаются.

Связь установлена. Это последнее состояние, в котором находятся соседние узлы при ведении переговоров. В этом состоянии BGP – система начинает обмен пакетами UPDATE со своими соседями. Сообщения UPDАТЕ также проверяются на наличие ошибок. При обнаружении ошибки взаимодействующей стороне высылается сообщение об ошибке и система переводится в состояние ожидания.