Border Gateway Protocol (BGP) is the core of Internet and yet its versatility is hardly utilised by majority of the networking community within a data centre environment. BGP is widely used by the service provides and also in conjunction with MPLS. In the introduction of Software-Defined Networking (SDN), the whole concept of network will change dramatically in the coming years; some could say it has already changed, and I agree. We will hardly be managing devices individually and it will become impractical to manage 100s or even 1000s of devices in a data centre architecture.
Why Border Gateway Protocol?
I will try and justify my views as how BGP would be the perfect candidate as a SDN backbone. However, other protocols will still tick some of the boxes but those won’t be able to tick every boxes as BGP does.
I can’t think of a protocol which is versatile enough to handle control plane and data plane separate, yet when it comes to talking between control and data plane, it does it efficiently. After all, SDN is all about separating Control Plane from Data Plane.
On the contrary, We have a protocol which does have a higher convergence time, but it be tuned and accommodated to support a lower convergence time. Also, in my opinion SDN does not need to have an ultra fast convergence time.
In the controller based SDN, the controller will be already aware of the network topology and it will have secondary and even thirdary options all calculated and ready to be used in case the primary option fails. In that case, future convergence can be calculated at its own time; and in the mean time, the network will be fully operational.
BGP is by far the popular protocol out there when it comes to interoperability. There are other protocols such as OSPF or even CLNS based protocol such as IS-IS etc, but this protocol has made its mark and have proven to work on all vendors, devices and even able to peer from a Linux or Windows Operatings Systems. That is how much we can get out of BGP.
It is protocol which already interoperate with the current generation of devices. When we introduce SDN and let the controller in-charge of the Control Plane, it is not going to cause any interoperability issues with the current network. This can be achieved by having different BGP confederation and isolate SDN from the legacy network as transition to SDN occurs. It is protocol which works in conjunction with the all types of network yet speak the universal Internetworking language, there is no such protocol other than BGP which could do the task.
BGP, in my opinion the only protocol which can be configured granularly yet it doesn’t have any issue when it is scaled up. Therefore as a network grown, scaling-up a SDN running on BGP backbone is not going to encounter any performance related obstacles.
This is a topic which can be debated for hours and hours, but I do think overall BGP is the only protocol which ticks every boxes. Is is extremely versatile and yet easily controllable as the network scales up. Therefore, in my opinion, choosing BGP as the backbone protocol for SDN would be an excellent choice.