MultiProtocol Label Switching (MPLS) is a popular technology for controlled traffic engineering and for use in virtual private networks. In this chapter, we present MPLS covering the basic concepts and message formats. Further, we discuss how MPLS is used with OSPFand IS–IS extensions to enable traffic engineering. We also discuss GMPLS and where it differs from MPLS. Finally, we discuss MPLS applicability in virtual private networks both at layer 2 and layer 3, and with multicasting.