There is much discussion these days in various industry forums and conferences about whether OpenFlow will replace MPLS. I guess this comes historically from the fact that ATM replaced Frame Relay (FR), and MPLS then replaced ATM. And although FR was primarily a WAN technology, ATM (who remembers LANE?) and MPLS (ala, VPLS) was/is also deployable in the LAN.
And although I’m specifically mentioning OpenFlow, I’m really thinking more broadly in terms of SDN. So, the question then becomes: Will SDN replace MPLS at some point in the future?
My personal perception is that early in the OpenFlow evolution there were some folks who thought OpenFlow will indeed replace MPLS at some point. MPLS was deemed “too complex”, amongst other arguments against MPLS. As I’ve witnessed the evolution of MPLS over the last decade, it has indeed become more complex. Becoming “too complex”; however, is an argument I don’t think I fully support. Here is my reasoning.
At one point in time, ATM solved many problems and had many advanced features. But as the technology matured, was more widely deployed and became more feature rich, it evolved into a very complex technology. I remember going to training course after training course to become fully proficient in ATM technologies. Then when I saw how ATM was being adapted into the LAN infrastructure with LANE (yuck!), I think that was my turning point. About that same timeframe, MPLS was being developed and talked about in various industry forums and conferences. It looked simple, it looked “kind of” like ATM in terms of virtual circuits (LSPs in MPLS speak), and it looked like it was starting to gain industry support. Fast forward a decade or so and MPLS is now very widely deployed but as it has matured in terms of features and functionality, it has become more complex. And, ATM is dead. So, some folks are now saying, “we need something else, something simpler than MPLS because it has become too complex”. Enter from stage left, OpenFlow! So here we are…
SDN solutions using OpenFlow, from a high level, can provide some of the basic machinery in terms of forwarding packets as MPLS does (or IP, for that matter). Distributed network routing and signaling protocols ultimately create state to populate the forwarding information base (FIB) of a router or switch, and a centralized SDN application using OpenFlow could also populate the FIB of a router or switch. This is why, I believe, that some folks think SDN with OpenFlow could indeed replace MPLS. And here is where I disagree somewhat. Sure, it appears possible and yes there is at least one widely publicized production WAN deployment that I know of (there could be more) where the network switching devices receive their FIB state from a centralized SDN application using OpenFlow. But one must realize that to fully replace all the required features and functionality of MPLS, OpenFlow and SDN will need to evolve to offer those same features and functions. Would adding those features and functions make OpenFlow and SDN as complex in the future as MPLS is today? If so, what will the industry have gained? So, would we be just moving the complexity problem somewhere else?
I believe the industry is beginning to re-appreciate all that MPLS provides and is re-realizing how widely deployed it is. I think the industry is starting to come to terms that MPLS is here to stay, and is starting to develop ways to leverage the benefits of SDN and OpenFlow into existing MPLS networks. In other words, integrate the technologies instead of having them compete against each other. Perhaps leveraging the OpenFlow classification abilities at the edge of a network using a centralized application, while maintaining the MPLS-based distributed signaling and forwarding state in the core of the network. Or adding an SDN + OpenFlow logical network “overlay” or “slice” to an existing production network for research purposes. Or perhaps even to opportunistically override the normal forwarding decisions for specific packet flows in the network in order to “steer” those flows to some sort of analytics device or value-add services appliance. Those are a few examples, but there are many.
In February, 2011 the ONF standardized OpenFlow v1.1, where MPLS label support was added. That was a great first step. The ONF is very active in the evolution of OpenFlow and SDN. While the ONF focuses more on OpenFlow and SDN, the IETF focuses on SDN and MPLS. I see more and more industry forums and conferences where MPLS and SDN are now being discussed side by side.