Introdução

Vivemos num mundo em constante evolução tecnológica. Nosso contato com a computação não se restringe apenas a os desktops, grandes, pesados e que estão instalados em um lugar fixo e planejado, com toda uma infra-estrutura de energia, compartilhamento de dados entre outros computadores, de acesso a internet, e outros recursos. Hoje, a computação móvel tem se tornado cada vez mais importante graças ao crescimento do número de dispositivos portáteis no mercado, e com a adoção do paradigma de computação em nuvens, onde os softwares não são mais vendidos para instalação no computador do usuário e sim como serviços (Software as Service) disponíveis na Internet, a vontade de se ter uma conexão continua com a World Wide Web deixa de ser um luxo se tornando em uma necessidade. É nesse contexto que percebemos a necessidade de se gerenciar essas conexões de rede dinâmicas sem fio, que tem uma duração temporária pois o deslocamento espacial do usuário pode exigir que ele se desconecte de uma rede e se conecte a outra freqüentemente.

Com a evolução dos componentes micro-eletrônicos temos hoje uma infinidade de dispositivos portáteis para uso no nosso dia a dia. Estes cada vez mais estão repletos de funcionalidades, incluindo a transferência de dados e informações, que ocorre através de uma imensidão de redes interconectadas.

A infraestrutura da internet foi feita baseada em vários protocolos, dois dos mais significativos são o TCP (Transmission Control Protocol) e o IP (Internet Protocol). O IP requisita a localização de qualquer máquina conectada à Internet para poder ser identificado por um endereço exclusivo que é um IP atribuído. Isso implica num dos grandes pontos da mobilidade de IP, quando um host muda de localização física há a necessidade de mudança de IP. Impossibilitando assim a continuidade do uso da rede.

O IP móvel permite que os nós permaneçam alcançáveis enquanto estão se movendo entre redes de Internet. Onde cada nó é sempre identificado por um Home Address independentemente do atual ponto de localização de Internet.Nesse trabalho verificaremos o porquê da necessidade de se criar esta extensão de protocolo para Internet e mostrar como funciona o protocolo IP Móvel.

Arquitetura TCP/IP

voltar

A arquitetura de rede TCP/IP foi desenvolvida dentro de uma conjuntura peculiar. Estados Unidos e União Soviética viviam a Guerra Fria, este período pós-Segunda Guerra Mundial foi marcado pela tensão da relação entre os dois países e a disputa pela hegemonia política, econômica e militar no mundo. Existia uma grande preocupação por parte dos Estados Unidos em manter centros de interesses (repartições públicas civis e militares, universidades, etc.) interconectados (redes heterogêneas e geograficamente distribuídas) e que esta capacidade de conexão não fosse comprometida em caso de um improvável (porém possível) ataque militar. Para atingir tais exigências, era preciso desenvolver uma arquitetura que interconectasse essas redes geograficamente distribuídas pelo território dos EUA, de maneira flexível e que pudesse operar mesmo em caso de parte de sua infraestrutura (hosts, gateways) fosse comprometida e deixasse de funcionar de uma hora para outra. É nesse contexto que surge o modelo de referência TCP/IP, especificando os dois grandes (e principais) protocolos: IP – Internet Protocol – a nível de camada de rede (ou inter-redes), responsável pelo encaminhamento das informações na rede, e o protocolo TCP – Transmission Control Protocol – a nível da camada de transporte, responsável por manter a conversação fim-a-fim sem erros e controlando o fluxo de mensagens evitando sobrecargas entre um dos pontos envolvidos em uma comunicação através da grande rede.

Protocolo IP

voltar

O protocolo IP – Internet Protocol – que opera a nível da camada de rede, é responsável pela divisão da informação em unidades de transporte elementares e pelo encaminhamento do fluxo de dados através da Internet, realizando o roteamento das mensagens de um ponto de origem na rede (host) até seu ponto final (outro host) independente da localização física destes nós. Pela própria natureza do projeto da arquitetura TCP/IP, essas mensagens podem passar por caminhos diferentes, devido a indisponibilidade do meio, por exemplo, até o seu destino final.

Uma analogia ao serviço de correios e o processo de roteamento a um nó fixo.

Cada nó (ou ponto) conectado a rede, é identificado por um endereço único e exclusivo, chamado Endereço IP. Na especificação da versão 4 do protocolo IP, este endereço possui 4 bytes de dimensão, já na versão 6 ele possui 32 bytes para o endereçamento.

Este endereço IP consiste de duas partes, os bits mais significativos, que endereçam a qual rede o host está conectado e os bits restantes, menos significativos, o número do próprio host. A cada rede diferente que o dispositivo se conecta, seu endereço IP muda. Por outro lado, as aplicações que operam em camadas superiores, necessitam do IP para manter a comunicação entre os nós envolvidos. Nos deparamos então com a seguinte situação: (1) Um dispositivo móvel (ou um nó móvel) tem que mudar de IP toda vez que ele se troca de ponto de conexão. (2) Para manter as conexões existentes, o nó móvel necessita manter o mesmo endereço IP. Estas exigências conflitantes motivaram a criação de uma extensão do protocolo IP, chamado IP Móvel (Mobile IP).

Mobile IP: Um protocolo para dispositivos portáteis

voltar

O protocolo MIP (Mobile IP) foi desenvolvido e proposto pela Internet Engineering Task Force – IETF – um grupo de trabalho internacional (e aberto a todos) cuja principal preocupação é a evolução e manutenção da arquitetura da Internet, e seu objetivo era solucionar o problema da manutenção da conexão de nós móveis, permitindo o acesso as redes de comunicação de uma forma contínua e independente de sua localização ou meio de acesso, de maneira transparente a camadas superiores e com a menor modificação possível na infraestrutura da Internet existente.

O IP móvel especifica a atribuição de dois endereços IP ao nó, uma maneira simples de se contornar o problema descrito anteriormente. Um desses endereços IP é fixo e é chamado de Home Address, atribuído pela entidade conhecida por Home Agent e que por sua vez, faz parte da Home Network, rede que possui o primeiro registro do nó móvel (Mobile Agent). O segundo IP associado ao nó, é temporário, chamado de care-of-address informando a sua atual posição, é determinado por uma entidade chamada de Foreign Agent pertencente a rede estrangeira (uma vez que é diferente da sua rede originária) chamada de foreign network. O funcionamento básico do IP Móvel é constituído por três etapas diferentes:

-Agent Discovery
-Registration
-Tunneling

Agent Discovery

voltar

O próprio nó móvel é responsável por saber se ele está conectado a sua home network, a qual enviará as mensagens para o mesmo sem a necessidade da prática de tunneling (descrito posteriormente) ou a uma foreign network. Na foreign network, o foreign agent envia também, periodicamente, mensagens de aviso do tipo ICMP (Internet Control Message Protocol) com uma extensão própria para o protocolo Mobile IP. Quando o nó móvel detecta esta mensagem, ele compara o seu home address com o IP do roteador enviado pelo foreign agent e verifica se ele está ou não em uma foreign network. Caso positivo ele inicia a etapa de Registration explicada no próximo tópico.

Em síntese, a etapa de discovery:

  • Permite a detecção de agentes móveis;
  • Lista um ou mais care-of-addresses disponíveis;
  • Informa o nó móvel sobre capacidades especiais disponibilizadas pelo foreign agents, como por exemplo, técnicas alternativas de encapsulamento.
  • Permite aos nós móveis determinarem o endereço de rede e estado das suas ligações pela Internet;
  • Permite aos nós móveis saberem se o agente é uma home agent, foreign agent ou ambos e portanto está na sua rede local ou numa exterior.

Registration

voltar

Quando o nó móvel reconhece que a rede a qual ele está conectado é uma rede estrangeira (foreign network) e depois que adquire o seu IP temporário (care-of-address), ele precisa avisar ao home agent localizado na sua home address, para que ele possa reencaminhar as mensagens para a sua nova localização. Esta etapa é realizada pelos seguintes procedimentos:

  • Após obter seu Care-of-Address o Home Agent deve ser informado
  • O Foreign Agent envia um pedido de registro com a informação do Care-of-Address.
  • Quando o Home Agent recebe o pedido ele adiciona a informação necessária à sua tabela de roteamento, aprova o pedido e envia uma resposta a este pedido ao nó móvel.

Tunneling

voltar

O tunelamento é a maneira pela qual o home agent reencaminha as mensagens que chegaram até ele e que são destinadas ao nó móvel. Tunneling ou Tunelamento é uma maneira eficiente de interligar dois hosts que estão no mesmo tipo de rede, porém entre eles existe uma outra rede (podendo ser diferente). Podemos fazer uma analogia clara no mundo real, suponha que um carro vá de Paris a Londres e entre as duas capitais não há rodovias, apenas o mar (rede diferente), como você resolveria esta situação?

A imagem acima sugere “empacotar” o carro em um container (carga ou conteúdo) que possa atravessar o oceano através de uma trilha submersa. Ao chegar na outra ponta (em Londres), o carro é “desempacotado” (tirado do container) e entregue ao destinatário. O tunelamento em redes de computadores funciona de forma parecida.

  • O Home Agent recebe pacote direcionado para o nó móvel;
  • Verifica se o nó móvel se encontra na rede de origem;
  • Se o nó estiver visitando outra rede, o Home Agent cria um cabeçalho contendo informações do Care-of-Address, chamado de túnel. Este é inserido antes do cabeçalho original, que é preservado. Este processo de encapsulamento é conhecido como IP-within-IP ou tunelamento;
  • O processo de restauração do pacote ocorre quando ele chega à rede onde se encontra o computador móvel. O Foreign Agent retira o cabeçalho de túnel e procura em sua lista de visitantes pelo Home Agent correspondente, para assim enviar o pacote;
  • Para enviar mensagens para outro usuário o nó móvel encaminha o pacote para o Foreign Agent que direciona utilizando o roteamento padrão.

Um exemplo, através de uma analogia, de encaminhamento da mensagem até um nó móvel conectado a uma foreign network:

Preocupações com Segurança e Qualidade de Serviço

voltar

The Denial of Service
Quando um attacker envia uma grande quantidade de pacotes para um host (Home Agent) fazendo com que este host “caia” nenhuma informação útil pode ser trocada com o agente móvel (nó móvel). Também pode ser causada quando um intruso intercepta pacotes fluindo entre dois nós na rede ou quando um host malicioso gera um falso Registration Request especificando seu próprio endereço IP como Care-of-Addres do Nó Móvel. Todos os pacotes enviados pelos correspondentes nós serão encapsulados pelos Home Agent ao Host Malicioso. Um dos métodos de prevenção é requisitar uma autenticação forte em todas as mensagens de Registration Request entre o Nó Móvel e o seu Home Agent. O IP Móvel por padrão utiliza o MD5 (algoritmo de hash) que fornece uma chave secreta de autenticação e um verificador de integridade.

Roubo de Informação
Uma pessoa não autorizada pode escutar passivamente uma rede sem fios e conseguir acesso a infra-estrutura da rede. A solução é usar o Link Layer Encryption que presume que a gestão das chaves para criptografia é realizada sem revelá-las a partes não autorizadas ou a Encriptação Fim-a-Fim.

Replay Attack
O Host Malicioso pode obter uma cópia válida de um Registration Request, armazená-lo, e enviá-lo mais tardiamente, registrando assim um falso Care-of-Address para um nó móvel. Para contornar este problema, o campo de identificação é gerado de modo que seja permitido o Home Agent determinar o qual deve ser o próximo valor deste campo. Deste modo o Host Malicioso será invalidado uma vez que o campo de identificação será reconhecido como expirado pelo Home Agent.

Confiabilidade (Realibility Issues)
O protocolo IP Móvel foi criado na premissa que as conexões baseadas em TCP deveriam sobreviver à mudança de subredes. Entretanto, essa opinião não é unânime quando se fala da necessidade desta característica. Atualmente um usuário padrão de Internet quando percebe que houve falha em algum pacote recebido ele simplesmente requere de novo o dado. Alguns pesquisadores não acreditam que esta característica valeria a pena ser implementada, mediante a essa resposta atual. O investimento não traria retorno financeiramente, atravancando o sucesso dessa característica. Resta a parte contrária prover estudos e possibilidades de retorno financeiro.

Problemas com latência
A qualidade do fluxo de dados depende da distância entre o Home Agent e o Foreign Agent. Existem alguns estudos tentando resolver esse tipo de problema.

Mudança Rápida de Célula
Atualmente, quando o nó móvel troca de uma rede para outra, o nó móvel continua perdendo pacotes. A solução prevista para isso está sendo estudada, e tem como princípio: O Foreign Agent ter de estar previamente informado das informações deste nó móvel, antes que este solicite o Care-of-Address.

Conclusão

voltar

Com a explosão dos dispositivos portáteis (laptops, celulares, palms, etc.) não só com crescente poder de processamento mas também com o aumento de sua conectividade, novos desafios surgiram no ramo da computação móvel e em relação a própria internet. O conceito de computação em nuvens e os subnotebooks (ou netbooks) só vem a reforçar a idéia que estamos migrando para um mundo cada vez mais distribuído, sem fio e conectado. Soluções como o protocolo de IP móvel, ão um meio de viabilizar esse caminho, apesar de ser uma solução simples ao problema de conectividade desses nós móveis, são fundamentais e devem permanecer sob a nossa atenção.

Perguntas

voltar

1. Diga e explique como se chama a etapa de reencaminhamento das mensagens da Home Network até a localização do nó móvel?
Esta etapa é chamada de Tunneling (ou Tunelamento). Após o nó móvel obter seu endereço temporário, Care-of-address, e fazer um novo registro no Home Agent, a cada mensagem que chega a sua Home Network, há um novo encapsulamento destinado ao Care-of-address do nó móvel, e esta é enviada ao seu novo destino. O tunelamento ocorre a nível de camada de rede, ou seja, o datagrama IP é inserido dentro de outro datagrama IP com destino diferente, isto é o chamdo ip-dentro-de-ip (ou IP-withing-IP).

2. Porque atualmente o IP Móvel não é utilizado nas conexões 3G ?
Não é utilizado, pois quem faz a transição de uma célula de rede para outra é a própria provedora do serviço utilizando seus mecanismos de roaming ou seus próprios links de troca.

3. Como o nó móvel descobre que está em outra subrede (rede estrangeira) ?
Isto ocorre no processo de Agent Discovery. O nó móvel recebe avisos periódicos do Home Agent ou do Foreign Agent (se estiver numa rede estrangeira), e compara o seu home address com o IP do roteador da rede na qual ele está, descobrindo assim, se está em sua rede original ou não.

4. Cite as principais etapas especificadas pelo IP Móvel ?
1. Agent Discovery, 2. Registration, 3. Tunneling

5. A distância entre o nó móvel (mobile agent) e o home agent influencia na qualidade de serviço? De que maneira?
Sim. Quanto maior a distância entre eles (os hosts) maior a latência.

Glossário

voltar

  • MIP – Mobile Internet Protocol
  • IP – Internet Protocol
  • ICMP - Internet Controle Message Protocol. Protocolo para trocas de mensagens (relatórios) a respeito dos processos de transmissão de pacotes pela rede. Fornece relatórios de erros a fonte original.
  • Home address - Endereço IP estático alocado a um nó móvel. Ele não muda independente da rede a qual o nó se conecta.
  • Home network - Subrede com um prefixo de rede que pertence ao Home address do nó móvel. Datagramas destinados ao Home address sempre serão roteados para esta rede.
  • Tunnel - Caminho seguido pelo datagrama até seu nó de destino.
  • Visited Network - Subrede a qual o nó móvel está conectado e não é sua rede original (Home network).
  • Home agent - Roteador pertencente a home network que mantém as informações de localização do nó móvel e encaminha os datagramas ao nó quando este está fora de sua rede originaria.
  • Foreign agent - Roteador da rede estrangeira que recebe os pacotes pelo túnel estabelecido pelo Home agent e entrega ao nó móvel.
  • Care-of-Address – Endereço temporário obtido pelo nó móvel em uma rede estrangeira.
  • IETF - Internet Engineering Task Force, http://www.ietf.org