Seção: Tutoriais Banda Larga

 

MPLS: Protocolo

 

A camada de rede da Arquitetura TCP/IP é responsável por rotear pacotes da máquina de origem para a máquina de destino. Em redes IP com roteamento tradicional, o encaminhamento dos pacotes é feito salto a salto, não é orientado à conexão, antes de qualquer decisão os campos do cabeçalho IP são analisados, consultando protocolos e tabela de roteamento para então encaminhamento dos pacotes.

 

Com o esquema de endereçamento IP os endereços são atribuídos de modo que todas as máquinas conectadas à determinada rede física compartilhem um prefixo comum, e a tabela de roteamento passa a conter apenas os prefixos que identificam a rede, e não o endereço por inteiro.

 

Essa tabela pode ser criada de modo estático (rotas preenchidas manualmente), dinâmico (convergência da rede) ou ambos simultaneamente. A busca na tabela de roteamento, dependendo de vários fatores como extensão, condição e conectividade da rede, ou mesmo do tamanho da tabela de cada roteador, pode exigir grande capacidade de processamento, causando perda de eficiência e aumento no tempo de processamento dos dados que transitam pelo roteador (KUROSE el al, 2006) (SADOK et al, 2000).

 

A partir do ano de 1995, a Internet Engeneering Task Force (IETF) e o ATM (Asynchronous Transfer Mode) Fórum começaram a desenvolver propostas para integrar protocolos baseados em roteamento, como o IP, sobre a estrutura de comutação da tecnologia ATM, buscando uma rede que oferecesse simultaneamente facilidade de gerenciamento, reserva de largura de banda, requisitos de QoS e suporte nativo a multicast.

 

Em 1996 algumas empresas de informática sugeriram as primeiras soluções baseadas em rótulos de tamanho fixo. O grande problema era o fato de que essas tecnologias eram proprietárias e incapazes de interoperarem. Surgiu então a necessidade de um modelo padrão de comutação por rótulos, que veio a ser o protocolo MPLS (MESQUITA, 2006).

 

O MPLS, definido na RFC 3031, de acordo com Rosen et al. (2001), ao adotar um conceito de rótulo (labels) de tamanho fixo, rompe com o conceito de tabela de roteamento adotado nas redes TCP/IP convencionais e possibilita um aumento no desempenho do encaminhamento dos pacotes, como pode ser observado na figura 1.

 

Em redes convencionais, o rótulo MPLS, é uma parte extra colocada no cabeçalho IP, chamado de shim header (cabeçalho de calço /1/), sendo inserido entre o cabeçalho IP e o cabeçalho da camada de enlace, denominado de encapsulamento genérico.

 

Figura 1: Formato genérico do cabeçalho MPLS.

 

Para aumentar a eficiência da rede são utilizados roteadores que trabalhem exclusivamente na leitura de rótulos e encaminhamento dos pacotes, fazendo análise e classificação do cabeçalho, e diminuindo o processamento nos roteadores principais da rede, como pode ser visto na figura 2 (KUROSE el al, 2006) (KAMIENSKI et al, 2000).

 

Figura 2: Roteamento com o mecanismo de rótulos do protocolo MPLS.

 

Cada pacote, ao entrar em uma rede MPLS, recebe um rótulo de um determinado roteador (LER - Label Edge Router), é encaminhado através de um caminho comutado por rótulos (LSP – Label Switch Path) formado por roteadores de comutação por rótulos (LSRs – Label Switch Routers), e cada LSR toma decisões de encaminhamento baseado apenas no rótulo do pacote.

 

Em cada salto, o LSR retira o rótulo existente e aplica um novo rótulo dizendo ao próximo roteador como encaminhar o pacote. A arquitetura MPLS não prevê a utilização de hardware ou tecnologias específicas e tem suporte a várias técnicas de codificação de rótulos, dependendo do tipo de dispositivo utilizado no encaminhamento dos pacotes (FARREL, 2005).

 

O rótulo existente no cabeçalho é visto como índices em tabelas, determinando a decisão de encaminhamento dos pacotes para atingir o próximo nó da rede. Os roteadores pertencentes ao núcleo da rede não fazem a análise do cabeçalho IP e à medida que os pacotes deixam a rede, os rótulos são retirados pelos roteadores de borda da rede (ROSEN et al, 2001).

 

Inicialmente, o que motivou o desenvolvimento do MPLS foi o desempenho no mecanismo de encaminhamento de pacotes da rede IP sobre as demais tecnologias de nível 2 no núcleo das redes. Com a melhoria desses mecanismos e implantação de tecnologias de roteamento em hardware, baseadas em ASICs (Application-Specific Integrated Circuit) e FPGAs (Fieldprogrammable Gate Array), o roteamento IP deixou de ser um fator de redução de desempenho, ocorrendo de forma mais robusta, possibilitando a transmissão da informação em velocidade muito próxima à taxa fornecida pelas linhas.

 

As motivações do MPLS passaram então para prover serviços e ferramentas de gerência de rede, já que a utilização do MPLS aloca mais recursos de rede e processamento para a configuração e armazenamento das informações de controle, e necessita da criação e manutenção das tabelas de mapeamento e equivalência de rótulos (ARAÚJO et al, 2006).

 

A arquitetura MPLS pode utilizar como método para distribuição de rótulos protocolos já existentes, tais como BGP, RSVP, ou outros pré-existentes que têm sido aprimorados para fazer com que o LSR informe aos outros sobre os mapeamentos de rótulos e FECs (Forwarding Equivalence Classes) que ele possui em suas tabelas, assim como o protocolo LDP, destacando- se o MPLS-BGP, ainda em fase draft, e o MPLS-RSVP-Tunnels, padronizado através do RFC 3209 e utilizado em diversos projetos para estabelecimentos de VPNs com engenharia de tráfego (ARAÚJO et al, 2006).

 

Quando um LSP é criado, a relação dos rótulos com a interface será armazenada na tabela LFIB (Label Forwarding Information Base). O pacote entra no LSR, este verifica no LFIB para qual interface esse pacote deve ser encaminhado e então realiza a troca do rótulo de entrada por um rótulo de saída, para que o pacote possa alcançar o próximo nó.

 

O processo de preenchimento do LFIB pode ser controlado por meio de configuração ou por meio de protocolos de distribuição de rótulos, e para evitar loops, pacotes com rótulos inválidos são descartados (FARREL, 2005).

 

Os LERs são roteadores de borda responsáveis pelas funções de admissão, associação de FECs e retirada dos pacotes na rede MPLS. Os LSRs são roteadores de comutação por rótulos que recebem o pacote de dados, extraem o rótulo do pacote e o utiliza para descobrir na tabela de encaminhamento qual a porta de saída e o novo rótulo (MESQUITA, 2006, GRECO, 2005).

 

A FEC representa um grupo de pacotes que tem os mesmo requisitos para serem transportados, fornecendo o mesmo tratamento da rota até o seu destino. No roteamento IP convencional, um roteador em particular considera que dois pacotes estão na mesma FEC pela análise do endereço destino do pacote. Quando o pacote percorre a rede, em cada roteador o pacote é novamente examinado e atribuído a outra FEC.

 

No MPLS, a atribuição de um pacote particular a uma FEC é feita apenas quando o pacote entra na rede, no LER, codificada como um valor de comprimento fixo e curto (rótulo), e quando o pacote é encaminhado para o próximo roteador, esse rótulo é enviado juntamente com ele (KUROSE el al, 2006).

 

O protocolo LDP, especificado pela RFC 3036, foi desenvolvido pelo MPLS Working Group do IETF no final da década de 1990 esboçando idéias do TDP e ARIS para sinalização e gerência explícita de distribuição de rótulos MPLS.

 

O LDP define o conjunto de procedimentos e mensagens pelos quais os LSRs estabelecem LSPs através da rede, graças ao mapeamento das informações de roteamento do nível de rede diretamente em caminhos comutados de nível 2, como pode ser observado na figura 3.

 

O LDP possui como características básicas a definição de mensagens discovery, adjacency, label, advertisement, e notification, e o fato de rodar sobre TCP para proporcionar fidelidade de mensagens.

 

Figura 3: Funcionamento do protocolo LDP em um domínio MPLS. (ARAÚJO et al, 2006).

 

As mensagens de descoberta (discovery) são periodicamente trocadas para anuncio verificação dos LSRs adjacentes e não adjacentes; as mensagens de adjacência (adjacency) são usadas para estabelecimento, manutenção e encerramento da sessão de comunicação LDP entre dois LSRs adjacentes; mensagens de anúncio (advertisement) são utilizadas para anunciar associações entre rótulos e FECs ou para encerrar essas associações; e mensagens de notificação (notification) são utilizadas para informar avisos e erros (ARAÚJO et al, 2006) (GRECO, 2005).

 

Tolerância a Falhas e Re-roteamento

 

As falhas mais comuns em redes estão relacionadas a fatores como idade dos equipamentos ou de seus componentes, problemas na elaboração do projeto dos equipamentos, acidentes ou mesmo falhas humanas. Tolerância a falhas ou resiliency /2/ é a capacidade que a rede tem de continuar em funcionamento após a ocorrência de falhas, cursando o mesmo tráfego com o máximo de suas características originais preservadas.

 

Os mecanismos individuais de recuperação em caso de falhas normalmente operam em uma camada especifica, tipicamente nas camadas 1, 2 (camadas física e de enlace), que têm capacidade de proteger enlaces individuais, e camada 3 (camada de rede), que tem a capacidade de proteger caminhos completos (paths), envolvendo garantias de continuidade da transmissão após uma situação de degradação ou falha da rede.

 

Esse processo se inicia com a reconfiguração da rede para continuar a atender o tráfego cursado anteriormente durante a situação de falha, terminando somente após recomposição em sua forma original ou em outra considerada estável. (GRECO, 2005).

 

O MPLS provê restauração para a camada IP através de um LSP pré-alocado, que serve de backup para o LSP principal. Quando a falha é detectada, o nó-fonte do fluxo de dados (fonte do LSP) usa seu mecanismo de re-roteamento.

 

O LSP default é descartado temporariamente, sendo o fluxo de dados deste canal desviado para o LSP de backup. Existem duas propostas de mecanismos de recuperação distintos para redes MPLS, de acordo com Sharma et al. (2003), o re-roteamento dinâmico (dynamic re-routing) e o chaveamento de proteção (protection switching).

 

O chaveamento de proteção, denominado re-roteamento rápido (fast re-routing) tem como característica principal a pré-sinalizaçao dos LSP’s alternativos, fazendo com que a proteção atue mais rapidamente, já que a tarefa do LSP é mudar o encaminhamento do LSP principal para o LSP alternativo, ou seja, basicamente modificar uma entrada na LFIB (SHARMA et al, 2003).

 

O re-roteamento dinâmico é automático e atua localmente, calculando e estabelecendo uma nova rota após surgimento de falhas. Essa rota não deve conter nenhum componente falho e deve ser totalmente separada da rota a ser recuperada.

 

O re-roteamento dinâmico passa por todas as etapas de recuperação (detecção, notificação, calculo, estabelecimento de rotas alternativas e comutação do tráfego para essa nova rota), podendo atuar globalmente, mas gastando um tempo maior ainda para o mecanismo atuar. Isso ocorre devido ao tempo gasto para notificação, mas tem vantagem de garantir que a rota criada é a mais curta possível, o que não é garantido na atuação local (GRECO, 2005).

 

/1/ Material fino e freqüentemente cônico utilizado para preencher espaço com coisas (FARREL, 2005).
/2/ Capacidade de determinado objeto restaurar sua forma original após ser modificado ou deformado.