Software Defined Networking
a.k.a. SDN
Key Points
- Network architecture separating control and forwarding functions
- Makes network behavior programmable, centralized, and adaptable to policy
- Deployed in data centers, telecom networks, cloud environments, and enterprise networking
- Places decision-making in a control layer that programs forwarding behavior of network devices
Definition
Software Defined Networking is a network architecture that separates control logic from forwarding behavior and manages the network through software-based control. It decouples decision-making from packet handling.
Concept
Software Defined Networking is a system architecture used for networks that separate network control from forwarding. It exists to make network behavior programmable, centralized, and more adaptable to policy. SDN is often associated with programmable control over paths and policies through centralized management of decision-making.
Explainer
Software Defined Networking works by placing decision-making in a control layer that programs or directs the forwarding behavior of network devices, rather than having each device make all decisions independently. It is deployed in data centers, telecom networks, cloud environments, and enterprise networking.
Constraints include controller reliability, east-west communication between control elements, synchronization with forwarding state, and the need to keep the software view aligned with the physical network. Failure modes include stale rules, controller outages, misprogrammed paths, and unexpected forwarding behavior when the control and data planes diverge.
Tradeoffs involve centralized visibility versus control dependency, more programmability versus greater software complexity, and policy agility versus a larger operational blast radius if the controller fails.
Software Defined Networking matters because it makes network behavior more programmable and easier to automate, enabling greater operational flexibility and policy-driven network management across large-scale deployments.