Коммутаторы : ??????????? Cisco Catalyst ????? 3750

Устранение неполадок коммутаторов Catalyst серии 3750, связанных с высокой загрузкой ЦП

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

Требования

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

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

Сведения, содержащиеся в данном документе, относятся к коммутаторам Catalyst серии 3750.

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

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

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

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

Перед тем как рассматривать архитектуру ЦПУ для обработки пакетов и осуществлять поиск причин высокой загрузки ЦПУ, необходимо изучить, какими способами аппаратные пересылающие коммутаторы и маршрутизаторы, работающие под управлением программного обеспечения Cisco IOS®, используют ЦПУ. Самым распространенным заблуждением является то, что высокая загрузка ЦПУ означает уменьшение ресурсов устройства и опасность аварийного отказа. Проблема недостатка пропускной способности является одним из симптомов высокой загрузки ЦПУ маршрутизаторов Cisco IOS. Однако с коммутаторами, использующими аппаратную пересылку, высокая загрузка ЦПУ почти никогда не проявляется в виде недостатка пропускной способности.

Первый шаг при диагностике высокой загрузки ЦПУ – изучение замечаний к выпуску версии Cisco IOS для коммутаторов Catalyst 3750 на предмет возможных известных ошибок IOS. Тем самым можно исключить ошибку IOS из числа причин. Список замечаний к выпуску ПО для коммутаторов Catalyst 3750 см. в документе Замечания к выпуску ПО для коммутаторов Catalyst 3750.

Диагностика наиболее распространенных проблем с высокой загрузкой ЦПУ

Данный раздел содержит описание некоторых распространенных проблем, связанных с высокой загрузкой ЦПУ, на коммутаторах Catalyst 3750.

Высокая загрузка ЦПУ из-за насыщения сообщениями выхода IGMP

Одной из наиболее распространенных причин высокой загрузки ЦПУ в коммутаторах 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

Туннель общей инкапсуляции маршрутизации (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. Трафик запросов 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.

Высокая загрузка ЦПУ из-за процесса IP SNMP

В последних версиях Cisco IOS для коммутатора Catalyst 3750 запросы упрощенного протокола управления сетью (SNMP) обрабатываются ядром SNMP (SNMP ENGINE). Повышение загрузки ЦПУ, обусловленное процессом SNMP ENGINE, является нормой. Процесс SNMP имеет низкий приоритет и не должен затрагивать функционирование коммутатора.

Подробнее о высокой загрузке ЦПУ из-за процесса SNMP ENGINE можно узнать из документа Протокол IP SNMP приводит к высокой загрузке ЦПУ.

Высокая загрузка ЦПУ из-за шаблона SDM

Функция управления базой данных коммутатора (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

Отклоненные перенаправления 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.


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

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


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


Document ID: 68461