The Evolution of Multiple Protocol Label Switching (MPLS)
Of all the protocols developed by the Internet Engineering Task Force (IETF), few have incited as much excitement and as much controversy as Multiple Protocol Label Switching (MPLS). Some view MPLS as the Holy Grail of networking that solves all problems. Others view it as a cumbersome technology that has already passed its prime even before coming of age. If you talk to 10 people in networking, there could be twenty different opinions about MPLS.
Certainly, by viewing the same object from different angles, different images can be projected. It's therefore very important to examine the MPLS technology from many different angles. This article presents an evolution story of MPLS, from its emergence into the networking scene, to the many applications it supports.
ATM Cell SizeFixed or Variable?
It's safe to say that MPLS was developed out of the need to integrate two different networking technologiesIP and ATM.
We all know that the length of an ATM cell is 53 bytes, with a 5-byte header and 48-byte payload. This (literally) odd number was the grand compromise between the United States, Europe, and Japan at a committee meeting in 1989. Europeans, the French in particular, wanted a 32-byte payload for voice traffic, and the U.S. wanted a larger 64 bytes for more efficient network utilization. So a simple arithmetic average was taken to arrive at the number 48.
Little did anyone know at the time that this fixed 53-byte size would become the key factor for the undoing of ATM. The majority of telecommunications traffic today carries data packets. Because data packets are of considerable size (such as 1500 bytes), they must first be segmented and then reassembled for transport across the ATM network. This caused two problems: first, a 10% overhead is taxed on the traffic due to the 5-byte ATM cell header; second, it's difficult to perform the segmentation and reassembly (SAR) function at very high speed. Imagine chopping a large packet into many smaller pieces and quickly attaching headers to each of them.
In fact, there was a proposal to the CCITT for variable-size ATM cells. The proposal was promptly dismissed at the time for two reasons. It's harder to process cells with different sizes than cells with the same size. And because one major goal for ATM is to achieve statistical multiplexing gain over a high-speed link with many different traffic flows, variable-size cells would present a big problem for multiplexing efficiency, a classical bin-packing problem.