BGP route reflector
Материал из Xgu.ru
< BGP
Route reflectors (RR) как и конфедерация позволяет:
- избежать необходимости создания полносвязной топологии между всеми iBGP-соседями,
- всем iBGP-соседям выучить все iBGP-маршруты в AS,
- предотвратить образование петель.
Содержание |
[править] Принцип работы route reflector
При использовании RR для маршрутизаторов в AS определяются такие три роли:
- RR сервер (RR Server, RR)
- Клиент (Client)
- Не клиент (Nonclient)
Только маршрутизатор работающий как RR использует логику отличную от обычного iBGP-маршрутизатора. Другие маршрутизаторы (клиент и не клиент) не изменяют правила работы и фактически даже не знают о существовании RR.
Правила, которыми руководствуется RR принимая решение отправлять маршруты соседу или нет:
Общая таблица сравнения различных режимов работы RR:
Источник от которого выучен префикс | Анонсируется ли маршрут клиентам? | Анонсируется ли маршрут не клиентам? |
---|---|---|
Клиент | Да | Да |
Не клиент | Да | Нет |
eBGP | Да | Да |
Отличия в работе RR возникают при взаимодействии с маршрутизаторами, которые работают в роли клиентов. При взаимодействии с eBGP-соседями или с не клиентами, правила аналогичны обычному взаимодействию, с eBGP и iBGP маршрутизаторами, соответственно.
RR сервер (или несколько серверов) и его клиенты формируют один RR кластер (RR cluster). AS в которой используются RR может состоять из:
- кластера с несколькими RR,
- нескольких кластеров (использование нескольких кластеров имеет смысл, если существует физическая избыточность).
Когда используется несколько кластеров, то хотя бы один RR из кластера должен быть соседом с хотя бы одним RR в каждом из других кластеров. Как правило, все RR являются непосредственно присоединенными соседями и формируют между собой полносвязную топологию. Маршрутизаторы, которые не являются клиентами, также должны быть присоединены к полносвязной топологии из RR.
Для того чтобы предотвратить образование петель RR используют такие механизмы:
- CLUSTER_LIST — RR добавляет идентификатор кластера (cluster ID) в атрибут CLUSTER_LIST прежде чем отправить обновление. При получении обновления RR отбрасывает те префиксы для которых идентификатор его кластера уже указан в атрибуте. Это предотвращает образование петель между кластерами.
- ORIGINATOR_ID — этот атрибут указывает RID того маршрутизатора (не RR), который анонсировал маршрут внутри локальной AS. Если маршрутизатор получает обновление в котором указан его RID, то этот маршрут не используется и не передается далее соседям.
- анонсируются только лучшие маршруты — RR передает маршрут далее только если если маршрут считается лучшим в его таблице BGP.
[править] Изменение процедуры выбора лучшего маршрута в AS с RR
В тех случаях, когда маршрутизаторы могут получить один и тот же маршрут от RR и от обычного маршрутизатора, правила выбора лучшего маршрута BGP немного изменяются:
- Первые шаги, в которых учитываются атрибуты weight, local preference, origin и MED — остаются без изменений,
- Если все предыдущие параметры одинаковы, то маршруты полученные от EBGP-соседей предпочтительней, чем маршруты полученные от IBGP-соседей,
- Выбрать путь через ближайшего IGP-соседа
- Выбрать путь через соседа с наименьшим BGP router ID. Если у префикса есть атрибут Originator ID, то вместо router ID сравнивается Originator ID.
- Reflected-маршруты с более коротким cluster-list предпочтительнее (длина cluster-list равна нулю, если маршрут без атрибута cluster-list),
- Выбрать путь через соседа с наименьшим IP-адресом
[править] Пример настройки RR в Cisco
Схема сети:
На маршрутизаторах, которые выполняют роль клиентов никаких отличий в настройках BGP нет. Пример конфигурации BGP на dyn5:
router bgp 65000 no synchronization bgp log-neighbor-changes network 192.168.4.0 network 192.168.5.0 neighbor 192.168.4.3 remote-as 65000 neighbor 192.168.5.6 remote-as 406 no auto-summary
Конфигурация BGP на dyn1:
router bgp 65000 no synchronization bgp cluster-id 1 bgp log-neighbor-changes network 192.168.1.0 network 192.168.2.0 neighbor 192.168.1.2 remote-as 65000 neighbor 192.168.1.2 route-reflector-client neighbor 192.168.2.3 remote-as 65000 no auto-summary
Конфигурация BGP на dyn3:
router bgp 65000 no synchronization bgp cluster-id 2 bgp log-neighbor-changes network 192.168.2.0 network 192.168.4.0 neighbor 192.168.2.1 remote-as 65000 neighbor 192.168.4.5 remote-as 65000 neighbor 192.168.4.5 route-reflector-client no auto-summary
[править] Просмотр информации
Подробная информация о маршруте, в том числе атрибуты относящиеся к RR:
dyn1# sh ip bgp 192.168.5.0 BGP routing table entry for 192.168.5.0/24, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to update-groups: 2 Local 192.168.4.5 from 192.168.2.3 (192.168.4.3) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 192.168.100.1, Cluster list: 0.0.0.2
Подробная информация о маршруте на маршрутизаторе qua2, в том числе атрибуты относящиеся к RR (два кластера):
qua2# sh ip bgp 192.168.5.0 BGP routing table entry for 192.168.5.0/24 Paths: (1 available, no best path) Not advertised to any peer Local 192.168.4.5 (inaccessible) from 192.168.1.1 (192.168.100.1) Origin IGP, metric 0, localpref 100, valid, internal Originator: 192.168.100.1, Cluster list: 0.0.0.1 0.0.0.2 Last update: Wed Jul 22 20:16:19 2009
Подробная информация о маршруте, в том числе информация о том, что одним из источников маршрута был RR-клиент:
dyn1# sh ip bgp 192.168.1.0 BGP routing table entry for 192.168.1.0/24, version 5 Paths: (2 available, best #2, table Default-IP-Routing-Table) Advertised to update-groups: 1 2 Local, (Received from a RR-client) 192.168.1.2 from 192.168.1.2 (192.168.1.2) Origin IGP, metric 0, localpref 100, valid, internal Local 0.0.0.0 from 0.0.0.0 (192.168.2.1) Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best
Политика распространения информации на RR:
dyn3# show ip bgp update-group BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast BGP Update version : 5/0, messages 0 Update messages formatted 3, replicated 0 Number of NLRIs in the update sent: max 1, min 1 Minimum time between advertisement runs is 0 seconds Has 1 member (* indicates the members currently being sent updates): 192.168.2.1 BGP version 4 update-group 2, internal, Address Family: IPv4 Unicast BGP Update version : 5/0, messages 0 Route-Reflector Client Update messages formatted 3, replicated 0 Number of NLRIs in the update sent: max 1, min 1 Minimum time between advertisement runs is 0 seconds Has 1 member (* indicates the members currently being sent updates): 192.168.4.5
В sh ip protocol отображается, что маршрутизатор route reflector:
Routing Protocol is "bgp 1234" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Route Reflector for address family IPv4 Unicast, 5 clients IGP synchronization is disabled Automatic route summarization is disabled Neighbor(s): Address FiltIn FiltOut DistIn DistOut Weight RouteMap 1.1.1.1 3.3.3.3 4.4.4.4 5.5.5.5 7.7.7.7 Maximum path: 1 Routing Information Sources: Gateway Distance Last Update 7.7.7.7 200 00:04:26 1.1.1.1 200 00:04:26 5.5.5.5 200 00:07:20 Distance: external 20 internal 200 local 200
[править] Дополнительная информация
[править] Примечания