Category Archives: CCIE General

CCIE Emerging Technologies – SDN APIs

CCIE Emerging Technologies

What is the glue that allows the Software Defined Networking (SDN) architecture to function so well? That communication process between the Control and Data planes? It is the Application Programming Interface or API.

What is a classic example of an API in the SDN world? The answer is OpenFlow.  Recall from other discussions here at AJSNETWORKING that the OpenFlow specification defines both a protocol between the control and data planes and an API by which the control plane can invoke the OpenFlow protocol.

 APIs are implemented by writing function calls in the program. This provides the linkage to the required subroutine for execution. An open or standardized API can ensure the portability of the application code and the vendor independence of the called service.

SDN controllers can be implemented directly on a server or on a virtual server. OpenFlow or some other open API is used to control the switches in the data plane. In addition, controllers use information about capacity and demand obtained from the networking equipment through which the traffic flows.

SDN controllers also expose northbound APIs. As we have discussed here at the blog, this allows developers and their network engineers to deploy a wide range of off-the-shelf and custom-built network applications. Obviously, many of these applications were never before possible before SDN.

As yet there is no standardized northbound API nor a consensus on an open northbound API. A number of vendors offer a REpresentational State Transfer (REST)-based API to provide a programmable interface to their SDN controller.

Also envisioned but not yet defined are horizontal APIs (east/westbound), which would enable communication and cooperation among groups or federations of controllers to synchronize state for high availability.

At the application plane are a variety of applications that interact with SDN controllers. SDN applications are programs that may use an abstract view of the network for their decision-making goals. These applications convey their network requirements and desired network behavior to the SDN controller via a northbound API. Examples of applications are energy-efficient networking, security monitoring, access control, and network management.

Want more information – check out the excellent – Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud

CCIE Evolving Technologies – SDN Controllers

SDN Controllers

Don’t have a clue about SDN?

Aptly named, the Software Defined Networking Controller is the “brains” of the operation. This device sits at the top of your SDN hierarchy. This device is critical for your applications to communicate with the physical routers and switches that makeup your network.

The SDN Controller possesses a “global” view of the entire network. It knows about all of the nodes, the best paths between them, and the other potential paths. Amazingly, the SND Controller can failover to alternate paths even faster than the fastest converging of routing protocols. Perhaps this is not fair since the SDN Controller does have to worry about notifying other devices and computing best paths.

Are there various controller options for the various SDN solutions out there? You bet there are! For example:

  • Cisco Systems – the Cisco Application Policy Infrastructure Controller (APIC)
  • Hewlett Packard – the HP Virtual Application Networks (VAN) SDN Controller
  • NEC – the NEC ProgrammableFlow PF6800 Controller
  • VMware  – the VMware NSX Controller
  • OpenDaylight – the OpenDaylight open source SDN controller
  • OpenContrail – the OpenContrail SDN controller
  • Many, many more!

Notice that you will have choices between commercial and an open source controller. Today we find that most operational SDN deployments use a mixture of vendor-sponsored projects.

Keep in mind that there are some common requirements that all SDN controllers should meet. For example, all controllers should support features such as the OpenFlow protocol. This is because this is a common method for southbound application programming interfaces (APIs) to their switches.

Pearson Education (InformIT)