Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

BGP routing joining OpenFlow in software-defined networks

Border Gateway Protocol is an internet essential, and BGP routing may be taking on a bigger role in software-defined networking, displacing OpenFlow to manage SDN packet flow.

Border Gateway Protocol, or BGP, has long been used to route packets across the internet. Now, BGP routing is finding...

a role within large software-defined networks. Until recently, most SDNs used the OpenFlow protocol to manage how packets flow through the network. The concern for operators of large, distributed networks is controllers in OpenFlow-based networks will be swamped with the volume of requests.

In an OpenFlow-based network, when an application initiates a new source-to-destination packet flow, every switch along the path generates an OpenFlow request. The controller must respond to each switch, informing it how to direct the flow's packets. On the other hand, using BGP reduces the number of requests to the controller, while maintaining the controller's role in setting the policies that determine how packets flow through the network.

BGP routing operations

BGP's role since the early days of the internet has been to direct packets between autonomous systems (AS) -- networks managed by a single operator, such as a service provider or an enterprise. Packets must travel from AS to AS each time a request is made to an external service. Accessing a webpage may result in packets being directed through multiple autonomous systems on their way from the requesting browser and the web server in a distant AS.

BGP routers are configured with the addresses of BGP routers of neighboring autonomous systems. Each local BGP router reports its AS identifier and the IP address prefix of systems in its local network to its neighbors. Neighboring routers respond with a list of distant autonomous systems, their prefixes and their distance -- defined as the number of autonomous systems a packet must pass through on its way. BGP routers do not exchange any information describing quality-of-service (QoS) characteristics of AS-to-AS links, which include available throughput, delay or jitter.

Businesses commonly connect to more than one local service provider, and local providers connect to multiple backbone providers to ensure continuous service. Configured policies may direct a BGP router to favor one local service provider over others when the distance to the destination is the same, or, possibly, as long as the favored provider is functioning. When a packet is addressed to a system in a remote AS, the local BGP router determines which neighbor to forward the packet to -- a decision based on policy and the distance to the remote AS.

BGP can also be used within a large network. Internal routing protocols, such as Open Shortest Path First (OSPF), create complete network maps. These maps can become quite extensive. Subdividing the network into separate OSPF domains connected by BGP enables OSPF to operate efficiently in each region.

BGP routing's growing role in SDN

The role of the network controller changes when BGP replaces OpenFlow. The controller continues to set policies that determine packet flows, but it is no longer required to configure each individual flow or continue to maintain a Transmission Control Protocol connection to each switch.

Instead of responding to individual flow requests, the controller exchanges BGP messages with routers. BGP has been extended beyond its original specification to define how policies and policy updates can be encoded within BGP messages.

The use of BGP makes it possible for the network to continue to operate if the controller fails, or if the link from the controller to the routers goes down.

The use of BGP routing makes it possible for the network to continue to operate if the controller fails, or if the link from the controller to the routers goes down. Routers would no longer be able to exchange updates with the controller on network operations, status and policy, but packets would continue to flow based on previously set policies.

BGP is a path vector protocol that maintains path information that gets updated dynamically and in which routing decisions are based strictly on distance and policy. Unlike link-state protocols, like OSPF, they do not create a complete network map or maintain QoS information. The size of the internet makes it virtually impossible to create and maintain a map describing each of the thousands of autonomous systems and the links between them.

Large service provider networks may contain thousands of links, but do not compare to the size of the internet. BGP routers maintain a complete map in these environments. The Internet Engineering Task Force recently released RFC 7752, which defines how BGP can be extended to maintain and update the controller with information on individual links and their QoS characteristics. The controller is then able to use QoS information to create policies that determine how flows with QoS requirements move through the network.

Using BGP as the control protocol within software-defined networks is a relatively new development. BGP routing will no doubt continue to evolve as operators gain experience and further enhance the BGP protocol.

Next Steps

Why BGP is being adapted for SDN

There's more than OpenFlow: SDN protocol options

Is OpenFlow protocol being overtaken?

This was last published in September 2016

Dig Deeper on Network protocols and standards

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What factors are guiding your decision to use BGP routers instead of OpenFlow?
My talk on BGP use cases from the 2016 OpenDaylight Summit is up on YouTube. Might be relevant to this discussion.

Again we see an article that confuses the role of OpenFlow with those of protocols designed to enable specific network tasks, such as BGP. The irony of it all is that OpenFlow is superbly well suited to implement protocols such as BGP in a truly scalable, hardware agnostic fashion that can be dynamically linked to policy management and network applications via a standard, open interface. Here are a few key facts:
1) BGP implemented by using OpenFlow has been publicly demonstrated time and again by the ONF's Atrium open source project, and by NoviFlow's own Scale-Out BGP Router – a commercial product we have launched at Mobile World Congress at the beginning of the year.
2) The argument that this requires table sizes beyond existing commercial hardware is patently false, again demonstrated by multiple venders including NoviFlow's NoviSwitches which support millions of flow-table entries, along with switches from other ONF member companies. The people who make this claim seem to be unable to look beyond the usual incumbent network equipment vendors - whose products were never designed to support OpenFlow's programmable packet pipeline architecture in the first place and so are limited to a few tens of thousands of flow entries at best. By the ways, these incumbent vendors are indeed doing their best to spread FUD and confusion about SDN and OpenFlow in order to delay the displacement of their products in the marketplace by genuine SDN and OpenFlow solutions.
3) To say that BGP is displacing OpenFlow is also completely laughable, as multiple commercial SDN products (such as NoviFlow's Scale-Out BGP Router) and open source projects (such as the ONF's Atrium and Faucet projects, the University of New South Wales's Castor project, and Princeton's iSDX projects have ALL implemented BGP using OpenFlow!
BGP is only one of the protocols being implemented in OpenFlow devices. Faucet implements all the protocols of a standard Layer 2 switch as OpenFlow, IS-IS, OSPF, Load balancing, firewalls, service chaining, etc, are all implemented on OpenFlow, making it possible to create a single, coherent, centrally controlled and highly cost-effective implementation of all these protocols.
If you want to really find out about OpenFlow please go to opennetworking.org. If you are a programmer and want to learn to use OpenFlow develop applications that use it go to inside-openflow.com.
To find out more about NoviSwitch and the Scale-Out BGP Router please go to noviflow.com.
Yes it has brought big confusion for me also. I am not a hardcore networking guys but some article highlights segment routing also replacing Openflow. So need more enlightment.
Thanks for mentioning Segment Routing. This is another example in the same category as BGP, where people confuse network services with network infrastructure. OpenFlow is a great technology with which to implement segment routing in a network, and has the added advantage of being programmable to enable more sophisticated manipulation of the packet/flow as it passes through the OpenFlow switch. These functions are coordinated via the OpenFlow controller, making it far easier to manage and orchestrate. In SDN/OpenFlow networks, BGP and Segment Routing are seen as programmable behaviours of the network fabric, instead of features of specific boxes as is the case in traditional networking. 
It will take a while for the culture of networking to adapt to this way of thinking: there's a new tool in the network toolbox and people will need time to learn how to use it effectively and how it opens up new avenues for solving network problems.