You are on page 1of 5

Um estudo sobre o protocolo MPLS (RFC3031)

Italo Valcy1 , Thiago Bomfim1


1
Departamento de Ciência da Computação
Universidade Federal da Bahia (UFBA)
Av. Adhemar de Barros, s/n - Campus Universitário de Ondina
Salvador - BA - Brazil
{italo,thiagob052}@dcc.ufba.br

Resumo. O Multi Protocol Label Switching (MPLS) é um mecanismo de trans-


porte de dados pertencente à famı́lia das redes de comutação de pacotes. O
MPLS é padronizado pelo Internet Engineering Task Force (IETF), através da
RFC 3031, e surgiu como uma resposta dos fabricantes de equipamentos e cen-
tros de pesquisa a várias necessidades que surgiram com a popularização da
internet e diversificação de seus serviços.

1. Introdução
Em uma rede IP convencional o processo de roteamento de um pacote é feito de forma
independente entre os roteadores: cada roteador toma uma decisão de encaminhamento
independente da decisão dos outros roteadores pelos quais o pacote já visitou. Em outras
palavras, cada roteador analisa o cabeçalho de rede do pacote, executa um algoritmo de
roteamento sobre os dados extraı́dos e decide então qual o próximo salto (do inglês hop)
do pacote. Ainda, o cabeçalho de rede dos pacotes contém muito mais informações que o
necessário para escolha do próximo salto [?].
Uma alternativa ao processo de roteamento descrito acima pode ser dividi-lo em
duas fases: primeiramente agrupa-se os pacotes em Classes Equivalentes de Encamin-
hamento (FEC - Forwarding Equivalence Classes) e em seguida essas classes são ma-
peadas em uma única decisão de próximo salto. Ou seja, se dos pacotes P1 e P2 pertencem
à mesma FEC F, então eles seguirão o mesmo caminho no roteamento (com exceção da
existência de multi-path no roteamento). Usando essa abordagem, o MPLS (Multipro-
tocol Label Switching) [?] é um protocolo de roteamento baseado em pacotes rotulados,
onde cada rótulo é atribuı́do a uma certa Classe Equivalente de Encaminhamento (FEC) e
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.
Em uma rede IP convencional, dois pacotes pertencem à mesma FEC quando eles
compartilham de um certo prefixo X que também está presente na tabela de roteamento
do roteador em questão (X é o prefixo mais longo possı́vel em relação à tabela de rotea-
mento). A grande diferença é que o processo de determinar a FEC de um pacote é feito
em cada roteador independentemente, ou seja, várias vezes ao longo do caminho de rotea-
mento.
No MPLS, é atribuı́do a cada pacote uma FEC apenas uma vez, no momento em
que o pacote entra na rede. Tal FEC é aplicada na forma de um rótulo (do inglês label) de
tamanho curto e fixo. Esse rótulo é então utilizado pelos roteadores como ı́ndice de busca
na tabela de roteamento. Como resultado da busca na tabela de roteamento obtêm-se o
próximo salto e novo rótulo que deverá substituir o atual no pacote. Não é necessário
analisar qualquer outro campo do cabeçalho de rede, além do rótulo, para determinar o
próximo salto do pacote. Nesse caso, tem-se uma espécie de ”encaminhamento dirigido
por rótulos”[?].
Algumas vantagens do esquema de encaminhamento do MPLS são listadas a
seguir.

• O encaminhamento no MPLS pode ser implementado em switches que são ca-


pazes de simplesmente ler e modificar os rótulos dos pacotes. Portanto, MPLS
não requer equipamentos que sejam capazes e eficientes na leitura do cabeçalho
de rede do pacote.
• Considerando que o pacote é associado à determinada FEC no momento em que
entra na rede MPLS, o roteador que introduziu o pacote à rede pode usar out-
ras informações para classificar o pacote, além das informações disponı́veis no
cabeçalho de rede. Por exemplo, é possı́vel que dois pacotes chegando por difer-
entes portas sejam atribuı́dos à FECs diferentes. O encaminhamento IP conven-
cional somente pode fazer uso de informações contidas no cabeçalho IP.
• É possı́vel definir polı́ticas de roteamento diferentes para pacotes que entram na
rede MPLS por roteadores diferentes, mesmo quando os pacotes são iguais.
• É possı́vel definir polı́ticas mais complexas no momento da atribuição da FEC ao
pacote, sem impactar no desempenho dos roteadores que simplesmente encamin-
ham tal pacote.
Um outro ponto importante a destacar no MPLS está relacionado ao tratamento da
qualidade de serviço. No encaminhamento convencional, utiliza-se o cabeçalho de rede
também para definir a ”precedência”ou ”classe de serviço”de um pacote. No MPLS o
próprio rótulo pode incorporar tal informação, embora tal comportamento não seja obri-
gatório.
Nesse trabalho será feito um estudo sobre o Multiprotocol Label Switching
(MPLS), um padrão especificado pelo Internet Engineering Task Force (IETF) na RFC
3031, que proporciona o encaminhamento eficiente de fluxos de tráfego na rede.

2. Conceitos básicos
Nesta sessão veremos alguns conceitos básicos que norteiam o funcionamento do MPLS.

2.1. Labels
Um rótulo é um identificador curto, com significado local e de tamanho fixo da Classe
Equivalente de Encaminhamento (FEC) a qual um pacote pertence. A definição da FEC
quase sempre é definida tomando-se como base o endereço de destino do cabeçalho de
rede do pacote, porém não é meramente uma codificação daquele endereço.
Por exemplo, sejam Ru e Rd dois Label Switching Routers (LSRs)1 , eles podem
acordar que quando Ru transmitir um pacote para Rd, Ru irá rotular o pacote com o rótulo
L se e somente o pacote é membro de uma determinada FEC F. Em outras palavras, eles
1
um nó MPLS que é capaz encaminhar pacotes L3 nativos
acordam em relacionar o rótulo L à classe F para pacotes trafegando de Ru para Rd. Dessa
forma L torna-se o “rótulo de saı́da”de Ru e o “rótulo de entrada de Rd”. Vale salientar
que o rótulo L tem significado local entre Ru e Rd e não significa que qualquer pacote
que também pertence à classe F terá o mesmo rótulo.
Deve-se notar que ao referir-se à transmissão de um pacote de Ru para Rd,
considera-se, além dos pacotes gerados em Ru ou cujo destino são Rd, aqueles pacotes
chamados “pacotes de transito”, para os quais Ru e Rd apenas pertencem ao caminho de
roteamento do pacote.
É de responsabilidade do LSR garantir a unicidade na interpretação de um rótulo
de entrada L.

2.2. Tipos de LSRs: upstream e downstream

Sejam Ru e Rd dois LSRs que acordaram em atribuir o rótulo L aos pacotes enviados
de Ru para Rd. Então, considerando-se essa atribuição, Ru é o “upstream LSR”e Rd é o
“downstream LSR”.
Mais uma vez, chama-se a atenção para o fato de que um nó ser considerado up-
stream ou downstream com relação à determinada atribuição significa apenas que aquele
rótulo representa uma FEC no caminho de roteamento do pacote do nó upstream para o
nó downstream. Não significando que o pacote foi gerado no nó upstream ou tem como
destino o nó downstream.

2.3. Atribuição e distribuição dos Labels

Na arquitetura MPLS, a decisão de atribuir um determinado rótulo L à determinada FEC


F é tomada pelo LSR que é downstream para aquela atribuição. O LSR downstream então
informa ao nó upstream sobre a atribuição do rótulo. Dessa forma os rótulo são “down-
stream-atribuı́dos”, e a atribuição de um rótulo é distribuı́da no sentido “de downstream
para upstream ”.
Ainda, o rótulo MPLS pode ser atribuı́do em um cabeçalho especificamente criado
para este fim ou pode ser atribuı́do em um capo do cabeçalho de enlace ou de rede, caso
exista um campo disponı́vel para tal.

2.4. Protocolos de Distribuição de Rótulos

Um protocolo de distribuição de rótulos MPLS é um conjunto de procedimentos pelos


quais um LSR informa a outro LSR sobre a atribuição de rótulos para determinadas FEC.
Se dois LSR compartilham informações sobre a atribuição de rótulos usando o protocolo
de distribuição de rótulos, diz-se que eles são chamados pares de distribuição de rótulos,
com relação às informações que eles compartilham. Se dois LSR são pares de distribuição
de rótulos diz-se que naquele cenário há uma adjacência de distribuição de rótulos.
A arquitetura do protocolo MPSL não define que exista somente um Protocolo
de Distribuição de Rótulos [?]. De fato, alguns procolos foram estendidos para prover o
serviço de distribuição de rótulos (por exemplo, MPLS-BGP, MPLS-RSVP-TUNNELS)
e outros novos protocolos foram criados (por exemplo, MPLS-LDP, MPLS-CR-LDP).
2.5. Seleção da rota
O processo de seleção de rotas no MPLS possui duas abordagens: roteamento hop-by-hop
ou roteamento explı́cito.
No roteamento hop-by-hop, cada nó escolhe, independentemente dos outros, o
próximo hop para uma determinada FEC. Este modelo é o atualmente usado nas redes IP.
No roteamento explı́cito, apenas um LSR (geralmente o LSR que introduziu o
pacote MPLS na rede ou o último LSR no qual o pacote MPLS vai passar) escolhe alguns
dos LSR (ou todos) nos quais o pacote irá passar no seu caminho de encaminhamento.
Esta sequencia de LSRs a qual o pacote percorrerá pode ser definida por configuração ou
determinada dinamicamente. A RFC 3031 não define os detalhes para implementação da
seleção de rotas.

2.6. Time-to-Live (TTL) no MPLS


No encaminhamento IP convencional, cada pacote carrega uma valor de ”Time To
Live”(TTL) em seu cabeçalho. Sempre que um pacote passa por um roteador, o seu
TTL é decrementado em 1; se o TTL chega a 0 antes do pacote haver alcançado seu
destino, o pacote é descartado. Isso fornece algum nı́vel de proteção contra loops de en-
caminhamento que podem existir devido a erros de configuração, ou devido a falhas ou
convergência lenta dos algoritmos de roteamento. O TTL é usado às vezes para também
outras funções, tais como a delimitação do âmbito de multicast, e apoiar o comandos, tal
como o ”traceroute”. Isto implica que há duas questões relacionadas ao TTL que o MPLS
precisa lidar:
1. TTL como uma maneira de suprimir loops;
2. TTL como uma maneira de realizar outras funções, tais como a limitação do es-
copo de um pacote.
Quando um pacote percorre ao longo de um LSP, este deve emergir com o mesmo valor
de TTL que ele teria tido se tivesse atravessado a mesma seqüência de roteadores sem ter
tido troca de rótulo. Se o pacote percorre ao longo de uma hierarquia de PEL, o número
total de saltos LSR percorridos deve ser refletida no seu valor TTL quando emerge da
hierarquia de PEL.
A maneira que o TTL é tratado pode variar dependendo dos valores dos rótulos
são transportadas em um cabeçalho, tal como o MPLS especı́fico ”shim”(MPLS-Shim),
ou se os rótulos MPLS são realizadas em um cabeçalho de camada 2, como em cabeçalho
ATM (MPLS-ATM) ou um em cabeçalho frame relay (MPLS-FRMRLY).

3. Algumas aplicações do MPLS


3.1. QoS
Qualidade de Serviço (QoS) é um requisito das aplicações para a qual exige-se que de-
terminados parâmetros (atrasos, vazão, perdas, variação de atrasos ou jitter, largura de
banda) estejam dentro de limites bem definidos (valor mı́nimo, valor máximo). Desta
forma QoS é um desafio para o backbone de qualquer empresa bem-sucedida. Essas
redes servem de transporte para uma série de aplicações, incluindo voz e vı́deo com
alta taxa de utilização de largura de banda, sendo fundamental o correto dimensiona-
mento e configuração dos equipamentos que o compõem, para que tais aplicações pos-
sam funcionar conforme os nı́veis de serviços pretendidos. As redes, portanto, de-
vem fornecer serviços seguros, previsı́veis, mensuráveis e às vezes garantidos a essas
aplicações. Alcançar a qualidade de serviço exigida de ponta a ponta, ao mesmo tempo
mantendo a simplicidade, escalabilidade e gerenciabilidade é o segredo para executar uma
infra-estrutura que realmente atenda à empresa.

3.2. TRAFFIC ENGINEERING - TE


Engenharia de tráfego é o processo de organiza como o tráfego flui através da rede para
que congestionamentos causados pela utilização desigual da rede possam ser evitados.
Um objetivo central da engenharia de tráfego na internet é facilitar a operação
eficiente e confiável da rede enquanto que ao mesmo tempo otimiza a sua utilização e de-
sempenho. A engenharia de tráfego já é atualmente uma função indispensável em grandes
redes por causa do custo alto dos equipamentos e da natureza comercial e competitiva da
internet. Como altera o fluxo normal dos pacotes, ela pode ser utilizada para atender a
requisitos de QoS de determinados fluxos de dados.
A engenharia de tráfego pode ser feita manualmente, ou usando algum tipo de
técnica automatizada, usando inclusive MPLS e/ou Roteamento com QoS para descobrir
e fixar os caminhos mais adequados a determinados fluxos dentro da rede. No roteamento
comum os roteadores no caminho precisam consultar sua tabela de roteamento para en-
caminharem os pacotes. Isso poderia ser evitado, fixando os caminhos com MPLS para
os roteadores encaminharem os pacotes baseados em comutação de rótulos.

4. Conclusão
Como em outras áreas da computação, não existe uma ”bala de prata”(protocolo) que
resolva todos os problemas, em particular das redes de computadores. Assim, não acredi-
tamos que o MPLS o seja, mesmo oferecendo inúmeras vantagens outros existentes, esse
também suas limitações. Mesmo sendo uma tecnologia muito promissora, somente com
o tempo poderemos saber o quão relevante ele será. Assim, novas tecnologias aparecem
com grande velocidade, tornando o que outrora era coisa para o futuro, um tecnologia
ultrapassada.

You might also like