This illustration depicts the layered components of an SDN controller. At the top of the figure are the network control applications: Routing, Access Control, and Load Balancer. Below this is the dashed line labeled "Northbound API." Below this is a layer designated as including "Interface, abstractions for network control apps." This layer includes three boxes labeled (from left to right): "Network graph," "RESTful API," and "Intent." Below this is a layer designated as including "Network-wide distributed, robust state management." This layer includes five boxes, arranged in two rows. The top row includes (from left to right): "Statistics" and "Flow tables." The bottom row includes "Link-state info," "Host info," and "Switch info." This layer is identified as the SDN Controller. The bottom layer is designated as containing "Communication to/from controlled devices," and includes two boxes labeled (from left to right): "OpenFLow" and "SNMP." Below this is the dashed line labeled "Southbound API," and below that are the five router switches.