There are two types of networking: traditional networking and SDN networking. In traditional networking, we manage all devices independently. In SDN networking, we manage all devices from a central location by using an SDN controller.
There are two important components of an SDN controller: the northbound interface and the southbound interface. It uses the northbound interface to connect with the application we use to configure the controller. It uses the southbound interface to connect with network devices and implement the configuration we make through the controller.
To know where the NBI and SBI reside, first, we need to think about the SDN controller itself. The SDN controller is a device or software running on a server in the same network. It works as a bridge between administrators and network devices. It takes instructions from administrators and implements them on network devices.
To communicate with administrators and network devices, it uses APIs. An API (Application Programming Interface) is application logic that contains several functions that perform different actions. In SDN networking, APIs move information from the application administrators use to manage changes to the controller, and then to move data from the controller to the network devices.
An SDN uses two APIs: the north-bound API and the south-bound API. It uses the north-bound API to move data between the administrators' application and the controller. It uses the south-bound API to move data between the controller and the network devices.
An API uses a client/server architecture in which each execution needs a client and a server. The client receives the data. The server sends the data. With the north-boundAPI, the server is the application the administrator uses to configure the settings on the controller, and the client is the controller. With the south-bound API, the server is the controller, and the client is the network device that receives configuration from the controller.
A controller’s northbound interface (NBI) opens the controller for other programs. Administrators can use any supported program to access a controller's functions through its northbound interface. The program can pull information from the controller, using the controller’s APIs. The controller’s northbound interface also enables the program to use the controller’s capabilities to program flows into the network devices using its southbound interface.
SDN uses the South Bound Interface (SBI) to communicate with network devices and implement the configuration it receives from the administrator's application. Different SDN controllers use different southbound APIs. For example, OpenDaylight, a popular open-source SDN Controller, uses a protocol called OpenFlow to communicate with network devices. On the other hand, Meraki uses a proprietary solution right now since they manage everything themselves.
ComputerNetworkingNotes CCNA Study Guide SDN North-bound and South-bound APIs and Interfaces