Get started Bring yourself up to speed with our introductory content.

A primer on northbound APIs: Their role in a software-defined network

This primer explores the concept of SDN northbound APIs, their key benefits, who's using them and why.

The northbound application programming interface (API) on a software-defined networking (SDN) controller enables applications and orchestration systems to program the network and request services from it.

SDN is a "stack" architecture that separates the network control plane from the forwarding plane and centralizes it in a controller that defines forwarding behavior through high-level policy. While a southbound interface like OpenFlow allows a controller to define the behavior of switches at the bottom of the SDN stack, the northbound API presents a network abstraction interface to the applications and management systems at the top of the SDN stack.

"This information can all be exposed and, using OpenFlow, managed directly," explains Mike Cohen, director of strategic alliances at Big Switch Networks. "The northbound API encapsulates these capabilities and weaves together higher-level constructs that allow us to do useful things on top of the controller."

Northbound APIs can enable basic network functions like path computation, loop avoidance, routing, security and many other tasks. They also allow orchestration systems like OpenStack Quantum or VMware vCloud Director to manage network services in a cloud.

Key benefits of the northbound API

An open, northbound API enables the network application ecosystem, which is the main promise of SDN, according to Rob Sherwood, principal architect at Big Switch Networks and chair of the Open Networking Foundation's (ONF) Architecture Working Group.

"Without a northbound API, all network applications must come directly from equipment vendors, which makes it more difficult to innovate in your network. Think of an 'app store' for network applications -- we couldn't have that without a northbound API," Sherwood says.

Network operators can also quickly modify or customize their network control through the northbound API.

"This can be done by an average programmer using popular programming languages like Java, Python, or Ruby to a clean API," Cohen says. "It doesn't require a programmer to understand the quirks and eccentricities of different data plane devices because it's abstracted and normalized by the controller through the northbound API."

Who will use northbound APIs?

Many people -- from vendors and service providers to nonprofits and educational institutions -- are working on northbound APIs for wide-ranging purposes.

"Larger, more sophisticated network operators and service providers are customizing applications themselves for in-house use. There's also lots of activity in the academic and research community," Cohen says.

Basically, anyone who wants to develop network applications is interested in using the northbound API. Sherwood likens the situation to a race to see who can create the next "killer app" to win mass adoption in smartphones.

Northbound API: Still evolving

Many different sets of northbound APIs are emerging. Currently, more than 20 different SDN controllers are available -- all featuring different northbound APIs. And the ONF, a consortium dedicated to promoting and commercializing SDN, is studying their variation and why they're all so different.

One possible reason is that requirements for a northbound API vary, depending on the needs of the applications and orchestration systems above it. And so far, no one appears to be collaborating on these APIs.

"We're even seeing OpenFlow being put directly into applications," says Dan Pitt, executive director of the ONF. "Others are writing controllers with northbound APIs and getting good feedback and experience. There's nothing better for the whole ecosystem and user experience than to get this experience."

Because SDN is so new, everyone is still learning about what they can do with northbound APIs, what form they might want it to take and what capabilities they enable.

"One of the goals of an API is to offer a platform so that anyone can come in and say they want their networking gear to function in a different way -- and we can focus on those capabilities to make it happen," explains Cohen. "That's what we're trying to capture in our northbound API."

No standards yet

As multiple vendors bring commercial SDN products to market, the ONF will explore opportunities for potential standards that promote openness, but for now it is letting vendors, researchers and users take the lead.

"With the networking world's move from a realm of protocols and standards to one of software and APIs, it is important to treat it carefully to avoid stifling innovations that are just now happening with northbound APIs," Pitt says.

Many are adamant that it's still way too early to be discussing standards, including Martin Casado, OpenFlow pioneer and Nicira co-founder, who describes the current northbound API situation as a total Wild West. "These APIs are all new, interesting and innovative, but I'm not sure if any of them are solving any problems," he says. "As soon as we've got a set of products that are solving real-world problems, then we can have a discussion about standards."

This was last published in December 2012

Dig Deeper on Software-defined networking