software-defined networking
/ SDN spelled out: S-D-N /
Imagine an old-fashioned company where every clerk decides on their own how to forward the mail, by following a thick rulebook they each keep in a drawer. The clerks gossip among themselves to stay roughly in sync, but no one has the whole picture, and changing a company-wide policy means walking to every desk and rewriting every rulebook by hand. That is how a traditional network of switches and routers works: each box runs its own routing software and makes its own decisions. Software-defined networking is the idea of taking the decision-making out of the boxes and putting it into one programmable brain that sees the whole network and tells every box what to do.
Concretely, SDN splits the network into two parts that used to be welded together inside each device. The control plane is the logic that decides how traffic should be handled (which path a flow takes, what to block, how to balance load); the data plane is the fast machinery that just forwards packets according to instructions. SDN pulls the control plane out of every switch and centralizes it in a controller — a piece of software running on ordinary servers — that has a network-wide view and pushes forwarding rules down to the now-simple switches over a standard interface (the southbound API, often OpenFlow). The switches become fast, dumb match-action engines; the smarts live in software.
Why it matters: once the network is driven by a central program with a global view, you can change behaviour by writing software rather than logging into hundreds of devices, and you can run optimisation, security, and traffic-engineering apps on top of the controller. The honest trade-off is that centralizing control creates a potential bottleneck and a single point of failure — if the controller is unreachable or overloaded, you are in trouble — so real systems use replicated, distributed controllers that are logically centralized but physically spread out. SDN is a way of organizing a network, not a single product; OpenFlow is one popular interface for it, not the whole story.
A network operator wants all video traffic to take a cheaper backup link during business hours. In a traditional network they would reconfigure dozens of routers one by one. With SDN, they write a short policy in a control application; the controller computes the new forwarding rules and pushes them to every switch at once. At 6 p.m. the rule expires and traffic moves back — all driven by software, no per-box logins.
Change network behaviour by editing one program, not by touching every device.
SDN does not mean there is literally one computer running everything. The control is logically centralized (one consistent global view) but normally physically distributed across replicated controllers, precisely so the brain is not a single point of failure.