Common protocols used in Southbound APIs
Southbound APIs (Application Programming Interfaces) are a critical component of Software-Defined Networking (SDN) architecture. Southbound APIs are used to communicate between the SDN controller and the network infrastructure, enabling the controller to dynamically control and manage the network. Southbound APIs use a variety of protocols to communicate with the network devices. In this article, we will discuss some of the most common protocols used in Southbound APIs.
OpenFlow
OpenFlow is the most widely used protocol in Southbound APIs. It was the first protocol to be defined for SDN and is the de facto standard for SDN. OpenFlow enables the SDN controller to directly program the forwarding behavior of network devices, such as switches and routers. It allows the controller to define the flow of packets and the actions to be taken on each flow. OpenFlow uses a simple packet matching mechanism to match packets to flows and a set of actions to be performed on matching packets.
OpenFlow is a very flexible protocol, and it can be used to implement a variety of network services, including load balancing, QoS (Quality of Service), and security policies. OpenFlow is widely supported by many network vendors, and many open-source SDN controllers, such as OpenDaylight and ONOS, support OpenFlow.
NETCONF
NETCONF (Network Configuration Protocol) is a protocol that is used to configure network devices. It provides a standardized way to manage network devices and allows network administrators to automate device configuration tasks. NETCONF uses XML to represent the configuration data, and it uses a set of standardized operations to manipulate the data. NETCONF is typically used to configure the network devices when they are first installed or when changes need to be made to the configuration.
NETCONF is widely supported by many network vendors, and it is often used in conjunction with YANG (Yet Another Next Generation), a data modeling language used to define the configuration and state data of network devices. YANG provides a standardized way to describe the configuration and state data of network devices, making it easier to automate device configuration tasks.
RESTCONF
RESTCONF (RESTful Network Configuration Protocol) is a protocol that is used to configure network devices using a RESTful API. RESTCONF uses HTTP to represent the configuration data, and it uses a set of standardized operations, such as GET, POST, PUT, and DELETE, to manipulate the data. RESTCONF is a simplified version of NETCONF and is designed to be easier to use and more intuitive.
RESTCONF is often used in conjunction with YANG, and it is widely supported by many network vendors. RESTCONF is becoming more popular in SDN because it is easier to use than NETCONF and provides a more modern, web-based API.
BGP-LS
BGP-LS (Border Gateway Protocol - Link State) is a protocol that is used to disseminate link-state information throughout the network. BGP-LS enables the SDN controller to obtain detailed information about the network topology, such as the link capacity, the link latency, and the network paths. This information can be used by the controller to optimize the network routing and to implement network services, such as traffic engineering.
BGP-LS uses the BGP protocol to distribute the link-state information throughout the network. BGP-LS is widely supported by many network vendors and is becoming more popular in SDN because it provides detailed information about the network topology.
PCEP
PCEP (Path Computation Element Protocol) is a protocol that is used to compute network paths. PCEP enables the SDN controller to compute network paths based on various criteria, such as the shortest path, the lowest latency, or the highest bandwidth. PCEP can be used to implement traffic engineering and to optimize the network performance.
PCEP is typically used in conjunction with a Path Computation Element (PCE), which is a logical entity that computes network paths. The PCE communicates with the SDN controller using PCEP and provides the computed paths to the controller. The controller can then use the computed paths to program the network devices and implement traffic engineering.
PCEP is a relatively new protocol, and it is not yet widely supported by network vendors. However, it is becoming more popular in SDN because it provides a powerful mechanism for computing network paths.
OVSDB
OVSDB (Open vSwitch Database) is a protocol that is used to manage Open vSwitch (OVS) instances. Open vSwitch is a software switch that is commonly used in SDN. OVSDB enables the SDN controller to configure and manage OVS instances, such as creating virtual switches, configuring ports, and setting up VLANs.
OVSDB uses JSON to represent the configuration data, and it uses a set of standardized operations to manipulate the data. OVSDB is widely supported by many SDN controllers and is becoming more popular in SDN because of the widespread use of OVS.
Conclusion
In summary, Southbound APIs use a variety of protocols to communicate with network devices. OpenFlow is the most widely used protocol in Southbound APIs and is the de facto standard for SDN. NETCONF and RESTCONF are protocols that are used to configure network devices, and they are often used in conjunction with YANG. BGP-LS is a protocol that is used to disseminate link-state information throughout the network, and PCEP is a protocol that is used to compute network paths. OVSDB is a protocol that is used to manage Open vSwitch instances.
Each of these protocols has its own strengths and weaknesses, and the choice of protocol depends on the specific requirements of the network. However, it is important to note that these protocols are not mutually exclusive, and they can be used in combination to provide a powerful mechanism for controlling and managing the network.