Você está na página 1de 10

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