MPLS or Multi Protocol Label Switching: Looking at Labeling In-depth
Written by Franko Franicevich
Another way of looking at the labeling piece of MPLS (Muli Protocol Label Switching) it is to imagine it's like stuffing a letter into an envelope. Want to send it first class? No problem, stuff it in to a priority mail envelope from USPSwhich is labeled, unsurprisingly 'Priority!', and is carried by superman himself at the speed of light to your destination. (Or slightly less. According to Einstein, if he traveled that fast your mail might end up out massing the entire universe. That could prove awkward.)
Otherwise, leave it in the peasant class rutabaga sack, where it can be carried on the back of a leprous and lame donkey called 'Bob', plodding it's frustratingly slow path via the cobbled and seldom trod alley ways of the net (label it 'turnip-class'. It's the way I usually travel.)
At this point, I've got an admission to make: So... The MPLSprotocol might be a little more complex than I've presented, but don't worry, it's not by much.
Often as part of the routing you'll 'swap labels' (transfer from rutabaga sack to a turnip sack), 'stack' labels (stuff the rutabaga sack inside of a turnip sack, or maybe pull a turnip sack out of a rutabaga stack), and so on - But it's all controlled by very simple rules that the postman(switch) can look up:
For example, Bob (The donkey, remember? There was a reason he had a name) arrives at the next post office. The postman there looks at the sack, looks at his 'routing table', and exclaims, 'Aha! A rutabaga sack! I take the rutabaga sack and put it inside a turnip sack, then send it via mountain goat along the foothills of lost packets.
At the far end, another postman takes a look at his list, and observes, 'It appears I have a turnip sack. According to this, I take out whatever is inside the turnip sack, and place upon this small ox drawn haycart to be delivered to it's next destination.'
It's this little bit of 'stacking' magic that makesVirtual Private Networksa simple and elegant part of the core MPLS protocol. When we can hide one label behind another, it allows an MPLS cloud provider to build huge networks that carry our smaller MPLS networks within them. We pass off our MPLS (or plain jane IP) packet to the provider, they wrap it up inside one of their own labels, and it magically floats its way through the cloud to it's destination (perhaps a client of ours.) At the far end, off pops the MPLS providers label, revealing our packet again, fresh and untouched!