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

Предисловие

Протокол маршрутизации BGPЭто наиболее широко используемый протокол в сети.,Будь то сеть оператора связи, корпоративная сеть или сеть центра обработки данных.,В настоящее время используется протокол BGP.

Сегодня я подробно расскажу вам о протоколе маршрутизации BGP;

Что такое протокол маршрутизации BGP

1. Предпосылки появления протокола BGP

Протоколы маршрутизации OSPF и ISIS широко используются в сетях. Однако по мере расширения масштаба сети количество записей маршрутизации также увеличивается, и протокол IGP больше не способен управлять крупномасштабными сетями. Так возникла концепция AS.

Понятие AS относительно абстрактно.

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

Если говорить проще: вы можете разделить разные устройства в сети на разные группы (AS), или все в одну группу, тогда эти устройства в группе будут иметь одинаковый протокол маршрутизации.

Например, вы можете разделить сеть головного офиса компании на одну AS, а сеть филиалов компании на другую AS. Разные AS могут использовать разные протоколы маршрутизации.

Итак, когда сетям разных AS необходимо взаимодействовать, какой протокол маршрутизации используется для связи? Ответ — протокол маршрутизации BGP, описанный в этой главе. Так почему бы не иметь возможность общаться через IGP (ISIS, BGP)?

Вот простой пример, когда сеть предприятия или сеть дата-центра подключена к интернету оператора. Если для подключения вы используете протоколы маршрутизации IGP (OSPF, ISIS), то сеть предприятия и сеть оператора работают в одной сети. Как вы думаете, почему оператор доверяет вашей сети предприятия?

Другой момент заключается в том, что масштаб всей сети расширяется, количество маршрутов увеличивается, а сходимость маршрутов происходит медленно.

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

В настоящее время некоторые люди все еще могут встать и сказать: не может ли статическое соглашение решить эту проблему? На самом деле это можно решить, но есть одна проблема: при использовании статических протоколов людям приходится вручную добавлять и удалять маршруты при изменении сети. Так есть ли динамический способ? Ответ — протокол маршрутизации BGP.

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

2. Преимущества маршрутизации доставки BGP

Различные AS соединяются через протокол маршрутизации BGP. Каковы преимущества использования BGP по сравнению с протоколом IGP?

  • BGP — это протокол маршрутизации, основанный на TCP. Пока можно установить TCP, можно установить и BGP;
  • BGP только передает информацию о маршрутизации, не рассчитывает маршруты и не раскрывает топологию сети внутри AS;
  • Обновления маршрутизации BGP являются запускаемыми, а не периодическими обновлениями;

3、Что такое протокол маршрутизации BGP

BGP — это протокол маршрутизации на основе вектора расстояния, используемый для достижения достижимых маршрутов между различными AS.

Основные возможности протокола BGP:

(1) BGP — это протокол внешнего шлюза. Его задача заключается не в обнаружении и расчете маршрутов, а в управлении распространением маршрутов и выборе наилучшего маршрута;

(2) BGP использует TCP в качестве протокола транспортного уровня (номер порта 179), что повышает надежность протокола;

(3) BGP — это протокол маршрутизации на основе вектора расстояния, разработанный для предотвращения образования петель;

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

(5) BGP использует инициируемые инкрементные обновления вместо периодических обновлений;

Одноранговый узел BGP

1. Что такое одноранговый узел BGP?

Спикер BGP:бегать Протокол маршрутизации Маршрутизатор BGP называется Спикер. BGP (маршрутизатор BGP);

Одноранговый узел BGP:два заведенияBGPсессия(BGPизсессияоснован наTCPучредил)маршрутизаторы друг для друга Одноранговый узел BGP,Одноранговый узел Таблицы маршрутизации могут обмениваться между BGP;

2、Классификация одноранговых узлов BGP

Одноранговый узел BGP можно разделить на EОдноранговый в зависимости от того, имеют ли два маршрутизатора одинаковую AS. узел BGPиIОдноранговый узел BGP。

(1) IBGP: маршрутизаторы BGP, расположенные в одной AS, являются взаимоисключающими. узел BGP-отношения;

(2) EBGP: маршрутизаторы BGP, расположенные в разных AS, взаимодействуют друг с другом. узел BGP-отношения;

Условия создания пэров:

  • Адреса, указанные двумя маршрутизаторами для установления одноранговых отношений, должны быть доступны;
  • TCP-соединение может быть установлено;

3. Как установить одноранговый узел BGP

(1) Установление TCP-соединения

Предполагая, что маршрутизатор BGP R1 запускается первым, R1 сначала инициирует установление TCP-соединения и завершает установление TCP-соединения посредством трехэтапного рукопожатия.

(2) Маршрутизатор BGP отправляет сообщение OPEN для согласования параметров.

После установления трехстороннего установления связи R1 и R2 отправляют друг другу сообщения OPEN для установления согласования параметров однорангового узла.

Параметры сообщения ОТКРЫТЬ:

  • собственный номер AS;
  • время удержания: используется для согласования последующего времени отправки сообщения подтверждения активности;
  • Идентификатор BGP: идентификатор собственного маршрутизатора;

(3) Маршрутизатор BGP отправляет сообщение проверки активности для завершения установления узла.

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

(4) Маршрутизатор BGP отправляет сообщение UPDATE для объявления маршрута.

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

4. Одноранговый узел BGP устанавливается с использованием адреса источника.

По умолчанию BGP использует IP-адрес исходящего интерфейса для установления одноранговых узлов.

(1) При установлении ИОднорангового узел При использовании отношений BGP рекомендуется использовать адрес обратной связи для установления Iоднорангового соединения. узел БГП. Поскольку адрес обратной связи стабилен, для обеспечения надежности можно использовать внутреннюю избыточность IGP.

Например, картинка выше:

R1 и R2 устанавливают IОдноранговый адрес через шлейфовый адрес. узел BGP, если физическое соединение между R1 и R2 разорвано, на подключение адреса обратной связи это не повлияет. Адреса обратной связи R1 и R2 могут быть соединены между собой через R3, тогда равноправные отношения между R1 и R2 все равно могут быть установлены. . Если установить через интерфейс, то это приведет к Одноранговому узел Связь BGP прервана.

(2) При установлении ЭОднорангового узел При использовании отношений BGP рекомендуется использовать прямые адреса для установления EОднорангового узел БГП. Если вы используете петлю, вам необходимо обратить внимание на проблему многопереходности EBGP.

Тип сообщения BGP

1、Тип сообщения BGP

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

2. Формат заголовка BGP.

В отличие от обычного протокола IGP, BGP использует TCP в качестве протокола транспортного уровня, номер порта 179. Существует пять различных типов сообщений BGP, и разные типы сообщений имеют один и тот же заголовок.

Пояснения к полям заголовка сообщения:

  • Маркер: 16 байт, используется для обозначения границы BGP, все биты равны «1».
  • Длина: 2 байта, общая длина сообщения BGP (включая заголовок сообщения).
  • Тип: 1 байт, тип сообщения BGP. Его значение находится в диапазоне от 1 до 5 и представляет сообщения об открытии, обновлении, уведомлении, проверке активности и обновлении маршрута соответственно.

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

(1) Сообщение ОТКРЫТЬ

Открытое сообщение — это первое сообщение, отправленное после установки TCP-соединения, которое используется для согласования параметров;

  • версия: версия bgp, обычно 4;
  • Моя AS: локальный номер AS;
  • Время удержания: Время удержания. При установлении одноранговых отношений обе стороны должны согласовать время удержания. Если в течение этого периода от однорангового узла не получены сообщения подтверждения активности и сообщения обновления, соединение BGP считается прерванным;
  • Идентификатор BGP: идентификатор BGP, идентифицируемый в виде IP-адреса, используемый для идентификации маршрутизатора.

(2) Обновить сообщение

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

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

  • Длина отозванных маршрутов: указывает длину части отозванных маршрутов. Когда его значение равно нулю, это указывает на отсутствие отозванных маршрутов.
  • Общая длина атрибута пути: длина поля атрибута пути в байтах. Если он равен 0, это означает, что поле «Атрибуты пути» отсутствует.

(3) Уведомительное сообщение

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

  • Код ошибки, код ошибки: код ошибки, подкод ошибки, описывающий тип ошибки;
  • Данные: содержание ошибки;

(4) Сообщение активности

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

(5) Сообщение об обновлении маршрута

Сообщения обновления маршрута используются для запроса узла на повторную отправку информации о маршрутизации для указанного семейства адресов. Как правило, соответствующая политика маршрутизации изменяется локально, и другая сторона повторно отправляет сообщения обновления.

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

Конечный автомат BGP

1. Состояния BGP 6

Существует шесть состояний BGP: бездействие, подключение, активный, opensent, openconfirm и установленный.

2. Переход состояния BGP

Существует шесть состояний BGP: бездействие, подключение, активный, opensent, openconfirm и установленный.

(1) Состояние ожидания — это начальное состояние BGP.

В состоянии ожидания,BGP отклоняет запрос на соединение, отправленный партнером. Только после получения события Start этого устройства,BGP только начал попытки установить TCP-соединения с другим одноранговым узлом BGP.,и перейдите в состояние подключения.

Событие Start вызывается тем, что оператор настраивает процесс BGP, сбрасывает существующий процесс или программное обеспечение маршрутизатора сбрасывает процесс BGP.

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

(2) Статус подключения

В состоянии Connect BGP запускает таймер повторной передачи соединения (Connect Retry) и ждет, пока TCP завершит соединение.

  • Если TCP-соединение установлено успешно, BGP отправляет одноранговому узлу сообщение Open и переключается в состояние OpenSent.
  • Если TCP-соединение не установлено, BGP переходит в активное состояние.
  • Если таймер повторной передачи соединения истекает, BGP все равно не получает одноранговый узел BGP отвечает, затем BGP продолжает попытки и другой Одноранговый узел BGP выполняет TCP-соединение и остается в состоянии Connect.

(3)Активное состояние

В активном состоянии BGP всегда пытается установить TCP-соединение.

  • Если TCP-соединение установлено успешно, BGP отправляет одноранговому узлу сообщение Open, закрывает таймер повторной передачи соединения и переходит в состояние OpenSent.
  • Если TCP-соединение не удается, BGP остается в активном состоянии.
  • Если время таймера повторной передачи соединения истекло,BGP до сих пор не получил ответа от Однорангового узла BGP.,Затем BGP переходит в состояние Connect.

(4) Статус открытия, статус открытия

После успешного установления трехстороннего установления связи TCP отправляется открытое сообщение для установления одноранговых отношений. В настоящее время статус:

состояние openssent: при получении открытого сообщения, на которое ответил партнер, и правильности проверки параметров, он переходит в состояние openconfirm после отправки сообщения поддержки активности.

(5) установившееся состояние

После перехода в состояние openconfirm он переходит в состояние установленное после получения сообщения поддержки активности от узла.

Таблица маршрутизации BGP

1、Одноранговый узел BGPповерхность

Вы можете передать это bgp peer Проверять Одноранговый узел таблица BGP;

‍ (1) одноранговый узел: адрес однорангового узла

(2) V: номер версии

(3) AS: номер AS узла.

(4) UP/DOWN: время, когда партнер находится в верхнем или нижнем положении.

(5) состояние: равноправный статус

(6) prefRce: количество префиксов маршрутизации, полученных от узла.

2、Таблица маршрутизации BGP

Вы можете передать этоplay bgp routing-table Посмотреть таблицу маршрутизации BGP;

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

Посредством отображения таблицы маршрутизации bgp ipv4-адрес {маска | длина маски} вы можете отобразить информацию о маршрутизации указанного IP-адреса/длины маски, которая содержит подробную информацию о маршруте BGP, например: отправитель маршрута, адрес следующего перехода. , атрибуты пути маршрута и т. д.

Генерация маршрута BGP

Маршруты BGP объявляются с помощью команд BGP, и существует два метода объявления маршрутов BGP: сетевой и импорт.

(1) Сетевой режим:

Используйте команду network, чтобы опубликовать маршруты (не BGP) в текущей таблице маршрутизации устройства в Таблице. маршрутизации Метод использования команды network в BGP и объявления ее соседям аналогичен использованию команды network в OSPF. Однако при объявлении в BGP вам нужно только объявить сегмент сети + номер маски, например: network. 12.12.0.0 16。

(2)Метод импорта:

Используйте команду «Импорт», чтобы перераспределить информацию о маршрутизации, полученную маршрутизатором, в Таблицу. маршрутизации BGPсередина,Это способ объявления маршрутов BGP.,Маршруты, которые можно импортировать в BGP, включают прямые маршруты, статические маршруты и маршруты, полученные протоколами динамической маршрутизации. Формат команды аналогичен перераспределению OSPF в RIP.

Принципы уведомления BGP

Устройство BGP добавит оптимальный маршрут в Таблицу маршрутизации BGP, чтобы сформировать маршрут BGP.

После того как устройство BGP устанавливает соседские отношения с одноранговым узлом, оно применяет следующие принципы взаимодействия:

  • От И.Одноранговый узел Маршрут BGP получен по BGP, устройство BGP передает его только на EОдноранговый узел BGP。
  • От ЭОдноранговый узел BGP получает маршрут BGP, устройство BGP передает его всем EBGP и IОдноранговый узел BGP (если партнером является IBGP, можно передать только один переход, но если партнером является EBGP, ограничений нет)
  • При наличии нескольких допустимых маршрутов к одному и тому же адресу назначения устройство BGP объявляет одноранговому узлу только оптимальный маршрут.
  • При обновлении маршрутизации устройство BGP отправляет только обновленные маршруты BGP.
  • Все маршруты, отправленные узлами, будут получены устройством BGP.
  • Весь следующий переход EОдноранговый узел BGP изменяется во время доставки.
  • Все следующие переходы BGP остаются неизменными во время доставки (требуется особое внимание).
  • Значение TTL по умолчанию во время передачи EBGP равно 1 (требуется особое внимание).
  • Значение TTL по умолчанию для доставки IBGP — 255.

---END---

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.