Poli Logo Trabalho de Redes II - EEL879
Redes IP Móveis

Mobile IP

4 - Definições do Protocolo

Além dos elementos definidos na seção anterior, o protocolo prevê uma série de procedimentos necessários para se estabelecer uma conexão móvel. São eles:

Estas são as mensagens enviadas/recebidas pelos elementos que formam a rede móvel. Abaixo a definição de cada mensagem e seus respectivos funcionamentos:

4.1 - Descoberta de Agente

4.1.1 - Anuncio de Agente

Anuncios de Agente são transmitidos por um agente (Home Agent ou Foreign Agent) para anunciar seus serviços na rede. Os dispositivos móveis usam esta informação para identificar sua atual situação de conexão à Internet. Esta mensagem é uma extensão da mensagem ICMP Router Advertisement, definida na RFC 1256, como uma mensagem utilizada pelos roteadores da rede para anunciarem sua disponibilidade, parte de um protocolo chamado ICMP Router Discovery Protocol. Esta extensão é chamada de Mobility Agent Advertisement Extension.

A Mobility Agent Advertisement Extension segue os campos da ICMP Router Advertisement, indicando que esta também é um Anuncio de Agente enviado por um dispositivo móvel. Esta mensagem é definida como:

		0                   1                   2                   3
		0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		|     Type      |    Length     |        Sequence Number        |
		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		|    Registration Lifetime      |R|B|H|F|M|G|r|T|   reserved    |
		+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		|                  zero or more Care-of Addresses               |
		|                              ...                              |
		

Onde:
Type: Define o tipo da mensagem - default: 16
Length: Define o tamanho da mensagem - (6 + 4*N), onde: 6 são os bytes até o campo de endereços e N é o numero de endereços (4 bytes) anunciados.
Sequence Number: Quantidade de mensagens enviadas desde que o Agente foi iniciado.
Registration Lifetime: O maior tempo no qual o Agente aceitará uma Requisição de Registro. Um valor de 0xffff indica infinito.
Flags:

reserved: Enviado com zeros e ignorado na recepção. Reservado para futuras aplicações.
Care-of Address(es): O Foreign Agent Care-of Address enviado pelo Foreign Agent. Obrigatório caso o flag "F" esteja ativado

4.1.2 - Solicitações de Agente

Solicitações de Agente são transmitidas pelo dispositivos móveis para, imediatamente, receberem o Anuncio de Agente dos agentes presentes na rede. é basicamente a mesma mensagem de ICMP Router Solicitation, também definida no ICMP Router Discovery Protocol, RFC 1256, como uma mensagem utilizada pelos "hosts" de uma rede para requisitarem informações dos roteadores presentes na mesma. A diferença é que no, caso móvel, existe a restrição de que o campo IP TTL é necessariamente igual a 1.

4.1.3 - Considerações sobre os Anuncios

Qualquer Agente que não seja descoberto por algum protocolo da camada de enlace deve enviar Anuncios. Os Agentes enviam seus anuncios periodicamente, seguindo o padrões definidos para o ICMP Router Discovery Protocol. Porém, como os recursos em dispositivos móveis são limitados, é necessário que a frequencia dos anuncios seja limitada a uma taxa que não comprometa a banda passante da rede.

Esses anúncios só serão enviados quando a rede em questão estiver configurada para solicitar registros (Flag R habilitado) ou quando receberem uma Solicitações de Agente. Neste caso o Agente deve responder diretamente ao dispositivo que enviou a solicitação.

Todos os agentes devem responder a solicitações do grupo de multicast Mobile-Agents, endereço 224.0.0.11. Além disso, os dispositivos móveis podem enviar solicitações à este endereço.

Quanto as Solicitações de Agente, estas também serão limitadas a um intervalo que não degrade a rede. Inicialmente, os dispositivos móveis podem disparar três Solicitações, no máximo uma por segundo, ao procurar por um Agente. Depois disso a taxa deve cair para diminuir o "overhead" no link, utilizando-se um mecanismo de "backoff" binário exponencial, dobrando o intervalo de tempo entre as solicitações até um intervalo máximo, de pelo menos 1 minuto.

Afim de evitar conflitos, o dispositivo móvel deve sempre capturar o primeiro Care-of Address para se registrar.

Os anuncios servem também para que o dispositivo móvel saiba quando está se movendo ou quando retornou para sua rede de origem. No primeiro caso, o dispositivo móvel pode detectar que se moveu utilizando um algoritmo (outros podem ser desenvolvidos e utilizados) baseado no Lifetime: Neste caso o dispositivo móvel detecta que mudou de rede ao não receber, dentro do tempo estipulado pelo Lifetime, um novo Anuncio de Agente do Agente que ele está associado. Caso o dispositivo móvel receba um Anuncio de Agente de outro Agente antes do Lifetime expirar, o dispositivo móvel pode tentar se registrar a este novo Agente. Caso não tenha recebido nenhum novo anuncio e o Lifetime tenha expirado, o dispositivo dá inicio a um novo processo de Descoberta de Agente para se registrar.

4.2 - Registro

Mobile IP define dois diferentes tipos de procedimentos de registro: o primeiro através do Foreign Agent, que repassa o processo de registro para o Home Agente do dispositivo móvel e outro diretamente com o Home Agent do dispositivo móvel.

Ambos os procedimentos envolvem a troca de mensagens de Requisição de Registro (Registration Request) e Resposta de Registro (Registration Reply), que são apresentadas a seguir. Todas as mensagens de registro são trocadas utilizando-se o protocolo UDP.

4.2.1 - Requisição de Registro

O processo de Registro do dispositivo móvel com o seu Home Agent inicia-se com a mensagem de Requisição de Registro, para que o Home Agent possa criar ou modificar a Tabela de Relacionamento (Mobily Binding Table) para o dispositivo em questão. Para isso o dispositivo móvel pode enviar sua requisição de dois modos: o primeiro, quando estiver usando um endereço fornecido pelo Foreign Agent, o chamado Foreign Agent Care-of Address, envia sua requisição através do próprio Foreign Agent; ou então,quando estiver registrando um endereço adquirido de terceiros, o chamado Co-Located Care-of Agent, as requisições serão enviadas diretamente ao Home Address associado ao dispositivo móvel.

Como mencionado anteriormente, as mensagens são enviadas via UDP. Após o cabeçalho UDP são incluidos campos específicos para Mobile IP, mostrados a seguir:

4.2.2 - Resposta de Registro

Ao receber uma mensagem de Requisição de Registro (Registration Request), o Agente retorna uma mensagem de Resposta de Registro (Registration Reply). Caso a mensagem do dispositivo móvel tenha vindo de um Foreign Agent, este receberá a mensagem do Home Agent e repassará a mensagem para o dispositivo móvel que enviou a Requisição. A mensagem de Resposta contém códigos que informam o "status" da Requisição, bem como seu Tempo de Vida (Lifetime) garantido pelo Home Agent. Os campos do protocolo UDP e do cabeçalho MIP adicionado são mostrados abaixo:

4.2.3 - Funcionamento do Registro

Como dito anteriormente, existem dois métodos de Registro. Um via Foreign Agent e o segundo diretamente com o Home Address. Para determinar qual dos métodos o dispositivo móvel deve utilizar, são utilizadas as seguintes regras:

Ao se registrar via Foreign Agent, o procedimento é dado da seguinte maneira:

  1. O dispositivo móvel envia uma Requisição de Registro para o Foreign Agent.
  2. O Foreign Agent processa a mensagem e encaminha a mesma para o Home Agent associado ao dispositivo móvel em questão.
  3. O Home agent envia uma Resposta de Registro ao Foreign Agent, aceitando ou negando o registro.
  4. O Foreign Agent processa a Resposta de Registro e então repassa a informação ao dispositivo móvel requisitante.

A figura a seguir ilustra o processo de Registro via Foreign Agent:

Registro via Foreign Agent

Por outro lado, ao se registrar diretamente com o Home Address, o processo é reduzido a duas mensagens:

  1. O dispositivo móvel envia a Requisição de Registro diretamente ao Home Agent (através do Foreign Agent, porém sem a interferência dele).
  2. O Home Agent envia uma Resposta de Registro diretamente ao dispositivo móvel ( mais uma vez através do Foreign Agent e sem a interferência dele), aceitando ou negando a requisição.

A figura a seguir ilustra o processo de Registro via Foreign Agent:

Registro via Home Agent

Ao enviar mensagens de Registro para seu Home Agent, os dispositivos móveis devem enviar ao menos uma Extensão de Autenticação, chamada de Autenticação Mobile-Home (Mobile-Home Authentication). Cada elemento da rede MIP deve suportar uma Associação de Segurança de Mobilidade (Mobility Security Association), determinada pelo seu SPI e seu endereço IP, que neste caso deve ser seu Home Address. Além desse tipo Extensão de Autenticação, outras podem estar presentes no cabeçalho MIP, porém a Mobile-Home Authentication deve sempre vir primeiro. Abaixo uma descrição dos tipos de Extensão de Autenticação que podem ser utilizados pelos dispositivos moveis:

Toda autenticação é baseada em um número calculado a partir de dados contidos na mensagem enviada, chamado Authenticator. Este número é calculado utilizando o algoritmo padrão HMAC-MD5, definido pela RFC 2104, gerando um número de 128 bits. Os dados levados em consideração neste cálculo são:

Podemos perceber que o Authenticator não leva em consideração os campos do cabeçalho UDP e o próprio campo de Authenticator. Isto se dá pelo caráter variável destes campos aos serem trocadas as mensagens, fazendo com que o valor não possa ser verificado no destino.

Como o escopo deste documento é apenas estudar o protocolo MIP, deixarei os detalhes de Autenticação para futuras discussões.

4.3 - Roteamento

Em redes que implementam o protocolo MIP todos os elementos cooperam para rotear os datagramas enviados/recebidos pelo dispositivo móvel que está conectado à uma rede visitada.

O processo começa a partir do Registro, que é efetuado pelo dispositivo móvel, junto ao seu Home Agent. A partir daí os Agentes negociam uma transação chamada Tunelamento, onde os datagramas enviados/recebidos pelo dispositivo móvel são encapsulados no inicio do túnel e desencapsulados ao fim do mesmo mantendo seu conteúdo transparente para Agentes externos a estrutura da rede MIP.

Todos os elementos da rede MIP devem suportar o esquema de encapsulamento IP dentro de IP. Minimal Encapsulation (RFC 2004) e GRE (RFC 2784) podem ser usados para encapsular os datagramas.

4.3.1 - Datagramas Unicast

No caso de datagramas unicast o roteamento pode ser dividido em dois tipos:

  1. Dispositivo móvel na rede de origem:
    Neste caso o dispositivo móvel opera como qualquer outro dispositivo fixo, sem o suporte dos serviços de mobilidade. Não há influencia alguma do Home Agent nem do Foreign Agent.

  2. Dispositivo móvel na rede visitada:
    Neste caso, o dispositivo móvel escolhe o roteador padrão seguindo as regras abaixo:

    • Se o dispositivo móvel estiver usando o Foreign Agent Care-of Address, o próprio Foreign Agent pode ser usado como roteador. O endereço MAC do Foreign Agent pode ser descoberto na mensagem de Anuncio de Agente. Caso contrário, o dispositivo móvel deve escolher seu roteador padrão da mensagem de ICMP Router Advertisement.

    • Se o dispositivo móvel estiver registrado diretamente ao seu Home Agent, usando o Co-Located Care-of Address, o roteador padrão deve ser escolhido entre os roteadores anuncioados pela mensagem de ICMP Router Advertisement, comparando seu prefixo de rede com o dos roteadores presentes na mensagem.

No caso em que o dispositivo móvel está fora da sua rede de origem, ele não deve fazer requisições ARP para tentar encontrar o endereço MAC de outro nó de Internet.

4.3.2 - Datagramas Broadcast

Ao interceptar uma mensagem de broadcast, o Home Agent não deve repassá-lo para os dispositivos móveis presentes em usa Tabela de Relacionamento de Mobilidade, a menos que o dispositivo móvel solicite receber broadcasts. Isto pode ser configurado na etapa de registro, onde o dispositivo móvel envia uma Requisição de Registro com o Flag "B" habilitado.

No caso do Flag "D" estar habilitado (indicando que o dispositivo móvel está usando Co-Located Care-of Address) os pacotes de broadcast são enviados para o dispositivo móvel "encapsulado" em um datagrama unicast direcionado a ele. Neste caso o dispositivo móvel terá que desencapsular o pacote para recuperar o datagrama original.

4.3.3 - Datagramas Multicast

Para receber pacotes multicast, o dispositivo móvel deve primeiro se juntar ao grupo de multicast. Isto é feito de duas formas:

  1. O dispositivo móvel pode se registrar no grupo de multicast através de um rotedor multicast local da rede visitada (assumindo que existe um). Para isto, se estiver utilizando o Co-Located Care-of Address, deve enviar as mensagens de IGMP com este endereço IP. Caso contrário pode utilizar seu Home Address.

  2. Por outro lado, o dispositivo móvel pode se registrar em um grupo de multicas estabelecendo um túnel bi-direcional com seu Home Agent, assumindo que ele também é um roteador multicast. Neste caso as mensagens de IGMP são tuneladas para o Home Agent pelo dispositivo móvel, utilizando seu Home Address na mensagem IGMP, e este as devolve no mesmo túnel para o dispositivo móvel.

Para que um dispositivo móvel receba mensagens de multicast, a regra é a mesma dos pacotes broadcast apresentados na seção anterior.

Para enviar datagramas multicast, o dispositivo móvel tem duas opções:

  1. Enviar diretamente para a rede visitada;
  2. Enviar, via túnel, para seu Home Agent

No caso de enviar diretamente para a rede visitada, o Co-Located Care-of Address deve ser utilizado como endereço de origem. Da mesma forma, ao enviar os datagramas para seu Home Agent, o dispositivo móvel deve utilizar seu Home Address.