• Nenhum resultado encontrado

4 PROPOSTA DE RECONFIGURAÇÃO DINAMICA DE AGENTES MÓVEIS IPv4 EM REDES MANET

4.8 SINALIZAÇÃO DE MUDANÇA DO AGENTE ATIVO PARA AGENTE PASSIVO

Caso o MA passivo esteja a vários saltos do MA ativo, as mensagens de sinalização do RDAIPM têm de ser encaminhadas através dos nós intermediários até chegar nele, via roteamento. Essas mensagens são os agent advertisements <agt_adv>, modificados nesta proposta, para facilitar o correto funcionamento da sinalização RDAIPM [ver apêndice B]. O MA que for naquele momento ativo tem de enviar os <agt_adv> com a <FLAG_A=11>. Essa mensagem é processada por cada nó da rede MANET com MIP e usada unicamente pelo nó a fim de saber para qual MA enviar futuros requerimento de registros.

Quando a mensagem for recebida pelo MA passivo, este identificará o campo contendo a <FLAG_A>. Se ela for igual a 11, significa que o agente ativo não tem problemas, caso contrário ele terá de assumir como agente ativo. Vale lembrar que nesse processo os <agt_adv> podem revelar, através das flags H e F, que a mensagem provém de um Home agent ou Foreign Agent.

A Figura 4.9 mostra como os processos de sinalização ocorrem unicamente entre os nós MN e o MA ativo e não com o MA passivo [51]. Caso ocorra uma falha no MA ativo e o Lifetime da mensagem for vencido após determinado tempo, o MA passivo assume o estado ativo e começa a disseminação dos <agt_Adv>, a fim de se anunciar na rede MANET como o novo MA ativo. Esse processo garante o registro dos MN previamente cadastrados no antigo MA para serem registrados junto a ele, com o auxílio de mensagens <reg_rq> e <reg_rp>.

O nó no papel de agente primário deve procurar na sua tabela de cadastro por nós RDAIPM que sejam possíveis candidatos à eleição do agente secundário. Esse cadastro é montado à medida que os nós efetuam seu registro na rede (através da troca de mensagens registration request e registration reply) e solicitam sua participação no processo de eleição por meio do envio de passive agent requests.

Agente ativo MN X

Ag. Adv. + F=1/H=1+ A=1

MN Y

Novo agente ativo

Agente ativo com A = 1 e F=1 indicando que é um Foreign agent ou H=1

indicando que é um Home agent

Novo processo de registros iniciam- se entre novo agente ativo e nó

previamente cadastrados Ag. Adv. + F=1/H=1+ A=1 Ag. Adv. + F=1/H=1+ A=1

Ag. Adv. + F=1/H=1+ A=1

Ag. Adv. + F=1/H=1+ A=1

Ag. Adv. + F=1/H=1+ A=1 MN.X Reg. Request

MN.Y Reg. Request MN.Y Reg. Request

Reg. Reply to MN.X

Reg. Reply to MN.Y Reg. Reply to MN.Y TIMEOUT, o Lifetime do agt_advExpirou ou ouve falha no agente ativo

Ag. Adv. + F=1/H=1+ A=1 Ag. Adv. + F=1/H=1+ A=1

MN.X Reg. Request MN.X Reg. Request

MN.Y Reg. Request Ag. Adv. + F=1/H=1+ A=1 Ag. Adv. + F=1/H=1+ A=1

Reg. Reply to MN.X Reg. Reply to MN.X

Reg. Reply to MN.Y

Agente passivo

Figura 4.9 - Sinalização da mudança do agente ativo para agente passivo.

A escolha do agente passivo, dada a existência de pelo menos um nó cadastrado no agente ativo, seria feita com base na procura pela rota AODV de menor número de seqüência DSN (Destination Sequence Number) e menor número de saltos HOP_COUNT até o nó. Se o melhor nó RDAIPM for encontrado obedecendo aos parâmetros anteriores, o agente primário o elege como agente secundário. Monta-se a tabela de cadastro para eleição dos agentes passivos, a ser consultada para futuras escolhas com o objetivo de se reduzir o tempo usado para eleição desses agentes, desde que o tempo de vida da tabela seja menor que o tempo da próxima atualização da tabela de roteamento AODV.

Em termos de implementação real, como não se chegou a lidar com o protocolo de roteamento AODV mas somente com o MIP, utilizou-se a seguinte regra substituível:

a primeira mensagem passive agent request que chega no MA é utilizada para se eleger o MN como agente passivo; os demais são armazenados em um array para o caso de uma nova escolha futura.

Como exemplo, segue a sinalização da eleição do agente passivo [65], conforme Figura 4.10:

1: O MA ativo, tem de enviar os <agt_adv> com a <FLAG_A=11>. Essa mensagem é processada por cada nó da rede MANET com RDAIPM. É lembrado no processo que os <agt_adv> podem revelar através das flags H e F que a mensagem provém de um MFA ou MHA e não de ambos.

2: Essa mensagem é usada unicamente pelo nó a fim de saber para qual MA enviar o requerimento de registros como candidato para agente passivo. Neste caso o nó envia por unicast a mensagem de solicitação ao MFA.

MFA

Ativo MN

2: unicast (Pass_agent_Req, MNhop , MFA)

1: broadcast (Agt_adv, MFA

,…,A, Lifetime)

3: broadcast (MNnodelect_adv,

MFA,…,F, A, Mnnodelect, Lifetime)

4: unicast (MNno

delect_adv_ack, MNnode

lect, MFA)

5: unicast (Binding, MFA, MNnodelect, MNvlist)

6: unicast (Binding_ack, MNnodelec t, MFA)

Figura 4.10 - Sinalização da eleição do agente passivo.

3: Quando a mensagem for recebida pelo agente ativo, este identificará os nós que podem ser candidatos através das restrições administrativas. Os nós têm

de estar previamente cadastrados no agente ativo da rede nativa via sinalização padrão MIPv4 e não serem nós com constante mobilidade fora da rede nativa. O melhor nó achado para ser agente passivo, o MFA envia a todos os nós o aviso de parar o envio de requerimento de registros como candidatos para agente passivo. A mensagem contém um campo com o endereço lógico do nó escolhido como passivo.

4: O nó eleito deve enviar por unicast uma mensagem ao agente ativo confirmando a recepção da mensagem anterior.

5: Já que o agente passivo deve ter de antemão as configurações contidas nas mensagens registration request dos nós RDAIPM enviados ao agente ativo, essa mensagem é copiada e encaminhada do MA para o MNnodelect.

6: O MNnodelect envia por unicast uma mensagem ao agente ativo confirmando a recepção da mensagem anterior.