Для этого документа отсутствуют особые требования.
Сведения, содержащиеся в данном документе, относятся к коммутаторам Catalyst серии 3750.
Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в данном документе, были запущены с конфигурацией по умолчанию. При работе в действующей сети необходимо понимать последствия выполнения любой команды.
Дополнительные сведения об условных обозначениях см. в документе Условные обозначения технических терминов Cisco.
Перед тем как рассматривать архитектуру ЦПУ для обработки пакетов и осуществлять поиск причин высокой загрузки ЦПУ, необходимо изучить, какими способами аппаратные пересылающие коммутаторы и маршрутизаторы, работающие под управлением программного обеспечения Cisco IOS®, используют ЦПУ. Самым распространенным заблуждением является то, что высокая загрузка ЦПУ означает уменьшение ресурсов устройства и опасность аварийного отказа. Проблема недостатка пропускной способности является одним из симптомов высокой загрузки ЦПУ маршрутизаторов Cisco IOS. Однако с коммутаторами, использующими аппаратную пересылку, высокая загрузка ЦПУ почти никогда не проявляется в виде недостатка пропускной способности.
Первый шаг при диагностике высокой загрузки ЦПУ – изучение замечаний к выпуску версии Cisco IOS для коммутаторов Catalyst 3750 на предмет возможных известных ошибок IOS. Тем самым можно исключить ошибку IOS из числа причин. Список замечаний к выпуску ПО для коммутаторов Catalyst 3750 см. в документе Замечания к выпуску ПО для коммутаторов Catalyst 3750.
Данный раздел содержит описание некоторых распространенных проблем, связанных с высокой загрузкой ЦПУ, на коммутаторах Catalyst 3750.
Одной из наиболее распространенных причин высокой загрузки ЦПУ в коммутаторах Catalyst 3750 является занятость ЦПУ обработкой большого числа сообщений о выходе межсетевого протокола управления группами (IGMP). Если стек коммутаторов Catalyst 3750 с выпуском программного обеспечения Cisco IOS 12.1(14)EA1a соединен с другим коммутатором, например Cat6500 с операционной системой CatOS, который формирует запросы IGMP на основе MAC-адресов с параметрами IP, то процессор коммутатора 3750 будет занят процессом отслеживания IGMPSN. Это обусловлено зацикливанием пакетов запроса на основе MAC-адреса в стеке. Также процессор может быть сильно загружен процессом HRPC hl2mm request. Если в стеке Catalyst 3750 с выпуском Cisco IOS 12.1(14)EA1a настроен канал EtherChannel. то может возникнуть насыщение сообщениями выхода IGMP.
Catalyst 3750 получает большое число запросов IGMP. В результате счетчик запросов IGMP увеличивается на сотни отсчетов за секунду. Это приводит к высокой загрузке центрального процессора в коммутаторах Catalyst 3750. Подробные сведения см. в описании кода ошибки Cisco CSCeg55298 (только для зарегистрированных заказчиков). Эта ошибка выявлена в выпуске программного обеспечения IOS Cisco 12.1(14)EA1a и исправлена на выпусках программного обеспечения Cisco IOS начиная с 12.2(25)SEA. Окончательное решение состоит в обновлении до текущей версии Cisco IOS. Временное решение – отключить отслеживание IGMP в стеке Catalyst 3750 или отключить запросы на основе MAC-адреса на коммутаторе, подключенном к стеку 3750.
Ниже приведен пример выходных данных команды show ip traffic, в котором видно большое количество IP-пакетов с неверными параметрами и резкое увеличение счетчиков предупреждений.
Switch#show ip traffic Rcvd: 48195018 total, 25628739 local destination 0 format errors, 0 checksum errors, 10231692 bad hop count 0 unknown protocol, 9310320 not a gateway 0 security failures, 10231 bad options, 2640539 with options Opts: 2640493 end, 206 nop, 0 basic security, 2640523 loose source route 0 timestamp, 0 extended security, 16 record route 0 stream ID, 0 strict source route, 10231 alert, 0 cipso, 0 ump 0 other Frags: 16 reassembled, 0 timeouts, 0 couldn't reassemble 32 fragmented, 0 couldn't fragment Bcast: 308 received, 0 sent Mcast: 4221007 received, 4048770 sent Sent: 25342014 generated, 20710669 forwarded Drop: 617267 encapsulation failed, 0 unresolved, 0 no adjacency 0 no route, 0 unicast RPF, 0 forced drop 0 options denied, 0 source IP address zero !--- Output suppressed.
Команда show processes cpu отображает сведения об активных процессах маршрутизатора и соответствующую статистику использования ими ЦПУ. Ниже приведен пример команды show processes cpu при нормальной загрузке ЦПУ.
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN !--- CPU utilization at normal condition. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC hI2mm reque !--- Output suppressed.
Ниже приведен пример команды show processes cpu при высокой загрузке ЦПУ, обусловленной процессом отслеживания IGMP.
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 100 100 100 0 IGMPSN !--- Due to high CPU utilization. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 2874 0 100 100 100 0 HRPC hI2mm reque !--- Output suppressed.
Туннель общей инкапсуляции маршрутизации (GRE) коммутаторами Cisco Catalyst серии 3750 не поддерживается. Несмотря на то, что эту функцию можно настроить через интерфейс командной строки, пакеты не будут коммутироваться ни аппаратно, ни программно, что увеличивает загрузку ЦПУ.
Примечание. Для многоадресной маршрутизации в коммутаторе Catalyst 3750 поддерживаются только туннельные интерфейсы протокола многоадресной маршрутизации с вектором расстояния (DVMRP). Даже в этом случае аппаратная коммутация пакетов невозможна. Пакеты, маршрутизируемые через этот туннель, требуют программной коммутации. Увеличение количества пакетов, пересылаемых через этот туннель, увеличивает загрузку ЦПУ.
Обойти эту проблему невозможно. Проблема вызвана аппаратными ограничениями коммутаторов Catalyst серии 3750.
При объединении коммутаторов Catalyst 3750 в стек изменение конфигурации коммутатора приводит к пробуждению процесса hulc running config, который создает новую копию рабочей конфигурация. Затем он рассылает информацию всем коммутаторам в стеке. Обработка новой рабочей конфигурации требует большого объема ресурсов центрального процессора. Поэтому создание нового процесса рабочей конфигурации и пересылка новых конфигураций другим коммутаторам сопровождается высокой загрузкой центрального процессора. Тем не менее, эта высокая загрузка центрального процессора должна присутствовать только то время, которое необходимо для выполнения этапа создания конфигурации для команды show running-configuration.
Искать решения для обхода этой проблемы не требуется. Высокая загрузка центрального процессора в таких ситуациях нормальна.
Ниже приведен пример команды show processes cpu при высокой загрузке ЦПУ, обусловленной процессом hulc running.
switch#show processes cpu CPU utilization for five seconds: 63%/0%; one minute: 27%; five minutes: 23% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC h12mm reque 17 85964 426 201793 55.72% 12.05% 5.36% 0 hulc running !--- Output suppressed.
Высокая загрузка ЦПУ во входном процессе протокола разрешения адресов (ARP) возникает в том случае, когда маршрутизатору приходится создавать чрезмерно большое количество запросов ARP. Трафик запросов ARP на один и тот же IP-адрес ограничен одним запросом каждые две секунды. Поэтому чрезмерное количество запросов ARP может иметь место для различных IP-адресов. Это может произойти, если настроен IP-маршрут, указывающий на широковещательный интерфейс. Самый очевидный пример – маршрут по умолчанию, как в следующем случае:
ip route 0.0.0.0 0.0.0.0 Fastethernet0/0
При этом маршрутизатор создает запрос ARP для каждого IP-адреса, который недоступен через более точные маршруты. Фактически это означает, что маршрутизатор создает запрос ARP почти для каждого адреса в Интернете. Процедура настройки адреса следующего перехода для статической маршрутизации описана в документе Определение IP-адреса следующего узла для статических маршрутов.
Другой причиной чрезмерно большого количества запросов ARP может быть поток трафика из-за действий злоумышленников, сканирующих локально подключенные подсети. Признаком такого потока будет присутствие большого числа неполных записей ARP в таблице ARP. Поскольку входящие пакеты IP, вызывающие запросы ARP, всегда подлежат обработке, меры по устранению этой проблемы аналогичны устранению высокой загрузки ЦПУ во входном процессе IP.
В последних версиях Cisco IOS для коммутатора Catalyst 3750 запросы упрощенного протокола управления сетью (SNMP) обрабатываются ядром SNMP (SNMP ENGINE). Повышение загрузки ЦПУ, обусловленное процессом SNMP ENGINE, является нормой. Процесс SNMP имеет низкий приоритет и не должен затрагивать функционирование коммутатора.
Подробнее о высокой загрузке ЦПУ из-за процесса SNMP ENGINE можно узнать из документа Протокол IP SNMP приводит к высокой загрузке ЦПУ.
Функция управления базой данных коммутатора (SDM) на коммутаторах Catalyst серии 3750 работает с информацией о коммутации 2-го и 3-го уровней в тройной ассоциативной памяти (TCAM). Шаблоны SDM используются для настройки системных ресурсов в коммутаторе и оптимизации поддержки определенных функций в зависимости от характера использования коммутатора в сети. Шаблоны SDM могут быть выбраны для максимального использования системных ресурсов определенными функциями или для выравнивания нагрузки на ресурсы посредством шаблона по умолчанию. Шаблоны задают приоритет использования системных ресурсов для оптимизации поддержки следующих типов функций.
Маршрутизация. Шаблон маршрутизации максимизирует использование системных ресурсов для одноадресной маршрутизации. Обычно потребность в этом возникает для маршрутизатора или агрегатора в центре сети.
Сети VLAN. Шаблон VLAN отключает маршрутизацию и поддерживает максимальное число MAC-адресов для одноадресной рассылки. Обычно этот шаблон выбирается для коммутаторов 2-го уровня.
Доступ. Шаблон доступа максимизирует использование системных ресурсов для списков контроля доступа (ACL), позволяя обслуживать большое количество списков контроля доступа.
По умолчанию. Шаблон по умолчанию равномерно распределяет ресурсы между всеми функциями.
Каждый из шаблонов существует в двух вариантах: шаблон для настольных устройств и шаблон агрегатора.
Примечание. В настольных коммутаторах по умолчанию действует шаблон для настольных устройств. В коммутаторе Catalyst 3750-12S по умолчанию действует шаблон агрегатора.
Выберите соответствующий шаблон SDM, который бы предоставлял максимум системных ресурсов используемой функции. Применение неподходящего шаблона SDM может вызвать перегрузку процессора и существенно ухудшить работу коммутатора.
Для проверки объема используемой и доступной памяти TCAM используйте команду show platform tcam utilization.
Switch#show platform tcam utilization CAM Utilization for ASIC# 0 Max Used Masks/Values Masks/values Unicast mac addresses: 784/6272 12/26 IPv4 IGMP groups + multicast routes: 144/1152 6/26 IPv4 unicast directly-connected routes: 784/6272 12/26 IPv4 unicast indirectly-connected routes: 272/2176 8/44 IPv4 policy based routing aces: 0/0 0/0 IPv4 qos aces: 528/528 18/18 IPv4 security aces: 1024/1024 27/27 Note: Allocation of TCAM entries per feature uses a complex algorithm. The above information is meant to provide an abstract view of the current TCAM utilization
Если для любого из параметров объем используемой памяти TCAM близок к максимальному, проверьте, нельзя ли оптимизировать работу этого параметра, выбрав другие шаблоны.
show sdm prefer access | default | dual-ipv4-and-ipv6 | routing | vlan
Switch# show sdm prefer routing "desktop routing" template: The selected template optimizes the resources in the switch to support this level of features for 8 routed interfaces and 1024 VLANs. number of unicast mac addresses: 3K number of igmp groups + multicast routes: 1K number of unicast routes: 11K number of directly connected hosts: 3K number of indirect routes: 8K number of policy based routing aces: 512 number of qos aces: 512 number of security aces: 1K
Для указания шаблона SDM, который необходимо использовать в коммутаторе, выполните глобальную команду конфигурации sdm prefer.
Примечание. Для использования нового шаблона SDM требуется перезагрузка коммутатора.
Маршрутизации на основе политик (PBR) в коммутаторах Cisco Catalyst 3750 реализована с рядом ограничений. Пренебрежение этими ограничениями может привести к высокой загрузке процессора.
Функцию PBR можно включить на маршрутизируемом порту или на интерфейсе SVI.
Коммутатор не поддерживает для PBR операторы route-map deny.
Маршрутизация многоадресного трафика на основе политик не выполняется. PBR относится только к одноадресному трафику.
Не следует сопоставлять списки контроля доступа, разрешающие пакеты для локальных адресов. PBR будет выполнять пересылку таких пакетов, в результате чего может быть нарушено функционирование протоколов ping или Telnet, либо происходить частое переключение протокола маршрутизации.
Не следует сопоставлять списки контроля доступа с запрещающими (deny) записями ACE. Пакеты, которые соответствуют запрещающим записям ACE, передаются в ЦПУ и могут увеличить нагрузку на него.
Для использования PBR необходимо вначале разрешить шаблон маршрутизации командой sdm prefer routing. PBR не поддерживается с сетью VLAN или шаблоном по умолчанию.
Полный список см. в разделе Указания по настройке PBR.
Отклоненные перенаправления ICMP могут возникать в том случае, когда одна сеть VLAN (или любой порт 3-го уровня) получает пакет, в котором IP-адрес источника находится в одной подсети, IP-адрес получателя находится в другой подсети, а следующий переход находится в той же самой сети VLAN или сегменте 3-го уровня.
Например:
В выходных данных команды show log присутствует следующее сообщение:
51w2d: ICMP-Q:Dropped redirect disabled on L3 IF: Local Port Fwding L3If:Vlan7 L2If:GigabitEthernet2/0/13 DI:0xB4, LT:7, Vlan:7 SrcGPN:65, SrcGID:65, ACLLogIdx:0x0, MacDA:001a.a279.61c1, MacSA: 0002.5547.3bf0 IP_SA:64.253.128.3 IP_DA:208.118.132.9 IP_Proto:47 TPFFD:EDC10041_02C602C6_00B0056A-000000B4_EBF6001B_0D8A3746
Это имеет место в том случае, когда пакет принимается через сеть VLAN 7 с IP-адресом источника 64.253.128.3, и производится попытка достигнуть получателя 208.118.132.9. Можно видеть, что следующий переход, настроенный на маршрутизаторе (в данном случае – 64.253.128.41) также лежит в сети VLAN 7.