SDN - jibingl/CCNA-CCNP GitHub Wiki
Software-Defined Networking
An networking approach that centralizes the control plane into an application called a controller.
SDN Architecture
SDN Architecture Cisco SDN Solutions
┌──────────────────┐
| Management Plane |
Application Layer | (Apps/Scripts) |
└──────┬─────┬─────┘ ┌──────────────────┐
----------------- ( REST API ) | .------------. |
| NBI | | | DNA Center | |
┌──────┴─────┴─────┐ | | or | |
| Control Plane | | | Cisco APIC | |
Control Layer | .------------. | | `------------` |
| | Controller | | └───┬──────────┬───┘
| `------------` | | |
└───┬──────────┬───┘ | |
----------------- | SBI | | OpFlex |
/ ( API ) \ / \
Infrastructure Layer ┌─────(+)────┐ ┌────[=]─────┐ ┌─────(+)────┐ ┌────[=]─────┐
| Router | | Switch | | Router | | Switch |
| Data Plane | | Data Plane | | IOS-XE/XR | | NX-OS |
└────────────┘ └────────────┘ └────────────┘ └────────────┘
NBI (Northbound Interface) - human/apps-to-controller;
SBI (Southbound Interface) - controller-to-devices. SBI API can be OpenFlow, onePK, OpFlex, NETCONF or RESTCONF.
| Notes | Data Plane | Control Plane | Management Plane |
|---|---|---|---|
| Functions | Data forwarding | Generating tables | Admins configuration |
| Examples | routing (match to routing-table), forwarding (match to MAC-table), de- & re-encapsulation, add & remove 802.1q tags, VPN (add new IP), NAT (changing IPs), dropping due to ACLs or port-security | Maintain routing table, ARP table, MAC address table, STP | SSH, Telnet, Syslog, SNMP, NTP, configuring commands |