Locator/ID Separation Protocol

REDES DE COMPUTADORES II · 2023/2 · UFRJ

Alunos:
Gabriel Távora - gabriel.tavora@poli.ufrj.br
Henrique Almico - henriquealmico@poli.ufrj.br
Pedro Bolzan - pedrobolzan@poli.ufrj.br

Este trabalho foi totalmente produzido pelos autores que declaram não terem violado os direitos autorais de terceiros, sejam eles pessoas físicas ou jurídicas. Havendo textos, tabelas e figuras transcritos de obras de terceiros com direitos autorais protegidos ou de domínio público tal como idéias e conceitos de terceiros, mesmo que sejam encontrados na Internet, os mesmos estão com os devidos créditos aos autores originais e estão incluídas apenas com o intuito de deixar o trabalho autocontido. O(s) autor(es) tem(êm) ciência dos Artigos 297 a 299 do Código Penal Brasileiro e também que o uso do artifício de copiar/colar texto de outras fontes e outras formas de plágio é um ato ilícito, condenável e passível de punição severa. No contexto da Universidade a punição não precisa se restringir à reprovação na disciplina e pode gerar um processo disciplinar que pode levar o(s) aluno(s) à suspensão;


Introdução

Apresentação


O cenário da internet contemporânea é marcado por um alto e constante crescimento em número de dispositivos, serviços e usuários. No entanto, esse crescimento exponencial trouxe consigo uma série de desafios, em especial no que diz respeito à gestão eficiente dos endereços IP e à escalabilidade da infraestrutura de redes. Em resposta a esses desafios, o Protocolo de Separação de Endereço e Identificação, mais conhecido como LISP (Locator/ID Separation Protocol), emergiu como uma inovação e possível solução para a escalabilidade mediante à gama de diferentes Motivaçõess e número de dispositivos em uma rede.

A história do LISP remonta à necessidade premente de superar as limitações do sistema de endereçamento IP tradicional. Tendo sua primeira RFC publicada em 2013, o LISP propõe uma abordagem revolucionária, na qual a função de localização e identificação de dispositivos na rede é separada. Isso permite a reutilização eficiente de endereços IP e aprimora a escalabilidade da infraestrutura de rede, um feito crucial em um cenário onde a demanda por conectividade global continua a crescer.

Além de sua notável capacidade de resolução de problemas de escalabilidade, o LISP oferece um sistema de mapeamento que associa Identificadores a Locators, conferindo maior flexibilidade à gestão de endereços e proporcionando um meio de garantir a entrega precisa de dados em uma rede global complexa. Esta funcionalidade é particularmente benéfica em ambientes de rede nos quais a mobilidade é uma consideração crítica, como data centers e redes sem fio.

Objetivos


Este trabalho visa explorar o Protocolo de Separação de Endereço e Identificação (LISP) e suas implicações no contexto da arquitetura de redes modernas. Ao longo desta análise, discutiremos a demanda histórica que levou à criação do LISP, bem como suas funcionalidades que oferecem soluções para desafios fundamentais de escalabilidade e mobilidade na internet. Por fim, uma conclusão ressaltará o impacto e a relevância do LISP na evolução das redes de comunicação.


Motivações

Desafios do Roteamento IP Tradicional


O roteamento IP tradicional tem servido como a espinha dorsal da internet por décadas. No entanto, à medida que a internet cresceu exponencialmente, surgiram desafios significativos associados a essa abordagem convencional.

No protocolo IP, em termos gerais, é estabelecido que cada ponto na rede deve ser identificado por um endereço para orientar o roteamento dos pacotes. Esse endereço pode ser configurado com 4 octetos (no caso do IPV4) ou 16 octetos (no IPV6). Apesar das projeções indicando seu eventual esgotamento, o IPV4 continua sendo o padrão predominante.

Além do endereçamento feito pelo IP, a responsabilidade pelo encaminhamento de pacotes recai sobre os protocolos de roteamento, como IGP e BGP. O IGP opera dentro de um domínio, intradomínio, enquanto o BGP é encarregado do roteamento entre dois domínios distintos, interdomínio. Para assegurar o correto encaminhamento, os roteadores mantêm uma tabela conhecida como Base de Informações de Roteamento (RIB), que armazena detalhes sobre como direcionar os pacotes. Para otimizar o acesso, é empregada a Base de Informações de Encaminhamento (FIB), que é específica para cada interface do roteador. Cada entrada nessa tabela pode ser entendida como uma rota.

Com isso, pode-se concluir que um dos principais desafios é a escalabilidade. Como citado anteriormente, o esgotamento iminente de endereços IPv4 e a transição para o IPv6 são exemplos claros da pressão sobre a gestão de endereços IP. O roteamento global se tornou cada vez mais complexo, resultando em tabelas de roteamento congestionadas e, por consequência, menor eficiência na transmissão de dados.

Devido ao fato de os endereços IP fornecerem informações sobre a localização de roteamento de um dispositivo na rede, torna-se complexo manter o mesmo endereço IP para um dispositivo que muda de posição na rede ou se conecta a uma rede diferente. Para viabilizar essa mudança, é essencial atualizar as tabelas de roteamento para refletir a nova posição do dispositivo na rede. Além disso, o algoritmo de atualização das tabelas é distribuído, ou seja, ocorre em cada roteador, e a propagação dos novos caminhos é necessária. Porém, podem existir casos onde a frequência com que o dispositivo troca de posição na rede pode ser mais veloz que a atualização das tabelas de roteamento, o que resultaria na impossibilidade efetiva de realizar o roteamento.

Com isso, com a crescente de dispositivos móveis, é necessário um roteamento eficaz que acompanhe essa tendência, haja vista que a redundância de endereços IP e a complexidade dos sistemas de gerenciamento de mobilidade podem gerar gargalos na operação da rede.


Fundamentos do LISP

Endpoint Identifier e Routing Locator


Para entender o funcionamento do LISP, é necessário compreender como funciona o roteamento IP tradicional em contraste com a nova abordagem.

Assim como citado anteriormente, no IP, um endereço único é usado para identificar tanto o local (onde um dispositivo está conectado à rede) quanto o dispositivo em si. Isso significa que, quando esse se move na rede, seu endereço deve ser alterado para refletir seu novo local. Essa mudança é um processo complexo e, em muitos casos, inconveniente. Além disso, redes tradicionais frequentemente precisam alocar blocos inteiros de endereços IP para uma localização específica, independentemente de quantos dispositivos estão realmente presentes nesse local, o que leva a um uso ineficiente de recursos de endereçamento.

Diante desses problemas citados, o LISP implementa os seguintes componentes: o Endpoint Identifier (EID) e o Routing Locator (RLOC).

Endpoint Identifier (EID): é o identificador do dispositivo na rede. É um endereço permanente e estático que serve exclusivo do dispositivo, independentemente de sua localização. O EID é semelhante a um endereço IP convencional e é usado para identificar o dispositivo, mas, ao contrário do IP, os EIDs permanecem inalterados, mesmo quando o dispositivo se move na rede.

Routing Locator (RLOC): é um identificador de localização do dispositivo, ou seja, é o endereço de rede para o qual os pacotes são roteados. Os RLOCs podem ser dinâmicos e associados ao EID à medida que o dispositivo se move na rede. Quando um pacote é encaminhado para um dispositivo, ele usa o RLOC para chegar até ele, independentemente de sua localização.

Roteadores de Ingresso e Egresso


O roteamento de pacotes no LISP é feito através de túneis criados entre dois dispositivos principais: o Egress Tunnel Router (ETR) e o Ingress Tunnel Router (ITR).

Ingress Tunnel Router (ITR): é responsável por encontrar os mapeamentos EID-to-RLOC para todo o tráfego destinado a sites LISP-capable. Quando o ITR recebe um pacote destinado a um EID, ele procura o EID em seu cache de mapeamento. Se o ITR encontrar uma correspondência, ele encapsula o pacote dentro de um cabeçalho LISP com um de seus RLOCs como endereço IP de origem e um dos RLOCs da entrada do cache de mapeamento como o destino IP. E, então, encaminha o pacote normalmente.

Egress Tunnel Router (ETR): é responsável por aceitar um pacote IP com um cabeçalho LISP, onde o endereço de destino é hospedado pelo roteador. Assim, decapsula o pacote e o envia de volta para o espaço EID em direção ao seu destino final. Em resumo, no ETR, o cabeçalho LISP é extraído e o pacote retorna ao seu estado inicial: um pacote IP com o EID do destinatário no campo "destino".


Encapsulamento

Processo de Encapsulamento e Desencapsulamento


Um dos principais princípios operacionais do LISP é o processo de encapsulamento e desencapsulamento. Isso é fundamental para garantir que os pacotes de dados sejam enviados e recebidos corretamente em uma rede que utiliza LISP.

Encapsulamento: Quando um pacote de dados é enviado de um dispositivo com EID para outro, o pacote é encapsulado em um cabeçalho adicional. Esse cabeçalho contém informações de roteamento, incluindo o RLOC do dispositivo de destino. O pacote é, portanto, encapsulado em um "invólucro" que indica o caminho a ser seguido na rede.

Desencapsulamento: Quando o pacote chega ao dispositivo de destino, o cabeçalho de encapsulamento é removido, revelando o pacote de dados original. O dispositivo de destino usa o EID do pacote para identificar o destinatário correto e entregar os dados.

Cabeçalho


O cabeçalho LISP consiste em duas partes: um cabeçalho IP e um cabeçalho UDP. O cabeçalho interno (IH) é um cabeçalho IP normal, criado pelo ponto final que deseja iniciar uma troca de mensagens. O campo de fonte é o EID do emissor e o destino é o EID do receptor. Esse pacote, que ainda é um pacote IP normal, chega até um ITR que acopla um cabeçalho LISP. O cabeçalho LISP consiste em um cabeçalho UDP, onde a porta do destino deve ser definida como 4341, e um novo cabeçalho IP. Nesse novo cabeçalho IP, o destino e a fonte são, respectivamente, os RLOCs referentes. O campo "próximo cabeçalho" do cabeçalho IP externo (OH) deve ser 17, representando o UDP que o segue. É escolhido um cabeçalho UDP por ser menor que o TCP. O controle de recebimento, que o UDP carece, pode estar sendo realizado pela camada de transporte do cabeçalho interior.

LISP: IPV4 in IPV4 header format

LISP: IPV4 in IPV4 header format



LISP: IPV6 in IPV6 header format

LISP: IPV6 in IPV6 header format



Mapeamento


Para realizar o encaminhamento, é imprescindível dispor de um conjunto de dados que viabilize a identificação do RLOC ao qual um EID está associado na rede. A elaboração desse conjunto de dados envolve o uso de mensagens de comando, as quais serão transmitidas por meio do protocolo UDP. Esse gerenciamento é executado por meio de operações de consulta a um "banco de dados". O sistema de mapeamento corresponde ao seguinte fluxo de processos:

Inicia-se com o Map-Request, uma mensagem enviada pelo ITR (Ingress Tunnel Router) para o Map-Resolver, solicitando o mapeamento de um EID (Endpoint Identifier) para um RLOC (Routing Locator).

O Map-Resolver processa as solicitações de Map-Request e as encaminha para o Map-Server, que é responsável por manter um banco de dados distribuído de mapeamentos EID-to-RLOC.

O Map-Server responde ao Map-Request com um Map-Reply, contendo o mapeamento EID-to-RLOC solicitado.

Além disso, existe também o Map-Register, uma mensagem enviada pelo ETR (Egress Tunnel Router) para o Map-Server, registrando um novo mapeamento EID-to-RLOC.

Com isso, o Map-Notify, uma mensagem enviada pelo Map-Server para o ETR, confirma o registro do novo mapeamento.

Diagrama Map-router

Mapping Diagram



Vantagens do LISP



  • Multi-Homing com o LISP: Multihoming é a capacidade de um dispositivo de se conectar a vários provedores de serviços simultaneamente, o que pode proporcionar redundância e balanceamento de carga. Com isso, o LISP procura resolver os problemas do multihoming ao utilizar um banco de dados de mapeamento para enviar pacotes ao ITR (Ingress Tunnel Router) correto sem a necessidade de BGP. Além disso, ele permite o suporte a famílias de vários endereços (AF)

  • Suporte à Portabilidade de Endereços IP: O LISP facilita a portabilidade de endereços IP, tornando mais simples a mudança de provedor ou a adição de multi-homing sem a necessidade de renumeração. Isso é fundamental para garantir a continuidade dos serviços e reduzir os obstáculos à mobilidade dos endereços IP.

  • Integração com Infraestruturas de Multicast: O LISP Multicast é uma extensão do LISP que permite o transporte de tráfego multicast em uma rede LISP. O LISP Multicast usa a replicação de cabeçalho unicast para enviar pacotes multicast para os roteadores de túnel de saída (ETRs) corretos. O LISP Multicast suporta os modos PIM-Sparse Mode (SM) e PIM Source Specific Multicast (SSM), mas não suporta Dense Mode ou Bidirectional Protocol Independent Multicast (PIM). O LISP Multicast também não suporta mecanismos de distribuição de mapeamento de grupo para Rendezvous Point (RP), como Auto-RP e Bootstrap Router (BSR), apenas a configuração de RP estática é suportada

  • Facilitação da Conectividade WAN: O LISP pode ser utilizado em conjunto com a SD-WAN (Software-Defined Wide Area Network) para virtualizar as conexões WAN, aumentando a resiliência do sistema e a área de cobertura em comparação com a WAN tradicional. O LISP facilita a implementação de redes SDN híbridas, especialmente porque pode ser implementado de forma incremental

  • Suporte para SDN: O LISP pode ser utilizado como um protocolo southbound SDN, proporcionando benefícios como escalabilidade, flexibilidade, interoperabilidade e suporte interdomínio. O LISP também pode ser utilizado em conjunto com o OpenFlow, um protocolo de comunicação entre o controlador e o switch em redes SDN

  • Suporte a VPN: O LISP Virtual Private Networks (VPNs) é uma extensão do LISP que permite a criação de VPNs (Virtual Private Networks) que aproveitam as características do LISP, como escalabilidade de roteamento, mobilidade e travessia de família de endereços IP. Essas VPNs podem ser criadas sobre a Internet ou sobre redes de transporte privadas. O LISP VPN usa o encapsulamento LISP para criar túneis VPN entre os roteadores de túnel de entrada (ITRs) e os roteadores de túnel de saída (ETRs) de diferentes sites

  • Mobilidade de VM com LISP: A mobilidade da máquina virtual (VM) com o LISP permite que a mudança de local sem perder seus endereços IP atribuídos. O LISP separa os RLOCs e EIDs, permitindo que dispositivos mudem de local dinamicamente. O LISP detecta esses movimentos da VM com base em eventos do plano de dados, comparando o endereço IP de origem do tráfego com um intervalo de prefixos permitidos para roaming (EIDs dinâmicos). Quando ocorre uma mudança, os mapeamentos entre EIDs e RLOCs são atualizados, redirecionando o tráfego para os novos locais sem interromper o roteamento subjacente. Isso é útil para atender às necessidades de gateway IP de dispositivos de roaming que se realocam quando implantado no roteador de primeiro salto.

Segurança

Considerações sobre segurança


As ameaças ao plano de dados do LISP (Locator/ID Separation Protocol) referem-se a possíveis riscos e vulnerabilidades de segurança associados às operações do plano de dados do protocolo LISP. Essas ameaças podem incluir vários tipos de ataques e riscos que podem comprometer a segurança e a integridade do plano de dados do LISP.

A) Spoofing: Na arquitetura LISP de encapsulamento, o endereço RLOC é utilizado para identificar para onde pacotes são endereçados. O "spoofing" de RLOCs se trata da falsificação destes identificadores, para que o endereço enviado seja diferente do original, resultando em acessos não autorizado em redes e/ou ações maliciosas.

B) Cache-poisoning: Cache poisoning de LISP ocorre quando o conteudo de cache de um LISP é manipulado por pacotes que sofreram "spoofing". Isso causa uma disrupção de trafico dentro da rede e causar mais informações falsas em futuros RLOCs, causando um efeito em cadeia.

C) Cache Overflow: Cache Overflow ocorre quando o cache é preenchido por mapeamentos falsos ou informações com valores TTL (Time To Leave) extremamente altos, causando assim um preenchimento completo do cache, interrompendo os serviços da rede. Cache Overflow são ataques frequentes em ataques de "denial of service".


Conclusão

Ideias Finais


Diante dos desafios apresentados no início do trabalho, observamos que o LISP apresenta uma alternativa mais eficiente em suas abordagens. Ao separar o endereço IP em RLOC e EID, as questões de escalabilidade e multihoming são abordadas. A distribuição de pesos e prioridades atribuídas aos diversos RLOCs em um domínio resulta em um balanceamento de carga eficaz, atendendo às necessidades da engenharia de tráfego.

No entanto, apesar de suas promessas, é crucial reconhecer as limitações inerentes ao LISP. Questões relacionadas à segurança, interoperabilidade e a necessidade de uma ampla aceitação no ecossistema de redes são desafios que devem ser abordados para uma adoção mais ampla. A superação desses obstáculos exigirá esforços colaborativos da comunidade de pesquisa, desenvolvedores e fornecedores de tecnologia.

Podemos finalizar então afirmando que a ideia de separar um endereço em identificadores e locators é valida. Apesar de seus desafios de implementação, sua capacidade de trazer beneficios de performance e escalabilidade, a possibilidade de integrar IPv4 e IPv6, otimizar o roteamento global e facilitar a gestão de endereços, entre outros beneficios, tornam a implementação gradual do LISP extremamente benéfica para futuras inovações no campo de redes de computadores.


Bibliografia



CABELLOS, Albert. RFC 0000: an Architectural Introduction to the Locator/ID Separation Protocol (LISP). ftp.ripe.net. Disponível em: https://ftp.ripe.net/rfc/v3test/draft-ietf-lisp-introduction-13-MS.v2v3.v24.html Acesso em: 13 set. 2023.

FARINACCI, Dino; FULLER, Vince; MEYER, David; et al. The Locator/ID Separation Protocol (LISP). IETF. Disponível em: https://datatracker.ietf.org/doc/html/rfc9300. Acesso em: 13 set. 2023.

IANNONE, Luigi; SAUCEZ, Damien ; BONAVENTURE, Olivier. Implementing the Locator/ID Separation Protocol: Design and experience. Special Issue on Architectures and Protocols for the Future Internet, v. 55, n. 4, p. 948–958, 2011. Disponível em: https://www.sciencedirect.com/science/article/pii/S1389128610003841. Acesso em: 13 set. 2023.

JASTI, Venkata. Locator/ID Separation Protocol (LISP) and Its Applications. 2020. Disponível em: https://www.researchgate.net/publication/348249650_LocatorID_Separation_Protocol_LISP_and_its_Applications. Acesso em: 13 set. 2023.

Extensive LISP Overview. Locator/ID Separation Protocol. Disponível em: https://lisp4.net.cba.upc.edu/documentation/extensive-lisp-overview/. Acesso em: 13 set. 2023.