1.    Introdução

 

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 indistingüiveis 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.

 

1.1   Motivações

 

 O MPLS surgiu como uma resposta de fabricantes de equipamentos e centros de pesquisa a várias necessidades que surgiram com a popularização da internet e diversificação de seus serviços.

 

Talvez a mais primordial destas necessidades seja a sobrecarga que esta sendo aplicada aos roteadores da rede devido ao sempre crescente número de usuários. Os roteadores IP possuem um algoritmo de roteamento que é ineficiente a medida que o tamanho da rede cresce pois para definir qual será o próximo salto (hop) do pacote, cada roteador tem que analisar mais informações do que é realmente necessário.

 

Além disso cada roteador tem que realizar o mesmo processo, que é muito semelhante para todos os roteadores, para cada um dos pacotes, sem guardar nenhum tipo de memória sobre cada pacote. Isto é especialmente ineficiente devido ao fato de que a maioria dos pacotes IP pertencem na verdade a fluxos de pacotes com mesmas origens e destinos.

 

Outro fator extremamente importante é o custo dos roteadores. Esse custo é em geral muito elevado, o que exige grandes investimentos quando surge a necessidade de se aumentar a rede. 

 

Com base nestes fatores pode-se chegar a conclusão de que uma rede baseada no algoritmo de roteamento padrão das redes IP não é escalonável. Ou seja, não é possível aumentar-se o tamanho de uma rede indefinidamente pois por mais rápidos que os roteadores sejam individualmente, a repetição excessiva de tarefas semelhantes torna o atraso da rede proibitivo.

 

Ficou claro então a necessidade de novos algoritmos de roteamento. Porém, agora entra em cena um outro fator. Mesmo que fosse desenvolvido um algoritmo de roteamento extremamente eficiente, este não seria muito útil se não fosse compatível com os protocolos e equipamentos já existentes.

 

Este de certo modo foi o maior problema com as redes ATM. Para se implementar redes ATM é necessário grandes investimentos em equipamentos além do que existem grandes dificuldades na interoperabilidade entre o ATM e o IP, principalmente no tocante a redes de grande porte, retornando novamente ao problema de escalonabilidade.

 

Junto a todos estes fatores pode-se somar a necessidade de novas funcionalidades de roteamento como por exemplo as classes de serviço. Isto decorre do aparecimento de tecnologias como vídeo e voz sobre IP que são extremamente sensíveis ao atraso, em especial atrasos diferenciados para pacotes de um mesmo fluxo. Para ajudar a resolver este problema é necessário se dar prioridade a esses tipos de pacotes, e essa priorização não é suportada por roteadores IP padrão.

 

1.2 Histórico

 

Quando o ATM foi lançado, esperava-se que ele acabasse por dominar o cenário mundial devido às suas altas velocidades. Porém a tecnologia ATM possuía um calcanhar de Aquiles. Ela não era compatível com o IP, o protocolo de rede mais difundido do mundo.

 

Logo vários esforços foram feitos para se compatibilizar o ATM com o IP. Uma destas tentativas foi o ATMARP (ATM Address Resolution Protocol). Este protocolo mapeia os endereços IP em endereços ATM para que pacotes IP possam ser roteados através de uma nuvem ATM.

 

Porém o ATMARP possuía várias desvantagens. Entre elas estão a impossibilidade de conexão direta entre endereços IP de diferentes subredes.  Para isto era necessário que os pacotes passassem por roteadores, mais lentos do que os comutadores ATM, formando assim gargalos na rede. Outra desvantagem é que através do ATMARP, os pacotes IP não podiam se aproveitar da Qualidade de Serviço oferecida pelo ATM.

 

Para contornar o problema com os roteadores  foi desenvolvido o NHRP (Next Hop Routing Protocol). O NHRP funciona utilizando NHS (Next Hop Servers) nos roteadores IP. Quando um NHC (Next Hop Client) manda um pacote de request para uma subrede IP, os NHS roteiam este pacote até o roteador final. O NHS do roteador final transforma o endereço IP final em um endereço ATM e manda de volta para o NHC. Assim os próximos pacotes IP poderão ser encaminhados inteiramente dentro da rede ATM.

 

Mas o NHRP também apresentava sérias desvantagens. Uma das desvantagens era o número limitado de transmissões IP que poderiam ser feitas devido ao armazenamento dos dados sobre as transmissões nos NHS’s. Outra desvantagem era que o NHRP não suporta transmissões multicast.

 

Aos poucos foi-se percebendo que a interoperabilidade entre redes IP e ATM seria uma questão complexa e que necessitaria de muito investimento para ser resolvida. Para contornar este problema, várias tecnologias foram desenvolvidas, todas independentes entre si mas na mesma direção.

 

O IP Switching, da Ipslon, foi uma das primeiras a aparecer.  Ele foi projetado para conectar subredes IP através de nuvens ATM.

 

O IP Switching é composto de comutadores ATM e Controladores de Chaveamento IP (IP Switch Controllers). O Controlador de Chaveamento IP é um equipamento de roteamento e encaminhamento, ligado a uma das portas  OC-3c do comutador ATM.

 

Apesar desta tecnologia estar fortemente conectada à tecnologia ATM, os comutadores ATM são utilizados apenas como o elemento de encaminhamento dos pacotes, sendo que toda a sinalização e controle ATM são revogados.

 

Aproximadamente na mesma época apareceu a arquitetura CSR (Cell Switching Routers) que foi em grande parte resultado de pesquisas realizadas no Instituto de Tecnologia de Tóquio e que foi depois adaptada pelas corporações Toshiba.

 

O CSR é muito similar ao IP Switching sendo que sua maior diferença é que sua intenção é a de conectar ATM LIS (Local IP Subnets), e não subredes IP com enlaces não ATM utilizando roteadores IP padrão. Outra diferença é que o IP Switching só é capaz de rotear pacotes IP, já o CSR pode rotear pacotes de protocolos que não sejam IP. A conexão entre ATM LIS e redes não ATM se dá através de roteadores padrão, onde o endereçamento depende de servidores ATMARP.

 

Após o CSR foi desenvolvido o Tag Switching da CISCO, que já apresenta a maior parte das características do MPLS. Esta é uma tecnologia que pretende ser totalmente transparente em uma rede heterogênea.

 

Quando um pacote de uma camada superior entra em uma nuvem Tag Switching, este pacote é etiquetado, sendo que esta etiqueta é um índice de uma base de informações (TIB – Tag Information Base). As etiquetas são muito similares aos campos VPI/VCI de um cabeçalho ATM, o que possibilita que o processamento dos pacotes seja realizado por hardware o que confere maior agilidade ao processo.

 

É interessante ressaltar que não existe diferença conceitual entre etiqueta (Tag) e rótulo (Label). A distinção é feita puramente por uma questão de direito autoral, pois a tecnologia  Tag Switching é patenteada pela CISCO.

 

Porém seus desenvolvedores encontraram alguma dificuldade para mapear esta tecnologia diretamente em comutadores ATM, o que é imprescindível para a transparência do protocolo.

 

A IBM também desenvolveu a sua própria tecnologia. O ARIS (Aggregate Route-Based IP Switching) foi concebido para ser utilizado em redes baseadas em comutadores. O ARIS é a única entre as propostas que compõem o MPLS a encorajar largamente o uso de comutadores ATM designados para acomodar Circuitos Virtuais.

 

Tanto o IP Switching da Ipslon como o Tag Switching da CISCO, iniciaram esforços independentes pela padronização de suas arquiteturas. Porém, foi criado um grupo de trabalho para lidar com todas as tecnologias sendo desenvolvidas para se garantir a interoperabilidade. Deste grupo de trabalho nasceu o MPLS.

 

2.     Funcionamento Básico

 

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.

 



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).



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.



3.    Vantagens do MPLS

 

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.

 

 



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.

4.    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.

5.    Distribuição de 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.



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.

6.    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.

 

7.    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.

8.    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.

9.    Bibliografia

 

·          Davie, B., Rekhter, Y., “MPLS Technology and Applications”, Morgan Kaufman Publishers

·          Duffy, J., “MPLS facing slow adoption, despite flurry of market hype”, Network World, Maio de 2001

·          Gallaher, R., “An Introduction to MPLS”, Network Digest, Setembro de 2001

·          Hassan, M., “ Routing & Switching”, CES, UNSW

·          High Speed Networks Lab.,  http://highspeed.iie.ncku.edu.tw/course/IPATM.ppt

·          McCutcheon, M., “Multi--Protocol Label Switching”, Julho de 1997

·          Rosen, E.,  Wiswanathan, A.,  Callon, R., “RFC 3031 Multiprotocol Label Switching Architecture”, Janeiro de 2001

·          Welcher, P., “Introduction to MPLS”, Agosto de 2000