MPLS is a routing technique that assigns short labels to data packets to improve forwarding speeds. It allows packets to be forwarded based on these labels rather than long network addresses, combining aspects of both Layer 2 and Layer 3 networking. MPLS groups packets into forwarding equivalence classes and assigns each class a label. Routers along the label switched path are able to forward packets based on these labels rather than long addresses. MPLS supports multiple label distribution protocols and allows for label stacks and tunneling of label switched paths.