Перейти к содержимому
Калькуляторы

Cisco Nexus 3064 - CoPP (Control Plane Policing)

Здравствуйте! Привожу пример настройки Control Plane Policing (CoPP) для Cisco Nexus 3064 когда ключевая роль устройства - маршрутизатор, а второстепенная роль - коммутатор.

 

CoPP- это этакий storm-control для процессора коммутатора. При бродкастовом шторме, помимо прочего, резко возрастает количество ARP-запросов. Когда это количество зашкаливает, процессор загружается на 100% – и сеть, понятно, говорит вам “до свиданья”. CoPP умеет “дозировать” количество ARP-запросов и таким образом управлять нагрузкой на процессор. Неплохо справляется и с броадкастовыми штормами со стороны точек обмена трафиком, и с различными DDoS-атаками — проверено.
habr.com

 

Очистить статистику

clear copp statistics

 

Просмотр потерь

show policy-map interface control-plane | i DropPackets

 

 

Просмотр блоков 

Cisco-Nexus# show policy-map interface control-plane | section "class-map copp-s-arp"
    class-map copp-s-arp (match-any)
      police pps 2000 
        OutPackets    13782509
        DropPackets   16321314


sh policy-map type control-plane

show running-config copp

 

 

Описание ключевых блоков

 

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

 

class copp-s-glean (police pps 10000)
Какие-то очень важные пакеты, если Nexus используется в роли маршрутизатора. Замечено, что ARP пакеты, предназначающиеся клиентам или самому маршрутизатору  попадают в этот счетчик. Этот счетчик начинает резко расти при перестроении дерева Spanning-tree (MSTP). Если пороговое значение низкое, то в момент перестроения Spanning-tree начинают тупить пинги до клиентов, в то время как счетчик drop  продолжает расти. Значения 6000 PPS при тестировании перестроении MSTP не хватает. Пока не сделаешь «clear ip arp» счетчик не перестает расти. Можно ли сделать скрипт, который при росте счетчиков делал бы «clear ip arp»? При стрессе (петля) немного появляется дропов. 

 

class copp-s-arp (police pps 20000)
Это все ARP пакеты, проходящие через коммутатор L3. В этот счетчик попадают абсолютно все ARP пакеты, проходящие через коммутатор,  даже не адресованные коммутатору L3 (например транзитные arp пакеты из клиентских каналов). При закольцеваниях и штормах дропы начинают резко расти. Это оказывает отрицательное влияние, если Nexus используется в качестве маршрутизатора, страдает качество предоставления услуги интернет. Пороговое значение надо выставлять максимально возможным.

 

class copp-s-bpdu (police pps 500)
Обработчик bpdu кадров.

 

class copp-s-igmp (police pps 50)
Отрицательного влияния не выявлено

 

class copp-s-routingProto2 (police pps 100)
Не понятно, что за пакеты. При стрессе (петля) дропов нет. На настроенную маршрутизацию по протоколу BGP никакого отрицательного влияние не выявлено.

 

class copp-s-routingProto1 (police pps 500)
Не понятно, что за пакеты. Наличествует много дропов. При тестировании 50 PPS возникает лавина дропов, но отрицательного влияния при стрессе (петля) не выявлено.  На настроенную маршрутизацию по протоколу BGP никакого отрицательного влияние не выявлено.

 

class copp-s-selfIp (police pps 800)
Все пакеты, назначающиеся к самому устройству (ping любого IP адреса самого коммутатора, работа ssh, snmp). При малых значениях PPS пакеты начинают выстраиваться в очередь. Если интенсивно пинговать, то затрудняется доступ в SSH. Клиенты при диагностике (ping основного шлюза) могут получать большие задержки и даже потери. На коммутацию и маршрутизацию это никак не влияет. У copp-s-selfIp при превышении отсутствует drop. Вместо этого  пакеты выстраиваются в очередь и доступ к устройству начинает тупить. 

 

class copp-s-l3destmiss 
О назначении этих пакетов не известно

 

copp-s-l2switched
О назначении этих пакетов не известно 
 

 

Полная конфигурация

policy-map type control-plane copp-system-policy
  class copp-s-default
    police pps 100
  class copp-s-l2switched
    police pps 500
  class copp-s-ping
    police pps 10
  class copp-s-l3destmiss
    police pps 100
  class copp-s-glean
    police pps 10000
  class copp-s-selfIp
    police pps 800
  class copp-s-l3mtufail
    police pps 10
  class copp-s-ttl1
    police pps 20
  class copp-s-ipmcmiss
    police pps 5
  class copp-s-l3slowpath
    police pps 5
  class copp-s-dhcpreq
    police pps 5
  class copp-s-dhcpresp
    police pps 5
  class copp-s-dai
    police pps 5
  class copp-s-igmp
    police pps 50
  class copp-s-eigrp
    police pps 5
  class copp-s-pimreg
    police pps 5
  class copp-s-pimautorp
    police pps 5
  class copp-s-routingProto2
    police pps 100
  class copp-s-v6routingProto2
    police pps 5
  class copp-s-routingProto1
    police pps 500
  class copp-s-arp
    police pps 20000
  class copp-s-ptp
    police pps 5
  class copp-s-vxlan
    police pps 5
  class copp-s-bfd
    police pps 10
  class copp-s-bpdu
    police pps 400
  class copp-s-dpss
    police pps 5
  class copp-s-mpls
    police pps 5
control-plane
  service-policy input copp-system-policy

 

 

SNMP OID

OutPackets

copp-s-l2switched    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420319
copp-s-glean    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420322
copp-s-selfIp    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420323
copp-s-ttl1    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420325
copp-s-igmp    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420331
copp-s-routingProto2    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420335
copp-s-routingProto1    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420337
copp-s-arp    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420338
copp-s-bpdu    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420342
 

 

DropPackets

copp-s-l2switched    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420319
copp-s-glean    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420322
copp-s-selfIp    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420323
copp-s-ttl1    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420325
copp-s-igmp    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420331
copp-s-routingProto2    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420335
copp-s-routingProto1    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420337
copp-s-arp    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420338
copp-s-bpdu    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420342
 

 

 

Примеры графиков

image.thumb.png.21cf491afbede6db6e03e4772c634576.png

image.thumb.png.eef5b1297ee45e2d33e471265b65d082.png

image.thumb.png.b2c457551ec4cb4cfd8e713ecd78e7c5.png

image.thumb.png.d0f566dc4564613c5d39d8efc9f6b806.png

image.thumb.png.ee145e41bf43a727eca71c6508f23acb.png

image.thumb.png.70cf708861de9fd0ccf4f7fef2bdb7f6.png

 

 

Ссылки

Cisco Nexus 3000 Series NX-OS Security Configuration Guide, Release 7.x
Five Things About Cisco Nexus 5K Control Plane Policing (CoPP)

blog/ posts/ NX-OS Control Plane Policing

Modifying Control Plane Policying to Protect Routing Neighbors
Coping with CoPP – Why ICMP Drops Happen

 

Изменено пользователем neperpbl3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо! Сохранил себе. пригодится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 07.10.2021 в 07:53, neperpbl3 сказал:

SNMP OID

OutPackets

copp-s-l2switched    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420319
copp-s-glean    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420322
copp-s-selfIp    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420323
copp-s-ttl1    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420325
copp-s-igmp    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420331
copp-s-routingProto2    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420335
copp-s-routingProto1    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420337
copp-s-arp    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420338
copp-s-bpdu    .1.3.6.1.4.1.9.9.166.1.17.1.1.6.721420317.721420342
 

 

DropPackets

copp-s-l2switched    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420319
copp-s-glean    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420322
copp-s-selfIp    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420323
copp-s-ttl1    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420325
copp-s-igmp    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420331
copp-s-routingProto2    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420335
copp-s-routingProto1    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420337
copp-s-arp    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420338
copp-s-bpdu    .1.3.6.1.4.1.9.9.166.1.17.1.1.20.721420317.721420342
 

 

странно, но не находит таких OID на 7.0(3)I4(8a)

на какой версии у Вас они есть ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Hardware
  cisco Nexus3000 C3064PQ Chassis
  Intel(R) Celeron(R) CPU        P4505  @ 1.87GHz with 3901500 kB of memory.

  BIOS: version 5.0.0
 NXOS: version 9.3(7)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

... del

Изменено пользователем Meatlayer
del

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.