Views
MPLS with OpenFlow/SDN
From OpenFlow Wiki
Contents |
Motivation
MPLS networks have evolved over the last 10-15 years to become critically important for ISPs. They provide two key services: traffic engineering in IP networks and L2 or L3 enterprise VPNs. However as carriers deploy MPLS networks, they find that (a) even though the MPLS data plane was meant to be simple, vendors end up supporting MPLS as an additional feature on complex, energy hogging, expensive core routers; and (b) the IP/MPLS control plane has become exceedingly complex with a wide variety of protocols tightly intertwined with the associated data-plane mechanisms.
We propose a new approach to MPLS that uses the standard MPLS data-plane with a simpler and extensible control-plane based on OpenFlow and SDN.There are significant advantages in using this approach. The control-plane is greatly simplified and is de-coupled from a simple data-plane. And we can still provide all the services that MPLS networks provide today. More importantly we can do much more: we can globally optimize the services; make them more dynamic; or create new services by simply programming networking applications on top of the SDN Controller.
Changes to the OpenFlow protocol
There are none. The current version of the OpenFlow protocol (version 1.1) already gives the ability to push, pop and swap MPLS labels. This is all we need!
At the time this work was done (Oct 2010- June 2011), there weren't any software or hardware switches fully compliant with the 1.1 specification. Neither were there any controllers. We took existing controllers (NOX) and software-switches(Open vSwitch) fully compliant with version 1.0 of the OpenFlow spec, and modified them with just the MPLS related features from version 1.1.
Demos
To demonstrate the simplicity of our SDN based approach, we show nearly every major feature of MPLS-TE and MPLS L3 VPNs, that we have implemented in just a few thousand lines of code; compared to nearly two orders-of-magnitude greater code-lines required in traditional distributed approaches.
We have shown MPLS Traffic-Engineering based on admission-control of TE-LSPs (tunnels) using a CSPF algorithm. Further we have implemented a number of TE features such as bandwidth reservation at different priority levels; Autoroute of IP traffic into the tunnels; AutoBandwidth of tunnel reservations and their interactions with tunnel priorities; traffic-type specific tunnels (aka DS-TE); and load-balancing of traffic-flows over IP links and TE tunnels.
A video of the demonstration can be seen here. Demo details as well as instructions on recreating the demo, and downloading controller & application reference code can be found here
Next, building on our TE work, we recently demonstrated MPLS L3-VPNs. We interactively created multiple isolated VPNs, with overlapping private-IP address spaces. The VPNs have customer specified topologies, and are supported by TE tunnels in the backbone.
Both of our demos were showcased at the Open Networking Summit from Oct 17th-19th, 2011 (related press)
Publications
- Saurav Das, Unified Control Architecture for Packet and Circuit Network Convergence, PhD Thesis, Stanford University, June 2012.
- Saurav Das, Ali Reza Sharafat, Guru Parulkar, Nick McKeown, MPLS with a Simple OPEN Control Plane, invited talk at Packet Switching Symposium at OFC/NFOEC'11, Los Angeles, March 2011.
- Ali Reza Sharafat, Saurav Das, Guru Parulkar, Nick McKeown, MPLS-TE and MPLS VPNs with OpenFlow, demonstration at SIGCOMM, Toronto, August 2011.
Talks
- Why SDN and MPLS?, presented at the Stanford Clean Slate Program CTO Summit, November 2011.
- SDN in Carrier Networks, presented at Broadcom Corporation, October 2011.
- Software Defined Networks, presented to the Optical Internetworking Forum (OIF), July 2011.
- MPLS-TE with OpenFlow, presented to Global Crossing, March 2011.
- Providing MPLS Services with OpenFlow, presented at Google, January 2011.
- Other talks in smaller settings have been made to Juniper, Ciena, Ericsson and Deutsche Telekom.
People
- Saurav Das
- Ali Reza Sharafat
