Перейти к основному содержимому

17.4 Настройка CPU Traffic

17.4.1 Обзор

Введение в функционал

CPU Traffic — полезный механизм для защиты процессора от вредоносных потоков, которые могут перегружать коммутаторы, отправляя в них большое количество PDU.

Ограничение CPU-трафика предоставляет двухуровневую защиту:

  • Ограничение на низком уровне - осуществляется для каждой причины, реализуется с помощью формирования очередей для каждого типа PDU.
  • Ограничение на высоком уровне - применяется для всех причин, реализуется через формирование каналов на уровне CPU-канала.

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

Примечание

Под словом «причина» подразумевается тип пакетов, которые отправляются на процессор для дальнейшей обработки.

Описание всех причин приведено ниже:

ПричинаОписание
arpПротокол разрешения адресов (ARP)
bpduБлок протоколов мостов (BPDU)
dhcpПротокол динамической конфигурации хостов (DHCP)
eapolПротокол расширенной аутентификации по локальной сети
erpsЗащита Ethernet-кольца (ERPS)
fwd-to-cpuПакеты, перенаправленные на процессор
icmp-redirectICMP-переадресация
igmpПротокол IGMP Snooping
ip-optionПакеты с IP-опциями
ipdaПакеты с назначением IP к маршрутизатору
sshПакеты протокола SSH
telnetПакеты протокола Telnet
mlagПакеты протокола MLAG
tcpПакеты протокола TCP
ldpПротокол распространения меток (LDP)
macsa-mismatchБезопасность порта по исходному MAC-адресу
mcast-rpf-failMulticast с RPF ошибкой или первый multicast-пакет
mpls-ttl-failMPLS пакеты с ошибкой TTL
ip-mtu-failIP-пакеты с ошибкой MTU
ospfПротокол OSPF
pimПротокол независимой маршрутизации Multicast (PIM)
port-security-discardБезопасность порта для превышения FDB
ripПротокол RIP
sflow-egressПробоотбор пакетов на выходе
sflow-ingressПробоотбор пакетов на входе
slow-protocolМедленные протоколы (включая EFM, LACP и SYNCE)
smart-linkПротокол Smart Link
ucast-ttl-failUnicast пакеты с ошибкой TTL
udldПротокол обнаружения однонаправленных связей (UDLD)
vlan-security-discardБезопасность VLAN для превышения FDB
vrrpПротокол VRRP
bfd-learningПакеты обучения BFD
dot1x-mac-bypassПакеты с обходом аутентификации MAC
bgpПакеты протокола BGP
egress-ttl-failПакеты с ошибкой TTL на выходе
icmpv6Пакеты ICMPv6
l2protocol-tunnelТуннельные пакеты второго уровня
loopback-detectionПакеты обнаружения петель
mirror-to-cpuПакеты зеркалирования на процессор
ndpПакеты протокола обнаружения соседей
tunnel-gre-keepaliveПакеты Keepalive туннеля GRE

Скорости и классы по умолчанию для каждой причины

ПричинаСкорость (pps)Класс
arp2561
bpdu643
dhcp1280
eapol1280
erps1283
fwd-to-cpu640
icmp-redirect1280
igmp1282
ip-option5120
ipda10000
ssh643
telnet643
mlag10001
tcp642
ldp5121
macsa-mismatch1280
mcast-rpf-fail1281
mpls-ttl-fail640
ip-mtu-fail640
ospf2561
pim1281
port-security-discard1280
rip641
sflow-egress1280
sflow-ingress1280
slow-protocol2561
smart-link1282
ucast-ttl-fail640
udld1283
vlan-security-discard1280
vrrp5121
bfd-learning1281
dot1x-mac-bypass642
bgp2561
egress-ttl-fail640
icmpv6642
l2protocol-tunnel10000
loopback-detection643
mirror-to-cpu10000
ndp642
tunnel-gre-keepalive640

Принципы работы

PDU - Protocol Data Unit

17.4.2 Конфигурация

Шаг 1: Перейдите в режим конфигурации

Switch# configure terminal

Шаг 2: Настройте общую скорость

Значение по умолчанию: 2000 pps.

Switch(config)# cpu-traffic-limit total rate 3000

Шаг 3: Настройте скорость для отдельной причины

Например, для RIP:

Switch(config)# cpu-traffic-limit reason rip rate 500

Шаг 4: Настройте класс причины

Switch(config)# cpu-traffic-limit reason rip class 3
Примечание

Диапазон допустимых значений класса: 0-3. Большее число означает более высокий приоритет.

Шаг 5: Выйдите из режима конфигурации

Switch(config)# end

Шаг 6: Проверка

Для проверки используйте следующие команды привилегированного режима EXEC:

Switch# show cpu traffic-limit
reason rate (pps) class
dot1x-mac-bypass 64 2
bpdu 64 3
slow-protocol 256 1
eapol 128 0
erps 128 3
smart-link 128 2
udld 128 3
loopback-detection 64 3
arp 256 1
dhcp 128 0
rip 500 3
ldp 512 1
ospf 256 1
pim 128 1
bgp 256 1
vrrp 512 1
ndp 64 2
icmpv6 64 2
ssh 64 3
telnet 64 3
mlag 1000 1
tcp 64 2
ipda 1000 0
icmp-redirect 128 0
mcast-rpf-fail 128 1
macsa-mismatch 128 0
port-security-discard 128 0
vlan-security-discard 128 0
egress-ttl-fail 64 0
ip-mtu-fail 64 0
bfd-learning 128 1
ptp 512 2
ip-option 512 0
tunnel-gre-keepalive 64 0
ucast-ttl-fail 64 0
mpls-ttl-fail 64 0
igmp 128 2
sflow-ingress 128 0
sflow-egress 128 0
fwd-to-cpu 64 0
l2protocol-tunnel 1000 0
mirror-to-cpu 1000 0
Total rate: 3000 (pps)

Для отображения статистической информации о CPU-трафике используйте следующие команды привилегированного режима EXEC:

Switch# show cpu traffic-statistics receive all 
statistics rate time is 5 second(s)
reason count(packets) rate(pps)
dot1x-mac-bypass 0 0
bpdu 0 0
slow-protocol 0 0
eapol 0 0
erps 0 0
smart-link 0 0
udld 0 0
loopback-detection 0 0
arp 0 0
dhcp 0 0
rip 0 0
ldp 0 0
ospf 0 0
pim 0 0
bgp 0 0
vrrp 0 0
rsvp 0 0
ndp 0 0
icmpv6 0 0
ssh 0 0
telnet 0 0
mlag 0 0
tcp 0 0
ipda 0 0
icmp-redirect 0 0
mcast-rpf-fail 0 0
macsa-mismatch 0 0
port-security-discard 0 0
vlan-security-discard 0 0
egress-ttl-fail 0 0
ip-mtu-fail 0 0
bfd-learning 0 0
ptp 0 0
ip-option 0 0
tunnel-gre-keepalive 0 0
ucast-ttl-fail 0 0
mpls-ttl-fail 0 0
igmp 0 0
sflow-ingress 0 0
sflow-egress 0 0
fwd-to-cpu 0 0
l2protocol-tunnel 0 0
mirror-to-cpu 0 0
mpls-tp-pwoam 0 0
other 0 0
Total 0 0