Mobilidade sobre IPv6
Escrito por Dairton Luiz Bassi Filho
Protocolo Hierárquico
Considerando o constante crescimento da internet e do número de dispositivos móveis conectados simultaneamente, é muito importante que a próxima versão do protocolo de internet seja escalável. No entanto, o modelo apresentado pelo Mobile IPv6 não provê escalabilidade nas dimensões necessárias. Quando usado em um contexto com um número excessivo de unidades móveis, a tendência é a perda da qualidade de serviço e aumento do delay na entrega dos pacotes. Este comportamento ocorre porque, o Móbile IPv6 trata da mesma forma movimentações locais e globais.
Movimentações locais são aquelas que acontecem dentro de um site, movimentações globais são entre sites. Um site tem uma dimensão arbitrária e pode ser, por exemplo, a rede de uma empresa ou universidade e ser constituído por uma ou várias LANs.
O grande problema em tratar mobilidade local e global da mesma forma é o excesso de tráfego gerado na internet. Periodicamente as unidades móveis enviam a cada host que se correspondem um binding update informando ou apenas confirmando o seu ponto de conexão. Com este comportamento, quando o número de unidades móveis crescer, a quantidade de bindings crescerá proporcionalmente e poderá causar sobrecarga na internet.
Conforme o estudo feito por [3], analisando os padrões de mobilidade de diversos profissionais, independente de possuírem algum dispositivo móvel, 69% das movimentações são locais. Este dado mostra que um modelo hierárquico que considera as movimentações locais e globais de forma diferente pode ser mais adequado à internet. Ele trás, sobretudo, duas vantagens cruciais: handoffs mais simples e rápidos, pois são realizados apenas localmente, reduzindo a perda de pacotes durante a transmissão e redução da carga de dados enviada pela internet, pois movimentos locais podem ser sinalizados sem que as mensagens precisem passar pela internet.
A idéia de hierarquia é baseada no conceito de Redes de Mobilidade. Uma rede de mobilidade de um site é uma LAN que define um espaço de endereçamento para unidades móveis. Cada rede de mobilidade deve possuir Servidores de Mobilidade, que funcionam como roteadores e armazenam os bindings das unidades móveis que estiverem usando a rede.
As movimentações de uma unidade móvel podem ser locais ou globais, intra-site e inter-site, e cada uma pode ser tratada de forma a minimiza a comunicação e o tráfego na internet.
Nas movimentações inter-site a unidade móvel recebe dois care-of address, o Private Care-of Address (PCoA), que é um endereço associado à rede local e equivale ao care-of address tradicional, e o Virtual Care-of Address (VCoA) que está associado à Rede de Mobilidade.
Ao movimentar-se inter-sites, uma unidade móvel re-configura seus endereços, PCoA e VCoA, e envia três tipos binding update. Um, enviado ao servidor de mobilidade, que realiza o binding entre o VCoA e o PCoA. Outro, enviado para cada unidade de fora do site com que a unidade móvel está se comunicando, que especifica o binding entre VCoA e o Home Address, aqui está incluído o binding para o home agent. E o terceiro que determina o binding entre Home Address e PCoA, enviado para as unidades de dentro do site com que a unidade móvel está se comunicando.
Para movimentações intra-site, a unidade móvel troca apenas o PCoA, e para informar o restante da rede são necessários apenas dois tipos de binding update. Um para o servidor de mobilidade determinando o binding entre PCoA e VCoA e um binding para cada unidade comunicante de dentro do site, informando o PCoA.
Como resultado, unidades locais enviam pacotes para a unidade móvel endereçando ao PCoA que são entregues diretamente. As unidades externas enviam pacotes endereçados ao VCoA que são roteados para o servidor de mobilidade e encaminhados via tunneling ao PCoA.
Este modelo pode ser estendido para criar uma hierarquia de vários níveis de forma que cada site possa conter sub-sites e cada sub-site outros sub-sites. Conjunto de redes pode ser visto como uma árvore de redes de mobilidade, com uma rede de mobilidade para cada site e sub-site.
É importante perceber que para uma árvore de redes de mobilidade, qualquer unidade móvel que esteja dentro dela estará associada a um conjunto de no máximo h redes que determinam um caminho da raiz a uma folha na árvore de redes de mobilidade, onde h é a altura da árvore. Assim, a unidade móvel possuirá um VCoA em cada uma das redes deste caminho. Dentro deste caminho chamaremos de RM
1 a Rede de Mobilidade da raiz, RM
s cada uma das redes do caminho e RM
h a rede da folha.
O modelo hierárquico explora a larga quantidade de endereços oferecida pelo IPv6, vinculando vários endereços a cada unidade móvel. Além do PCoA, vários VCoAs podem ser registrados, um para cada nível da hierarquia. Durante a movimentação, o registro dos endereços pode ser inter-site ou apenas intra-site.
Quando a unidade móvel se movimenta localmente ela deve trocar de PCoA tomando um endereço da rede onde está. Considerando o movimento local em uma rede de mobilidade que possui sub-redes, a mudança no ponto de conexão acarreta mudança no caminho da raiz às folhas na árvore de RM. Isso obriga a unidade móvel a adquirir um VCoA para cada rede de mobilidade que ela passa a participar. Em seguida, dentre as novas redes, da mais alta para a mais baixa na hierarquia, os VCoAs devem ser registrados. Sendo RM
s a rede mais alta, devem ser realizados Binding Update em RM
i-1 entre VCoA
i-1 e VCoA
i, para i de s a h. Por fim, deve ser registrado um binding entre VCoAh e o novo PCoA na RM
h e outro entre o home address e PCoA em cada unidade comunicante de dentro do site.
Por questões de otimização em casos onde a unidade móvel não realiza muita movimentação, algumas RMs podem ser puladas, o PCoA pode ser registrado diretamente com o VCoA
1. Esta medida reduz a carga na rede local pois os pacotes são encaminhados diretamente sem passar por todos os níveis da hierarquia.
Quando ocorre uma movimentação global a unidade móvel sairá de uma árvore de RMs para outra e isto significa que todos os endereços associados ela serão trocados, exceto, é claro, o home address. A unidade móvel assume um novo PCoA e um novo VCoA para cada RM da nova hierarquia. Registra VCoAi
-1 com VCoA
i através de binding update em RM
i-1, para i de 2 até h’, onde h’ é um valor independente de h pois é a altura de outra árvore de redes. Registra o home address com o PCoA em cada unidade comunicante dentro do site. Registra o home address com o VCoA
1 para cada unidade comunicante fora do site e com o home agent.
Desta maneira, pacotes enviados ao home address são interceptados pelo home agent, encapsulados e encaminhados ao PCoA. As unidades que estão em outros ramos da árvore podem comunicar-se através do primeiro VCoA em comum, enquanto que as unidades comunicantes de dentro do site enviam pacotes endereçados diretamente para o PCoA.
Quando o nó comunicante está fora do site e envia pacotes à unidade móvel ele os endereça ao VCoA
1. Os pacotes são entregues à RM
1, onde são interceptados pelo servidor de mobilidade e encapsulados ao VCoA
2. O servidor da RM
2 os intercepta e apenas muda o endereço de destino do encapsulamento para VCoA
3. E assim segue até que o último nível de RMs redireciona-os para o PCoA.
Perceba que a simples mudança no endereço de destino pode ser feita a partir do segundo nível da RM
s pois o primeiro nível não pode alterar os dados do pacote original, se isto fosse feito a unidade móvel invalidaria o pacote acusando falta de integridade dos dados.
Quando a unidade móvel deseja enviar um pacote ela coloca no endereço de origem o PCoA e adiciona como informação adicional o home address, independente de quem irá recebe-lo. Assim o nó recebedor através de sua tabela de bindings pode enviar diretamente para o home address caso o PCoA não esteja mais disponível.
Desta maneira a maioria do trafego gerado por uma unidade móvel permanece na rede local, uma vez que a quantidade de bindings enviados para fora do site é menor. Exceto nos casos em que a unidade móvel troca completamente de RM, a mudança deixa de ser transparente para os nós comunicantes e eles são informados da mudança.
Crescimento da rede
Em uma estrutura hierárquica de gerenciamento de pacotes, de fato há um alívio na quantidade de dados que transitam pela internet, entretanto outro ponto pode tornar-se indesejável. O gargalo passa a ser no processamento dos servidores de mobilidade que podem perder performance quando o site cresce e aumenta muito o número de unidades móveis, o servidor possuiria um número demasiado de entradas em sua tabela de bindings tornando-o mais lento.
Antes de caracterizar uma solução para o problema da lentidão nos servidores convém observar mais uma característica das redes de mobilidade.
Durante a retransmissão dos pacotes, os servidores de mobilidade trabalham sem acrescentar nenhuma informação que torne possível ao destinatário identificá-lo. Esta característica torna possível que um servidor seja, dinamicamente, duplicado ou substituído de forma transparente para os nós comunicantes. Da mesma maneira um novo servidor pode ser acoplado a uma RM sem que seus usuários percebam. Isto permite que em casos de sobrecarga, um servidor específico seja duplicado para dividir o processamento ou que mais servidores sejam adicionados à rede para compartilhar o armazenamento dos bindings e o encaminhamento dos pacotes.
Comparação de performance
Uma comparação entre o modelo hierárquico e o Mobile IPv6 sobre três fatores importantes: a performance de roteamento, a performance de transmissão e a escalabilidade em cada modelo. O primeiro avalia a latência introduzida por cada modelo. O segundo analisa o quão rápido são executadas as transmissões de dados, e, o terceiro verifica o comportamento quando a rede e o número de unidades móveis cresce.
O roteamento dos pacotes acaba sendo bastante tendo um custo bastante próximo. O Mobile IPv6 faz o roteamento ótimo dos pacotes, usando sempre o caminho mais curto para entregar os pacotes, exceto na primeira comunicação como outro host, desta vez os pacotes passam pelo home agent. Enquanto isso o modelo hierárquico acrescente uma indireção devido à implantação dos servidores de mobilidade, porém isto evita que pacotes tenham que entrar na internet.
A escalabilidade provê a principal diferença entre os dois modelos. Serão considerados três cenários, movimentação dentro do site, movimentação dentro de um site estrangeiro e movimentação entre sites.
No primeiro cenário um simples detalhe faz toda a diferença, no modelo hierárquico a unidade móvel envia um aviso ao DNS sobre seu VCoA, assim não é preciso enviar pacotes pela internet. No Mobile IPv6 a unidade móvel envia binding updates para cada um de seus nós comunicantes.
Para o terceiro caso não há diferença entre os protocolos pois são iguais no que diz respeito aos dados transmitidos pela internet.
No cenário de movimento em uma rede estrangeira é onde está a diferença mais significativa pois quanto maior a freqüência de mudança da unidade maior é a diferença de desempenho em favor o modelo hierárquico pois a mudança é tratada como uma mudança local sendo transparente para os hosts de fora da rede.
Conclusões a respeito do modelo hierárquico
A respeito do tratamento da movimentação pudemos perceber um ganho significativo no durante o deslocamento local. O uso de várias camadas na hierarquia trás um overhead na comunicação local mas é compensado pela redução na comunicação através da internet, culminando ainda em uma menor perda de pacotes.
A estrutura de Redes de Mobilidade acrescenta um nível de indireção no roteamento, mas proporciona um mecanismo dinâmico de integração dos servidores e se torna transparente aos nós comunicantes. Além disso desloca o gargalo da sobrecarga da internet para a sobrecarga dos servidores de mobilidade que podem ser expandidos mais facilmente.
Última atualização 28/08/2008 14h08