CoPP - Configuración

Control Plane Policing (CoPP) protege el plano de control del dispositivo (la CPU) limitando la tasa del tráfico dirigido a él, para evitar que un exceso de tráfico (ataques DoS, tormentas) lo sature. Se configura con la estructura MQC. La validación está en CoPP - Verificación y el diagnóstico en CoPP - Troubleshooting.


Prerrequisitos

  • Tener claro qué tráfico va al plano de control (protocolos de enrutamiento, gestión SSH/SNMP, ICMP, etc.) y qué tasa es razonable para cada tipo.

Conceptos previos (estructura MQC)

Se trabaja con la estructura MQC (Modular QoS CLI), en este orden:

  1. Configurar ACLs: identifican cada tipo de tráfico del plano de control.
  2. Class-Map: agrupa el tráfico (referenciando las ACLs).
  3. Policy-Map: define qué hacer con cada clase (limitar/descartar).
  4. Service-Policy: aplica el policy-map al plano de control (control-plane).

La idea es la del diagrama de tu diapositiva: un Policy-Map con varias clases, cada una con su límite (por ejemplo 8000 bps - Drop para una clase y 10000 bps - Drop para otra).


Comandos de configuración

1. ACLs (clasificación)

Router(config)# access-list número-ACL permit protocolo origen destino

2. Class-Map

Router(config)# class-map NOMBRE-CLASE
Router(config-cmap)# match access-group número-ACL

3. Policy-Map (acción: police)

Router(config)# policy-map NOMBRE-POLICY
Router(config-pmap)# class NOMBRE-CLASE
Router(config-pmap-c)# police tasa-bps conform-action transmit exceed-action drop

4. Service-Policy en el plano de control

Router(config)# control-plane
Router(config-cp)# service-policy input NOMBRE-POLICY

Dos ejemplos completos de configuración

Ejemplo 1 — Limitar ICMP hacia la CPU

Diseño: R1 limita el tráfico ICMP dirigido al equipo a 8000 bps para protegerse de floods de ping.

R1# configure terminal

! ACL que identifica ICMP
R1(config)# access-list 120 permit icmp any any

! Clase
R1(config)# class-map CLASE-ICMP
R1(config-cmap)# match access-group 120
R1(config-cmap)# exit

! Política con límite y descarte del exceso
R1(config)# policy-map COPP
R1(config-pmap)# class CLASE-ICMP
R1(config-pmap-c)# police 8000 conform-action transmit exceed-action drop
R1(config-pmap-c)# exit
R1(config-pmap)# exit

! Aplicar al plano de control
R1(config)# control-plane
R1(config-cp)# service-policy input COPP
R1(config-cp)# end
R1# copy running-config startup-config

Ejemplo 2 — Varias clases con distintos límites

Diseño (como el diagrama de tu diapositiva): una clase con 8000 bps y otra con 10000 bps, cada una con su ACL.

R1# configure terminal

! ACLs
R1(config)# access-list 121 permit icmp any any
R1(config)# access-list 122 permit udp any any eq snmp

! Clases
R1(config)# class-map CLASE-1
R1(config-cmap)# match access-group 121
R1(config-cmap)# exit
R1(config)# class-map CLASE-2
R1(config-cmap)# match access-group 122
R1(config-cmap)# exit

! Política con límites por clase
R1(config)# policy-map COPP
R1(config-pmap)# class CLASE-1
R1(config-pmap-c)# police 8000 conform-action transmit exceed-action drop
R1(config-pmap-c)# exit
R1(config-pmap)# class CLASE-2
R1(config-pmap-c)# police 10000 conform-action transmit exceed-action drop
R1(config-pmap-c)# exit
R1(config-pmap)# exit

R1(config)# control-plane
R1(config-cp)# service-policy input COPP
R1(config-cp)# end
R1# write memory

Verificación rápida (comprobar que quedó bien)

La validación detallada está en CoPP - Verificación.

! Política aplicada al plano de control y sus contadores
R1# show policy-map control-plane

Qué deberías ver:

  • Cada clase con su límite (police) y los contadores de paquetes conformed (dentro del límite) y exceeded (descartados).

El concepto (MQC, ACLs+class-map+policy-map+service-policy, límites con drop) es de tu diapositiva. Los detalles de police/control-plane son estándar de Cisco. Si quieres que ajuste algo, dime.