A northbound interface is an interface that allows a particular component of a network to communicate with a higher-level component. Conversely, a southbound interface allows a particular network component to communicate with a lower-level component.
In a figurative sense, northbound flow can be thought of as going upward, while southbound flow can be thought of as going downward. In architectural diagrams, northbound interfaces are drawn at the top of the applicable component, while southbound interfaces are drawn at the bottom of the component. While the terms northbound and southbound can apply to almost any type of network or computer system, in recent years they have been used increasingly in conjunction with application program interfaces (APIs) in software-defined networking (SDN).
In SDN, the southbound interface is the OpenFlow (or alternative) protocol specification. Its main function is to enable communication between the SDN controller and the network nodes (both physical and virtual switches and routers) so that the router can discover network topology, define network flows and implement requests relayed to it via northbound APIs. The northbound interface describes the area of protocol-supported communication between the controller and applications or higher layer control programs.
In an enterprise data center, functions of northbound APIs include management solutions for automation and orchestration, and the sharing of actionable data between systems. Functions of southbound APIs include communication with the switch fabric, network virtualization protocols, or the integration of a distributed computing network.