SDN, VXLAN and Network Automation Basics (Python, RESTful, NETCONF)
SDN
SDN separates the control plane (path computation) from the forwarding plane (packet handling) and centralises control in a controller. Southbound interfaces connect the controller to devices (OpenFlow, NETCONF, SNMP, PCEP); northbound interfaces expose the network to applications through RESTful APIs. Know the terms underlay (physical IP network) and overlay (virtual tunnels built on top). Huawei's controller family is iMaster NCE, and the classic SDN models are ONEE (Open Network) style: application layer, control layer, forwarding layer.
VXLAN
VXLAN solves VLAN scaling. It encapsulates a full Layer 2 frame inside UDP/IP; the VTEP does encapsulation and decapsulation. The 8-byte VXLAN header carries a 24-bit VNI, allowing about 16 million segments, far beyond 4094 VLANs. The outer UDP destination port is typically 4789 (some implementations use 8472). Because an extra header is added, the underlay MTU must be raised - plan at least 50 bytes extra (outer IPv4 20 + UDP 8 + VXLAN 8 + inner Ethernet 14). BGP EVPN is the common control plane for VXLAN, carrying MAC/IP reachability instead of flooding.
Automation
Python basics appear in questions: immutable strings, mutable lists and dictionaries (key-value), functions, modules, and libraries such as paramiko (SSH2), netmiko (multi-vendor CLI over SSH) and requests (HTTP). NETCONF (RFC 6241) runs over SSH on TCP 830, uses XML-encoded RPCs (get, get-config, edit-config, copy-config, lock/unlock, close-session) and YANG models for data definition. RESTful APIs use HTTP verbs: GET to read, POST to create, PUT/PATCH to update, DELETE to remove, with JSON payloads.
Rule of thumb
Map each task to its tool: configuration consistency and rollback → NETCONF/YANG with a controller; bulk CLI scripting → netmiko; reading controller state into an app → RESTful GET.