Free tech learning for everyone, from basics to pro

SDNEmerging Technologies and SecurityIntermediate

SDN controllers: ONOS, OpenDaylight and commercial options

In short: An SDN controller is the central brain of a software-defined network. It discovers the topology, holds network state and programs devices through southbound protocols, while applications talk to it through northbound APIs. Open-source controllers such as ONOS and OpenDaylight exist alongside vendor controllers built into commercial fabrics.

What a controller does

In SDN, the controller is software that holds a central view of the network and pushes configuration or forwarding rules to devices. Typical jobs are:

  • Discovering devices and links to build a topology map.
  • Keeping the desired state, such as VLANs, paths and policies, and checking devices match it.
  • Computing paths and installing forwarding rules.
  • Collecting statistics and events for monitoring.
  • Offering APIs so that applications and automation tools can request changes.
Where the controller sitsApplicationspolicy, apps, scriptsNorthbound APIREST, gRPCControllertopology, stateSouthboundOpenFlow, NETCONF, BGPNetwork devicesswitches, routers
Figure 1. The controller translates requests from applications above into device instructions below.

Northbound and southbound interfaces

The northbound interface faces applications and people. It is usually a REST API with JSON, sometimes gRPC, plus a web interface. A provisioning script might call it to say "create a segment for the new lab". The southbound interface faces devices. Options include OpenFlow for flow tables, NETCONF with YANG models for configuration, OVSDB for virtual switches, and BGP or PCEP for routing and traffic engineering. Large deployments run several controllers as a cluster that shares state, using an east-west interface between them.

Common controllers

ControllerTypeTypical use
ONOS (Open Network Operating System)Open source, community-maintainedService provider and research networks; designed for clustering and high availability
OpenDaylightOpen source, Linux Foundation projectModel-driven platform with many southbound plug-ins; often embedded in other products
Ryu and similar frameworksOpen source, Python basedLearning, labs and small experiments
Data centre fabric controllersCommercialFor example Cisco Application Policy Infrastructure Controller (APIC) for ACI, or network virtualisation managers such as VMware NSX Manager
Campus and multi-vendor controllersCommercialFor example Cisco Catalyst Center, Juniper Apstra or Arista CloudVision, which manage intent and assurance
Open-source versus commercial controllersOpen sourceNo licence feeFlexible, extensibleNeeds in-house skillsCommunity supportCommercialVendor supportPolished GUITied to vendor kitLicence costs
Figure 2. Open-source controllers offer freedom and flexibility; commercial controllers trade some of that for support and ease of use.

Many commercial products are not "pure" OpenFlow controllers. They configure devices that still run their own routing protocols, which is sometimes called a hybrid or overlay approach. This is still SDN in spirit, because policy is defined centrally and pushed out by software.

Resilience and security

  1. Cluster the controller. Run at least three nodes so the cluster can keep a majority if one fails.
  2. Know the failure mode. Check what devices do if they lose the controller: keep forwarding with existing rules, or fall back to standalone mode.
  3. Protect the northbound API. Use strong authentication, role-based access and audit logs. An API token with write rights can change the whole network.
  4. Encrypt southbound channels. Use TLS or SSH and verify device identities.
  5. Place it on a management network. Keep controller interfaces off user and internet-facing networks.
  6. Back up state and patch it. Treat the controller as critical infrastructure.

Tip: if you want hands-on practice, run a small controller and Mininet (a network emulator) inside an isolated lab virtual machine. It is a good way to see topology discovery and flow installation in action.

Practice

What is the difference between northbound and southbound interfaces?
Northbound APIs connect applications and users to the controller; southbound protocols connect the controller to network devices.
Name two southbound protocols other than OpenFlow.
Any two of NETCONF, OVSDB, BGP (including BGP-LS) and PCEP.
Why should a controller cluster have at least three nodes?
So it can keep a majority and continue operating, without split decisions, if one node fails.

Key takeaways

  • The controller holds network-wide state and programs devices centrally.
  • Northbound APIs serve applications; southbound protocols reach devices.
  • ONOS and OpenDaylight are major open-source controllers; vendors offer commercial ones.
  • Many commercial fabrics are hybrid SDN, configuring devices that still route themselves.
  • Cluster, isolate and tightly secure the controller and its APIs.
Tracks your learning on this device only. See your progress on the learning paths.

About the author

Mohamed Fayas

Founder of FM TecHub. CCNA certified, with a BTEC HND in Network Engineering, and BEng (Hons) in Computer Networking and Cloud Security. He writes practical, plain-English guides on networking, security and cloud.

More about the author

Original content written by Mohamed Fayas for FM TecHub. © 2026 FM TecHub. You're welcome to share a link to this page; please don't copy the text elsewhere without permission.

Stay up to date by email

New notes, tools and security news from FM TecHub, explained simply. Free.

We only use your email to send these updates. See our privacy policy.