Внутренний-протокол-BGP-(iBGP)

Внутренний протокол BGP (iBGP)

В этой статье ознакомимся с разновидностью внутреннего протокола BGPiBGP (Internal BGP). Главные отличие между iBGP и eBGP:

  • Внешний BGP (eBGP) — протокол маршрутизации, который используется между маршрутизаторами в разных автономных системах (AS).
  • Внутренний BGP (iBGP) — протокол маршрутизации, обеспечивающий взаимодействие маршрутизаторов в пределах одной AS.

Содержание:

  1. Использование iBGP
    1. Настройка маршрутизатора R1
    2. Настройка маршрутизатора R2
    3. Настройка маршрутизатора R3
    4. Настройка маршрутизатора R4
    5. Настройка маршрутизатора R5
  2. Применение iBGP и проверка настроек
  3. Формирование соседства iBGP
  4. Выводы

Использование iBGP

Начнем с примера топологии. Здесь показано 3 автономные системы и 5 маршрутизаторов. Когда AS 1 хочет достичь AS 3, она должна пересечь AS 2. В таком случае AS 2 является транзитной AS. Это типичный сценарий, в котором AS 1 и AS 3 являются клиентами, а AS 2поставщиком интернет-услуг (ISP):

 

iBGP topology

 

 

Разберем задачи:

  1. Между AS 1 и AS 2 необходимо настроить eBGP, потому что это две разные AS. Это позволяет объявлять сети по протоколу BGP с маршрутизатора R1 на R2.
  2. Также нужно настроить eBGP между AS 2 и AS 3, чтобы R5 мог получать объявления маршрутизации по BGP.
  3. Маршрутизатор R5 должен получить объявления о сети маршрутизатора R1 через R2. Сделаем это, настроив iBGP между маршрутизаторами в AS 2, а именно на R2, R3 и R4, что, в свою очередь, позволит маршрутизатору R4 пересылать объявления на R5.

Настройка маршрутизатора R1

Настройка маршрутизатора R2

Настройка маршрутизатора R3

Настройка маршрутизатора R4

Настройка маршрутизатора R5

Применение iBGP и проверка настроек

Приступим к настройке BGP. Сначала настроим R1 и R2:

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

 

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

 

Следующим шагом будет настройка iBGP между маршрутизаторами в AS 2. Между R2 и R4 существует только один путь через R3. А что, если доступны несколько путей между R2 и R4?

Если существует несколько путей, лучше использовать интерфейс loopback с IP-адресом в качестве источника для BGP-сеанса и рассылать его в IGP (протокол маршрутизации внутреннего шлюза, пр. IGRP, OSPF и RIP). Зачем?

Физический интерфейс по неким причинам может стать неактивным, что означает, что IP-адрес интерфейса будет недоступен. Интерфейс loopback никогда не «упадёт», пока не выйдет из строя маршрутизатор, или пока интерфейс не будет выключен вручную. Вот поэтому лучше использовать интерфейсы loopback при настройке iBGP.

Маршрутизаторы R2R3 и R4 имеют loopback-интерфейсы, будем использовать их для iBGP. Но сначала нужно настроить IGP (применим OSPF) для объявлений сетей loopback в AS 2:

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

 

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

 

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

 

Теперь R2 и R4 смогут взаимодействовать друг с другом. Проверим это с маршрутизатора R2:

 

Переходим к настройке iBGP в AS 2. Очень важно настраивать iBGP на всех Ваших маршрутизаторах в транзитной AS:

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

 

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

 

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

 

Обратите внимание, необходимо использовать команду update-source, чтобы указать, что будет использоваться loopback-интерфейс в качестве источника для сеанса iBGP.

И последнее: настроим eBGP между R4 и R5:

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

 

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

 

При настройке BGP, всякий раз в консоли можно увидеть уведомление о том, что соседство установлено. Также это можно проверить с помощью команды show ip bgp summary.

Все маршрутизаторы должны были узнать о сети 1.1.1.0/24. Давайте посмотрим, правда ли это:

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

 

Маршрутизатор R2 знает о сети. Адрес следующего перехода (Next Hop) — это IP-адрес R1 192.168.10.1. Символ > перед сетью означает, что маршрутизатор выбрал эту запись, как лучшую, и установил её в таблице маршрутизации.

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

 

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

 

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

 

В таблице R5 ничего нет. Это потому, что у R3 и R4 есть некоторые проблемы, посмотрим более внимательно:

 

В таблице BGP маршрутизаторов R3 и R4 перед сетью отсутствует символ >, поэтому они не добавили сеть в таблицу маршрутизации. Давайте посмотрим на адрес Next Hop. Есть ли у маршрутизаторов представление о том, как добраться до следующего узла? По умолчанию BGP не изменяет IP-адрес следующего перехода, так что это может вызвать некоторые проблемы. Проверим, знают ли R3 и R4, как достичь адреса Next Hop:

 

Адрес Next Hop отсутствует, поэтому он не может установить сеть из BGP в таблицу маршрутизации. Это можно исправить несколькими способами:

  • объявить сеть 192.168.10.0/24 по протоколу маршрутизации (IGP или BGP);
  • изменить IP-адрес следующего перехода с помощью команды next-hop-self.

Используем второй вариант — укажем IP-адрес следующего перехода на R2 и R4:

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

 

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

 

Снова проверим таблицу BGP:

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

 

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

 

Отлично, здесь есть два важных изменения. Прежде всего — символ >, который означает, что R4 смог установить эту сеть в таблице BGP. Второе — IP-адрес следующего перехода был изменен на тот, что узнал R4 (интерфейс loopback R2).

Поскольку R4 добавил сеть в таблицу маршрутизации, он может объявить её для R5:

 

Теперь маршрутизатор R5 также имеет сеть 1.1.1.0/24 в своей таблице маршрутизации:

 

С помощью утилиты ping проверим, сможет ли R5 достичь сети R1 1.1.1.0/24:

 

Также давайте проверим, узнал ли маршрутизатор R1 о сети R5:

 

Сеть находится в таблице маршрутизации. Работа iBGP в AS 2 настроена. Если необходимо выполнить ping R1 с любого другого маршрутизатора, нужно убедиться, что R1 знает, куда отправить обратный трафик.

Формирование соседства iBGP

Сейчас маршрутизаторы в AS 2 настроены следующим образом:

 

Внутренний-протокол-BGP-(iBGP)

 

Это называется full-mesh iBGP. Все маршрутизаторы в AS 2 являются соседями друг с другом. Давайте выясним, что произойдет, если удалить iBGP между R2 и R4:

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

 

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

 

Теперь топология AS 2 выглядит так:

 

Внутренний-протокол-BGP-(iBGP)

 

 

Проверим таблицу BGP R3:

 

Маршрутизатор R3 узнал о сети 1.1.1.0/24 от R2 и о сети 192.168.40.0/24 от R4. Теперь посмотрим на R2:

 

R2 знает только о сети 1.1.1.0/24, но не узнал о 192.168.40.0/24 от R3. Что насчет R4:

 

R4 узнал только о 192.168.40.0/24.

Проблема заключается в том, что iBGP не рассылает сети от одного соседа iBGP другому соседу iBGP. Это называется BGP split horizon.

Есть объяснение, почему iBGP работает именно так. Между разными AS BGP использует атрибут AS_PATH, чтобы избежать петель маршрутизации. Больше про атрибут AS_PATH можно узнать в этой и этой статьях. Объявление о сети не будет принято маршрутизатором BGP, если он видит в нем собственный номер AS.

Без split horizon BGP маршрут можно рассылать следующим образом:

 

Внутренний-протокол-BGP-(iBGP)

 

 

Маршрутизатор R1 получает объявление о сети, которую он создал сам — не очень хорошая идея. С split horizon BGP этого не должно произойти:

 

Внутренний-протокол-BGP-(iBGP)

 

 

Маршрутизатор R2 никогда не будет объявлять маршруты по iBGP, которые он узнает от R1 к R3. Это означает, что все маршрутизаторы iBGP должны стать соседями со всеми другими маршрутизаторами iBGP (full-mesh). Если сеть имеет большое количество маршрутизаторов iBGP, к примеру 10 маршрутизаторов, то в итоге получится много соединений между маршрутизаторами, которые существенно могут усложнить работу сети.

Используя формулу full mesh N(N-1)/2, где N — это количество маршрутизаторов, можно рассчитать количество смежностей между одноранговыми узлами (соседями) iBGP:

 

Таким образом, с 10 маршрутизаторами iBGP нужно будет настроить 45 соединений iBGP. Существует два метода сокращения этого числа:

  1. BGP Route Reflector
  2. BGP Confederation

Выводы

Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете больше о внутреннем протоколе BGP (iBGP) и особенностях его настройки.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню