MPLS or Multi Protocol Label Switching:The What, Why, & How.
Written by Franko Franicevich
This blog is part 1 of a 3 part series on MPLS or Multi Protocol Label Switching, a highly scalable, protocol agnostic, data-carrying mechanism in high-performance telecommunications networks, which directs and carries data.
About 10 or 15 years ago there was a concern thatIP (Internet Protocol) networks in particular, with their unsatisfactory QOS (Quality of Service) and complicated routing schemes, would not be sufficient for the ravenous hunger of the ever growing Internet.
This triggered some research in a networking technology called 'label' or 'tag' switching by some of the big guns in the field - Cisco (and others) had a hand in the early proposals of what would eventually be developed by the IETF (Internet Engineering Task Force)in to the open standard 'MPLS' or 'Multi Protocol Label Switching' - A way of implementing high performance networking on the top of existing protocols and net tech.
But, why all the fuss? What was wrong with good 'ol IP?
IP (Internet Protocol) is tricky. It lacks any realQOS (Quality of Service) features (they were tacked on later), and the nature of the protocol makes it difficult to route. At every router on the path, you've got to actually analyze the packet header, performing a complicated look-up called 'Longest Prefix Match' against the address to find out where it's supposed to go next. Don't worry; I'm not going to try to explain it. But imagine it's something like 'I've got Go, Goo, Goog and Goggle in my dictionary. How do I get to Google? Go? Too short. Goggle? Nope, a different word entirely. Goo? Yeah, possibly, but Goog is longer and still fits'.
It makes my brain hurt.
(Of course, modern hardware makes this problem trivial, with huge switches consuming gigawatts of electricity capable churning out calculations by the trillion.)
VPN's (Virtual Private Networks) were also a recent addition (relatively speaking) to the world of IP, and as such are not part of the original core protocol - There are many clever extensions that sit on top of IP and provide the ability to encapsulate other networks over the top, but these protocols make routing and configuration even more complex, and use up significant bandwidth on top of what is already required.
What makes MPLS different?
At it's heart, Multi Protocol Label Switching is beautifully simple - Every packet is 'labeled' - A small header is tacked to the front of the packet (in our case, the IP packet - though it need not be - the 'Multiple Protocol' part, remember?), and then every switch on the way need only look at this label to determine where to send it, instead of doing the brain-twisting intellect confounding routing described earlier.
This label is used to both help route the packet to its final destination, and provide a simple class of service! You might always send label 'IMPORTANT' down the expensive gold sheathed diamond-fiber link, while the traffic marked with the label 'DOH!' goes down the ancient and weathered cable made of rusty nails linked haphazardly in a chain.
The second instalment will be published next Wednesday, July 29th.