Маршрутизаторы : Маршрутизаторы Cisco серии 10000

Настройка буфера для всех маршрутизаторов Cisco

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


Интерактивно этот документ предлагает анализ конкретного устройства Cisco.


Содержание


Введение

Данный документ содержит общее описание настройки буфера с учетом текущих платформ и общие сведения о команде show buffers.

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

Требования

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

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

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

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

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

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

Общий обзор

Настройка буфера позволяет изменить способ выделения маршрутизатором буферов из доступной памяти и способствует предотвращению потери пакетов во время всплесков трафика.

Чтобы определить, нуждается ли маршрутизатор в настройке буфера, используйте команды "show interfaces" и "show buffers".

Если у вас есть выходные данные команд show interfaces и show buffers или выходные данные технической поддержки показа (от режима включения) от устройства Сisco, можно использовать для получения наглядной информации о возможных проблемах и способах их устранения. Для работы с необходимо быть зарегистрированным пользователем, войти в систему и включить поддержку JavaScript.

Ниже приведен пример вывода команды show interfaces:

Output queue 0/40, 1041 drops; input queue 0/75, 765 drops 
35252345 packets input, 547082589 bytes, 940 no buffer 
  • Потери входящих и исходящих данных вызваны переполнением входящих и исходящих очередей пакетами данных. Эта проблема связана не с буфером, а скорее с ограничением производительности коммутации.

  • Значение No buffer соответствует числу пакетов, отброшенных из-за отсутствия свободного буфера для копирования пакета.

Воспользовавшись командой show buffers, посмотрите на размер буфера соответствующего MTU (maximum transmission unit) интерфейса:

Middle buffers, 600 bytes (total 150, permanent 25):
  147 in free list (10 min, 150 max allowed) 
  61351931 hits, 137912 misses, 51605 trims, 51730 created
  91652 failures (0 no memory)

В таблице ниже пояснены выходные данные:

Ключевое слово Описание
общее количество Общее количество буферов в пуле, включая как используемые, так и неиспользуемые буферы.
постоянный Постоянное количество выделенных в пуле буферов. Эти буферы всегда находятся в пуле и не могут быть обрезаны далеко.
в списке свободной памяти Количество доступных на данный момент свободных буферов в пуле.
min Минимальное число буферов, которое маршрутизатор должен пытаться сохранять в списке свободной памяти. Если число буферов в свободном списке падает ниже минимального значения, маршрутизатор должен осуществить попытку создания дополнительных буферов для этого пула.
max allowed Максимальное количество буферов, разрешенное в списке свободной памяти." Если количество буферов "в списке свободной памяти" больше, чем значение "max allowed", маршрутизатор должен попытаться обрезать буферы от пула.
соответствия Количество буферов, успешно назначенных из списка свободных.
неудачи Число раз буфер запросили, но никакие буферы не доступны в списке свободной памяти, или когда существуют меньше, чем буферы "min" в списке свободной памяти.
обрезки Число буферов, убранных из пула, когда число буферов в списке свободных превысило число разрешенного максимума буферов.
созданный Количество буферов, созданных в пуле, если количество буферов в списке свободной памяти меньше минимального."
никакая память Число попыток маршрутизатора создать новые буферы, оказывавшихся неудачными из-за нехватки свободной памяти в маршрутизаторе.
сбои Количество отказов предоставления буфера запрашивающему абоненту в пределах времени прерывания (следует иметь в виду, что маршрутизатор может создать новые буферы на уровне коммутации процессов, поэтому "отказ" не происходит, если не возникает состояние "no memory"). Число "ошибок" представляет число пакетов, которые были отброшены в результате переполнения буфера.

Как буферы обрабатываются маршрутизатором

Количество буферов в списке свободной памяти - это количество свободных буферов. При поступлении запроса буфера из списка свободных выделяется буфер.

Буферы IOS используются для двух основных причин:

  • Обработать трафик, завершающийся в маршрутизаторе.

  • Когда пакеты являются коммутированным процессом.

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

Маршрутизатор не создает новый буфер, если число буферов в списке свободных равно максимальному разрешенному значению для этого списка. Если памяти маршрутизатора недостаточно для создания нового буфера, то фиксируется нехватка свободной памяти. Если число буферов в списке свободных превышает максимальное разрешенное значение, то маршрутизатор удаляет излишние буферы.

Следует беспокоиться только о значениях "failures" и "no memory". Возможны сбои, но работа вскоре стабилизируется. Маршрутизатор по мере необходимости создает или согласовывает буферы для стабилизации числа сбоев. Если число ошибок продолжает увеличиваться, то, возможно, необходимо настроить буфер.

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

Платформы начального уровня (Cisco 1600, 2500, and 4000 Series Routers)

Пакеты, которые передаются в режиме обычной и быстрой коммутации, используют общие буфера. Эти буферы расположены в общей памяти. Общая память расположена в динамическом ОЗУ (DRAM) в маршрутизаторах Cisco серий 1600 и 2500 или в общем статическом ОЗУ (SRAM) для маршрутизаторов Cisco серий 4000, 4500 и 4700.

Первые строки команды show memory сообщают об объеме общей памяти, ее текущем использовании и ее низшей точке. Когда быстрое коммутирование пакета невозможно, во входную очередь коммутации процессов вставляется указатель на пакет, но сам пакет не копируется.

Ниже приводится вывод команды show buffers на платформе начального уровня (Cisco 4500):

router# show buffers

Buffer elements:
     471 in free list (500 max allowed)
     870696495 hits, 0 misses, 0 created
 
Public buffer pools:
Small buffers, 104 bytes (total 50, permanent 50):
     49 in free list (20 min, 150 max allowed)
     27301678 hits, 23 misses, 20 trims, 20 created
     0 failures (0 no memory)
Middle buffers, 600 bytes (total 150, permanent 25):
     147 in free list (10 min, 150 max allowed)
     61351931 hits, 137912 misses, 51605 trims, 51730 created
     91652 failures (0 no memory)
Big buffers, 1524 bytes (total 67, permanent 50):
     67 in free list (5 min, 150 max allowed)
     46293638 hits, 455 misses, 878 trims, 895 created
     0 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 96, permanent 10):
     79 in free list (0 min, 100 max allowed)
     11818351 hits, 246 misses, 98 trims, 184 created
     243 failures (0 no memory)
Large buffers, 5024 bytes (total 10, permanent 0):
     10 in free list (0 min, 10 max allowed)
     4504003 hits, 873040 misses, 759543 trims, 759553 created
     873040 failures (0 no memory)
Huge buffers, 18024 bytes (total 0, permanent 0):
     0 in free list (0 min, 4 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
    
Interface buffer pools:
TokenRing0 buffers, 4516 bytes (total 48, permanent 48):
     0 in free list (0 min, 48 max allowed)
     3099742 hits, 9180771 fallbacks
     16 max cache size, 1 in cache
TokenRing1 buffers, 4516 bytes (total 48, permanent 48):
     0 in free list (0 min, 48 max allowed)
     335172 hits, 403668 fallbacks
     16 max cache size, 16 in cache
Serial1 buffers, 1524 bytes (total 96, permanent 96):
     63 in free list (0 min, 96 max allowed)
     33 hits, 0 fallbacks
     0 max cache size, 0 in cache
Serial2 buffers, 1524 bytes (total 96, permanent 96):
     63 in free list (0 min, 96 max allowed)
     701370936 hits, 268 fallbacks
     0 max cache size, 0 in cache
Serial3 buffers, 1524 bytes (total 96, permanent 96):
     63 in free list (0 min, 96 max allowed)
     33 hits, 0 fallbacks
     0 max cache size, 0 in cache
Serial0 buffers, 4546 bytes (total 96, permanent 96):
     28 in free list (0 min, 96 max allowed)
     346854 hits, 5377043 fallbacks
     32 max cache size, 27 in cache

Пулы буферов интерфейса используются интерфейсами для ввода/вывода (I/O). Когда больше нет буфера в списке свободных буферов интерфейсов, маршрутизатор обращается к общим буферным пулам как к пулам нейтрализации. При нейтрализации производительность не уменьшается.

Кэширование – это функция программного обеспечения, за счет применения которой достигается повышение скорости доступа к буферу для кода драйвера уровня прерывания путем обхода некоторых служебных данных.

Примечание: Обычно интерфейсные буферы не нужно настраивать.

Высокопроизводительные платформы (процессоры маршрутизаторов, процессоры коммутаторов, процессоры кремниевых коммутаторов и процессоры маршрутизатор/коммутатор)

Ниже приведен результат выполнения команды show buffers на высокопроизводительной платформе:

Router# show buffers 

Buffer elements: 
  498 in free list (500 max allowed) 
  326504974 hits, 0 misses, 0 created 

Public buffer pools:    
Small buffers, 104 bytes (total 150, permanent 150): 
  140 in free list (30 min, 250 max allowed) 
  564556247 hits, 148477066 misses, 16239797 trims, 16239797 created 
  29356200 failures (0 no memory) 
Middle buffers, 600 bytes (total 120, permanent 120): 
  116 in free list (20 min, 200 max allowed) 
  319750574 hits, 85689239 misses, 9671164 trims, 9671164 created 
  26050704 failures (0 no memory) 
Big buffers, 1524 bytes (total 100, permanent 100): 
  98 in free list (10 min, 300 max allowed)    
  20130595 hits, 14796572 misses, 251916 trims, 251916 created 
  11813639 failures (0 no memory) 
VeryBig buffers, 4520 bytes (total 15, permanent 15): 
  14 in free list (5 min, 300 max allowed) 
  22966334 hits, 3477687 misses, 13113 trims, 13113 created 
  2840089 failures (0 no memory) 
Large buffers, 5024 bytes (total 12, permanent 12): 
  12 in free list (0 min, 30 max allowed) 
  849034 hits, 1979463 misses, 1028 trims, 1028 created 
  1979456 failures (0 no memory) 
Huge buffers, 18024 bytes (total 6, permanent 5): 
  4 in free list (2 min, 13 max allowed) 
  338440 hits, 1693496 misses, 1582 trims, 1583 created 
  1640218 failures (0 no memory) 

Пулы заголовка

Общих пулов буфера располагают в DRAM и называют системными буферами. Общая память процессора маршрутизации/коммутации (RSP) называется системной пакетной памятью (MEMD) и содержит 2 Мб. В процессорах RP и SP (или SSP) системные буферы находятся в RP, а MEMD — в SP (или SSP).

При поступлении пакета он сохраняется в памяти MEMD процессором приемного интерфейса (за исключением процессора универсального интерфейса — VIP). Если не удается быстрая коммутация пакета, то пакет копируется в системный буфер в памяти DRAM. Следовательно, команда show buffers отображает системные буфера, расположенные в памяти DRAM.

Команда show controllers cbus показывает буферы интерфейса MEMD. Изменять настройку буферов интерфейса не рекомендуется. Когда быстрое коммутирование пакета невозможно и он копируется в системный буфер, то пакет отбрасывается и регистрируется ошибка, если нет доступного системного буфера.

Платформы, поддерживающие разбиение на частицы

Cisco 3600 and 7200 Series Routers используют частицы. Буферы интерфейса представляют собой элементарные частицы, на которые разделяются пакеты. Когда быстрая коммутация пакета невозможна, маршрутизатор должен собрать его снова в одном системном буфере, код коммутации процессов не может обрабатывать части.

Ниже приведен вывод команды show buffers на Cisco 3600:

Router# show buffers 
Buffer elements:
     499 in free list (500 max allowed)
     136440 hits, 0 misses, 0 created
 
Public buffer pools:
Small buffers, 104 bytes (total 50, permanent 50):
     49 in free list (20 min, 150 max allowed)
     4069435 hits, 141 misses, 73 trims, 73 created
     52 failures (0 no memory)
Middle buffers, 600 bytes (total 25, permanent 25):
     25 in free list (10 min, 150 max allowed)
     628629 hits, 21 misses, 21 trims, 21 created
     3 failures (0 no memory)
Big buffers, 1524 bytes (total 50, permanent 50):
     50 in free list (5 min, 150 max allowed)
     9145 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 10, permanent 10):
     10 in free list (0 min, 100 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
Large buffers, 5024 bytes (total 0, permanent 0):
     0 in free list (0 min, 10 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
Huge buffers, 18024 bytes (total 0, permanent 0):
     0 in free list (0 min, 4 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)

Interface buffer pools:
CD2430 I/O buffers, 1524 bytes (total 0, permanent 0):
     0 in free list (0 min, 0 max allowed)
     0 hits, 0 fallbacks
 
Header pools:
Header buffers, 0 bytes (total 265, permanent 256):
     9 in free list (10 min, 512 max allowed)
     253 hits, 3 misses, 0 trims, 9 created
     0 failures (0 no memory)
     256 max cache size, 256 in cache

Particle Clones:
     1024 clones, 0 hits, 0 misses
 
Public particle pools:
F/S buffers, 256 bytes (total 384, permanent 384):
     128 in free list (128 min, 1024 max allowed)
     256 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
     256 max cache size, 256 in cache
Normal buffers, 1548 bytes (total 512, permanent 512):
     356 in free list (128 min, 1024 max allowed)
     188 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
     128 max cache size, 128 in cache
 

Private particle pools:
Ethernet0/0 buffers, 1536 bytes (total 96, permanent 96):
     0 in free list (0 min, 96 max allowed)
     96 hits, 0 fallbacks
     96 max cache size, 64 in cache
Serial0/0 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
BRI0/0 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
BRI0/0:1 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
BRI0/0:2 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
TokenRing0/0 buffers, 1548 bytes (total 64, permanent 64):
     0 in free list (0 min, 64 max allowed)
     64 hits, 0 fallbacks
     64 max cache size, 64 in cache
     4 buffer threshold, 0 threshold transitions

Закрытые пулы частиц используются интерфейсами и не требуют настройки. Если доступного буфера нет в списке свободной памяти, маршрутизатор возвращается к общим пулам частиц.

Буферы заголовков используются для хранения списка всех фрагментов, на которые разбит пакет.

Примечание: Буферы системы используются для коммутации процессов. На маршрутизаторе Cisco 3600 все эти буферы находятся в памяти I/O, расположенной на DRAM. Можно указать объем памяти ввода-вывода с помощью команды memory-size iomem. В Cisco 7200 буферных пулов интерфейса для адаптеров порты высокой пропускной способности (PA) располагаются в статическом ОЗУ.

Настройка буферов

Ниже приведен пример выходных данных команды show buffers:

Middle buffers, 600 bytes (total 150, permanent 25):
  147 in free list (10 min, 150 max allowed)
  61351931 hits, 137912 misses, 51605 trims, 51730 created
  91652 failures (0 no memory)

В этом примере промежуточные буферы имеют много ошибок. Это не является серьезной проблемой, так как представляет всего 0,1 % попаданий. Эти показатели можно легко улучшить настройкой буфера.

Настройка буфера сделана только, когда пакеты не могут быть пересланы в режиме CEF.

В зависимости от архитектуры маршрутизатора, настраиваемые буферы принадлежат, в общем случае, памяти ввода-вывода (низкопроизводительные) или основной памяти (высокопроизводительные). Прежде чем настраивать буферы, сначала необходимо убедиться в наличии достаточного объема свободной памяти ввода-вывода или основной памяти, используя команду show memory.

Вот несколько основных значений, которые вы можете использовать:

  • постоянный: возьмите количество полных буферов в пуле и добавьте около 20%.

  • минимальное число свободных буферов: установите значение для минимального размера свободного места буфера, равное 20-30% постоянного числа выделенных буферов в пуле.

  • без Max.: установите значение max-free так, чтобы оно было несколько выше, чем сумма постоянных и минимумов.

В приведенном выше примере настройки буфера можно было ввести эти команды в режиме глобальной настройки:

buffers middle permanent 180 
buffers middle min-free 50 
buffers middle max-free 230 

Обычно, Cisco, программное обеспечение IOS� создает буферы динамично так, чтобы эти параметры настройки были прекрасны. Однако в случае всплеска трафика маршрутизатору может не хватить времени для создания новых буферов, а число ошибок может увеличиваться и дальше. Используйте команду buffers, чтобы изменить настройки пула буферов по умолчанию. Будьте очень внимательны при изменении настроек буферов, поскольку некорректные настройки могут повлиять на производительность системы. Чтобы сбросить счетчики буферов, маршрутизатор необходимо перезагрузить.

Существует два вида вспышек трафика:

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

  • Быстрый пакет: В случае резких всплесков трафика маршрутизатору может не хватить времени для создания новых буферов, поэтому следует использовать свободные буферы. Для этого измените номер постоянных буферов.

Заключение: Если после начальной настройки увеличивается число создаваемых буферов, то увеличьте минимальное число свободных буферов (постепенный всплеск). Если увеличивается число ошибок, но не число создаваемых буферов (быстрый всплеск), то увеличьте число постоянных выделенных буферов.

Сохранение оптоволоконного буфера

Можно ввести команду fabric buffer-reserve, чтобы улучшить системную пропускную способность и резервировать буферы ASIC.

Эта команда поддерживается на этих модулях:

  • WS-X6704-10GE

  • WS-X6748-SFP

  • WS-X6748-GE-TX

  • WS-X6724-SFP

Эта команда не поддерживается на маршрутизаторах Cisco серии 7600, которые настроены с Supervisor Engine 32.

fabric buffer-reserve [high | low | medium | value]

caution Внимание.  : Используйте эту команду только под направлением Центра технической поддержки Cisco.

Это общие обстоятельства, где эта команда полезна:

  • Протокол линии связи выключается для нескольких интерфейсов

  • Переполнения замечены на нескольких интерфейсах

  • Порты часто оставляют и присоединяются к EtherChannel

  • Тест TestMacNotification неоднократно отказывает для линейных карт с DFC

Буферные утечки

Ниже приведен пример выходных данных команды show buffers:

Big buffers, 1524 bytes (total 1556, permanent 50): 
  52 in free list (5 min, 150 max allowed) 
  43670437 hits, 5134 misses, 0 trims, 1506 created 
  756 failures (0 no memory) 

Эти выходные данные показывают утечку буфера в большом пуле буферов. Общее количество крупных буферов на маршрутизаторе равно 1556, и лишь 52 из них находятся в списке свободных. Какое-то устройство использует все буферы и не освобождает их. Дополнительную информацию о буферных утечках см. в разделе Поиск и устранение буферных утечек.

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

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


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