Перераспределение маршрутов в BGP

Материал из Xgu.ru

Перейти к: навигация, поиск

< BGP


В BGP с помощью команды redistribute можно перераспределить маршруты:

  • статические,
  • присоединенные,
  • выученные с помощью IGP протоколов.

Содержание

[править] Общие характеристики перераспределения для BGP

dyn3(config-router)#redistribute ?
  bgp        Border Gateway Protocol (BGP)
  connected  Connected
  dvmrp      Redistribution of DVMRP into BGP IPv4 Multicast
  eigrp      Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis       ISO IS-IS
  iso-igrp   IGRP for OSI networks
  mobile     Mobile routes
  odr        On Demand stub Routes
  ospf       Open Shortest Path First (OSPF)
  rip        Routing Information Protocol (RIP)
  static     Static routes

При перераспределении маршрутов из IGP протоколов в BGP:

  • Перераспределяются два типа маршрутов из таблицы маршрутизации:
    • выученные по соответствующему IGP протоколу,
    • присоединенные маршруты совпадающие с указанной командой network в IGP,
  • Метрика перераспределенных маршрутов:
    • может не указываться:
      • BGP использует отличный от протоколов IGP механизм выбора лучшего маршрута,
      • по умолчанию метрика протокола IGP переходит в атрибут MED,
    • если указывается, то это значение атрибута MED.

[править] Перераспределение маршрутов OSPF в BGP

Схема будет использоваться для объяснения настройки перераспределения маршрутов OSPF в BGP:

BGP ospf redis.png

[править] Начальные условия

На маршрутизаторе dyn3 такая таблица маршрутизации:

dyn3# sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.4.0/24 is directly connected, FastEthernet1/0
O IA 192.168.1.0/24 [110/2] via 192.168.2.1, 00:47:06, FastEthernet0/0
C    192.168.2.0/24 is directly connected, FastEthernet0/0
O E1 192.168.3.0/24 [110/22] via 192.168.2.1, 00:47:06, FastEthernet0/0

Настройка OSPF на dyn3:

router ospf 1
 network 192.168.2.0 0.0.0.255 area 0

[править] Перераспределение маршрутов без задания метрики

По умолчанию, если в команде redistribute не указан тип маршрута, то перераспределяются внутризональные и межзональные маршруты OSPF. Опция команды -- internal.

Note-icon.gif

Внутренними (internal) маршруты называются по тому принципу, что все они сгенерированы процессом OSPF, при совпадении сети интерфейса с сетью указанной в команде network.

Перераспределение внутризональных и межзональных маршрутов OSPF в BGP:

dyn3(config)# router bgp 65000
dyn3(config-router)# redistribute ospf 1

Таблица BGP на dyn3 после перераспределения внутренних маршрутов:

dyn3# sh ip bgp  
BGP table version is 7, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      192.168.2.1              2         32768 ?
*> 192.168.2.0      0.0.0.0                  0         32768 ?

Таблица BGP на dyn5 после перераспределения внутренних маршрутов:

dyn5# sh ip bgp  
BGP table version is 7, local router ID is 192.168.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i192.168.1.0      192.168.2.1              2    100      0 ?
*>i192.168.2.0      192.168.4.3              0    100      0 ?

Перераспределение маршрутов других типов:

router(config-router)# redistribute ospf 1 match <internal | external <1|2> | nssa-external <1|2>>

Например, на dyn3 перераспределение маршрутов типа E1:

dyn3(config)# router bgp 65000   
dyn3(config-router)# redistribute ospf 1 match external 1

Если до этого было выполнено перераспределение маршрутов командой redistribute ospf 1, то теперь будут перераспределяться маршруты:

  • внутризональные и межзональные,
  • типа external 1.

Note-icon.gif

При перераспределении маршрутов новая команда redistribute с параметром match не переписывает предыдущие настройки, а добавляет новый тип маршрута.

Конфигурация dyn3:

router bgp 65000
 no synchronization
 bgp log-neighbor-changes
 redistribute ospf 1 match internal external 1
 neighbor 192.168.4.5 remote-as 65000
 no auto-summary

Таблица BGP на dyn3 после перераспределения внутренних и E1 маршрутов:

dyn3# sh ip bgp
BGP table version is 8, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      192.168.2.1              2         32768 ?
*> 192.168.2.0      0.0.0.0                  0         32768 ?
*> 192.168.3.0      192.168.2.1             22         32768 ?

Таблица BGP на dyn5 после перераспределения внутренних и E1 маршрутов:

dyn5# sh ip bgp
BGP table version is 8, local router ID is 192.168.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i192.168.1.0      192.168.2.1              2    100      0 ?
*>i192.168.2.0      192.168.4.3              0    100      0 ?
*>i192.168.3.0      192.168.2.1             22    100      0 ?

Таблица маршрутизации на dyn5 после перераспределения внутренних и E1 маршрутов:

dyn5# sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.4.0/24 is directly connected, FastEthernet0/0
C    192.168.5.0/24 is directly connected, FastEthernet1/0
B    192.168.1.0/24 [200/2] via 192.168.2.1, 00:06:02
B    192.168.2.0/24 [200/0] via 192.168.4.3, 00:06:07
B    192.168.3.0/24 [200/22] via 192.168.2.1, 00:00:03

[править] Перераспределение маршрутов и задание метрики (атрибута MED)

Изменение метрики (атрибут MED) для маршрутов перераспределенных из OSPF:

dyn3(config)# router bgp 65000                              
dyn3(config-router)# redistribute ospf 1 metric 85

Таблица BGP на dyn3 после перераспределения:

dyn3# sh ip bgp
BGP table version is 10, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      192.168.2.1             85         32768 ?
*> 192.168.2.0      0.0.0.0                  0         32768 ?
*> 192.168.3.0      192.168.2.1             85         32768 ?

Таблица BGP на dyn5 после перераспределения:

dyn5# sh ip bgp  
BGP table version is 10, local router ID is 192.168.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i192.168.1.0      192.168.2.1             85    100      0 ?
*>i192.168.2.0      192.168.4.3              0    100      0 ?
*>i192.168.3.0      192.168.2.1             85    100      0 ?

[править] Удаление настроек перераспределения маршрутов

Если необходимо удалить настроенное перераспределение определенных маршрутов, например, оставить только маршруты E1 и удалить внутренние:

dyn3(config-router)# no redistribute ospf 1 match internal

Теперь в таблице BGP только маршрут E1:

dyn3# sh ip bgp
BGP table version is 19, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.3.0      192.168.2.1             22         32768 ?

Note-icon.gif

На сайте cisco указано, что после удаления всех ключевых слов (internal, external и др) в команде redistribute, остается команда redistribute ospf 1 и при этом перераспределяются внутренние маршруты. Команда остается, но маршруты перестают перераспределяться. Если просто повторить команду, то они перераспределяются. Далее демонстрация этого поведения.

Для того чтобы удалить перераспределение полностью необходимо использовать команду no redistribute ospf 1.

Настроено перераспределение внутренних маршрутов:

dyn3(config-router)#redistribute ospf 1                             

Таблица BGP с перераспределенными внутренними маршрутами:

dyn3(config-router)#do sh ip bgp                                    
BGP table version is 40, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      192.168.2.1              2         32768 ?
*> 192.168.2.0      0.0.0.0                  0         32768 ?

Настроено перераспределение E1 маршрутов:

dyn3(config-router)#redistribute ospf 1 match  external 1

Таблица BGP с перераспределенными внутренними и E1 маршрутами:

        
dyn3(config-router)#do sh ip bgp                         
BGP table version is 41, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      192.168.2.1              2         32768 ?
*> 192.168.2.0      0.0.0.0                  0         32768 ?
*> 192.168.3.0      192.168.2.1             22         32768 ?

Конфигурация маршрутизатора:

dyn3(config-router)#do sh run | i redis                  
 redistribute ospf 1 match internal external 1

Если полностью удалить всё настроенное перераспределение таким образом:

dyn3(config-router)#no redistribute ospf 1 match internal external 1

то на маршрутизаторе всё равно остается такая настройка:

dyn3(config-router)#do sh run | i redis                             
 redistribute ospf 1

Однако маршруты более не перераспределяются:

dyn3(config-router)#do sh ip bgp                                    

После повторения команды:

dyn3(config-router)# redistribute ospf 1

Внутренние маршруты опять перераспределяются:

dyn3(config-router)#do sh ip bgp        
BGP table version is 46, local router ID is 192.168.4.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      192.168.2.1              2         32768 ?
*> 192.168.2.0      0.0.0.0                  0         32768 ?


[править] Дополнительная информация

[править] Примечания