Протокол IP : IP-маршрутизация

Устранение неполадок при отсутствии объявления маршрутов BGP

22 сентября 2010 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (24 июля 2006) | Отзыв

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
Маршруты, объявленные путем декларирования базовой сети
      Шаги по устранению неполадок
Маршруты, объявленные путем декларирования сети с маской
      Шаги по устранению неполадок
Маршруты, объявленные командой aggregate-address
      Шаги по устранению неполадок
Не удается объявить маршруты, обнаруженные iBGP
      Шаги по устранению неполадок
Маршруты, объявленные командой Redistribute Static
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

Цель этого документа – систематизировать порядок поиска и устранения проблем с маршрутизатором протокола пограничных шлюзов (BGP), который не объявляет маршруты BGP одноранговым устройствам.

Существует несколько способов добавления префикса в таблицу BGP и его объявления одноранговым узлам.

  • Используйте базовую команду network для маршрутизатора BGP. Этот метод используется для создания маршрутов BGP из автономной системы (AS). Дополнительную информацию см. в разделе Команда network в документации Практические примеры BGP 1.

  • Перераспределите протокол внутренней маршрутизации (IGP) или статическую конфигурацию.

  • Распространите маршруты BGP, сведения о которых получены от одноранговых узлов другого внутреннего BGP (iBGP) или внешнего BGP (eBGP).

    Примечание. Распространяются только лучшие пути, полученные от одноранговых BGP. Дополнительные сведения о выборе наилучшего пути см. в разделе Алгоритм выбора лучшего пути BGP.

  • Выполните команду aggregate-address. Дополнительную информацию см. в разделе Сведения об объединении маршрутов в BGP.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования. Но выходные данные, приведенные в этом документе, получены для маршрутизаторов серии Cisco 2500, работающих под управлением ПО Cisco IOS® версии 12.2(24)a.

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

Условные обозначения

Дополнительные сведения об условных обозначениях в документах см. в Условные обозначения технических терминов Cisco.

Маршруты, объявленные путем декларирования базовой сети

Когда маршруты объявляются с помощью инструкции basic network, поведение команды network меняется в зависимости от того, включен или выключен режим автоматического суммирования. При включенной функции автоматического суммирования происходит сложение локально созданных сетей BGP (сеть x.x.x.x) с их границами классов (автоматическое суммирование включено по умолчанию в BGP). Когда в таблице маршрутизации указана подсеть и выполняются следующие три условия, любая подсеть (компонентный маршрут) в этой классовой сети в локальной таблице маршрутизации предложит BGP установить классовую сеть в таблице BGP.

  • Включенное автоматическое суммирование

  • Объявление классовой сети для сети в таблице маршрутизации

  • Классовая маска на это объявление сети

Если автоматическое суммирование отключено, локально установленные в таблицу BGP маршруты не суммируются с их границами классов.

Например, BGP представляет классовую сеть 75.0.0.0 с маской 255.0.0.0 в таблице BGP, если выполняются следующие условия.

  • Подсеть в таблице маршрутизации — 75.75.75.0, маска 255.255.255.0.

  • Сеть 75.0.0.0 настроена с помощью команды router bgp.

  • Включено автоматическое суммирование.

Если эти условия не выполняются, BGP не вносит никакой записи в таблицу BGP, пока в таблице IP-маршрутизации не будет достигнуто точное совпадение.

Шаги по устранению неполадок

Если на R101 включена функция автоматического суммирования, этот маршрутизатор не может объявить классовую сеть 6.0.0.0/8 маршрутизатору R102.

bgp_noad_01.gif

  1. Проверьте, объявил ли маршрутизатор R101 сеть 6.0.0.0/8 маршрутизатору R102. Представленные выходные данные подтверждают, что R101 не объявляет 6.0.0.0/8 маршрутизатору R102.

    R101# 
    show ip bgp neighbors 10.10.10.2 advertised-routes
    
    R101#
  2. Проверьте текущую конфигурацию. Представленный пример показывает, что R101 настроен с помощью декларирования классовой сети. Автосуммирование включено по умолчанию в версии ПО Cisco IOS, используемой в данном сценарии.

    R101# 
    show running-config | begin bgp
    
    router bgp 1
     network 6.0.0.0
     neighbor 10.10.10.2 remote-as 2
    [...]
  3. Проверьте наличие компонентного маршрута (классового маршрута или маршрута подсети) для сети 6.0.0.0/8 в таблице маршрутизации.

    R101# 
    show ip route 6.0.0.0 255.0.0.0 longer-prefixes 
    
    R101#
  4. Поскольку отсутствует компонентный маршрут (нет классового маршрута или маршрута подсети) в таблице IP-маршрутизации устройства R101, сеть 6.0.0.0 не устанавливается в таблице BGP. Минимальное требование к префиксу, настроенному командой network для установки в таблицу BGP предполагает наличие компонентного маршрута в таблице IP-маршрутизации. Чтобы проверить существование компонентного маршрута у маршрутизатора R101 для сети 6.0.0.0/8 можно выяснить это с помощью IGP или через статическую конфигурацию. В показанном примере для статического маршрута настроено значение null 0.

    R101(config)# ip route 6.6.10.0 255.255.255.0 null 0 200
    
  5. Как только в таблице IP-маршрутизации появится компонентный маршрут для сети 6.0.0.0/8, BGP устанавливает классовую сеть в таблице BGP.

    R101# show ip route 6.0.0.0  255.0.0.0 longer-prefixes 
    
    [..]
         6.0.0.0/24 is subnetted, 1 subnets
    S       6.6.10.0 is directly connected, Null0
    
    
  6. Для того, чтобы изменение в BGP вступило в силу и начало объявлять сеть 6.0.0.0/8 для R102, необходимо очистить соседнюю BGP или провести программную перезагрузку на другом узле. В следующем примере показано, как программная перезагрузка исходящего однорангового соединения 10.10.10.2 приводит к вступлению изменений в силу. Дополнительные сведения по программной перезагрузке см. в разделе "Управление изменениями политики маршрутизации" в документе Настройка BGP.

    R101# clear ip bgp 10.10.10.2 [soft] out
    R101#
  7. Для того, чтобы изменение в BGP вступило в силу и начало объявлять сеть 6.0.0.0/8 маршрутизатору R102, необходимо очистить соседнюю BGP или провести программную перезагрузку на другом узле. В следующем примере показано, как программная перезагрузка исходящего однорангового соединения 10.10.10.2 приводит к вступлению изменений в силу. Дополнительные сведения о программной перезагрузке см. в разделе Управление изменениями политик маршрутизации в документе Настройка BGP.

    R101# show ip bgp | include 6.0.0.0 
    *> 6.0.0.0 0.0.0.0 0 32768 i
    
  8. Результаты выполнения команды show ip bgp подтверждают наличие классовой сети с адресом 6.0.0.0/8 в BGP.

    R101# show ip bgp | include 6.0.0.0 
    *> 6.0.0.0 0.0.0.0 0 32768 i
  9. Подтвердите, что R101 объявляет маршруты R102.

    R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 6.0.0.0 
    *> 6.0.0.0 0.0.0.0 0 32768 i

    Примечание. При отключенном автоматическом суммировании BGP установит сеть 6.0.0.0/8 только в том случае, если в таблице маршрутизации будет полностью соответствующий маршрут. Если имеются маршруты подсети, но нет точно соответствующего маршрута (6.0.0.0/8) в таблице маршрутизации, то BGP не установит сеть 6.0.0.0/8 в таблице BGP.

Маршруты, объявленные путем декларирования сети с маской

Сетям, попадающим на границу основной сети (255.0.0.0, 255.255.0.0 или 255.255.255.0), не требуется добавление маски. Например, достаточно выполнить команду network 172.16.0.0, чтобы отправить префикс 172.16.0.0/16 в таблицу BGP. Но сетям, которые не попадают на границы основной сети, требуется декларирование сети с маской, например, network 172.16.10.0 mask 255.255.255.0.

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

Шаги по устранению неполадок

R101 не может объявить сеть 172.16.10.0/24 для R102.

bgp_noad_02.gif

  1. Проверьте, объявил ли маршрутизатор R101 префикс 172.16.10.0/24 маршрутизатору R102.

    R101# show ip bgp neighbors 10.10.10.2 advertised-routes
    R101#

    Выходные данные подтверждают, что R101 не объявляет 192.168.32.0/22 для R102.

  2. Проверьте текущую конфигурацию.

    R101# show run | begin bgp
    router bgp 1
      network 172.16.10.0

    Примечание. Требуется создать сеть 172.10.10.0/24. Эта сеть на попадает на границу сети класса B (255.255.0.0). Для выполнения этой операции необходимо задекларировать сеть с маской 255.255.255.0.

  3. После того как настроено декларирование сети с маской, команда show run покажет следующие выходные данные:

    R101# show run | begin bgp
    router bgp 1
      network 172.16.10.0 mask 255.255.255.0
  4. Проверьте, есть ли данный маршрут в таблице маршрутизации BGP.

    R101# show ip bgp | include 172.16.10.0
    R101#

    Сеть 172.16.10.0/24 отсутствует в таблице BGP.

  5. Проверьте, есть ли точный маршрут в таблице IP-маршрутизации. Приведенные ниже выходные данные подтверждают, что в таблице маршрутизации нет точного маршрута.

    R101# show ip route 172.16.10.0 255.255.255.0   
    % Network not in table
    R101#
  6. Решите, какой маршрут будет создаваться. Затем можно либо исправить IGP, либо настроить статические маршруты.

    R101(config)# ip route 172.16.10.0 255.255.255.0 null 0 200
    
  7. Проверьте таблицу IP-маршрутизации.

    R101# show ip route 172.16.10.0 255.255.255.0 longer-prefixes 
    
    [..]
         172.16.0.0/24 is subnetted, 1 subnets
    S       172.16.10.0 is directly connected, Null0
  8. Проверьте, что эти маршруты есть в таблице BGP.

    R101# show ip bgp | include 172.16.10.0 
    *> 172.16.10.0/24   0.0.0.0                  0         32768 i
  9. Чтобы изменение вступило в силу для BGP и объявления о сети 6.0.0.0/8 отправлялись маршрутизатору R102, необходимо очистить соседний узел BGP или выполнить программную перезагрузку узла. В следующем примере выполняется программная перезагрузка исходящего однорангового соединения 10.10.10.2. Дополнительные сведения по программной перезагрузке см. в разделе "Управление изменениями политики маршрутизации" в документе Настройка BGP.

    R101# clear ip bgp 10.10.10.2 [soft] out
    
  10. Подтвердите, что маршруты объявляются R102.

    R101# show ip bgp  neighbors 10.10.10.2 advertised-routes | include 172.16.10.0
    *> 172.16.10.0/24   0.0.0.0                  0         32768 i
    

Маршруты, объявленные командой aggregate-address

BGP позволяет выполнять агрегацию определенных маршрутов в один маршрут используя команду aggregate-address адресная маска. Агрегация применяется к маршрутам, существующим в таблице маршрутизации BGP. В этом заключается отличие от команды network, применяемой к маршрутам, которые находятся в таблице IP-маршрутизации. Агрегацию можно выполнить, если хотя бы один или несколько определенных маршрутов агрегированного адреса существуют в таблице маршрутизации BGP. Дополнительную информацию об агрегировании BGP и связанных атрибутах см. в разделе Общие сведения об агрегировании маршрутов в BGP.

Шаги по устранению неполадок

bgp_noad_03.gif

В схеме этой сети маршрутизатор R101 не может объявить агрегированный адрес 192.168.32.0/22 маршрутизатору R102. Сеть 192.168.32.0/22 агрегирует следующие три пространства адресов класса C:

  • 192.168.33.0/24

  • 192.168.35.0/24

  • 192.168.35.0/24

  1. Подтвердите, что R101 не объявляет сеть 192.168.32.0/22 для R102.

    R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0 
    R101#
  2. Проверьте текущую конфигурацию.

    router bgp 1
       [..]
       aggregate-address 192.168.32.0 255.255.252.0 summary-only
       neighbor 10.10.10.2 remote-as 2

    Маршрутизатор R101 настроен для объявления маршрутизатору R102 только агрегированного адреса, используя атрибут "summary-only".

  3. Проверьте таблицу IP-маршрутизации.

    R101# show ip route 192.168.32.0 255.255.252.0 longer-prefixes 
    [..]
    S    192.168.33.0/24 is directly connected, Null0

    В таблице IP-маршрутизации присутствует компонентный маршрут для агрегированной сети 192.168.32.0/22; однако, чтобы агрегированный адрес было объявлен одноранговым узлам, компонентный маршрут должен существовать не в таблице IP-маршрутизации, а в таблице маршрутизации BGP. В таблице IP-маршрутизации присутствует компонентный маршрут для агрегированной сети 192.168.32.0/22; однако, чтобы агрегированный адрес было объявлен одноранговым узлам, компонентный маршрут должен существовать не в таблице IP-маршрутизации, а в таблице маршрутизации BGP.

  4. Проверьте, есть ли данный компонентный маршрут в таблице маршрутизации BGP.

    R101# show ip bgp 192.168.32.0 255.255.252.0 longer
       R101#

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

  5. В этом примере компонентный маршрут 192.168.33.0 устанавливается в таблице BGP с помощью команды network.

    R101(config)# router bgp 1
    R101(config-router)# network 192.168.33.0
    
  6. Проверьте, есть ли данный компонентный маршрут в таблице BGP.

    R101# show ip bgp 192.168.32.0 255.255.252.0 longer-prefixes 
    BGP table version is 8, local router ID is 10.10.20.1
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
    Origin codes: i - IGP, e - EGP, ? - incomplete
    
       Network          Next Hop            Metric LocPrf Weight Path
    *> 192.168.32.0/22  0.0.0.0                            32768 i
    s> 192.168.33.0     0.0.0.0                  0         32768 i
    R101#

    Значение "s" означает, что данный компонентный маршрут запрещен из-за аргумента "summary-only".

  7. Подтвердите, что агрегация объявлена для R102.

    R101# show ip bgp n 10.10.10.2 advertised-routes | include 192.168.32.0/22
    *> 192.168.32.0/22  0.0.0.0

Не удается объявить маршруты, обнаруженные iBGP

Маршрутизатор BGP со включенной синхронизацией не будет объявлять полученные iBGP-маршруты другим одноранговым eBGP, если не может проверить эти маршруты в своем IGP. Предположим, что IGP имеет маршрут для обнаруженных iBGP маршрутов, тогда маршрутизатор будет объявлять маршруты iBGP одноранговым eBGP. В противном случае маршрутизатор будет обрабатывать этот маршрут как не синхронизированный с IGP и не будет объявлять о нем. Отмена синхронизации с помощью команды no synchronization на маршрутизаторе BGP запрещает ему подтверждение маршрутов iBGP в IGP. Для получения дополнительных сведений обратитесь к разделуСинхронизация в документе Практические примеры BGP.

Шаги по устранению неполадок

На показанной схеме маршрутизатор R101 узнает префикс 130.130.130.0/24 от маршрутизатора R103 через iBGP и не может объявить его в eBGP однорагового устройства R102.

bgp_noad_04.gif

  1. Вначале проверьте маршрутизатор R101.

    R101# show ip bgp neighbors 10.10.20.2 advertised-routes | include 130.130.130.0
    R101#

    Приведенные выше выходные данные подтверждают, что R101 не объявляет префикс 130.130.130.0/24 для R102. Загляните в таблицу BGP маршрутизатора R101.

    R101# show ip bgp 130.130.130 255.255.255.0 longer
    BGP table version is 4, local router ID is 10.10.20.1
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
    Origin codes: i - IGP, e - EGP, ? - incomplete
    
       Network          Next Hop            Metric LocPrf Weight Path
    * i130.130.130.0/24 10.10.20.3               0    100      0 i
    R101#

    Сеть 130.130.130.0/24 существует в таблице BGP. Но сеть 130.130.130.0/24 не имеет кода состояния оптимального маршрута (>). Это означает, что Алгоритм выбора оптимального пути BGP не выбрал этот префикс как наилучший путь. Поскольку только наилучшие пути объявляются одноранговым узлам BGP, сеть 130.130.130.0/24 не объявлялась узлу R102. Теперь нужно выяснить, почему критерий выбора пути BGP не выбрал эту сеть в качестве оптимального маршрута.

  2. Просмотрите выходные данные команды show ip bgp prefix, чтобы получить более подробную информацию, почему данный префикс не был выбран в качестве оптимального пути, а также не был установлен в таблице IP-маршрутизации.

    R101# show ip bgp 130.130.130.0
    BGP routing table entry for 130.130.130.0/24, version 4
    Paths: (1 available, no best path)
      Not advertised to any peer
      Local
        10.10.20.3 from 10.10.20.3 (130.130.130.3)
          Origin IGP, metric 0, localpref 100, valid, internal, not synchronized

    Выходные данные показывают, что префикс 130.130.130.0/24 не синхронизирован.

    Примечание. До обнаружения ошибки CSCdr90728 ("Пути BGP не маркируются как несинхронизированные"), команда show ip bgp prefix не показывала пути, маркированные как несинхронизованные. Эта проблема устранена в Cisco IOS Software Releases 12.1(4) и выше.

  3. Проверьте текущую конфигурацию BGP

    R101# show ip protocols 
    Routing Protocol is "bgp 1"
      Outgoing update filter list for all interfaces is not set
      Incoming update filter list for all interfaces is not set
      IGP synchronization is enabled
      Automatic route summarization is disabled
      Neighbor(s):
        Address          FiltIn FiltOut DistIn DistOut Weight RouteMap
        10.10.10.2                                           
        10.10.20.3                                           
      Maximum path: 1
      Routing for Networks:
      Routing Information Sources:
        Gateway         Distance      Last Update
        10.10.20.3           200      01:48:24
      Distance: external 20 internal 200 local 200

    Приведенные выше выходные данные показывают, что синхронизация BGP включена. В ПО Cisco IOS® синхронизация BGP включена по умолчанию.

  4. Настройте BGP, чтобы отключить синхронизацию. Выполните команду no synchronization для маршрутизатора BGP.

    R101(config)# router bgp 1
    
    R101(config-router)# no synchronization 
    
    R101# show ip protocols 
    
    Routing Protocol is "bgp 1"
      Outgoing update filter list for all interfaces is not set
      Incoming update filter list for all interfaces is not set
      IGP synchronization is disabled
      Automatic route summarization is disabled
      Neighbor(s):
        Address          FiltIn FiltOut DistIn DistOut Weight RouteMap
        10.10.10.2                                           
        10.10.20.3                                           
      Maximum path: 1
      Routing for Networks:
      Routing Information Sources:
        Gateway         Distance      Last Update
        10.10.20.3           200      01:49:24
      Distance: external 20 internal 200 local 200

    При следующем запуске сканера BGP, который сканирует таблицу BGP каждые 60 секунд и принимает решения на основе критерия выбора пути BGP, сеть 130.130.130.0 будет установлена (поскольку синхронизация отключена). Это означает, что максимальное время для установки маршрута – 60 секунд, но оно может быть меньше, в зависимости от того, когда настраивается команда no synchronization и когда возникает следующий экземпляр сканера BGP. Итак, лучше всего подождать 60 секунд перед следующим шагом проверки.

  5. Убедитесь, что маршрут установлен.

    Следующие выходные данные подтверждают, что префикс 130.130.130.0/24 является лучшим маршрутом; поэтому он устанавливается в таблицу IP-маршрутизации и передается одноранговому узлу 10.10.10.2.

    R101# show ip bgp 130.130.130.0
    BGP routing table entry for 130.130.130.0/24, version 5
    Paths: (1 available, best #1, table Default-IP-Routing-Table)
      Advertised to non peer-group peers:
      10.10.10.2 
      Local
        10.10.20.3 from 10.10.20.3 (130.130.130.3)
          Origin IGP, metric 0, localpref 100, valid, internal, best
    
    R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 130.130.130.0/24
    *>i130.130.130.0/24 10.10.20.3               0    100      0 i

Маршруты, объявленные командой Redistribute Static

Если маршрутизаторы соединены двумя каналами, и они получили информацию о BGP и плавающих статических маршрутах, эти плавающие статические маршруты устанавливаются в таблицу маршрутизации. Это происходит в том случае, если статические маршруты перераспределяются при отказе маршрута BGP. Если маршруты BGP вновь становятся доступными, плавающие статические маршруты в таблице маршрутизации не изменяются для отражения маршрутов BGP.

Эту проблему можно решить, если убрать команду redistribute static из процесса обработки BGP, чтобы предотвратить приоритизацию плавающих статических маршрутов относительно маршрутов BGP.


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 19345