In controller-led networks, controllers are software programs that run as centralized applications. The controller’s role is to centralize the control of all the devices in the network, though the degree and type of control can vary. A controller can edit the data or simply distribute the information without changing anything.
For the controller to communicate to the devices in the network, there must be an interface between the controller and the devices. The types of interfaces are given below.
Southbound interface (SBI), which includes a protocol and an application programming interface (API).
Northbound interface, which opens the controller and allows other users to access the data and functions of the device.