Multi-Protocol Label Switching

UFRJ - EEL879 - Redes de Computadores II - 2019/2


Fernanda Veiga Gomes da Fonseca
Filipe Augusto da Silva

Introdução


Com o passar dos anos, a Internet, que começou como uma rede de proporções modestas com maior uso voltado para pesquisas, atualmente caracteriza-se como uma enorme rede de dados públicos e sua crescente utilização levou a um aumento de dados em seus backbones. Para acompanhar a demanda de serviço e largura de banda, os provedores de serviços de Internet (ISPs) redimensionaram suas redes diversas vezes, tanto em tamanho quanto em largura de banda.


Sobrecarga de Roteadores

Com o crescente número de usuários, os roteadores das redes estavam cada vez mais sobrecarregados. Todavia, o algoritmo de roteamento padrão das redes IP torna-se ineficiente à medida que a rede cresce.

  • Cada roteador deve realizar o mesmo processo para cada um dos pacotes, pois não guarda uma memória sobre cada pacote. Essa característica é ineficiente, uma vez que a maioria dos pacotes IP pertence a fluxos de pacotes com mesmas origens e destinos.

  • O custo dos roteadores é muito elevado, exigindo grandes investimentos quando é preciso aumentar a rede.

  • Com base nas características apresentadas, conclui-se que tal algoritmo não é escalável, ou seja, mesmo aumentando-se indefinidamente a rede, por mais rápidos que os roteadores sejam individualmente, a repetição excessiva de tarefas semelhantes aumenta consideravelmente o atraso da rede. Caso um algoritmo de roteamento mais eficiente fosse desenvolvido, este poderia não ser compatível com os protocolos e equipamentos já existentes. A proposta das redes ATM não obteve sucesso, porque são necessários grandes investimentos em equipamentos. Além disso, há dificuldades em sua interoperabilidade com o IP, principalmente em redes de grande porte, havendo novamente o problema de escalabilidade. Paralelamente, o aparecimento de tecnologias rápidas, como voz e vídeo sobre IP, são prejudicadas por atrasos diferenciados para pacotes de um mesmo fluxo. Para solucionar esse problema, seria necessária uma nova classe de serviço de roteamento para haver diferença de prioridades de pacotes, porém essa diferenciação não é suportada por roteadores IP.


    MPLS


    Em resposta às necessidades que surgiram com a popularização da Internet e diversificação de seus serviços, o MPLS (MultiProtocol Label Switching) surgiu como uma tecnologia de encaminhamento de pacotes baseada em rótulos, onde cada rótulo representa um índice na tabela de roteamento do próximo roteador. Para que a Internet escale suavemente, o uso de uma hierarquia de roteamento que limite o crescimento de tabelas de roteamento nos backbones é de suma importância.
    É chamado de “multiprotocolo”, pois pode ser usado com qualquer protocolo da camada 3, apesar de ser muito utilizado com o IP. O objetivo de uma rede MPLS não é de conectar-se diretamente a sistemas finais, pois é uma rede de trânsito, transportando pacotes entre pontos de entrada e saída.
    É um padrão da IETF (Internet Engineering Task Force), destinado a aprimorar velocidade, escalabilidade, qualidade de serviço e provisionamento de serviços, como também a trazer Engenharia de Tráfego (Traffic Engineering) para o contexto da Internet.
    É um eficiente mecanismo de encapsulamento, utilizando etiquetas associadas a pacotes IP para o transporte dos dados. Dessa forma, o encaminhamento de pacotes torna-se mais simples e eficiente, facilitando também o fornecimento de serviços de roteamento variados, independentemente do protocolo.

    Conceitos e Arquitetura

    some text



    Rótulo (Label)
    some text



    Label Switch Path (LSP)
    some text



    Label Distribution Protocol (LDP)

    Label Switch Router (LSR)

    Label Edge Router (LER)

    Label Switching Forward Tables (Tabelas de Enchaminhamento dos comutadores de rótulo)

    Forwarding Equivalency Class (FEC)

    Na rede MPLS, a atribuição FEC (Forward Equivalence Class) é feita apenas uma vez no roteador de entrada. O FEC ao qual o pacote está atribuído é codificado em um rótulo. Os pacotes são rotulados antes de serem encaminhados entre LSRs (roteadores principais MPLS chamados Roteadores Comutados por Etiqueta). Neste procedimento básico, todos os pacotes pertencentes a um FEC específico e que trafegam de um nó específico seguirão o mesmo caminho ou LSP até o destino ou o roteador de saída, sem levar em consideração as informações originais do cabeçalho do pacote IP.


    A tolerância a falhas é um fator importante de QoS que precisa ser considerado para manter a capacidade de sobrevivência da rede. É propriedade de um sistema que continua a operar a rede adequadamente em caso de falha de algumas de suas partes. A rede MPLS é muito vulnerável a falhas devido à sua arquitetura orientada a conexão.
    É importante entender que um provedor de serviços tem a possibilidade técnica de detectar dados, e os usuários podem optar por confiar no (s) provedor (es) de serviços para não usarem seus dados de maneira inadequada ou podem usar mecanismos para criptografar o tráfego no núcleo MPLS.
    Com o MPLS, é possível alternar dados através de uma hierarquia de roteamento sem comprometer a hierarquia: requisitos técnicos e possivelmente aliviar roteadores de backbone principal da manutenção de rotas externas. Outro aspecto benéfico do MPLS é que ele pode associar uma ampla variedade de granularidades de encaminhamento com um rótulo, variando de todos os dados destinados através de uma "saída" roteador para um aplicativo host a host fluxo. O MPLS evoluiu amplamente de a necessidade de usar as altas velocidades das tecnologias de troca de etiquetas, como modo de transferência assíncrona (ATM), com redes de roteadores existentes, integrando a natureza do datagrama de 1P para o hardware de troca de etiquetas capacidade dos comutadores. Essa abordagem elimina vários dos problemas associados à sobreposição de uma rede IP em cima de uma rede orientada a conexão.

    Segurança

    Problemas de segurança MPLS / VPN


    Nas VPNs MPLS construídas sobre a infraestrutura MPLS, é relativamente trivial que os PEs de saída (Provider Edge routers) confiem nos originadores de pacotes porque os pacotes chegam usando encapsulamentos e adequados PE - rótulos de túnel anunciados. Sem essa demarcação de protocolo, as VPNs MPLS que usam túneis IP expõem as redes de clientes à possibilidade de ataques de inserção cega , nos quais um invasor pode contornar o perímetro de defesa de filtros de pacotes de um provedor em roteadores de borda e injeta pacotes falsificados em um roteador PE que serve a uma VPN de cliente. Se o invasor injetar pacotes iterativamente com rótulos VPN de 20 bits diferentes, será apenas uma questão de tempo até que um pacote falsificado corresponda ao rótulo VPN armazenado no roteador PE e entre na rede. O pacote falsificado provavelmente conterá um endereço IP de origem falso que um dispositivo do site do cliente tentará encaminhar, resultando em dados ocultos ou comprometidos. A seguir, os principais problemas de segurança na rede MPLS:

  • Confidencialidade: a confidencialidade nas redes MPLS pode se referir a várias áreas, incluindo a confidencialidade da Label Information Base (LIB) e a confidencialidade do tráfego que passa pela infraestrutura. O conhecimento da LIB pode levar a vários problemas de segurança se o LSR aceitar pacotes rotulados de hosts fora do núcleo. Para mitigar a enumeração de força bruta dos valores de rótulo, deve-se garantir que nenhum pacote rotulado seja aceito fora da infraestrutura do MPLS. MPLS geralmente anunciado como fornecendo funcionalidade VPN. Mas, diferentemente da tecnologia VPN comum, por exemplo, VPNs IPSec ou SSL, as VPNs MPLS não fornecem nenhuma confidencialidade de tráfego. A arquitetura de rede MPLS não fornece criptografia de cabeçalho ou carga útil. A tecnologia MPLS surgiu principalmente para fornecer entrega de pacotes em alta velocidade. Como resultado, as considerações de segurança não foram discutidas completamente até que surgiram demandas recentes de segurança pela maioria dos provedores e pesquisadores. O motivo pelo qual o MPLS não fornece mecanismos de criptografia está relacionado ao objetivo para o qual foi criado. Nas redes IP convencionais, todo roteador na rede tem um papel na análise de cabeçalhos de pacotes IP, para classificar e processar todos os pacotes que passam por ele. Obviamente, isso adicionará mais sobrecarga e atraso na rede. Na rede MPLS, apenas dois roteadores (os roteadores de entrada e saída) são responsáveis ​​por esta tarefa. Os roteadores principais ou LSR na rede MPLS encaminham pacotes apenas com base em etiquetas transmitidas por um LSP pré-estabelecido. O uso da criptografia para fornecer privacidade dos dados exige que os roteadores MPLS principais analisem e processem o cabeçalho dos pacotes, o que resultará na redução do desempenho da rede MPLS.
  • Integridade: o MPLS depende de informações confiáveis ​​para criar uma base de informações da etiqueta (Label Information Base - LIB). Com base nesse LIB, as decisões de encaminhamento de pacotes são tomadas. As informações e atualizações do LDP devem ser aceitas apenas de fontes confiáveis. Isso pode ser garantido por dois mecanismos. Em primeiro lugar, as atualizações LDP devem ser aceitas apenas a partir de interfaces nas quais outro LSR é conhecido por residir. Em outras palavras, as atualizações LDP não devem ser aceitas de clientes fora do núcleo do MPLS. Em segundo lugar, se os roteadores principais não são confiáveis ​​ou são considerados vulneráveis ​​a ataques, é necessário que haja mecanismos de autenticação para proteger o protocolo de distribuição de etiqueta (Label Distribution Protocol) de escolha na rede MPLS.
  • Disponibilidade: a ideia de não aceitar atualizações do Label Distribution Protocol de clientes não autorizados também é relevante para a Disponibilidade, pois uma colaboração mal-intencionada pode redirecionar os fluxos de tráfego dentro do núcleo, fazendo atualizações falsas. Tais atualizações devem ser aceitas apenas de membros autorizados no domínio MPLS.
  • A seguinte discussão ilustra algumas das recentes propostas na literatura para segurança MPLS.
    Behringer et al. discutiram a segurança da VPN MPLS. Os autores apresentam um guia prático para fortalecer as redes MPLS. Eles assumiram "zonas de confiança" para o ambiente VPN MPLS. A principal hipótese era assumir que os principais roteadores MPLS (LSRs) eram confiáveis ​​ou seguros. Essa suposição levou a algumas preocupações de segurança, como confidencialidade dos dados da VPN. Não há garantia para os usuários da VPN de que os pacotes não sejam lidos ou detectados quando estiverem em trânsito pelo núcleo MPLS. O MPLS, como tal, não fornece um mecanismo para criptografar os dados. Os autores deixaram a questão de proteger os roteadores principais MPLS (se não forem confiáveis) como uma questão em aberto para mais discussões.
    O artigo de Ren et al. apresenta uma implementação e análise da MPLS VPN baseada em IPSec. Os autores concluíram que, se a CA (Certificate Authority), IKE (Internet Key Exchange) e IPSec forem usados, o nível de segurança da VPN será maior, mas isso custará muitos recursos do sistema.
    Outro estudo de T. Saad et al. discutiram o efeito de túneis baseados em MPLS no serviço e na segurança de conexão virtual de ponta-a-ponta. O estudo mostra que a aplicação de IPSec em túneis baseados em MPLS reduz a taxa de transferência geral do fluxo TCP e adiciona mais sobrecarga. Um protocolo criptográfico para proteger as etiquetas MPLS foi proposto por Barlow et al.. O desenho aplica uma técnica simples de criptografia nos rótulos para impedir a modificação do cabeçalho. O protocolo não fornece confidencialidade dos dados. Chung et al. propuseram um método para o algoritmo RSA adequado para topologia de caminhos múltiplos. Foi mencionado que o algoritmo pode ser aplicado a redes MPLS, mas os detalhes não são fornecidos.
    Os operadores de rede devem garantir que todos os dispositivos e interfaces acessíveis aos clientes sejam protegidos adequadamente em relação à segurança para garantir que o vazamento excessivo de informações associado à infraestrutura de rede seja minimizado. O roteamento de caminhos múltiplos foi usado principalmente para melhorar o desempenho da rede, fornecendo vários caminhos entre pares de origem e destino. Este tipo de roteamento tem o potencial de agregar largura de banda em vários caminhos, permitindo que uma rede suporte taxas de transferência de dados mais altas do que é possível com qualquer caminho único. Existem poucos trabalhos investigando o uso do roteamento de caminhos múltiplos para melhorar a segurança da rede MPLS.


    Política de segurança MPLS / VPN

    Com base nessas considerações técnicas, apresentamos uma política de segurança MPLS / VPN que abrange as seguintes subáreas de segurança:

  • A política de segurança da topologia de roteamento MP-BGP garante a integridade e disponibilidade do MPLS / VPN.
  • A política de segurança de perímetro MPLS / VPN garante o isolamento e a integridade do MPLS / VPN.
  • 1) Política de segurança da topologia de roteamento MP-BGP

    O roteamento de rede usado internamente e com parceiros externos é crítico em uma área de rede MPLS e pode afetar diretamente a disponibilidade e a integridade da rede em caso de ataques de roteamento. Esses ataques geralmente são baseados em falsificação, sequestro de sessão, alteração de rota, desagregação de rota, injeção de rota não autorizada e etc. Esses ataques também são baseados em pontos fracos do desenho da arquitetura de roteamento: erros de roteamento, atributo de roteamento, falhas de cascata de roteamento e etc. As topologias de roteamento MP-BGP podem ser visualizadas em 2 níveis. O primeiro nível considera os Sistemas Autônomos (ASs) e permite construir um gráfico da conectividade do AS, da qual, loops de roteamento podem ser removidos e algumas decisões de política no nível do AS podem ser aplicadas. O segundo nível considera os dispositivos dentro de um AS e permite construir um gráfico da conectividade do dispositivo que geralmente é mais flexível, mais escalável e fornece maneiras mais eficientes de controlar a troca de informações.

    2) Política de segurança de perímetro MPLS / VPN

    A configuração de um MPLS / VPN nas configurações dos roteadores de rede também é crítica para a segurança da VPN, porque quaisquer erros de configuração podem afetar a integridade e o isolamento da VPN, conectando a VPN a outras VPNs indesejadas. O mecanismo pelo qual um MPLS / VPN controla a distribuição das informações de roteamento VPN é o uso das comunidades estendidas do alvo de rota MP-BGP. A cadeia de comunidade estendida MP-BGP de destino de rota (MP-BGP route-target extended community) segue um formato predefinido para criar uma VPN importando ou exportando essa comunidade de destino de rota. Importar um destino de rota significa que você aprende as rotas associadas a esse destino de rota. Exportar um destino de rota significa que você envia suas rotas para esse destino de rota. Uma VPN geralmente é configurada em vários roteadores PE. Sabendo que quaisquer erros de configuração podem afetar a integridade e o isolamento MPLS / VPN, definimos o seguinte conjunto mínimo de regras de segurança:

  • Regra de segurança: uma configuração de VPN deve estar em conformidade com os requisitos de fornecimento de serviços. Por exemplo, uma VPN deve estar conectada apenas às VPNs autorizadas. Qualquer erro pode trazer deficiências de segurança e afetar a integridade e o isolamento da VPN.
  • Regra de segurança: uma configuração da VPN deve ser consistente. Qualquer inconsistência pode trazer deficiências de segurança e afetar a integridade e o isolamento da VPN. O conjunto mínimo de regras de integridade são:
    - Qualquer declaração de exportação de comunidade estendida de destino da rota (RT) definida para uma VPN deve se referir (na rede MPLS / VPN) a pelo menos uma declaração de importação relacionada a essa RT no nível do PE (qualquer conexão deve ser bidirecional).
    - Qualquer declaração de importação de comunidade estendida de destino da rota (RT) definida para uma VPN deve se referir a pelo menos uma declaração de exportação relacionada a esse RT no nível PE (qualquer conexão deve ser bidirecional).
    - Instruções de importação e exportação RT não autorizadas (em violação ao formato predefinido) não devem ser configuradas para uma VPN.
    - Instruções de importação e exportação RT proibidas (usadas para fins de administração) não devem ser configuradas para uma VPN.
  • Vantagens


    Roteamento Explícito


    Multiprotocol Label Switching é a convergência de técnicas de encaminhamento orientado a conexão e os protocolos de roteamento da Internet. Ele pode aproveitar os recursos de comutação de células existentes no ATM e as novas técnicas de encaminhamento de pacotes de alta velocidade. Em sua forma pura de pacote, simplifica a mecânica do processamento de pacotes nos roteadores principais, substituindo a classificação do cabeçalho e as pesquisas de correspondência de prefixo mais longa por pesquisas simples de etiqueta de índice.


    Independência dos Componentes

    Suporte a Múltiplos Protocolos e a Múltiplos Links

    Suporte a Unicast e Multicast

    Velocidade

    Escalabilidade

    Simplicidade

    Roteamento Inter-Domínio

    Aplicações

  • Virtual Private Network (VPN)
  • Quality of Service (QoS)
  • Engenharia de Tráfego
  • Conclusão

    Perguntas

    Bibliografia


    Armitage G., "MPLS: the magic behind the myths", IEEE Communications Magazine, vol. 38, no. 1, pp. 124-131, Jan. 2000. Acesso em: 27/08/2019.

    Murata M. and Kitayama K., "A perspective on photonic multiprotocol label switching", IEEE Network, vol. 15, no. 4, pp. 56-63, July-Aug. 2001. Acesso em: 27/08/2019.

    Lawrence J., "Designing multiprotocol label switching networks", IEEE Communications Magazine, vol. 39, no. 7, pp. 134-142, July 2001. Acesso em: 27/08/2019.

    Viswanathan A., Feldman N., Wang Z. and Callon R., "Evolution of multiprotocol label switching", IEEE Communications Magazine, vol. 36, no. 5, pp. 165-173, May 1998. Acesso em: 27/08/2019.

    Banerjee A. et al., "Generalized multiprotocol label switching: an overview of signaling enhancements and recovery techniques", IEEE Communications Magazine, vol. 39, no. 7, pp. 144-151, July 2001. Acesso em: 27/08/2019.

    Alouneh S. and Abed S., “Fault tolerance and security issues in MPLS networks”, International Conference on Applied Computer Science - Proceedings, 2010. Acesso em: 27/08/2019.

    Genge B. and Siaterlis C., “Analysis of the effects of distributed denial-of-service attacks on MPLS networks”, International Journal of Critical Infrastructure Protection, Volume 6, Issue 2, Pages 87-95, 2013 Acesso em: 27/08/2019.

    Llorens C. and Serhrouchni A., “Security Verification of a Virtual Private Network over MPLS”, IFIP - The International Federation for Information Processing, vol 229. Springer, 2007. Acesso em: 27/08/2019.

    Guernsey D., Engel A., Butts J. and Shenoi S., “Security Analysis of the MPLS Label Distribution Protocol”, IFIP Advances in Information and Communication Technology, vol 342, Springer, 2010. Acesso em: 27/08/2019.

    Rosen E. and Callon R., “Multiprotocol Label Switching Architecture”, RFC3031, 2001. Acesso em: 27/08/2019.

    Xiao X., Hannan A., Bailey B. and Ni L., “Traffic Engineering with MPLS in the Internet”. Acesso em: 27/08/2019.

    Li T., “MPLS and the Evolving Internet Architecture”, IEEE Communications Magazine, December 1999. Acesso em: 27/08/2019.

    Weinberg N. and Johnson J. T., "MPLS explained", March 2018; https://www.networkworld.com/article/2297171/network-security-mpls-explained.html. Acesso em: 27/08/2019.

    Rodgers C., "Building a MPLS Based Telecommunication Network", Journal of Telecommunications System & Management, Vol 7(3): 175, December 2018; https://www.omicsonline.org/open-access/building-a-mpls-based-telecommunication-network-2167-0919-1000175-106490.html. Kumarasamy J., “MPLS Architecture Overview”; https://cs.wmich.edu/~alfuqaha/Fall07/cs6030/lectures/mpls-rev2.pdf. Smith S., “Introduction to MPLS”; https://www.cisco.com/c/dam/global/fr_ca/training-events/pdfs/Intro_to_mpls.pdf. Acesso em: 27/08/2019.

    https://gta.ufrj.br/grad/04_2/MPLS/. Acesso em: 27/08/2019.

    M. Behringer and M. J. Morrow, “MPLS VPN- Security,” Cisco Press, 2005. Acesso em: 27/08/2019.

    R. Ren, D. Feng and K. Ma, “ A Detailed Implement and Analysis of MPLS VPN based on IPSEC,” in Proceeding of the IEEE Third International Conference on Machine Learning and Cybernetics, Shanghai, August 2004. Acesso em: 27/08/2019.

    T. Saad, B. Alawieh and H. Mouftah, “Tunneling Techniques for End-to-End VPNs: Generic Deployment in an Optical Testbed Environment,” IEEE Communication Magazine, 2006. Acesso em: 27/08/2019.

    D. Barlow, V. Vassilio, H. Owen, “A cryptographic protocol to protect MPLS Labels”, Proceeding of IEEE Workshop of Information Assurance, 2003. Acesso em: 27/08/2019.

    J. Chung, “Multiple LSP Routing Network Security for MPLS Networking,” IEEE-MWSCAS, 2002. Acesso em: 27/08/2019.