Redes MPLS

De MediaWiki do Campus São José
Revisão de 17h33min de 26 de novembro de 2016 por Schaiana.s (discussão | contribs)
Ir para: navegação, pesquisa

Histórico

Por possuir altas velocidades, quando a tecnologia ATM - Asynchronous Transfer Mode - foi lançada, em 1990, esperava-se que ela dominasse o mercado de redes, porém, essa tecnologia não era compatível com o IP, o protocolo mais utilizado em redes de computadores. Pensando nisso, foi criada a tecnologia LBS - Label Based Switching - que aliou o que há de melhor em redes baseadas em pacotes (redes IP) e em redes orientadas à conexão (como redes ATM). Foi dessa junção que surgiu o MPLS.

Nos anos atuais, o MPLS tem se difundido bastante para a criação de novos serviços, mas não é uma tecnologia nova: desde meados dos anos de 1990, iniciativas de protocolos baseados em métodos de engenharia de tráfego já utilizam essa tecnologia. À medida que esses protocolos convergiram e, consequentemente, se fundiram ao MPLS sob a proteção do IETF, tanto operadoras quanto fabricantes de equipamentos perceberam o potencial da tecnologia, fora do âmbito de engenharia de tráfego.

O que é MPLS?

O MPLS, Multi-protocol Label Switching ou Comutação de Rótulos Multiprotocolo, é uma tecnologia de chaveamento de pacotes, que proporciona encaminhamento e comutação eficiente de fluxos de tráfego através da rede, visando diminuir o processamento nos equipamentos e interligar com maior eficiência redes de tecnologia distintas.

O MPLS é padronizado pelo IETF - Internet Engineering Task Force, através da RFC-3031 e atua entre as camadas 2 e 3 do modelo OSI sendo, por isso, nomeado por alguns autores como o protocolo da camada 2,5.

Essa tecnologia consiste em direcionar dados de um nó da rede para o próximo nó, baseando-se em rótulos de menor caminho ao invés de endereços de rede longos, evitando consultas complexas em uma tabela de roteamento. Esses rótulos identificam enlaces virtuais – caminhos - entre nós distantes, ao invés de pontos terminais.

O termo “Multiprotocol” designa que essa tecnologia pode ser usada sob qualquer protocolo de rede, mas o estudo e a implementação têm se resumido basicamente para redes IP, devido a ampla utilização.

Por possuir a capacidade de associar a facilidade dos roteadores com a eficiência dos switchs, é uma tecnologia que está se consolidando, com atuação notória em países em desenvolvimento e ampla difusão em países de primeiro mundo.

Conceitos de uma rede MPLS

O MPLS possui uma metodologia diferenciada de tratamento do tráfego da rede: Os dispositivos MPLS operam com base em etiqueta inseridas nos pacotes, assim que eles ingressam na rede, ao invés de analisar o cabeçalho, como é feito na camada 3, em redes IP tradicionais. Por causa disso, o MPLS possui independência dos protocolos da camada de rede.


Redesmpls conceito.jpg
Figura 1: Encaminhamento dos rótulos switchs MPLS.
Fonte: http://www.teleco.com.br/


Alguns conceitos são importantes para entendermos como funciona uma rede MPLS, são eles:

FEC (Fowarding Equivalence Class) ou Classe de Encaminhamento Equivalente: é definida como qualquer grupo de pacotes que podem ser tratados de forma equivalente, para fins de encaminhamento. Exemplo: pacotes que tenham o mesmo prefixo de origem e destino.

Label ou rótulo: é um pequeno identificador que o pacote recebe ao entrar em uma rede MPLS. Este identificador será utilizado para o seu roteamento dentro da rede.

LSP (Label Switch Path): É o caminho, ou túnel, determinado dentro de uma rede MPLS.

LER (Label Edge Router): Faz o papel do roteador de borda em uma rede MPLS, rotulando e desrotulando os pacotes que entram e saem da rede.

LSR (Label Switch Router): São os roteadores responsáveis somente pela comutação de rótulos em uma rede MPLS.

Elementos de uma Rede MPLS

Uma rede MPLS é formada por equipamentos do tipo CE (Custumer Edge Equipament), PE (Provider Edge Equipamente) e P (Provider Equipament), conforme exemplificado na figura abaixo:


Redesmpls equipamentos.jpg
Figura 2: Equipamentos da rede MPLS.
Fonte: http://www.teleco.com.br/


Os roteadores que compõem as redes MPLS, de acordo com a sua função, são o LSR (Label Switching Routers) e o LER (Label Edge Routers).

LSR - Label Switching Routers: é um roteador de núcleo, que participa do estabelecimento de LSP (Label Switching Paths) usando protocolos de distribuição de rótulos. Ele executa os algoritmos e mantém as tabelas de encaminhamento. Os LSRs de um domínio MPLS comunicam-se através de um protocolo adequado (LDP, RSVP estendido ou qualquer outro protocolo), para manter as tabelas de encaminhamento do domínio atualizadas. O LSR tem a função de encaminhar os pacotes, baseando-se apenas no rótulo: ao receber um pacote, cada LSR troca o rótulo existente por outro, passando o pacote para o próximo LSR, até chegar no roteador de borda de saída.

LER - Label Edge Routers: é um LSR que, além das funções de encaminhamento e controle, quando está na entrada de um domínio MPLS, é responsável por rotular o pacote e atribuir os pacotes a uma classe de equivalência de encaminhamento (FEC). O processo de atribuição de pacotes a uma FEC não afeta o desempenho geral da arquitetura, pois é efetuado somente na admissão do pacote, não importando então o nível de complexidade empregado na atribuição. Quando um LER está na saída do domínio MPLS, ele é responsável pela retirada do rótulo, mantendo a estrutura normal de um pacote IP, para ser entregue a uma rede não MPLS.


O caminho percorrido por pacotes MPLS, entre dois LRS quaisquer, conforme a definição de uma FEC, é chamado de LSP (Label Switched Path). Conforme Enne (2009, p.41), “Uma FEC representa, em uma visão básica, o prefixo do endereço IP de destino de pacotes MPLS ou o próprio endereço IP de destino, que se constituiu no elemento de FEC único para definição do caminho a ser seguido por esses pacotes na rede [...]” É possível atribuir vários FECs ao mesmo LSP e vários LSPs a uma mesma FEC, resultando na facilidade da agregação de fluxos multicast.

Os rótulos são associados às FECs devido a um evento que mostra a necessidade dessa associação. Estes eventos podem ser de dois tipos: Data Driven e Control Driven.

Data Driven: a associação é feita quando se chega a um LSR possuindo tráfego identificado como candidato a Label Switching. As associações de rótulos a FECs só são estabelecidas quando necessário, resultando num menor número de entradas na tabela de expedição.

Control Driven: as associações são feitas como consequência da atividade do plano de controle e são independentes da informação a transportar. A escalabilidade deste método é superior à do Data-Driven, sendo por esta razão usada em MPLS.


A colocação dos rótulos MPLS pode ocorrer de três formas diferentes:

Frame-based LRSs: Constituídos sobre Ethernet switches e sobre roteadores IP operando com o protocolo PPP.

ATM-LSRs: Constituídos sobre switchs ATM.

FR-LSRs: Constituídos sobre switchs Frame Relay.


Redesmpls rotulos.gif
Figura 3: Encapsulamento do quadro com rótulo.
Fonte: http://www.teleco.com.br/


Os rótulos são pequenos identificadores de tamanho fixo, colocados nos pacotes durante seu tráfego pela rede MPLS; são inseridos pelo LER de entrada e são removidos em definitivo pelo LER de saída, não havendo influência deles no roteamento de fora da rede MPLS. O encapsulamento pode ser de várias formas, 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. O rótulo MPLS é constituído pelos campos mostrados na figura abaixo:



Redesmpls rotulos.jpg
Figura 4: Estrutura e encapsulamento do cabeçalho MPLS.
Fonte: http://www.teleco.com.br/


Rótulo: Onde contém o valor do rótulo MPLS.

CoS - Class of Service: Onde é determinado a forma com que o pacote será tratado nas filas de espera dos equipamentos da rede.

S – Stack: Onde é feita a hierarquização dos rótulos.

TTL – Time To Live: É onde permite que a funcionalidade TTL IP convencional funcione.


Os rótulos têm 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. Sendo possível dar 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 têm validade local - só são válidos entre roteadores adjacentes e, pelo fato de terem tamanho fixo, o seu tratamento é mais rápido, pois pode ser feito por meio de Hardware.


O mecanismo utilizado para fazer atualizações da tabela de roteamento, quando há mudanças na topologia, é o FIB (Forwarding Information Bases): No FIB, há associação das FECs aos endereços de IP do próximo salto (next-hop), formando um espelho da tabela de roteamento, com as devidas interfaces de saída.

Quem mantém o mapeamento entre o prefixo IP, rótulo atribuído e atribuição de rótulos é a LIB (Label Information Bases). A LIB pode conter também os bindings – locais entre FECs e labels - desempenhando a função dos label space, que são espaços disponíveis nos LSRs que contêm uma margem de rótulos e uma base de informações onde são registrados os bindings locais.

O LFIB (Label Forwarding Information Bases) serve como base de informação em LSRs, indexado por valores de FEC. Ele fornece a base de dados utilizada no encaminhamento de pacotes rotulados.

O IGP (Interior Gateway Protocol) serve para preencher as tabelas de roteamento em todos os roteadores MPLS da rede.

Distribuição de Rótulos

Os switchs MPLS não têm a necessidade de analisar os dados do cabeçalho da camada de rede, pois, quando o roteador LSR insere o rótulo ao pacote, a rota para chegar até o seu destino já está definida; por isso, o processo de roteamento se torna muito eficiente.

O MPLS possui duas formas de propagar as informações necessárias:

-> Estendendo a funcionalidade em protocolos já existentes, que é o caso do BGP e OSPF, por exemplo;

-> Criando um novo protocolo dedicado para fazer a distribuição de rótulos, que é o caso do LDP (Label Distribution Protocol)'.

‎O LDP, desenvolvido pela IEFT e definido com a RFC 3036, é um protocolo projetado para mapeamento de rótulos. O protocolo LDP envia periodicamente mensagens "hello", pelo endereço multicast 224.0.0.2, para descoberta dos vizinhos, assim como o OSPF. Ele suporta a alocação de rótulos dos tipos Data-Driven e Control-Driven. Um ponto ruim desse protocolo é o aumento da sua complexidade com os protocolos de encaminhamento. Posteriormente, o LDP foi alterado para suportar o encaminhamento com restrições, através de piggybacking num protocolo de encaminhamento, onde a informação de associação de rótulos pode ser adicionada aos protocolos de encaminhamento tradicionais. Para (Enne 2009, p.51) “O piggybacking é um processo mais eficiente do que o método direto do LDP por aproveitar tráfego de controle já existente na rede”.

O LDP garante consistência na informação de expedição e evita o uso de outro protocolo. Porém, nem todos os protocolos podem ser facilmente alterados para suportar piggybacking. O BGP e RSVP foram alterados para suportá-lo.

Funcionamento Básico

Quando um pacote entra em uma rede MPLS, o primeiro passo a tomar é identificar a qual classe de encaminhamento (FEC) este pacote pertence. Esta análise é feita somente no LER, ou seja, na entrada da rede MPLS, onde é aberto o pacote de rede para classificá-lo como pertencente de uma determinada FEC. Com esta identificação, é possível designar o melhor caminho (LSP) para o pacote. Após tomada a decisão do LSP a utilizar, o pacote é rotulado e encaminhado ao próximo salto.

Nos saltos subsequentes, 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 tabela (NHLFE - Next Hop Label Forwarding Entry) 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 à FEC a qual pertence o pacote.


Lsr-ler.JPG
Figura 5: Detalhamento de rede MPLS.
Fonte: http://www.gta.ufrj.br/grad/04_2/MPLS/conceitos.htm


Engenharia de Tráfego com MPLS

Um problema comum e redes de computadores, principalmente em redes públicas e de grande porte, é a incapacidade de explorar os recursos da rede com eficiência, gerando congestionamentos e lentidões no serviço disponibilizado. No roteamento IP padrão, o parâmetro utilizado para decisão de uma rota é através do caminho mais curto até o destino, entretanto, muitas vezes esta não é a solução ideal. Podemos fazer uma analogia com o trânsito de veículos nas grandes cidades: Muitas vezes, o menor caminho é também o mais congestionado, fazendo com que demoremos muito mais em nosso trajeto do que se escolhêssemos rotas alternativas com menor congestionamento.

Tutorialmplseb2 figura1.jpg
Figura 6: Roteamento em rede IP convencional.
Fonte: http://www.teleco.com.br/tutoriais/tutorialmplseb2/pagina_2.asp


Neste cenário, surge a necessidade de repensarmos o modelo de roteamento para melhor utilizar os recursos disponibilizados pela rede, de onde vem o conceito de Engenharia de Tráfego.

A engenharia de tráfego no MPLS utiliza a largura de banda existente de forma mais eficiente, permitindo que pacotes possam ser encaminhados por rotas explícitas e com uma largura de banda específica garantida. Isto é conhecido como CBR (Constraint-Based Routing). O CBR gera caminhos do tráfego de dados dentro de uma rede MPLS, permitindo que o tráfego seja encaminhado a rotas desejadas.

A engenharia de tráfego MPLS também permite confiabilidade e escalonabilidade para ser introduzida ao longo da rede, aumentando a disponibilidade e valor da rede para os clientes. Ao utilizá-la, as conexões LSPs podem ser otimizadas e deduzidas. Quando ocorrem falhas, o tráfego pode ser re-roteado automaticamente por outro link ao redor da falha. Para isto, o MPLS utiliza protocolos do tipo soft-state, ou seja, protocolos onde os dados de roteamento devem ser atualizados periodicamente, para isto utiliza pacotes UDP como mecanismo de sinalização das configurações de comunicação do LSP, incluindo descoberta de pares, rótulos perdidos, mapeamento e gestão.

Devido à sua grande maleabilidade, o MPLS oferece suporte a diversos protocolos de engenharia de tráfego, além de possuir os próprios como o RSVP – TE (Resource Reservation Protocol with Tunneling Extensions) e o CR-LDP (Constrained-based Label Distribution Protocol).

QoS

O QoS (Quality of Service), ou qualidade de serviço, é um método usado para a priorização de certos tipos de tráfego, garantindo que alguns recursos tenham um tratamento diferenciado ao trafegarem na rede. Este tipo de serviço se torna muito importante quando se trata, por exemplo, de aplicações em tempo real, tal como voz e vídeo.


Opa.gif
Figura 7: Exemplo de reserva de recursos no link.
Fonte: http://www.teleco.com.br/tutoriais/tutorialmplscam/pagina_3.asp


Nas redes IP tradicionais, o encaminhamento de pacotes é feito com base no endereço de destino sendo, portanto, impossível definir diferentes rotas calculadas pelos protocolos convencionais. Aplicações QoS em redes MPLS surgem para resolver questões como essa. Existem dois protocolos que permitem o estabelecimento de percursos explícitos para as LSPs e que efetuam a reserva de recursos ao longo do percurso: o protocolo CR-LDP (Contraint-based Label Distribuition Protocol) e o RSVP-TE.

O protocolo CR-LDP, com sua aplicação definido pela RFC 3213, é uma extensão do LDP que introduz um conjunto de mecanismos adicionais, onde permite o estabelecimento de LSPs com restrições de encaminhamento explícito. Com isso, é possível a requisição de valores específicos como variação máxima do retardo, taxa de pico, taxa média, etc.

O protocolo RSVP-TE, definido pela RFC 3209, é uma extensão do RSVP para uso de túneis LSP. Aplicável totalmente em redes MPLS, os túneis LSP no RSVP-TE conseguem analisar requisitos de QoS e determinar qual melhor rota para o encaminhamento do pacote em suas sessões. Esses túneis LSPs podem conter ou não requisitos de QoS. A capacidade de conciliar QoS e Engenharia de Tráfego com eficiência, faz do MPLS uma tecnologia muito superior a redes IP tradicionais, adaptando e otimizando o tráfego a cada tipo de situação.

A engenharia de tráfego MPLS é tipicamente utilizada no núcleo na rede MPLS, enquanto o QoS é usado nas extremidades. QoS na borda da rede garante que os pacotes de alta prioridade obtenham um tratamento preferencial, enquanto a engenharia de tráfego evita congestionamentos na rede utilizando adequadamente os recursos disponíveis de banda. Juntos, QoS e engenharia de tráfego permitem que as organizações se movam de múltiplas formas, obtendo redes especializadas de voz, vídeo e dados em uma única rede convergente IP/MPLS.

Redes Privadas Virtuais (VPNs)

Uma VPN (Virtual Private Network) ou Rede Privada Virtual, como o próprio nome sugere, é uma rede virtual estabelecida através de uma rede pública (como a internet, por exemplo), possibilitando dois ou mais hosts se comunicarem como se estivessem no mesmo barramento (switch). Este serviço permite que localizações remotas sejam interligadas através de uma rede pública, sem as despesas de compra ou locação de um circuito de dados dedicado.


Vpn.gif
Figura 8: Detalhamento de túnel VPN.
Fonte: https://technet.microsoft.com/en-us/library/cc731954(v=ws.10).aspx


A partir do MPLS, as operadoras de internet começara a vender o serviço de VPN MPLS. As VPNs MPLS dividem-se em dois grandes tipos: as que operam na camada três (L3 VPN) e as que operam na camada dois (L2 VPN). As VPNs baseadas na camada três possuem uma extensão do BGP, especificamente o MP-iBGP (Multi-Protocol internal BGP). Neste cenário, o roteador do cliente provê ao LER informações de roteamento referente à rede privada que está por traz dele. O LER armazena estas informações de roteamento em uma tabela virtual de encaminhamento e roteamento (VRF - Virtual Routing and Forwarding); cada VRF representa essencialmente uma rede IP privada.

As L2 VPNs (VPNs de camada dois) têm gerado grande interesse das prestadoras de serviços e passaram a ser implantadas gradativamente. As normas de padronização do L2 VPN ainda estão em fase de desenvolvimento, porém, o setor industrial vem focando no projeto-rascunho IETF Martini. Este projeto-rascunho define métodos de configuração de túneis L2 VPN em toda uma rede MPLS e pode ser compatível com todos os tipos de tráfego de camada dois, incluindo Ethernet, Frame Relay, ATM, TDM, e PPP / HDLC (High-Level Data Link Control - protocolo síncrono de orientação a bit localizado na camada de enlace.

O prestador de serviço é capaz de garantir que uma VPN não sofra interferência de outras VPNs, ou seja, cada caminho virtual deve ser acessível somente pelos usuários legítimos. Em uma rede MPLS, esta situação é diferenciada em relação a uma rede IP pura, onde o tráfego pode ser interceptado e, portanto deve ser criptografado. Na rede MPLS, a possibilidade de interceptação de tráfego por outro componente não existe.

Conclusão

Com os avanços tecnológicos exigindo cada vez mais velocidade na transmissão dos dados de um ponto a outro, como, por exemplo, nas transmissões digitais de voz e vídeo em corporações, se torna maior a necessidade de tecnologias com alto desempenho para entrega de pacotes. Neste cenário, o MPLS surge como um alternativa para o desenvolvimento de redes de alta performance.

Por ser uma tecnologia de redes de trânsito de pacotes, o MPLS é também flexível e permite a integração de diferentes técnicas de comutação que já estão em atividade. Isso permite interligar com mais facilidade os grandes provedores de serviços de rede. Mesmo estando em sua fase inicial de desenvolvimento, o MPLS já tem grande aceitação no mercado, permitindo inclusive ser comercializado pelas operadoras para o usuário final.

Concluímos então que o MPLS é a tecnologia que integrará os mais diversos meios de comunicação, aprimorando o encaminhamento dos dados e provendo soluções viáveis para toda a rede IP, utilizando recursos gerenciáveis, flexíveis e de alto desempenho.

Referências

ENNE, Antônio José Figueiredo. TCP/IP sobre MPLS. Rio de Janeiro: Ciência Moderna Ltda, 2009.

MENDES, Roberto Goularth. Redes MPLS. Disponível em: <http://www.teleco.com.br/tutoriais/tutorialmplscam/pagina_3.asp>. Acesso em: 15 nov. 2016.

ASSIS, Martin Seefelder. MPLS. Disponível em: <http://www.gta.ufrj.br/grad/01_2/mpls/mpls.htm>. Acesso em: 15 nov. 2016.