What is SDN, and how is what vendors sell today different from the original idea?
Show the answer
Say this first
SDN separates the decision making about traffic from the devices that forward it and puts that logic in software with open APIs. The original idea (OpenFlow, around 2008) moved the whole control plane to a central controller that programmed dumb switches flow by flow. Today's products, such as Cisco ACI, SD-Access and SD-WAN, keep routing protocols on the devices and centralize policy, automation and visibility in a controller you drive through a REST API.
Go deeper
Three flavors you will hear about
- Open SDN. A controller programs flow tables in switches with OpenFlow. Logic is fully central.
- SDN through APIs. Devices keep their own control plane. A controller or script configures them through NETCONF, RESTCONF, gNMI or vendor APIs.
- Overlay SDN. A virtual network runs on top of an IP underlay with VXLAN or similar tunnels. Hypervisor switches or leaf VTEPs build the tunnels, and the physical network just routes IP.
What a modern controller still centralizes
- One place to declare policy (who may talk to whom).
- Automation of device config from that policy.
- A network-wide view for assurance and troubleshooting.
- A northbound REST API so other systems can drive the network.
What stays distributed
In ACI the fabric still runs IS-IS in the underlay, COOP on the spines for endpoint mapping and MP-BGP for external routes. If every APIC goes down, the fabric keeps forwarding. You just cannot change policy.
They will ask next
Is the controller a single point of failure?
It is a cluster in any real design. APIC runs as a cluster of at least three in production, and Catalyst Center can run as a three-node cluster. In most designs the data plane keeps forwarding when the controller is down. What you lose is the ability to change and monitor things centrally.
What is the difference between SDN and network automation?
Automation is using code to configure and check devices, often device by device through SSH or APIs. SDN is an architecture where a controller owns the network-wide state and devices take their policy from it. You can automate without SDN, and every SDN product depends on automation.
Traps
- Saying SDN means OpenFlow. OpenFlow is one southbound protocol; most SDN products today do not use it.
- Claiming the controller forwards traffic. In nearly all products it never sits in the data path.