Routelearn.net
Course menu

Course 15: Automation and ProgrammabilityLesson 1.1 (1 of 4 in this course)88 of 91 in the CCNA series

Traditional vs. controller-based networking

Control, data and management planes, SDN and controllers, northbound and southbound APIs, and Cisco Catalyst Center.

Intermediate · 12 min read

SDN (Software-Defined Networking) is an architecture that moves much of the control plane from individual devices to a central controller. The controller talks to the devices through southbound interfaces and offers northbound APIs to applications and administrators, while the devices keep forwarding traffic in the data plane.

In simple terms: Rather than logging in to each device one by one, you tell a central controller what you want. The controller works out the details and programs all the devices for you.

A real-life situation

Your company has 40 branch offices. Security asks for a new ACL on every access switch, and a new VLAN for IP cameras. Done the traditional way, an engineer logs in to more than 120 switches one by one with SSH, pastes commands and hopes nothing was missed. A week later two switches still have the old ACL and one has a typo.

Controller-based networking changes this. You describe what you want once, in one central system, and that system configures every device and keeps checking that they stay that way. This lesson explains the idea, the vocabulary the CCNA exam uses for it, and what you set up on a Cisco device so a controller can manage it.

What it is: the three planes

Every network device does three different jobs. Cisco calls them planes:

PlaneIts jobExamples
Data plane (forwarding plane)Moves user packets and frames from an input port to an output port.Looking up the MAC table or routing table, adding and removing 802.1Q tags, applying an ACL, NAT translation.
Control planeDecides how to forward: builds the tables the data plane uses.OSPF, Spanning Tree, ARP, MAC learning, CDP/LLDP.
Management planeLets people and tools configure and monitor the device.SSH, the console, SNMP, Syslog, NTP, NETCONF, RESTCONF.

In a traditional network every device runs all three planes on its own. Each router runs its own OSPF, each switch runs its own Spanning Tree, and an engineer manages each box through its own CLI. The control plane is distributed: no single device sees the whole network.

Software-defined networking (SDN) moves some of that work into a central controller: software, usually on a server or cluster of servers, that knows the whole network. The controller holds the policy and talks to every device through software interfaces called APIs (application programming interfaces: defined ways for one program to ask another to do something).

The SDN architecture

The CCNA uses a three-layer model for controller-based networks. Here it is drawn for this course's lab, where Catalyst Center manages R1, SW1 and SW2:

Application layer
Programs that tell the controller what the network should do.
Python scriptsAnsible / TerraformITSM ticketingMonitoring dashboards
Northbound API (NBI): REST over HTTPS, JSON
Control layer: the controller (Catalyst Center, 10.10.0.10)
Central view of the network, policy, inventory, assurance data.
Device inventoryTemplatesPolicyAssurance / health
Southbound API (SBI): NETCONF, RESTCONF, SSH/CLI, SNMP, OpenFlow
Infrastructure layer
Routers and switches still forward every packet themselves (data plane).
R1
10.10.0.1
SW1
10.10.1.11
SW2
10.10.1.12
Northbound faces the applications above the controller; southbound faces the devices below it.
  • Northbound interface (NBI): how apps and people talk to the controller. Almost always a REST API with JSON.
  • Southbound interface (SBI): how the controller talks to the devices. Common ones:
    • NETCONF: XML messages over SSH, TCP port 830.
    • RESTCONF: REST-style HTTPS requests with JSON or XML.
    • SSH and CLI commands, and SNMP: the older but still common methods.
    • OpenFlow: the original open SDN protocol, which programs flow tables directly.
    • OpFlex: used by Cisco ACI in the data centre.

NETCONF and RESTCONF use YANG data models. A YANG model is a schema: a precise description of which settings exist (an interface has a name, a description, an enabled flag, addresses) and what values they accept. Because the model is fixed, a program can read and change settings without parsing human-readable CLI output.

Why it works that way

Distributed control planes are very good at one thing: surviving failures. If one router dies, OSPF on the others reconverges with no central brain needed. That is why even controller-based Cisco networks keep routing protocols running on the devices.

What distributed networks are bad at is consistency and scale of management. Hundreds of hand-typed configurations drift apart over time, and nobody has one view of health. A controller fixes the management problem:

  • One source of truth: the intended configuration lives in the controller, not in each engineer's notes.
  • Consistency: the same template goes to every device, so typos are made once or not at all.
  • Speed: one change reaches 500 devices in minutes.
  • Visibility: the controller collects health data from every device in one place.
  • Programmability: other tools can drive the network through the northbound API.

Cisco calls the idea of describing what you want ("cameras may only talk to the video server") instead of how to configure it intent-based networking (IBN). The controller translates the intent into device configuration.

How it works step by step

Here is a change made through Catalyst Center in the course lab. The NetOps PC and Catalyst Center sit on the management network 10.10.0.0/24 behind R1; the switches are managed on VLAN 99 (10.10.1.0/24).

Gi0/0/0 .1Gi0/0/1Gi1/0/24Gi0/0/2Gi1/0/24NetOps PC10.10.0.50 (Ansible, Terraform)MGMT-SW10.10.0.0/24Catalyst Center10.10.0.10 cc1.example.comR1mgmt 10.10.0.1SW1mgmt 10.10.1.11SW2mgmt 10.10.1.12
  1. 1. 1. Intent goes to the controller. The engineer (or a script, through the northbound REST API) asks Catalyst Center for a new VLAN 30 for cameras on all access switches.
  2. 2. 2. The controller configures the devices. Catalyst Center builds the configuration from a template and pushes it to SW1 and SW2 over the southbound API (SSH/CLI or NETCONF).
  3. 3. 3. Devices forward traffic themselves. User traffic never passes through the controller. The switches and router forward it using their own tables (the data plane).
  4. 4. 4. Devices report back. SNMP, Syslog and streaming telemetry flow back to the controller, which compares reality with the intent and shows any drift or fault.

Before it can manage a device, the controller must discover it and add it to its inventory. With Catalyst Center this happens over the southbound protocols you configure on the device:

Step 1 of 5 · SSH login
Catalyst Center
10.10.0.10
Management network
routed through R1
SW1
10.10.1.11

Exact discovery steps depend on the controller and its version; SSH and SNMP are the usual minimum for Catalyst Center.

Underlay, overlay and fabric

Controller-based campus networks such as Cisco SD-Access (software-defined access, run by Catalyst Center) add two more terms:

  • Underlay: the physical switches, links and a routing protocol (IS-IS in SD-Access) that give every device IP reachability to every other. It is a plain routed network with no Spanning Tree between switches.
  • Overlay: virtual tunnels built on top of the underlay that carry user traffic between edge switches. SD-Access uses VXLAN for the data plane, LISP as the control plane (it tracks where each endpoint is), and Cisco TrustSec group tags for policy.
  • Fabric: underlay and overlay together, managed as one system.

The benefit is that a user's VLAN and policy can follow them to any switch, while the underlay stays simple and stable.

Traditional vs. Catalyst Center management

Traditional (box by box)Catalyst Center (controller)
How you configureCLI on each device, over SSH or consoleGUI, templates and the REST API, pushed to many devices
Where the config livesOn each device (and in engineers' notes)In the controller as the intended state
ConsistencyDepends on people; drift is commonTemplates and compliance checks catch drift
MonitoringSeparate tools: SNMP manager, Syslog serverBuilt-in assurance with health scores and suggested fixes
Software upgradesOne device at a timeImage management for groups of devices
Skills neededCLI per platformNetwork knowledge plus APIs, data formats and policy

Neither replaces knowing the CLI. When a controller reports a problem, you still verify it on the device with show commands.

How to configure a device for controller management

You don't configure the controller from IOS. What you do on each device is prepare its management plane: a reachable address, SSH with a local or AAA account, SNMPv3, and (on IOS XE) NETCONF. Here is SW1 in the lab.

interface Vlan99 ip address 10.10.1.11 255.255.255.0 no shutdown ip default-gateway 10.10.1.1

A management address the controller can reach through R1.

hostname SW1 ip domain name example.com crypto key generate rsa modulus 2048 ip ssh version 2 username netadmin privilege 15 secret Str0ng-Secret aaa new-model aaa authentication login default local aaa authorization exec default local line vty 0 15 transport input ssh

SSH for CLI access. aaa new-model with local authentication and exec authorization is also required before NETCONF will accept logins on IOS XE.

snmp-server group CC-GROUP v3 priv snmp-server user cc-user CC-GROUP v3 auth sha Auth-Pass-123 priv aes 128 Priv-Pass-123

SNMPv3 with authentication and encryption, for inventory and health polling.

netconf-yang

Global config on IOS XE: starts the NETCONF server on TCP 830 (it takes a minute or so for the processes to start).

The complete management configuration for SW1:

hostname SW1 ip domain name example.com ! aaa new-model aaa authentication login default local aaa authorization exec default local username netadmin privilege 15 secret Str0ng-Secret ! interface Vlan99 ip address 10.10.1.11 255.255.255.0 no shutdown ip default-gateway 10.10.1.1 ! crypto key generate rsa modulus 2048 ip ssh version 2 line vty 0 15 transport input ssh ! snmp-server group CC-GROUP v3 priv snmp-server user cc-user CC-GROUP v3 auth sha Auth-Pass-123 priv aes 128 Priv-Pass-123 ! netconf-yang

crypto key generate is a one-time command: it runs once and is not stored in the running configuration.

⚠️ Turning on aaa new-model changes how every line authenticates. Configure the local user and the aaa authentication login default local line in the same session, and keep a console or second SSH session open, or you can lock yourself out.

How to verify it

Example output · based on Cisco documentation; exact format varies by platform and software version
SW1#show ip ssh
SSH Enabled - version 2.0
Authentication methods:publickey,keyboard-interactive,password
Authentication timeout: 120 secs; Authentication retries: 3
...
SSH version 2 is running, so the controller can log in on TCP 22.
Example output · based on Cisco documentation; exact format varies by platform and software version
SW1#show snmp user
User name: cc-user
Engine ID: 800000090300A0B1C2D3E4F5
storage-type: nonvolatile        active
Authentication Protocol: SHA
Privacy Protocol: AES128
Group-name: CC-GROUP
The SNMPv3 user exists with SHA authentication and AES-128 privacy. SNMPv3 users never appear in show running-config; this is the command to check them.
Example output · based on Cisco documentation; exact format varies by platform and software version
SW1#show netconf-yang status
netconf-yang: enabled
netconf-yang ssh port: 830
netconf-yang candidate-datastore: disabled
NETCONF is enabled on TCP 830. The exact lines vary between IOS XE releases; the first two are the ones to look for.

On the controller side, the device should appear in the inventory as reachable and managed, with its software version and serial number filled in.

What goes wrong and how to troubleshoot it

Symptom in the controllerLikely causeCheck on the device
Device unreachableNo route to the management address, or an ACL blocks the controllerping 10.10.0.10 source vlan99, show ip interface brief, any VTY access-class
Authentication failed (CLI)Wrong username or password, or SSH not enabledshow ip ssh, show running-config | section line vty
SNMP collection failureUser, auth or priv settings don't match what the controller hasshow snmp user, show snmp group
NETCONF connection refusednetconf-yang missing, AAA not set, or TCP 830 blockedshow netconf-yang status, show running-config | include aaa
Config pushed but device looks different laterSomeone changed it by hand (drift)Compare show running-config with the template; the controller's compliance view flags it

Common mistakes

  • Thinking the controller forwards user traffic. It doesn't; the data plane stays on the devices.
  • Mixing up the directions: northbound faces the apps above, southbound faces the devices below.
  • Listing REST as a southbound-only API. Controllers use REST northbound; RESTCONF is a REST-style southbound option too.
  • Forgetting that SNMPv3 users don't show in the running configuration, then re-creating them.
  • Making hand changes on a controller-managed device. The next template push or compliance check will undo or flag them.

💡 Exam tip: expect questions that ask which plane does a task (OSPF is control plane, forwarding a frame is data plane, SSH is management plane), which way an API faces, and how controller-based management differs from traditional device management. Know the terms overlay, underlay and fabric, and that NETCONF uses SSH on TCP 830 while RESTCONF uses HTTPS.

Key takeaways

  • Data plane forwards, control plane decides, management plane configures and monitors.
  • Traditional networks distribute all three; controllers centralize management and policy.
  • Northbound API: apps to controller (REST/JSON). Southbound API: controller to devices (NETCONF, RESTCONF, SSH, SNMP, OpenFlow).
  • Underlay = physical routed network; overlay = virtual tunnels on top; fabric = both.
  • Prepare devices with a management IP, SSH, SNMPv3 and netconf-yang.

Check yourself

Predict · scenario 1

Which plane is OSPF building its routing table part of?

Predict · scenario 2

A Python script asks Catalyst Center for its list of devices. Which interface is it using?

Predict · scenario 3

The Catalyst Center cluster goes offline for an hour. What happens to user traffic through SW1 and SW2?

Predict · scenario 4

In SD-Access, what is the underlay?

Predict · scenario 5

Catalyst Center reports a NETCONF connection failure to SW1. SSH works. What is the most likely missing piece?

FAQ

Does a controller forward user traffic?
No. In Cisco's controller-based designs the routers and switches still forward every packet themselves. The controller works on the control and management planes: it builds configuration, pushes policy and collects health data. If the controller goes offline, traffic keeps flowing; you just lose central management until it comes back.
What is the difference between a northbound and a southbound API?
The northbound API is how applications, scripts and people talk to the controller, usually a REST API over HTTPS with JSON. The southbound API is how the controller talks to the network devices, for example NETCONF, RESTCONF, SSH with CLI commands, SNMP or OpenFlow.
Is Cisco DNA Center the same as Catalyst Center?
Yes. Cisco renamed DNA Center to Catalyst Center in 2023. The CCNA 200-301 v1.1 blueprint uses the new name, but older study material and some API paths still say DNA (for example /dna/intent/api/...).
What are underlay and overlay?
The underlay is the physical network and the routing that gives every device IP reachability. The overlay is a set of virtual tunnels built on top of it (VXLAN in SD-Access) that carries user traffic between edge devices. Together they are called the fabric.