What is Software-Defined Networking (SDN)?

Instead of every switch quietly making its own decisions, SDN moves the "thinking" into one central controller that programs the whole network at once.

See device-by-device forwarding in a lab

Free interactive lab. No signup. Runs in your browser.

Quick Summary

The Traffic-Control Center Analogy

Picture an old-fashioned city where every traffic light runs its own little brain on each street corner. Each light decides for itself when to turn red or green, based only on what it can see at that one intersection. If the mayor wants to change the timing across the whole city, an engineer has to drive to every single corner and reprogram each light by hand. That is exactly how traditional networking works: every router and switch has its own embedded brain, and you configure them one device at a time.

Software-defined networking (SDN) is like replacing all those independent corner-brains with a single smart traffic-control center. The center has a live map of the whole city, and it programs all the lights at once from one screen. The lights themselves become simpler -- they just do what the center tells them. Change the city-wide plan in the control center, and every intersection updates instantly.

In networking terms, SDN takes the decision-making part out of each device and moves it into a central SDN controller. The switches keep doing the fast, physical job of forwarding packets, but the controller tells them how to forward. That single idea -- pulling the brain out of the boxes and putting it in one place with a global view -- is what unlocks automation, faster changes, and vendor-agnostic hardware.

One important note before we go further: SDN is an architecture and an approach, not a single product you buy. OpenDaylight and ONOS are examples of open-source SDN controllers, but the concept is bigger than any one tool.

The Two Planes: Control vs Data

Every network device does two jobs. The control plane decides where traffic should go, and the data plane (the forwarding plane) actually moves the packets. SDN's big move is to split these apart:

Traditional vs SDN: where the brain lives TRADITIONAL brain inside every device 🧠 Switch 🧠 Switch 🧠 Switch control + data plane in each box SDN brain centralized in controller Apps / Orchestration northbound 🧠 SDN Controller southbound SW1 SW2 SW3 simple switches: data plane only

Control Plane vs Data Plane — Program a Flow

Click Push flow rule to watch the controller install a forwarding rule into each switch's flow table (southbound), then send a packet along the new path. Toggle between Traditional and SDN to see where the "brain" lives.

Mode: SDN
Apps / Orchestration northbound API 🧠 SDN Controller southbound API (OpenFlow) Switch 1 flow table: — empty — 🧠 Switch 2 flow table: — empty — 🧠 Switch 3 flow table: — empty — 🧠 data plane (packet path)
[ready] SDN mode. Switches have empty flow tables. Push a flow rule to program them from the controller.

The key takeaway: in SDN the switches keep doing the data plane job (forwarding packets at high speed), while the control plane decisions move up into the controller. Because the controller sees the entire network, it can make smarter, network-wide decisions than any single device could on its own.

How SDN Works, Step by Step

1

Separate the Control Plane from the Data Plane

Every networking device historically did two jobs at once: deciding where traffic goes (the control plane) and physically moving packets out the right port (the data plane, also called the forwarding plane). SDN's founding idea is to pull these apart. The decision-making logic is lifted out of each box, leaving the switches to do fast, simple forwarding based on rules handed to them. This is the conceptual heart of SDN.

2

Centralize Control in an SDN Controller

The control logic is gathered into a central SDN controller -- software with a global view of the whole network. Because it sees every switch and link, it can compute paths and policies network-wide instead of each device guessing locally. OpenDaylight and ONOS are well-known open-source controllers. Crucially, the controller is one logical brain, but in real deployments it is made redundant so it is not a single point of failure.

3

Program Switches via the Southbound API

The controller talks down to the switches over the southbound API. The classic southbound protocol is OpenFlow, which installs flow rules into each switch's flow table. A flow rule says "packets matching this pattern -- maybe a certain source, destination, or port -- should be forwarded out this port (or dropped)." The switch then just follows the rules it was given, no independent decision needed.

4

Expose the Network via the Northbound API

Above the controller sits the northbound API, which faces applications and orchestration systems. Through it, software can ask for network behavior in high-level terms -- "connect these two services" or "apply this security policy" -- without knowing anything about the underlying switches. The controller translates that intent into concrete flow rules and pushes them south. This is what makes the network programmable and automatable.

SDN in the Real World

SDN principles show up across modern networks. Here are three places you will run into them:

🏢

Data-Center Automation

Cloud and enterprise data centers use SDN so that spinning up thousands of virtual machines and containers does not mean configuring switches by hand. A controller programs forwarding and policy centrally, and network changes happen in software in seconds rather than over days of manual work.

🌐

Network Virtualization & Overlays

SDN underpins network virtualization, where logical networks ride on top of the physical fabric. This is closely related to overlay technologies like VXLAN, which let many isolated virtual networks share the same hardware -- the controller decides how those overlays are stitched together.

📡

SD-WAN Across the WAN

SD-WAN applies SDN ideas to wide-area links between branch offices and the cloud. A central controller chooses the best path per application across multiple transports -- the same control-plane-in-software philosophy, just stretched across the internet instead of one building.

Common Misconceptions About SDN

SDN is widely misunderstood. Watch out for these traps:

⚠

"SDN Is a Product You Buy"

SDN is an architecture and approach, not a single box or license. Vendors sell controllers and SDN-capable switches, but adopting SDN is mainly a change in how the network is designed and operated -- centralized control, programmable interfaces -- not just a hardware purchase.

⚠

Forgetting Controller Redundancy

Centralizing the control plane is powerful, but it makes the controller a critical component. If you run a single controller with no backup, an outage there can paralyze network changes. Real designs deploy controllers in a redundant, clustered fashion for exactly this reason.

⚠

Confusing the Two Planes

People sometimes think SDN means the controller forwards every packet. It does not. The data plane on the switches still does the actual high-speed forwarding; the controller only programs the rules. Mixing up "decides the path" (control) with "moves the packet" (data) leads to wrong assumptions about performance.

Why Separating the Planes Matters

When the brain lives inside every device, the network is only as smart as each box acting alone, and every change is a manual, repetitive chore. By lifting control into one place with a global view, SDN enables centralized management, programmability and automation, faster and more consistent changes, vendor-agnostic hardware, and dynamic policy that can react to traffic. That is why SDN became the backbone of modern data-center networking and network virtualization.

SDN's Trade-Offs

No architecture is free. The headline trade-off is that the controller is a critical component -- it needs redundancy and careful operation. SDN is also an operational shift: teams move from logging into individual devices to thinking in terms of central policy and APIs. Done well, the payoff is a network that behaves like programmable software. Done carelessly, a fragile controller becomes a bottleneck.

The bottom line: SDN takes the brain out of every switch and puts it in a central controller with a global view. The controller programs the switches over the southbound API (OpenFlow), while applications drive the network through the northbound API. Once you see networking as a control plane you can program separately from the data plane, automation and agility follow naturally.

Frequently asked questions about SDN

What is software-defined networking (SDN)?

SDN is a network architecture that separates the control plane (the logic that decides how traffic should flow) from the data plane (the part that actually forwards packets), and centralizes that control logic into a software SDN controller. The controller has a global view and programs the forwarding tables of simpler switches, so the network is managed and automated from one place instead of device by device.

What is the difference between the control plane and the data plane?

The control plane is the brain that decides where traffic should go, building the forwarding tables. The data plane (forwarding plane) is the muscle that moves each packet out the correct port. Traditionally both live in every device; SDN pulls the control plane into a central controller and leaves the switches to do fast, simple forwarding.

What is OpenFlow?

OpenFlow is the classic southbound protocol in SDN. It lets the controller install flow rules in a switch's flow table. Each rule matches packet fields (like source, destination, or port) and defines an action -- forward out a port, drop, or send to the controller -- standardizing how a central controller programs forwarding on switches from many vendors.

What are northbound and southbound APIs in SDN?

The southbound API connects the controller down to the switches, pushing forwarding rules (OpenFlow is the classic example). The northbound API faces up toward applications and orchestration, letting software request network behavior without knowing hardware details. The controller sits in the middle, translating high-level intent from the north into device rules pushed south.

What are the benefits of SDN?

SDN gives you centralized management with a global view, programmability and automation through APIs, faster and more consistent changes, simpler vendor-agnostic hardware, and dynamic policy. The main trade-off is that the controller becomes a critical component that needs redundancy, and adopting SDN is a shift in operational model rather than just a new product.

Try the networking lab

You just saw how SDN centralizes control and programs the data plane. The app works the traditional way, with the control plane inside each router, which makes it a good place to see what SDN changes: build a topology, configure each device's routes, and trace how every hop decides for itself.

Open the network lab →