Traditional networking vs software-defined networking
Traditional network devices each run their own control plane and data plane on the same hardware. The control plane makes decisions (routing tables, forwarding decisions) and the data plane executes them (actually moving packets). Each device operates independently, configured individually through a CLI. Consistency across hundreds of devices requires discipline, documentation, and luck.
Software-Defined Networking (SDN) separates the control plane from the data plane. A centralized controller holds the control plane logic and pushes forwarding rules down to devices through southbound APIs like OpenFlow or NETCONF. Devices become simpler forwarding elements. The result is centralized policy, consistent configuration, and the ability to change the entire network's behavior by modifying the controller rather than logging into every device.
Cisco DNA Center (now Catalyst Center) is Cisco's enterprise SDN platform. It provides intent-based networking: you describe what you want the network to do in business terms and the platform translates that into device configuration. It also provides network assurance, continuously verifying that the network is behaving as intended.
REST APIs and JSON
A REST API (Representational State Transfer) allows programs to interact with network devices and management platforms using standard HTTP methods. GET retrieves information without modifying anything. POST creates a new resource. PUT replaces an existing resource entirely. PATCH modifies specific fields of an existing resource. DELETE removes a resource. These five methods cover all operations a configuration management tool needs.
REST APIs typically exchange data in JSON format. JSON uses key-value pairs inside curly braces for objects and square brackets for ordered lists. String values use quotation marks. Numbers and booleans do not. Understanding JSON means being able to read a JSON object and identify what data it contains, even if you cannot write code to process it.
Ansible is the most commonly used agentless automation tool for network devices. It connects via SSH or REST APIs without installing any software on the managed devices. Playbooks define the desired configuration in YAML format. The inventory file lists the devices to configure. Ansible applies the playbook and reports whether each task succeeded, failed, or was unchanged.
How to choose the correct answer
SDN vs traditional: centralized control plane = SDN. Each device manages its own control plane = traditional.
REST method selection: retrieve data = GET. Create new object = POST. Replace entire config = PUT. Modify one field = PATCH. Remove = DELETE.
Southbound vs northbound APIs: southbound = controller to network devices (OpenFlow, NETCONF). Northbound = controller to applications and orchestration tools.
Ansible characteristics: agentless (no software on devices), SSH-based, YAML playbooks, idempotent (running the same playbook twice produces the same result).
YANG is the data modeling language used with NETCONF and RESTCONF. It defines the structure of configuration and state data in a machine-readable format.