CCNA Security online course

Protecting the Network Control Plane

Learn how Cisco IOS control-plane protection works, including CoPP, CPPr, routing authentication, policy design, validation, and troubleshooting.

The control plane is the processing domain that keeps a network operating. It handles protocol exchanges and decisions used to discover neighbors, learn topology, calculate reachability, and maintain network state. Protecting it prevents excessive or unauthorized traffic from consuming the CPU and disrupting routing.

This lesson covers Control Plane Policing (CoPP), Cisco Control Plane Protection (CPPr), and routing-protocol authentication. It assumes familiarity with basic security terms, IPv4 routing, ACLs, Cisco IOS configuration modes, SSH, and Cisco Express Forwarding (CEF).

Understand the Network Planes

A network device commonly performs three related but distinct jobs:

  • Control plane: Processes device-to-device signaling and protocols needed for discovery, topology learning, reachability, and network operation.
  • Data plane: Forwards ordinary user and application packets according to installed forwarding information.
  • Management plane: Provides administrative access for configuration, monitoring, and operational control, such as SSH.
PlanePrimary functionTypical trafficMain security concernRepresentative protection
Control planeMaintains topology, reachability, and device operationRouting updates, ARP processing, neighbor discovery, keepalives, and exception packetsCPU or memory exhaustion and unauthorized protocol informationCoPP, CPPr, routing authentication, infrastructure ACLs
Data planeForwards ordinary transit trafficUser application packets forwarded using the FIB and adjacency informationUnauthorized access, spoofing, and resource abuseInterface ACLs, anti-spoofing, segmentation, and QoS
Management planeProvides administrative control and monitoringSSH, AAA, SNMP, logging, and device-management sessionsUnauthorized access and management-service floodsSecure SSH, AAA, management ACLs, and rate limiting

The boundaries are useful, but not every CPU-processed packet is a routing update. Some management traffic and some transit traffic require CPU attention even though they are not ordinary control-protocol messages.

Examples of control-plane and CPU-bound traffic

  • OSPF, EIGRP, BGP, or other routing-protocol updates and keepalives.
  • ARP requests, replies, and related address-resolution processing.
  • Neighbor-discovery messages and device-to-device protocol signaling.
  • Packets with expired TTL values, which may require an ICMP response.
  • Packets containing IP options or other features that cannot be handled by the normal hardware-forwarding path.
  • SSH and other packets addressed to the router that require local CPU processing.
  • Packets punted from CEF because they represent a forwarding exception.

CPU-bound traffic means packets that must be examined or processed by the device CPU instead of being handled entirely by hardware forwarding. This traffic is an important protection boundary because the CPU has finite processing capacity.

Why Protect the Control Plane?

Routing and convergence depend on CPU-based protocol processing. A router must receive and process routing messages, maintain neighbor relationships, calculate or install routes, and respond to operational events. If excessive packets consume CPU or memory, ordinary forwarding may continue temporarily while control functions degrade.

CPU exhaustion can cause:

  • Delayed routing updates and slow topology changes.
  • Lost routing adjacencies because keepalives or protocol messages are not processed in time.
  • Poor convergence after a link or device failure.
  • Unavailable or unreliable SSH and other management access.
  • Incorrect, stale, or unavailable forwarding information.
  • Increased packet loss, instability, or complete loss of network connectivity.

Overload can be accidental, such as a routing loop, a broadcast storm, a new monitoring system, or an unexpectedly large number of exception packets. It can also be intentional:

  • A flood of routing-protocol packets or forged neighbor messages.
  • A flood of SSH or other management-access attempts.
  • Malformed packets designed to trigger expensive processing.
  • Large numbers of packets requiring CEF exceptions or special handling.
  • Attempts to introduce unauthorized routing information.

Control-plane protection reduces the impact of these events, but it does not replace secure management, interface ACLs, anti-spoofing, or routing authentication.

Control Plane Policing (CoPP)

Control Plane Policing (CoPP) is a Cisco IOS mechanism that applies QoS policing to packets handled by the route processor or device CPU. CoPP is normally configured with the Modular QoS CLI (MQC) framework:

  1. An ACL or other match condition identifies traffic.
  2. A class map groups matching packets into a named traffic category.
  3. A policy map assigns an action, such as policing, to each class.
  4. The policy is attached to the aggregate control-plane interface with a service policy.

A class map identifies traffic through match statements. Depending on the platform and IOS release, classification can use protocol, source or destination address, an ACL, DSCP, or other supported conditions.

A policer permits traffic up to a configured rate and applies an action to excess traffic. Conforming traffic can be transmitted to the CPU. Exceeding traffic can be dropped or, where supported and appropriate, remarked. The rate must be high enough for legitimate operation but low enough to limit abuse.

CoPP policy categories

A practical policy usually separates traffic into categories rather than applying one broad rule:

  • Critical routing and infrastructure protocols: Routing updates, neighbor messages, and required infrastructure signaling. These need carefully sized allowances.
  • Management traffic: Authorized SSH and other required administrative services. Management should be limited without preventing normal administration.
  • Normal control traffic: ARP, discovery, keepalives, and other expected device-operation traffic.
  • Undesirable traffic: Untrusted, spoofed, malformed, or unnecessary traffic that should be dropped or strictly limited.
  • Default class: Traffic not matched by an explicit class. Its treatment should be deliberate rather than accidental.

Place essential protocol classes before broad default-drop or default-police behavior. For example, an SSH class can restrict a flood of connection attempts while allowing normal authorized sessions.

Illustrative CoPP policy

ip access-list extended COPP-SSH
 permit tcp any host 192.0.2.1 eq 22
class-map match-any COPP-SSH-CLASS
 match access-group name COPP-SSH
policy-map COPP-POLICY
 class COPP-SSH-CLASS
  police 64000 conform-action transmit exceed-action drop
 class class-default
  police 1000000 conform-action transmit exceed-action drop
control-plane
 service-policy input COPP-POLICY

SSH flood example

Suppose a router receives a large number of TCP connections destined for SSH. Without protection, each attempt may consume CPU resources for connection handling and authentication processing. An ACL can identify TCP port 22 traffic destined for the router, and a CoPP class can police that traffic.

  • Packets within the configured allowance continue to the CPU.
  • Excess packets are discarded according to the policy.
  • Authorized administrators can continue to connect when their traffic stays within the normal allowance.
  • Class counters and CPU utilization show whether the limit is appropriate.

CoPP is not an access-control mechanism by itself. Use it with management-plane protection, secure SSH configuration, AAA, routing authentication, interface ACLs, and anti-spoofing controls.

Cisco Control Plane Protection (CPPr)

Cisco Control Plane Protection (CPPr) extends CoPP by permitting more granular classification of CPU-bound and exception traffic. CoPP protects the aggregate control plane. CPPr separates that aggregate into three logical subinterfaces so different traffic types can receive different policing treatment.

  • Host subinterface: Packets addressed to a router's physical or logical interface that require CPU processing. Examples include routing protocols, ARP-related processing, and management traffic such as SSH.
  • Transit subinterface: Packets that would otherwise be forwarded through the device but require CPU intervention before continuing. Packets using IP options are an example.
  • CEF-exception subinterface: Packets punted from Cisco Express Forwarding for a network-operation exception. Examples include keepalives and packets whose TTL expires.

CPPr lets an administrator apply different limits to host, transit, and CEF-exception traffic. For example, management and routing traffic can be allowed on the host category, suspicious transit packets requiring CPU examination can be restricted more aggressively, and TTL-expired traffic can receive a separately sized allowance.

SubinterfaceTraffic direction or purposeExamplesPolicy objective
HostTraffic addressed to the device and requiring CPU processingRouting updates, ARP, neighbor messages, SSHProtect essential local services while limiting management and protocol abuse
TransitTraffic that is being forwarded but needs CPU interventionPackets using IP options or other special forwarding featuresRestrict expensive or suspicious transit exceptions
CEF-exceptionTraffic punted from CEF for an operational exceptionKeepalives, TTL-expired packets, and related exception trafficAllow normal exceptions while preventing exception floods
control-plane host
 service-policy input HOST-COPP-POLICY
control-plane transit
 service-policy input TRANSIT-COPP-POLICY
control-plane cef-exception
 service-policy input CEF-EXCEPTION-COPP-POLICY
FeatureTraffic scopeClassification granularityConfiguration attachment pointPrimary use case
CoPPAggregate traffic reaching the control planeClasses based on protocols, addresses, ACLs, DSCP, and supported match criteriaAggregate control-plane interfaceEstablish an overall CPU traffic policy
CPPrCPU-bound host, transit, and CEF-exception trafficSeparate policy treatment for three logical processing pathsHost, transit, and CEF-exception control-plane subinterfacesAdd separation and precision when one aggregate policy is insufficient

Routing-Protocol Authentication

A device that accepts unauthenticated routing updates may trust a rogue router as if it were a legitimate neighbor. The rogue device could advertise a more attractive route, inject false topology information, or repeatedly form and drop adjacencies.

Unauthenticated route advertisements can:

  • Alter routing tables and redirect traffic through an unauthorized device.
  • Create black holes by advertising unreachable destinations.
  • Enable traffic inspection or interception by causing traffic to take an attacker-controlled path.
  • Destabilize the network through repeated topology changes.

Routing protocol authentication requires valid authentication information before routing exchanges are accepted. Depending on the protocol and platform, this may use a shared password or cryptographic message authentication. Legitimate adjacent routers must use compatible authentication parameters.

Authentication is configured per routing protocol and often per interface or neighbor relationship. Secure key handling matters: protect configuration access, avoid exposing secrets in operational documents, use consistent key identifiers where applicable, and rotate keys through a controlled process. Modern platform and protocol guidance may favor stronger cryptographic options than legacy MD5 where supported.

OSPF message-digest example

interface GigabitEthernet0/0
 ip ospf message-digest-key 1 md5 EXAMPLE-KEY
 ip ospf authentication message-digest

An unauthorized device that lacks the required authentication parameters should fail to establish a valid adjacency or have its updates rejected. Legitimate neighbors with matching settings remain operational.

Authentication validates the origin or integrity of routing exchanges; it does not limit packet rates and does not fully protect the CPU from denial-of-service floods. Use authentication together with CoPP or CPPr and appropriate interface controls.

Control-Plane Policy Design

Build a baseline before enforcing policing. Record normal protocol rates, expected management activity, trusted peer addresses, required services, and traffic patterns during convergence and failure recovery. This prevents a policy from treating a legitimate event as an attack.

Traffic classExamplesTrust levelRecommended actionValidation metric
Critical routing and infrastructure protocolsRouting updates, neighbor messages, ARP, required keepalivesTrusted peers and required local servicesExplicitly permit and police with a rate sized for convergenceNeighbor state, update counters, convergence behavior
Authorized managementSSH and approved monitoring accessRestricted administrative sourcesPermit and rate-limit; combine with management ACLs and AAASuccessful sessions, class drops, login latency
CEF exceptionsTTL expiration and other punted packetsVariable; often externally generatedApply a separate allowance when CPPr is availableException counters and CPU utilization
Unwanted or spoofed trafficForged protocol packets, malformed packets, unnecessary servicesUntrustedDrop or strictly police; reinforce with ACLs and anti-spoofingDrop counters, source analysis, logs
Default trafficUnclassified CPU-bound packetsUnknownUse an intentional default policy after required classes are definedDefault-class rate and drops
  1. Identify trusted routing peers and required management sources.
  2. Classify essential protocols before broad default behavior.
  3. Start with conservative limits that preserve legitimate operation.
  4. Deploy in stages, preferably during a maintenance window.
  5. Monitor counters, drops, CPU utilization, logs, management reachability, and routing-neighbor status.
  6. Document the policy, assumptions, thresholds, and rollback procedure.
  7. Revise the policy when protocols, management services, traffic patterns, or topology change.

Validation Commands

Review policy behavior together with device health and routing state. A low drop count does not prove that the policy is correct, and a high drop count is not automatically a problem if the traffic is unwanted.

show policy-map control-plane
show policy-map control-plane host
show policy-map control-plane transit
show policy-map control-plane cef-exception
show processes cpu sorted
show ip ospf neighbor
show ip ospf interface
  • Check packet and drop counters for each class.
  • Compare CPU utilization before and after deployment.
  • Confirm that routing adjacencies remain stable during normal traffic and convergence.
  • Test that authorized administrators can still establish SSH sessions.
  • Investigate unexpected sources, matches, or default-class activity.

Troubleshooting

Routing neighbors repeatedly reset after CoPP is enabled

  • Likely causes: Routing packets were omitted, the rate or burst allowance is too low, or packets were classified unexpectedly.
  • Diagnostic actions: Check policy drops, neighbor state, protocol logs, ACL matches, class-map matches, and peer addresses.
  • Resolution: Add or correct the required routing class and size the limit from observed operational demand.

Legitimate SSH sessions are slow or fail

  • Likely causes: The management rate is too low, the ACL is too broad, or the default class drops management packets.
  • Diagnostic actions: Review SSH and default-class counters; confirm the destination address, TCP port, and expected sources; measure normal concurrent administration.
  • Resolution: Refine classification and increase only the validated allowance while retaining source restrictions.

CPU remains high even though CoPP is configured

  • Likely causes: The policy does not match the overload, the traffic is generated internally or uses another path, permitted rates are too generous, or an unnecessary service is exposed.
  • Diagnostic actions: Inspect process CPU usage and control-plane counters; identify packet types and sources; review enabled management and routing services.
  • Resolution: Correct classification, reduce exposure with complementary controls, and tune the appropriate class.

Routing authentication prevents adjacency formation

  • Likely causes: Keys, key identifiers, authentication modes, interface settings, or key-chain timing do not match; authentication was configured on only one peer.
  • Diagnostic actions: Compare both routers' interface and routing-protocol settings, review neighbor output and logs, and confirm the correct interfaces participate in the routing process.
  • Resolution: Make authentication settings consistent across legitimate peers and verify adjacency recovery.

Exam-Relevant Notes

  • The control plane maintains network operation; the data plane forwards ordinary traffic; the management plane supports administration.
  • CoPP applies QoS policing to aggregate traffic reaching the control plane.
  • MQC uses match criteria or ACLs, class maps, policy maps, and service-policy attachment.
  • CPPr adds separate host, transit, and CEF-exception policy categories.
  • Host traffic is addressed to the device, transit traffic is forwarded traffic needing CPU intervention, and CEF exceptions are packets punted from normal CEF processing.
  • Routing authentication helps prevent unauthorized route advertisements, but it is not a rate limiter or complete denial-of-service defense.
  • Always allow and size essential routing and infrastructure traffic before applying restrictive default handling.

Related Protection Areas

Control-plane protection works best as part of a broader architecture. Review data-plane protection, management-plane protection, AAA, and SSH on Cisco routers to cover the other major security domains.