Expert · Automation, SDN and cloud networking · topic 50 of 57 · 30 min
Why automate: SDN and controller-based networking
Explanation
Why automate at all?
Imagine a bank with 1,200 branches. Each branch has a router and two switches, so the network team looks after more than 3,600 devices. A new security rule must go on every router by Friday. If one engineer logs in to each router over SSH and types the commands, it takes weeks, and somewhere a typo will block the ATM network of a branch.
Automation means letting software do this repetitive work. It gives three things: speed (a change reaches all devices in minutes), consistency (every device gets exactly the same lines) and fewer human errors (nobody types the same thing 1,200 times). It also makes changes easy to review and to undo, because the change is written down as a file before it is applied.
The three planes of a network device
A plane is a group of jobs a device does. Every router and switch does three kinds of work, and SDN is easiest to understand once you can separate them.
| Plane | What it does | Examples |
|---|---|---|
| Data plane (forwarding plane) | Moves each packet or frame from an in-port to an out-port, very fast, often in hardware | Switching a frame using the MAC table, forwarding a packet using the routing table, applying an ACL, NAT, adding a VLAN tag |
| Control plane | Thinks: builds the tables the data plane uses | OSPF and other routing protocols, spanning tree, ARP, MAC learning |
| Management plane | Lets people and programs configure and monitor the device | SSH, the CLI, SNMP, syslog, NTP, NETCONF, RESTCONF |
Traditional versus controller-based networking
In a traditional network, every device has its own control plane and its own management plane. Each router runs OSPF and works out its own routes. Engineers configure each device separately through its CLI. This works, but it does not scale well, and the network as a whole has no single place that knows everything.
In controller-based networking, a software controller (a program running on a server or a cluster of servers) becomes the central brain. Depending on the design, it takes over part of the control plane, or it keeps the devices running their own protocols and centralises management and policy. Either way, engineers and programs talk to the controller, and the controller talks to the devices. The data plane always stays on the devices: switches still forward the packets.
Northbound and southbound APIs
An API (application programming interface) is a defined way for one program to ask another program for something. In SDN diagrams the controller sits in the middle, apps sit on top and devices sit below, so the APIs are named by direction.
- Northbound API: between the controller and the apps or scripts above it. It is usually a REST API that sends JSON over HTTPS. Your Python script or a monitoring dashboard uses it to ask "list all switches" or "add VLAN 30 at every store".
- Southbound API: between the controller and the network devices below it. Examples are OpenFlow (the controller programs flow tables directly), NETCONF and RESTCONF (configuration using YANG data models), plain SSH and CLI commands, SNMP, and OpFlex (Cisco ACI, where the controller sends policy and the devices decide how to apply it).
Underlay, overlay and fabric
Modern controller-based networks are often built in two layers. The underlay is the physical network: the cables, switches and routers, with a simple routing protocol that just gives every device IP reachability. The overlay is a set of virtual networks built on top using tunnels, where the original packet is wrapped inside a new one. The underlay and overlay together are called the fabric.
Cisco SD-Access is a campus fabric. Its underlay is a routed network (often IS-IS). Its overlay uses VXLAN to carry traffic and LISP as the control plane that tracks where each endpoint is. Cisco Catalyst Center (formerly called DNA Center) is the controller that builds and manages it, assigns users to groups and pushes policy, and also offers northbound REST APIs and health dashboards.
SD-WAN
SD-WAN (software-defined WAN) applies the same idea to links between sites. Picture a retail chain with 300 stores across India. Each store has a cheap broadband line and a 4G backup instead of an expensive leased line. The SD-WAN edge router at each store builds encrypted tunnels over both links. The controllers measure loss and delay on every path and send billing and UPI payment traffic over the best link, while CCTV uploads use whatever is left. If the broadband fails, traffic moves to 4G within seconds. A new store is plugged in, contacts the controller, and downloads its configuration (zero-touch provisioning). In Cisco Catalyst SD-WAN, the main parts are SD-WAN Manager (formerly vManage), SD-WAN Controller (formerly vSmart), SD-WAN Validator (formerly vBond) and the WAN edge routers.
Intent-based networking
Intent-based networking (IBN) means you describe what you want (the intent) and the controller works out how. Intent sounds like "guests may reach only the internet" or "billing gets priority over video". The controller translates it into VLANs, ACLs and QoS on hundreds of devices, then keeps checking (assurance) that the network still does what you asked.
| Traditional | Controller-based | |
|---|---|---|
| Where decisions are made | Each device, separately | Central controller, with a view of the whole network |
| How engineers configure | CLI over SSH, device by device | GUI or API on the controller, many devices at once |
| Consistency | Depends on careful typing | Same template or policy everywhere |
| Speed of a network-wide change | Hours to weeks | Minutes |
| Skills needed | CLI and protocols | Also APIs, JSON, Python and automation tools |
Need help?
Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.
Try:
Watch the lesson
Why automate: SDN and controller-based networking · 1/8
In this lesson you will see why big networks are automated, and how a controller changes the way we run them.
Prefer a video by a teacher? Find free videos on “SDN controller northbound southbound API data control management plane CCNA” on YouTube ↗
In real life: 300 stores, one change
A grocery chain with 300 stores in India adds a new UPI payment provider. The firewall rule and QoS class for the provider's servers must exist at every store. Without a controller, two engineers would log in to 300 routers over several nights. With SD-WAN, one engineer adds the rule once in the manager, tests it on five pilot stores, then pushes it to all stores in one change window and watches the dashboard confirm that every site has it.
Practice (0/3 done)
A switch learns that a MAC address lives on port Gi0/5 and then forwards a frame out of that port. Which planes did these two jobs?
A Python script asks Catalyst Center for a list of all switches. Which API is it using?
A hospital group runs 40 hospitals, each with about 25 switches and 2 routers, all configured by hand. The CIO asks you to explain in about 150 words why moving to controller-based management would help. Write the explanation, and compare the two approaches.
Quick quiz
Read more (free)
Related help
Before this, learn
This topic builds on these. If something here feels new, open them first.
Related topics
- REST APIs and JSONAutomation, SDN and cloud networking · same module
- Configuration management: Ansible, Puppet, Chef and NETCONFAutomation, SDN and cloud networking · same module
- Virtualisation, VRFs and cloud networkingAutomation, SDN and cloud networking · same module
- Why Kubernetes, and how a cluster worksDevOps: Git, Docker, Kubernetes and CI/CD · Kubernetes fundamentals
- Managed Kubernetes: EKS, AKS and GKECloud Computing (AWS, Azure, Google Cloud) · Containers in the cloud
- NAT and PATIP services: DHCP, DNS, NAT and more
Questions people ask about this
Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.
Which of these is a control plane function?
Answer: OSPF exchanging routes with a neighbour
Routing protocols like OSPF build the routing table, which is control plane work. Forwarding is data plane; SSH and syslog are management plane.
Which protocol is a southbound API?
Answer: NETCONF
NETCONF is used by a controller (or a tool) to configure devices, so it is southbound.
In an SDN fabric, what is the overlay?
Answer: Virtual networks built on top of the physical network using tunnels
The underlay is the physical network; the overlay is the set of virtual, tunnelled networks running over it.
What was Cisco Catalyst Center called before?
Answer: Cisco DNA Center
Cisco renamed DNA Center to Catalyst Center. It is the controller for SD-Access campus networks.
Which statement about controller-based networking is true?
Answer: Devices still forward traffic; control and management are centralised
The data plane stays on the switches and routers. The controller centralises decisions, configuration and policy.
A bank joins its branches in Mumbai, Delhi and Kolkata using links rented from a provider. What kind of network is this?Related
Answer: WAN
Joining sites in different cities over provider links is a wide area network.
From What a network is
A Deployment wants 3 replicas. You delete one of its pods by hand. What happens?Related
Answer: A new pod is created to get back to 3
The ReplicaSet controller sees 2 of 3 and creates a replacement. That is self-healing.
What does "stateless" mean for a REST API?Related
Answer: Each request carries everything needed, such as the token; the server does not remember earlier requests
Stateless means no memory of earlier requests, so every request includes its own authentication and data.
From REST APIs and JSON
Which device forwards a frame only out of the port where the destination MAC address is?Related
Answer: Switch
A switch learns MAC addresses per port and forwards frames only where needed.
From Network devices
Pass the quiz (60% or more) or mark this topic as done when you are ready.
Your progress is saved on this device only.
Next steps
- 3 more topics in “Automation, SDN and cloud networking” before its exam: REST APIs and JSON, Configuration management: Ansible, Puppet, Chef and NETCONF, Virtualisation, VRFs and cloud networking.
- Module 11 exam: Automation, SDN and cloud networking · 13 questions · 20 min, without help. 4 topics of this module still to finish first.
- Then the next module, Troubleshooting and the CCNA exam. 57 topics left in the course before the final exam.
← Previous: Configuring a WLAN on a WLC and troubleshooting Wi-Fi