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

22

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

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

user2720323
источник

Ответы:

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 излишне сложным.

ytti
источник
1
BGP является вектор Путь протокола , который является не то же самое , как вектор расстояния протокола
Mike Пеннингтон
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 знали маршруты, полученные другими, чтобы они могли передавать эту информацию одноранговым узлам, если это необходимо / необходимо (открывая, таким образом, возможность вашего узла использовать транзит через ты)

Реми Летурно
источник