O MPLS (Multiprotocol Label Switching) é um protocolo de roteamento baseado em pacotes rotulados, onde cada rótulo representa um índice na tabela de roteamento do próximo roteador. Pacotes com o mesmo rótulo e mesma classe de serviço são indistinguiveis entre si e por isso recebem o mesmo tipo de tratamento.
O objetivo de uma rede MPLS não é o de se conectar diretamente a sistemas finais. Ao invés disto ela é uma rede de trânsito, transportando pacotes entre pontos de entrada e saída.
O MPLS foi padronizado para resolver uma série de problemas das redes IP, entre eles:
O MPLS fornece meios para mapear endereços IP em rótulos simples e de comprimento fixo utilizados por diferentes tecnologias de encaminhamento e chaveamento de pacotes. Este mapeamento é feito apenas uma vez no nó na borda da rede MPLS. A partir daí o encaminhamento dos pacotes é feito utilizando-se a informação contida em um rótulo (label) inserido no cabeçalho do pacote. Este rótulo não traz um endereço e é trocado em cada switch. O chaveamento de dados a altas velocidades é possível por que os rótulos de comprimento fixo são inseridos no início do pacote e podem ser usados pelo hardware resultando em um chaveamento rápido.
Ele é chamado de multiprotocolo pois pode ser usado com qualquer protocolo da camada 3, apesar de quase todo o foco estar voltado no uso do MPLS com o IP. Este protocolo é na verdade um padrão que foi feito com base em diversas tecnologias similares desenvolvidas por diferentes fabricantes. Ele é referido por documentos do IETF como sendo uma camada intermediária entre as camadas 2 e 3, fazendo com que estas se “encaixem” melhor.