Protocolo MPLS: Multiprotocol Label Switching

image_pdfimage_print

O MPLS é 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 indistinguíveis 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.

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.

Funcionamento

Quando um pacote vai de um roteador para outro através de um protocolo de rede sem conexão, cada roteador analisa este pacote e toma decisões independentes sobre para onde enviar o pacote. Isto significa que cada roteador analisa o cabeçalho e roda o seu próprio algoritmo de roteamento.

Porém os cabeçalhos dos pacotes contém muito mais informação do que é  preciso para se determinar para onde será o próximo salto (hop).

A tarefa de rotear um pacote através de determinada rede pode no entanto ser separada em duas operações diferentes. A primeira seria a de determinar Classes de Encaminhamento Equivalentes (Fowarding Equivalence Class – FEC) que seriam todas as possibilidades de encaminhamento de um pacote através da rede. A segunda correlaciona cada CEE (FEC) com um próximo salto.

Cada CEE é relacionada a um LSP (Label Switch Path).  Os LSP são caminhos determinados dentro da nuvem MPLS. Uma CEE pode ser associada a mais de um LSP, porém com todos apresentando mesma origem e mesmo destino.

MPLS - Imagem 1

Se fizermos uma analogia, no roteamento convencional cada roteador da rede irá associar dois pacotes a uma mesma CEE se existe em sua tabela de roteamento  um prefixo de endereço X que seja o maior casamento (longest match) com o endereço de destino de cada pacote.

No MPLS a associação do pacote com uma determinada CEE é feita apenas uma vez quando o pacote entra na rede através do LER (Label Edge Router) da figura abaixo. A CEE a qual o pacote esta associado é codificado através de um rótulo de tamanho fixo que é inserido entre a camada de enlace (link layer) e a camada de rede (network layer).

MPLS - Imagem 2

Nos saltos subseqüentes não há nenhuma análise do cabeçalho da camada de rede do pacote. A cada Roteador Comutador de Rótulos (Label Switch Router – LSR ) pelo qual o pacote passa, os rótulos são trocados pois cada rótulo representa um índice na tabela de encaminhamento do próximo roteador. Sendo assim, quando um pacote rotulado chega, o roteador procura em sua NHLFE pelo índice representado pelo rótulo. Ao encontrar este índice o roteador substitui o rótulo de entrada por um rótulo de saída associado à CEE a que pertence o pacote. Após completada a operação de troca de rótulos o pacote é encaminhado pela interface que está especificada na tabela de roteamento.

Quando o pacote chega ao LER de saída da rede MPLS, o rótulo é removido e o pacote é encaminhado pela interface associada à CEE a qual pertence o pacote.

MPLS - Imagem 3

Vantagens

Esta seção tem como objetivo apresentar algumas das vantagens introduzidas pelo MPLS como consta na RFC3031 que descreve a arquitetura MPLS.

A primeira vantagem seria o fato do encaminhamento MPLS poder ser feito apenas com comutadores no papel de RCR (LSR). Usualmente os comutadores são capazes de realizar as tarefas de pesquisa e troca de rótulos mas não são capazes de analisar o cabeçalho da camada de rede, ou não são capazes de faze-lo rápido o bastante.

A utilização de comutadores no lugar de roteadores é vantajosa porque os comutadores são em geral mais baratos e operam a velocidades superiores à dos roteadores.

Outra vantagem introduzida pelo MPLS é decorrente do fato dos pacotes serem analisados apenas uma vez, quando entram na rede MPLS. Sendo assim o roteador de ingresso pode utilizar qualquer informação sobre o pacote, não necessariamente presente no cabeçalho da camada de rede, para determinar a que CEE pertence o pacote.

Com isso é possível se criar classes de serviço para se diferenciar pacotes e se realizar engenharia de tráfego para não sobrecarregar rotas congestionadas. Assim pode-se por exemplo escolher caminhos mais rápidos, porém com custo mais elevado, para pacotes de maior prioridade.

MPLS - Imagem 4

Uma terceira vantagem seria a possibilidade de se rotular diferenciadamente pacotes que entram por roteadores ou até mesmo interfaces diferentes.  Isto permite a fácil criação de Redes Privadas Virtuais (Virtual Private Networks – VPN’s).

Existe ainda uma vantagem que é inerente a própria concepção da arquitetura. Como a parte pesada do processamento dos pacotes é feita nas bordas da rede, o núcleo da rede pode operar com mais folga. Isto é uma grande vantagem uma vez que a taxa de pacotes por segundo no núcleo da rede é maior do que a taxa de pacotes nas bordas.

Rótulos

Os rótulos são pequenos identificadores de tamanho fixo colocados nos pacotes durante seu trafego pela rede. Eles são inseridos pelo LER de entrada e são removidos em definitivo pelo LER de saída. Assim não sobra nenhum vestígio dos rótulos que possa atrapalhar o seu roteamento fora da rede MPLS.

Para redes MPLS baseadas no protocolo IP, alguns bytes são inseridos antes do cabeçalho IP para fazer o papel do rótulo. Para redes ATM  e Frame Relay os campos VPI/VCI e DLCI são utilizados, respectivamente, como o rótulo.

Os rótulos tem a seguinte forma:

|-20bits Label-|-3bits CoS-|-1bit Stack-|-8bits TTL-|

Os 20 primeiros bits representam a identificação do rótulo, ou seja, identifica a que CEE pertence o pacote.

Os 3 bits de CoS (Class of Service) são usados para alterar os algoritmos de enfileiramento (queuing) e descarte. Com isso é possível dar-se prioridade a certos pacotes.

O bit de pilha (Stack) permite a criação de uma pilha hierárquica de rótulos e os últimos 8 bits fazem o papel do TTL IP convencional.

Os rótulos tem validade local, o que significa que só são válidos entre roteadores adjacentes. Além disso, o fato de terem tamanho fixo agiliza o seu tratamento pois este pode ser feito por meio de Hardware.

Distribuição dos rótulos

Para que um RCR possa associar um rótulo a um pacote ele precisa saber quais foram os rótulos estipulados pelos seus RCR’s adjacentes. Isto porque o rótulo de saída que consta em uma posição na tabela de um RCR é determinado pelo RCR para o qual o pacote que receberá este rótulo será mandado.

MPLS - Imagem 5

Para isso é necessário que haja algum tipo de protocolo de distribuição de rótulos. Existe na verdade vários protocolos de distribuição de rótulos, sendo que o padrão não estabelece qual deles deve ser utilizado.

Alguns destes protocolos são na verdade adaptações de protocolos já existentes onde foi introduzida a distribuição de rótulos. Exemplos destes protocolos são o MPLS-BGP e o MPLS-RSVP-TUNNELS.

Porém alguns protocolos foram desenvolvidos com o fim específico de distribuir rótulos em uma rede MPLS. Dois exemplos comuns destes protocolos são o MPLS-LDP e o MPLS-CR-LDP.

Interoperabilidade entre Protocolos

Por ser uma tecnologia nova e muito versátil, muitas pessoas acabam confundindo o conceito de MPLS com outras redes como redes IP, ATM ou Frame Relay. Na verdade, MPLS é outro tipo de rede, independente das demais, mas que pode usar equipamentos ATM, IP ou Frame Relay como RCR’s alterando-se apenas o software que controla esses equipamentos.

Esta facilidade se deve ao fato de que redes MPLS podem rotear tanto pacotes como células sem alteração na maneira como os caminhos são calculados.

Outro fator que se deve levar em conta é que a flexibilidade do MPLS ainda permite que ele seja usado simultaneamente com outros protocolos, mais especificamente com ATM.

Isto pode ser encontrado em provedores de serviço e em grandes empresas que já fizeram um grande investimento em WAN com backbones ATM. A rede ATM é necessária para aplicações de voz enquanto o restante dos dados pode usar MPLS.

Aplicações

Como foi visto anteriormente, o MPLS é uma rede de transito, o que em geral significa que há a necessidade de grande planejamento e grandes investimentos para sua implementação.

Porém, apesar de ser uma tecnologia nova, várias empresas já estão optando por migrar seus Backbones para tecnologia MPLS. Uma das primeiras a se aventurar no uso do MPLS foi a AT&T. Atualmente, outros grandes provedores como a GlobalOne, já estão oferecendo serviços baseados em redes MPLS.

A BellSouth está com um projeto de implementar uma rede MPLS no NAP (Network Access Point) de Miami, que é o link de dados entre os EUA e a América Latina, Caribe, África e leste Europeu.

No Brasil, a Intelig já oferece serviços baseados em sua rede MPLS.

Conclusão

Até hoje não existe nenhum protocolo que seja uma panacéia para os problemas de redes de computadores. E não acredito que será assim com o MPLS que apesar de oferecer inúmeras vantagens sobre seus predecessores, terá também suas limitações.

Embora o MPLS seja uma tecnologia muito promissora, somente o tempo irá dizer o quão relevante ela realmente será. Com a grande velocidade em que ocorrem as inovações, novas tecnologias aparecem a todo instante tornando o que outrora era considerado como o futuro em apenas curiosidades e notas de rodapé.

Para maiores informações sobre os detalhes do funcionamento do MPLS, referir-se ao RFC 3031.

Fonte: GTA/UFRJ

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Tenho interesse por todas as áreas da informática, mas em especial em Gestão, Segurança da Informação, Ethical Hacking e Perícia Forense. Sempre disposto a receber sugestões de assuntos para criar uma postagem.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Quer ficar atualizado?

Inscreva-se em minha newsletter e seja notificado quando eu publicar novos artigos de graça!