Ответы:
Сокеты TCP / IP устанавливают сквозное соединение через сеть между двумя специально адресованными конечными точками. BGP использует TCP / IP для связи между маршрутизаторами (любые устройства, обменивающиеся информацией о маршрутизации). Обмениваемая информация используется одноранговыми узлами BGP, чтобы лучше выбирать способ, которым они выбирают, куда (например, следующий переход) отправлять пакеты, в которых они нуждаются. передачи.
На самых краях Интернета все просто; «все так» к вашему интернет-провайдеру. В середине, маршрутизатор может иметь несколько вариантов. Поэтому он использует TCP / IP для перемещения трафика BGP среди своих соседей по маршрутизации. Информация BGP затем сообщает маршрутизатору, какие пути предпочтительнее, когда существует несколько способов получения пакета.
Конечные точки (например, веб-браузеры) и маршрутизаторы говорят по TCP / IP. Но маршрутизаторы используют TCP / IP (связь BGP, состоящая из пакетов TCP / IP), чтобы говорить о том, что делать с другими пакетами TCP / IP, которые им нужны для маршрутизации.
Протоколы маршрутизации не "достигают" соединения L3. Они заполняют таблицу маршрутизации (пересылки) маршрутизатора информацией, полученной от других маршрутизаторов.
BGP - это «приложение», которое работает через TCP / IP. Другими словами, маршрутизатор BGP использует TCP / IP для связи с другими маршрутизаторами BGP для обмена информацией о маршрутизации.
Для работы BGP у вас уже должно быть соединение L3 между маршрутизаторами.
Модель сети OSI и ее уровни полезны для понимания сквозной связи между хостами, но на самом деле она не предназначена для объяснения того, как функционирует плоскость управления сетью. Существует проблема начальной загрузки, присущая установлению полного подключения BGP, но способ осуществления этой начальной загрузки хорошо понятен и не имеет циклических зависимостей.
С точки зрения BGP способ формирования смежности и обмена информацией зависит от типа сеанса.
Самым простым является eBGP. Обычно eBGP работает в сеансе TCP между двумя напрямую подключенными маршрутизаторами. В этом случае каждый узел знает, как общаться с другим, потому что у них обоих есть интерфейс в одной подсети, поэтому нет необходимости использовать внешний протокол маршрутизации для формирования смежности.
С iBGP все немного сложнее. В простейшей конфигурации все маршрутизаторы в автономной системе будут настроены как часть полной сетки с сеансами iBGP со всеми другими маршрутизаторами в сети. Внутри автономной системы протокол внутреннего шлюза, такой как OSPF или ISIS, для построения топологии внутренней маршрутизации. Когда IGP выполнит свою работу, все маршрутизаторы будут иметь таблицу маршрутизации, заполненную маршрутами для всех соседей iBGP, что позволит сформировать сеанс TCP без циклической зависимости.
Здесь все становится немного интереснее в ситуациях, когда не все маршрутизаторы в автономной системе работают с полной таблицей BGP. Если сетка iBGP не завершена, вы можете получить ситуации, когда маршрутизатор в середине сети имеет другое представление о таблице, чем его прямые соседи. Это вызовет неоптимальную маршрутизацию, а в некоторых случаях петли маршрутизации, которые приведут к пересылке трафика между устройствами до истечения TTL.
Канал имеет статические адреса и настроенные связанные записи маршрутизации, которые используются для установления сеанса BGP. Используя BGP, таблица маршрутизации расширяется записями, указывающими на другие сети.
Поскольку BGP используется только между прямыми узлами, на этом этапе не требуются никакие маршруты, кроме того, который указывает на другой конец.
Например, если мы хотим установить одноранговую связь, мы договоримся о подсети / 30 или / 31, назначим по одному адресу каждому концу сети и создадим сетевой маршрут для этой подсети по этой ссылке, а затем настроим другой как Узел BGP, после чего я получаю дополнительные записи маршрутизации для всех сетей, которые вы объявляете для отправки через ваш маршрутизатор (который, в свою очередь, является частью локально статически настроенного сетевого маршрута).
--- --- --- ---
| D |------| A |--------| B |--------| C |
--- --- --- ---
Предположим, что A и B - маршрутизаторы (в разных или одинаковых AS), а D и C - хосты. Теперь А и В связаны друг с другом и могут общаться. Но как D узнает позицию C, чтобы он мог общаться с C. То же самое верно для C, когда он хочет связаться с D. Теперь, если мы запускаем протокол BGP между A и B, они обмениваются информацией о соединении уровня 3 друг с другом. , Проще говоря, A скажет B, что D связан с ним. Тогда либо B может передать это C, либо, если B является шлюзом по умолчанию для C, в любом случае C может знать положение D.
Таким образом, в этом случае информация о соединении уровня 3 передается между A и B, если A и B запускают протокол BGP.
Таким образом, требуется предварительное соединение BGP между двумя системами для обмена информацией маршрутизации уровня 3. Я только что показал простой пример, чтобы ответить на ваш запрос. В практическом сценарии между узлами BGP происходит обмен гораздо большим количеством данных маршрутизации.
BGP работает по протоколу TCP. Поэтому между ними должен быть открыт TCP-сокет, только тогда они смогут обмениваться данными маршрутизации.
без предварительного подключения L3?
«Связь L3» - это не все или ничего.
Администратор, настраивающий маршрутизатор, настроит интерфейсы с помощью IP-адресов и масок подсетей. На основе этих конфигураций будут созданы неявные записи таблицы маршрутизации, которые позволят маршрутизатору общаться со своими соседями.
Протоколы маршрутизации могут затем работать поверх этого локального соединения L3, чтобы установить более длинное соединение L3.