Control plane policing (CoPP) protects switch control processors by classifying and rate-limiting traffic that is destined for the control plane.
CoPP protects network stability and reachability by preventing excessive protocol traffic from overwhelming the supervisor module.
Control and data planes
CoPP applies policers to traffic destined for the IP addresses of a router or Layer 3 switch. You can configure rate limits for each protocol that can reach the control processor.
The leaf and spine switch NX-OS software in Cisco Application Centric Infrastructure ( ACI ) uses CoPP to prevent denial-of-service (DoS) attacks from affecting switch performance. These attacks can be intentional or unintentional and typically involve high rates of traffic destined for the supervisor module or switch CPU.
The supervisor module processes traffic through the following functional planes:
-
Data plane —Forwards data packets from one interface to another. Packets that are not destined for the switch are transit packets and are processed by the data plane.
-
Control plane —Processes routing protocol traffic. Protocols such as Border Gateway Protocol (BGP) and Open Shortest Path First (OSPF) exchange control packets that are destined for router addresses.
Denial-of-service attacks
The control plane is critical to the operation of the Cisco ACI fabric. Excessive traffic can overload the supervisor module, consume resources needed to process legitimate traffic, and disrupt the network.
Examples of DoS attacks include:
-
Internet Control Message Protocol (ICMP) echo requests
-
IP fragments
-
TCP SYN floods
DoS attacks can cause the following conditions:
-
Reduced service quality for voice, video, and critical application traffic
-
High route processor or switch processor CPU utilization
-
Route flaps caused by the loss of routing protocol updates or keepalive messages
-
Exhaustion of processor resources, including memory and buffers
-
Indiscriminate drops of incoming packets
Control plane protection
NX-OS on Cisco ACI leaf and spine switches classifies traffic destined for the control plane. CoPP then applies a policer to each traffic class to prevent the traffic from overwhelming the supervisor module.
Control plane packet types
The following packet types can reach the control plane:
-
Receive packets —Packets destined for a Layer 2 or Layer 3 address of the router, such as a router MAC address or an interface IP address. These packets include routing updates, keepalive messages, and packets sent to multicast addresses used by the router.
-
Exception packets —Packets that require special handling by the supervisor module. For example, if a destination address is not present in the Forwarding Information Base (FIB), the resulting miss does not cause the supervisor module to send an ICMP unreachable message. This behavior protects the supervisor module from distributed denial-of-service (DDoS) attacks. The supervisor module also drops IP packets that contain IP options.
-
Redirect packets —Packets that a feature redirects to the supervisor module. For example, Dynamic Host Configuration Protocol (DHCP) snooping and dynamic Address Resolution Protocol (ARP) inspection redirect certain packets to the supervisor module.
-
Glean packets —Packets received by the supervisor module when the FIB does not contain a Layer 2 MAC address for the destination IP address. The supervisor module sends an ARP request to resolve the destination.
CoPP classification
Any control plane packet type can be used to overwhelm the fabric. CoPP separates packets into traffic classes so that you can control the rate at which the supervisor module receives each type.
Different rate-control policies can be applied according to the packet type. For example, a routing protocol hello packet can have a less restrictive rate limit than an exception packet that contains an IP option.
Available classification categories
The available categories are ACLLOG , ARP , BGP , CDP , COOP , DHCP , EIGRP , , ICMP , IGMP , ISIS , LACP , LLDP , MCP , ND , OSPF , PERMIT LOG , PIM , STP , TRACEROUTE , Infra ARP , IFC Other , IFC SPAN , IFC , Glean , and ToR-Glean .
Rate-control parameters
For each classification category, you can configure the rate and burst parameters in packets per second (PPS).
-
Committed information rate (CIR) —The desired traffic rate, specified in PPS.
-
Committed burst (BC) —The number of packets that can exceed the CIR during a specified interval without affecting scheduling.
Default policing policies
When a leaf or spine switch first boots, NX-OS applies predefined CoPP parameters for the supported traffic categories. Cisco determines the default values through testing.
CoPP protects Cisco ACI leaf and spine switches by default. You can tune the CoPP parameters for a group of nodes to meet operational requirements.