As shown in Fig. 4, SDN consists of a centralized
control plane with a southbound API for
communication with the hardware infrastructure
and a northbound API for communication with
the network applications. The control plane can
be further subdivided into a hypervisor layer and
a control system layer. A number of controllers
are already available. Floodlight [10] is one
example. OpenDaylight [11] is a multi-company
effort to develop an open source controller. A
networking hypervisor called FlowVisor [12] that
acts as a transparent proxy between forwarding
hardware and multiple controllers is also available.
The main southbound API is OpenFlow [13],