Протокол IP : Протокол BGP

Обеспечение оптимальной маршрутизации и сокращение объема памяти, используемой протоколом BGP

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Этот документ иллюстрирует существенную оптимизацию маршрутизации в корпоративной сети, соединенной с несколькими поставщиками услуг Интернета (ISP), наряду с уменьшением требований к памяти для маршрутизаторов протокола граничного шлюза (BGP). Это достигается использованием фильтров AS_PATH для приема только маршрутов, исходящих от ISP, и напрямую подключенных к нему автономных систем, вместо приема от ISP полной таблицы маршрутизации BGP.

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

Требования

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

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

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

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

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

Общие сведения

В этом разделе сетевая диаграмма приведена в качестве примера. В этом примере вы фильтруете входящие обновления BGP на Router1 и Router2 для принятия трасс ISP и маршрутов соединенной напрямую автономной системы. Маршрутизатор 1 принимает маршруты для ISP-A и его непосредственно связанной автономной системы C1. Аналогичным образом маршрутизатор 2 принимает маршруты для ISP-B и C2. Остальные сети, не принадлежащие к ISP, и автономная система их пользователей следуют маршруту по умолчанию, указывающему на ISP-A или ISP-B в зависимости от политики маршрутизации предприятия.

/image/gif/paws/12512/41a.gif

Можно просмотреть различия в использовании памяти при принятии маршрутизатором Router 1 полной таблицы маршрутизации BGP из примерно 100 000 маршрутов от поставщика интернет-услуг в сравнении с применением фильтров AS_PATH на маршрутизаторе Router 1.

Примечание: Фактическое число префиксов, составляющих полный поток, может различаться. Значения в этом документе служат только в качестве примера. Маршрутные серверы могут подать идею о том, как много префиксов заполнят таблицу BGP. (Дополнительные сведения о маршрутных серверах см. на Traceroute.org.). leavingcisco.com)

Маршрутизатор BGP получает полную таблицу маршрутизации BGP

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

Маршрутизатор 1
hostname R1 
! 
router bgp  XX 
 no synchronization 
 neighbor  157.x.x.x  remote-as 701 
 neighbor  157.x.x.x  filter-list 80 out 
! 
ip as-path access-list 80 permit ^$ 
! 
end

Выходные данные команды show ip bgp summary показывают, что 98,410 префиксов были получены от ISP-A (Соседний BGP узел 157. x . x . x :

R1# show ip bgp summary
BGP router identifier 65.yy.yy.y, local AS number XX
BGP table version is 611571, main routing table version 611571
98769 network entries and 146299 paths using 14847357 bytes of memory
23658 BGP path attribute entries using 1419480 bytes of memory
20439 BGP AS-PATH entries using 516828 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
5843 BGP filter-list cache entries using 70116 bytes of memory
BGP activity 534001/1904280 prefixes, 2371419/2225120 paths, scan interval 15 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
165.yy.yy.a     4  6xx9   32962  826287   611571    0    0 01:56:13        1
165.yy.yy.b     4  6xx9   32961  855737   611571    0    0 01:56:12        1
165.yy.yy.c     4  6xx9  569699  865164   611571    1    0 01:55:39    47885
157.x.x.x       4   701 3139774  262532   611571    0    0 00:07:24    98410

Выходные данные команды show ip route summary показывают, что 80,132 маршрута BGP установлены в таблице маршрутизации:

R1# show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source    Networks    Subnets     Overhead    Memory (bytes)
connected       0           4           256         576
static          0           1           64          144
eigrp 6         0           5           768         720
bgp  XX         80132       18622       6320256     14326656
  External: 87616 Internal: 11138 Local: 0
internal        854                                 994056
Total           80986       18632       6321344     15322152

Эта команда показывает количество памяти RAM, занятой процессами BGP:

R1# show processes memory | begin BGP
 PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
  73   0  678981156   89816736   70811036          0          0 BGP Router
  74   0    2968320  419750112      61388    1327064        832 BGP I/O
  75   0          0    8270540       9824          0          0 BGP Scanner
                                 70882248 Total BGP
                                 77465892 Total all processes

Процесс BGP занимает приблизительно 71 Мб памяти.

Маршрутизатор BGP сконфигурирован с входящим списком фильтра AS_PATH

В данном примере вы применяете список входящего фильтра для принятия маршрутов, инициируемых ISP-A и его непосредственно связанными автономными системами. В примере ISP-A объявляет маршрут по умолчанию (0.0.0.0) через внешний BGP (eBGP), таким образом, маршруты, которые не передают список фильтров, придерживаются маршрута по умолчанию к ISP-A. Это - конфигурация для того, чтобы установить список фильтров:

Маршрутизатор 1
hostname R1 
! 
router bgp  XX 
 no synchronization 
 . 
 neighbor 157.x.x.x remote-as 701 
 neighbor 157.x.x.x filter-list 80 out 
 neighbor 157.x.x.x filter-list 85 in

!--- This line filters inbound BGP updates.
 
 ! 
ip as-path access-list 80 permit ^$ 
ip as-path access-list 85 permit ^701_[0-9]*$  

!--- The AS_PATH filter list filters ISP and the 
!--- directly connected autonomous system routes.
 
! 
end

Данный выход команды show ip bgp summary показывает, что 31667 префиксов было получено от ISP-A (сосед 157.xx.xx.x):

R1# show ip bgp summary
BGP router identifier 165.yy.yy.y, local AS number XX
BGP table version is 92465, main routing table version 92465
36575 network entries and 49095 paths using 5315195 bytes of memory
4015 BGP path attribute entries using 241860 bytes of memory
3259 BGP AS-PATH entries using 78360 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
4028 BGP filter-list cache entries using 48336 bytes of memory
BGP activity 1735069/3741144 prefixes, 4596920/4547825 paths, scan interval 15 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
165.yy.yy.a     4  6319  226694 1787061    92465    0    0 17:31:04        1
165.yy.yy.b     4  6319  226814 1806986    92465    0    0 19:51:53        1
165.yy.yy.c     4  6319 1041069 1822703    92465    0    0 19:44:52    17424
157.xx.xx.x     4   701 14452518  456341    92465    0    0 19:51:37    31667

Вывод команды show ip route summary содержит маршруты BGP 27,129 в маршрутной таблице:

R1# show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source    Networks    Subnets     Overhead    Memory (bytes)
connected       0           4           256         576
static          0           1           64          144
eigrp 6319      0           6           896         864
bgp 6319        27129       9424        2339392     5299332
  External: 19134 Internal: 17419 Local: 0
internal        518                                 602952
Total           27647       9435        2340608     5903868

Объем памяти, используемой процессом BGP, равен примерно 28 Мб, как показано ниже:

R1# show processes memory | include BGP
 PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
  73   0  900742224  186644540   28115880          0          0 BGP Router
  74   0    5315232  556232160       6824    2478452        832 BGP I/O
  75   0          0   39041008       9824          0          0 BGP Scanner
                                 28132528 Total BGP
                                 34665820 Total all memory

Устранения неполадок памяти – связанные проблемы

Чтобы проверить память, используемую процессом BGP, используйте команду show processes memory | include bgp. Наиболее распространенные проблемы, отнесенные к злоупотреблению памятью, перечислены здесь:

  • Ошибка выделения памяти "%SYS-2-MALLOCFAIL". Для получения дополнительной информации об этом сообщении об ошибках, сошлитесь на документ, Устраняющий неполадки Ошибок памяти.

  • Отклоненные сеансы Telnet.

  • Отсутствуют выходные данные для некоторых команд show.

  • Сообщения об ошибках "Недостаточно памяти".

  • Консольные сообщения "Невозможно создать EXEC - не хватает памяти или слишком много процессов".

  • Маршрутизатор завис либо консоль не отвечает. Для получения дополнительной информации сошлитесь на документ, Устраняющий неполадки Высокой загрузки ЦП на маршрутизаторах Cisco.

  • При выполнении связанных с BGP отладок это обычно вызывает потребление избыточного использования памяти, которое может также привести к ошибкам памяти из-за BGP. Отладки для BGP нужно выполнить с осторожностью и нужно избежать, если они не требуются.

Для хранения завершенной глобальной таблицы BGP-маршрутизации от одного Однорангового соединения по протоколу BGP, лучше иметь минимум 512 МБ или 1 ГБ ОЗУ в маршрутизаторе. Если 256 МБ ОЗУ используются, рекомендуется использовать больше фильтров маршрута. При использовании 512 МБ ОЗУ больше интернет-маршрутов может быть размещено в таблицу маршрутизации с меньшим количеством фильтров маршрута. На Catalyst 6500/6000, получающем полную таблицу BGP, рекомендуется иметь Функциональную Карту Многоуровневого Коммутатора (MSFC) 2 (MSFC2) с 256 МБ ОЗУ для предотвращения идентификатора ошибки Cisco CSCdt13244 (только зарегистрированные клиенты). Использование памяти маршрутами BGP зависит от количества атрибутов, таких как многопутевая поддержка, изменение конфигурации ПО, количество узлов и AS_PATH. Для получения дополнительной информации на требовании памяти BGP (пограничного межсетевого протокола), обратитесь к RFC 1774 leavingcisco.com.

Скоростная маршрутизация Cisco / Distributed Cisco Express Forwarding (CEF/dCEF) коммутация использует память, в зависимости от размера таблицы маршрутизации. Имеются два главных компонента CEF:

  • База данных переадресации (FIB)

  • Таблица смежности

Обе таблицы сохранены в памяти DRAM. Гарантируйте, что Многоцелевой интерфейсный процессор (VIP) или линейная карта также содержат достаточный свободный объем памяти DRAM. %FIB-3-FIBDISABLE: Fatal error, slot [#]: никакая память" и "%FIB-3-NOMEM" сообщения об ошибках не указывают на недостаточную память в картах.

Это настоятельно рекомендовано для проверки памяти VIP или памяти линейной карты прежде, чем включить dCEF. Выполните эти шаги для подтверждения памяти:

  1. Настройте централизованную CEF - коммутацию путем запуска команды ip cef в режиме глобальной конфигурации.

    Позвольте времени для Таблицы FIB создавать.

  2. Проверьте размер центральной таблицы FIB с помощью команды show ip cef summary.

  3. Определите, имеют ли VIP или линейная карта достаточный доступный DRAM для хранения Таблицы FIB подобного размера.

    Выполните show controller vip [slot#] техническая команда и проверьте выходные данные команды show memory summary.

Когда рабочие маршруты BGP полнофункционального Интернета, лучше иметь по крайней мере 512 МБ или 1 ГБ ОЗУ на VIP или линейной карте.

Для получения дополнительной информации об устранении проблем проблем с памятью, включающих CEF/dCEF, сошлитесь на документ, Устраняющий неполадки связанных со скоростной маршрутизацией Cisco Сообщений об ошибках.

Заключение

На графике показано сохранение памяти путем реализации списка фильтрации:

  Количество префиксов Использованная память
Никакая фильтрация 98,410 70,882,248
Фильтр автономной системы 31,667 28,132,528

Когда маршрутизатор BGP получает полную таблицу маршрутизации BGP от своих соседей (98410 маршрутов), то он занимает примерно 71 МБ. При помощи фильтров AS_PATH, применяемых к внутренним обновлениям, размер таблицы маршрутизации BGP сокращается до 31667 маршрутов, а использования памяти составляет около 28 Мб. Это увеличение в памяти более 60 процентов с оптимальной маршрутиризацией.

При рассмотрении интернет-Графика AS leavingcisco.com, скомпилированного Кооперативным сопоставлением для интернет-Анализа данных (CAIDA) вы видите, какие интернет-провайдеры имеют наивысшую степень взаимосвязанности (самые близкие к центру диаграммы). С меньшей внутренней связностью, некоторые маршрутизаторы проходят через фильтр AS_PATH filter, и расход BGP памяти меньше. Однако важно обратить внимание, что каждый раз, когда Фильтры as_path установлены, необходимо настроить маршрут по умолчанию (0/0). Маршруты, не соответствующие списку фильтров AS_PATH, заменяются маршрутом по умолчанию.

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

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


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


Document ID: 12512