Зачем использовать iBGP внутри автономной системы, если протоколы IGP удовлетворяют потребности во внутренней связи


22

Кто-нибудь может объяснить, почему нам нужен iBGP для маршрутов, когда у нас есть протоколы IGP (OSPF, RIP) для внутренней связи внутри AS?

Я прочитал много статей и книг, но не смог найти ответ.

Ответы:


26

Может кто-нибудь объяснить мне, что нужно для связи IBGP для маршрутов, когда у нас есть протоколы IGP (OSPF, RIP) для внутренней связи?

  • Масштабируемость 1. Представьте, что вы получаете 500 000 маршрутов EBGP в более чем одном месте 2 , и вам необходимо влиять на точку выхода на маршрут в вашей AS. BGP может обрабатывать гораздо больше маршрутов, чем протоколы IGP. Таким образом, iBGP требуется, если вы не хотите перераспределять все маршруты, которые вы узнали через eBGP
  • Укрепить границы доверия / контроля: BGP имеет больше способов фильтровать одноранговые узлы, чем IGP (для контроля того, что вы рекламируете и получаете).

  • Гибкие структуры данных (несколько связанных с предыдущей пулей): BGP сообщество , BGP Extended сообщество , местные прив , и т.д ... они делают BGP привлекательным способа для реализации пользовательских маршрутизации политики в своей собственной автономной системе (с помощью IBGP).

Как и во всем, есть компромиссы; Масштабируемость, контроль и гибкость, которые вы получаете от iBGP, означают, что это более медленный конвергентный протокол, чем IGP (в целом).


Конечные заметки:

1 Масштабируемость :

  • Вы используете BGP, потому что не хотите переносить всю таблицу интернет-маршрутизации в ваш IGP (т.е. в моем случае OSPF) ...
  • OSPF не был разработан для обработки многих тысяч маршрутов в таблицах BGP в Интернете ... если вы попытаетесь использовать OSPF для этой цели, это сломает вашу сеть. Используя пример OSPF, требования к обработке / заполнению LSA из 500 000 маршрутов используют слишком много ресурсов в ваших маршрутизаторах. Назовите любой другой IGP (EIGRP, RIPv1 / 2, IS-IS, IGRP), и та же самая история правдива.
  • Были некоторые печально известные случаи, когда провайдер Tier-1 случайно перераспределял свою таблицу BGP в свой IGP (даже когда интернет-таблица составляла небольшую долю от ее текущего размера), и это вызывало серьезные сбои. Контрмеры теперь реализованы в протоколах IGP ( например, в протоколе OSPF в IOS ), чтобы предотвратить перераспределение из BGP в OSPF из-за серьезного сбоя.

2 Пример маршрутизации iBGP :

Чтобы понять, почему вам может понадобиться iBGP, рассмотрите эту запись о маршрутизации в 4.2.2.2 ...

R2>sh ip bgp 4.2.2.2
BGP routing table entry for 4.0.0.0/9, version 3146
Paths: (32 available, best #7, table Default-IP-Routing-Table)
... <!-- extra BGP RIB entries deleted -->
  7660 2516 3356, (aggregated by 3356 4.69.130.4)
    203.181.248.168 from 203.181.248.168 (203.181.248.168)
      Origin IGP, localpref 100, valid, internal, atomic-aggregate
      Community: 2516:1030
  3356, (aggregated by 3356 4.69.130.6)
    4.69.184.193 from 4.69.184.193 (4.69.184.193)
      Origin IGP, metric 0, localpref 100, valid, internal, atomic-aggregate, best
      Community: 3356:0 3356:3 3356:100 3356:123 3356:575 3356:2012
... <!-- extra BGP RIB entries deleted -->

Есть 32 пути для рассмотрения ... В этом случае BGP решил перейти к 4.0.0.0/9 через 4.69.184.193 (обратите внимание bestна запись под RIB). В этом случае BGP выбрал это, потому что у этого маршрута самый короткий список AS Path. Однако не все маршруты будут предпочтительными через AS3356 (подключен к R1). Некоторые могут быть предпочтительнее из R3 (через AS7660). iBGP дает вам возможность узнать (на R2), какой путь выбрать кратчайший путь BGP.

BGP route to 4.0.0.0/9 via                                              
NH: 4.69.184.193 [Path: 3356]                                  
  -------->                                                     

 eBGP w/ AS3356 }{              iBGP inside AS64000          }{   eBGP w/ AS7660

                 S1/0       S1/2   S2/1     S2/3   S3/2    S3/0
Peered w/ AS3356    +------+         +------+        +------+       Peered w/ AS7660
4.69.184.193 <------|  R1  |---------|  R2  |--------|  R3  |-----> 203.181.248.168
                    +------+         +------+        +------+
                                         | S2/0
                                         |

                                         ^
                                         ^
                                         | Ingress packet to 4.2.2.2
                                         |

R1, R2 и R3 являются полностью iBGP-сетками. Когда iBGP объявляет маршрут, следующий переход остается неизменным . Это означает, что мне нужно нести подсеть для 4.69.184.193 в OSPF ...

R2>sh ip route 4.69.184.193
Routing entry for 4.69.184.192/30
  Known via "ospf 100", distance 110, metric 65536, type intra area
  Last update from 192.0.2.109 on GigabitEthernet3/1, 1w0d ago
  Routing Descriptor Blocks:
  * 192.0.2.109, from 192.0.2.3, 1w0d ago, via Serial2/1
      Route metric is 65536, traffic share count is 1

R2>

Таким образом, когда пакет для 4.2.2.2 поступает в R2, R2 отправляет его в Serial2 / 1, потому что именно там iBGP сообщает нам о следующем переходе.


Не уверен, что я понимаю эту часть: «iBGP требуется, если вы не хотите перераспределять все маршруты, которые вы узнали через eBGP». Если у нас есть два граничных маршрутизатора eBGP, маршрутизатор A не будет знать маршруты, которые узнал маршрутизатор B, или наоборот. Им нужно как-то обмениваться информацией, и обычно это делается с помощью iBGP. Как бы вы использовали eBGP для этого? Я не уверен, как eBGP может заставить A и B узнать о маршрутах, которые изучил другой маршрутизатор.
— user4205580 30.06.16

Вы имеете в виду утверждение предполагает , что у вас есть какие - то не-EBGP динамики. Предполагая, что вы не можете просто жить с маршрутами по умолчанию к вашим восходящим потокам eBGP, на этом этапе вы можете: A) перераспределить префиксы eBGP в свой IGP (обычно это плохая идея) или B) использовать iBGP. Мой ответ тратит большую часть времени на объяснение, почему iBGP полезен.
— Майк Пеннингтон

10

IGP обычно представляет собой OSPF или ISIS, которые основаны на состоянии канала, это дает нам всю информацию о сети, каждый знает сеть с любой точки зрения, что позволяет использовать очень интересные варианты конвергенции и инженерии трафика.

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

Протокол состояния канала довольно дорог по сравнению с вектором расстояния, было бы весьма проблематично масштабировать его до размера INET DFZ.

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

Внутри вашей собственной сети вы можете нести все префиксы (включая клиентов) в вашем IGP, но это отрицательно скажется на производительности IGP, в то время как все преимущества конвергенции и TE можно получить, просто передавая петлевые адреса основных маршрутизаторов. Добавление пользовательских префиксов в IGP только снижает производительность вашей сети, делая IGP излишне сложным.



3
Вектор пути по существу является частным случаем вектора расстояния. Важно понимать, что они очень похожи по сложности и стоимости, в то время как состояние ссылки совершенно другое. Из книги BGP Сэма Халаби и Дэнни Макферсона, стр. 98 «Этот раздел не будет полным без упоминания о том, что BGP попадает в категорию векторов расстояний»
— ytti

2
Вектор пути аналогичен, но все же другой алгоритм. Вы можете прочитать больше об этом в книге Дэнни МакФерсона и Расса Уайта, Practical BGP , опубликованной в 2004 году. Мобильная ссылка
— Майк Пеннингтон,

2
На какой странице утверждается, что BGP не является вектором расстояния?
— ytti

2
КАК путь - вектор расстояния. Да, вы также можете манипулировать выбором пути с другими параметрами. Итак, Сэм и Дэнни назвали это вектором пути, а не вектором расстояния, и я полностью разделяю их мнение по этому вопросу. Это может быть забавный способ потреблять пинту, чтобы спорить по этому вопросу, но вряд ли конструктивный.
— ytti

7

Одна из причин, которую я видел довольно часто, это ясность: все маршруты передаются в рамках одного протокола маршрутизации (BGP), IS-IS, OSPF или RIP используются только для смежности. В результате нет необходимости перераспределять маршруты от одного протокола маршрутизации к другому.


3

iBGP на самом деле не используется для внутренней маршрутизации, он используется всеми вашими маршрутизаторами eBGP для обмена своими маршрутами.

Пример: если вы используете одноранговую сеть с 3 другими сетями, вы хотите, чтобы все ваши маршрутизаторы eBGP знали маршруты, полученные другими, чтобы они могли передавать эту информацию одноранговым узлам, если это необходимо / необходимо (открывая, таким образом, возможность вашего узла использовать транзит через ты)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.