MPLS
I spent this past week in a Global Knowledge class on basic MPLS technologies such as VPNs and traffic engineering. I have to admit, there was an awful lot of information being thrown at us, but all told it was an amazingly beneficial course to have taken. The instructor was a top-notch engineer with a long history of doing just about everything.
In my albiet limited experience in networking, MPLS always had something of a mystique to it - I knew that it was fundamentally a label switching technology and that it could be used for 'things' but not much more. After doing some reading on the basic underlying ideas, I was left with the thought that MPLS didn't seem to really DO much of anything. As it turns out (this was clarified in the first few minutes of class) I was right. MPLS in and of itself is worthless, and merely serves to complicate the network by adding another point of failure and several more layers of complexity both in configuration and traffic flow.
If you have simple MPLS configured and running, what that really amounts to is and operational IGP, CEF, and a protocol called LDP through which label bindings are announced. Business as usual after that, with a look-up in the FIB being replaced by a look-up in the LFIB. The magic starts to become apparent when multiple tags are stacked and VRFs are introduced.
The workhorse of MPLS long-haul across the network is MP-BGP. Ask any honest non-CCIE (and even a lot of CCIEs) and they'll tell you that BGP has a tremendous amount of knobs to be fiddled with if it's going to do anything at all besides act as a simple EGP. The introduction of route distinguishers (to allow for multiple instances of the same NLRI in BGP), route targets (BGP extended communities to allow for control of route propogation through VRFs), and address families (to provide more granular neighbor control as well as a second layer in the label stack) make MP-BGP a formidable entity to be dealt with.
All these additional tweaks to the network configuration permit a host of additional oddities to pop up, such as a perfectly valid BGP-learned prefix with a IGP-reachable next hop that, despite that, can't be reached. If you'd like to try this at home, try turning off LDP between two P routers; LDP obviously won't exchange local bindings, resulting in a premature outer tag strip. The router receiving an unexpected VPNv4 tagged packet will drop it or introduce it to the wrong VRF.
My head is still swimming in the pool of new information it's trying to absorb, but for now I'll just say that MPLS is certainly worth a thorough study, one which I plan to continue. Shout-out to my new friends form Verizon, Charter, and the University of Iowa!