Você está na página 1de 14

Protocolos para o roteamento nas redes moveis ad-hoc com Balanceamento de carga

Redes Moveis Sem Fio

Uma rede móvel sem fio é aquela em que os elementos (nós) de rede que a compõem se
locomovem durante a operação da rede, isto é, o seu endereço IP muda durante a troca de pontos
de acesso. Sendo assim o ambiente como meio de transmissão para garantir maior flexibilidade.

Existem dois tipos de redes móveis: Estruturadas ou Não-Estruturadas, neste caso chamadas de
ad-hoc. Nas redes de comunicações infra-estruturada, uma parte da rede é fixa, garantindo a infra
estrutura necessária para acesso das estações móveis e para interconexão com redes externas. O
equipamento que interliga a parte fixa com a móvel da rede é chamado de Ponto de Acesso (LAN
sem fio) ou Estação Base (Sistema Celular).

A rede móvel ad-hoc é uma rede peer-to-peer que é usualmente compreendida de dezenas a
centenas de nós comunicantes que são capazes de cobrir centenas de metros. Cada nó é visto como
um dispositivo de informação pessoal, como um PDA (Personal Digital Assistant) entre outos.

Já em uma rede ad-hoc, todos nos moveis são capazes de se comunicar diretamente entre si, neste
caso não existe ponto de acesso, ou seja não existe estações de suporte à mobilidade. Os nós de
uma rede ad-hoc podem se mover arbitrariamente. Deste modo a topologia de rede muda
frequentemente e de forma imprevisível. Associado a isso limitações de banda passante de energia
das bateria dos nos tornam o roteamento principalmente o múltiplo, em redes ad-hoc um desafio.
A conectividade entre os nos móveis muda constantemente, requerendo uma permanente
adaptação e configuração de rotas. (ANDRADE; RODRIGO).

Figura 1: Figura 1: Fonte: SACRAMENTO, Vagner in Redes Locais sem Fio (Wireless LANs).
O Roteamento em Redes Ad Hoc

Roteamento

O Roteamento é o mecanismo que permite a comunicação entre dois dispositivos que estejam em
redes distintas. Também podemos entender o Roteamento como sendo um processo “todo”
formado pelos procedimentos:

 De aprendizagem de caminhos alternativos para se alcançar uma rede remota


 De escolha dos melhores caminhos, entre os [caminhos] que foram aprendidos, para se
alcançar uma rede remota.
No caso especifico das redes móveis ad-hoc, todos os nós são rateadores em potencial.
Para realizar esta função corretamente, os rateadores trocam informações entre si, de modo a se
manter a par das rotas disponíveis, e de parte, ou em alguns protocolos da totalidade, da topologia
da rede. Inicialmente, os rateadores só possuem conhecimento local, ou seja, conhecem seus
próprios endereços e a situação dos enlaces aos quais estão ligados. Através da troca de mensagens,
cada rateador constrói seu conhecimento da rede. Este processo continua ate que todas as
informações relevantes tenham sido obtidas e a rede entre em equilíbrio.
Os protocolos de roteamento tradicionais, como o Routing Information Protocol- RIP (baseado em
Vetor de Distancia) [DUARTE et al., apud Malkin, 1998] e o Open Shortest Path FirstOSPF
(baseado em Estado do Enlace) [DUARTE et al., apud Moy, 1998], funcionam bem nas redes
cabeadas que apresentam topologias estáticas, ou que se alteram muito lentamente. No entanto,
eles teriam problemas para convergir em redes ad-hoc móveis pois estas apresentam topologias
dinâmicas.
Protocolos de Roteamento

Existem vários protocolos de roteamento ad-hoc, tais protocolos devem lidar com limitações
típicas desse tipo de rede como consumo de energia, banda passante limitada e altas taxas de erro.
Basicamente os protocolos ad-hoc se dividem em dois grandes grupos: Os protocolos pró-ativos e
os protocolos de sob demanda, ou reativos. Os protocolos pró-ativos tentam avaliar continuamente
as rotas de modo que, quando um pacote necessitar de encaminhamento, a rota já seja conhecida
e possa ser utilizada imediatamente (de maneira similar aos protocolos de roteamento para redes
fixas). Neste caso, os nos mantem uma ou mais tabelas com informações referentes a rede e
respondem a mudanças da topologia propagando atualizações, de modo a manter a consistência do
roteamento. Estas atualizações são feitas periodicamente, o que faz com que haja sempre um
número constante de transmissões em andamento, mesmo quando a rede estiver em equilíbrio, e
mesmo sem carga. Dentre os protocolos pró-ativos para redes móveis ad-hoc pode-se destacar o
WRP (Wereless Routing Protocol) Destination-Sequenced Distance Vector(DSDV) [DUARTE et
al., apud Broch et al., 1998] e o Optimized Link State Routing(OLSR) [DUARTE et al., apud
Clausen et al., 2001].

Os protocolos de roteamento sob demanda, por outro lado, constroem as rotas apenas quando
necessárias, ou seja, quando uma rota e requerido o protocolo de roteamento inicia um
procedimento de descoberta de rota. Desta forma, o processo é disparado por um pacote de dados
necessitando encaminhamento. Uma vez que a rota é descoberta, utiliza-se um procedimento de
manutenção de rota para que ela continue ativa. Como a chegada de um pacote de dados e o evento
que dispara a descoberta de rotas, estes protocolos não trocam mensagens a intervalos regulares,
o que economiza banda passante e energia. O volume de trafego de controle de roteamento varia
de acordo com a utilização da rede. Porem, estes protocolos apresentam uma maior latência no
encaminhamento das mensagens, uma vez que a transmissão de dados só pode ser efetuada após a
construção de uma rota para o destino. Dois dos protocolos reativos mais difundidos para redes
móveis ad-hoc são o Dynamic Source Routing(DSR) [DUARTE et al., apud Maltz et al., 2002] e
o Ad-hoc On-Demand Distance Vector Routing(AODV) [DUARTE et al., apud Perkins; Royer,
1999].

Existe uma lista de qualidade desejável para os protocolos de roteamento


em redes ad-hoc:
a) Operação distribuída;
b) Sem loops de roteamento: o algoritmo de roteamento deve
evitar a formação de loops de roteamento, mesmo que seja por
curtos intervalos. Soluções do tipo ad-hoc como TTL (Time-to-
Live) devem ser evitadas pois abordagens mais estruturadas
podem levar a um melhor desempenho;
c) Operação sob demanda: neste caso, as rotas são criadas somente
quando um nó fonte deseja estabelecer uma comunicação.
Deste modo, recursos como banda passante e energia podem ser
utilizados de forma mais eficiente. O preço pago e o tempo de
descoberta de uma de uma rota;
d) Operação pró-ativa: em certos cenários, a latência causada pela
utilização de protocolos de roteamento que funcionem sob
demanda pode ser inaceitável. Nesses casos, a Operação pró-
ativa, onde rotas são previamente armazenadas em tabelas de
roteamento, é recomendável;
e) Segurança: Sem alguma forma de segurança proporcionada
pela camada rede ou de enlace, os algoritmos de roteamento são
vulneráveis a vários tipos de ataques, É desejável a existência
de técnicas de segurança para evitar espionagem e modificação
de dados transmitidos;
f) Ópera em períodos de inatividade: o protocolo de roteamento
deve se adaptar aos períodos de inatividade dos nos sem
maiores consequências, mesmo que tais períodos sejam
informados ou não;
g) Suporte a enlaces unidirecionais: no projeto de algoritmos de
roteamento, normalmente assume-se que um enlace é
bidirecional e vários algoritmos não funcionam quando
operando em enlaces unidirecionais. (ANDRADE; COLLI).

Os protocolos de roteamento pró-ativos são mais adequados para redes móveis ad hoc com
balanceamento de carga porque trocam mensagens periodicamente, fazendo com que cada nó
conheça a topologia da rede. Com isto, a inclusão da energia como métrica de roteamento é
facilitada. Já no caso de protocolos reativos, onde não há conhecimento da topologia total, levar
em conta o consumo de energia no roteamento de pacotes é uma tarefa mais difícil.

Protocolos do tipo Table-Driven Routing Protocol (Pró-activos)

Segundo Monte, Bernardo e Oliveira (2005, p.1) afirmam que este tipo de protocolo faz com que
cada nó mantenha armazenado em memória uma ou mais tabelas de roteamento referente aos
demais nós da rede. Para manter a consistência dos dados armazenados nestas tabelas são enviados
pacotes de atualização pela rede.

Exemplo:

 Destination-Sequenced Distance-Vector Routing (DSDV);


 Clusterhead Gateway Switch Routing (CGSR);
 Wireless Routing Protocol (WRP).

DSDV - Destination-Sequenced Distance-Vector Routing


O protocolo de roteamento Destination-Sequenced Distance-Vector Routing DSDV, é baseado no
mecanismo de roteamento Bellman-Ford.
Neste protocolo todos os nós da rede possuem uma tabela de roteamento com o endereço do nó
destino, com o número de saltos (hop) necessários para se alcançar este destino e o número de
sequência do nó destino (sequence number - SN). Para diferenciar a existência de novas rotas com
as já armazenadas na tabela é usado um número de sequência, ou seja, cada nova entrada na tabela
possui um novo SN.
As tabelas de roteamento são atualizadas periodicamente, para que assim possa se ter consistência
dos dados nela armazenada.
As mensagens de atualização são transmitidas também, quando se percebe uma alteração no estado
dos enlaces. Caso duas mensagens de atualização cheguem ao mesmo tempo em um nó, armazena-
se a de maior SN e, no caso de mesmo SN escolhe-se a de menor número de saltos.

Características:
 Pró-ativo;
 Métrica: menor caminho;
 Eficiente para criação de rotas com poucos nós;
 Baseado no algoritmo Bellman-Ford;
 Não há implementações comerciais.

CGSR - Clusterhead Gateway Swtching Routing

O CGSR é um tipo de protocolo que trabalha com a segmentação da rede, dividindo-a em clusters (
Cada cluster da rede é formado por 1 cluster head, por gateway e pelos nós. Para eleger qual nó
será eleito cluster head um algoritmo de escolha é distribuído pelo cluster.

Com este tipo de protocolo os pacotes devem obrigatoriamente passar pelo cluster head e este o
direciona para um gateway que fará com que o pacote chegue até o nó destino em algum
outro cluster. Uma desvantagem deste protocolo é que com a mobilidade dos nós o cluster
head pode estar sempre sofrendo alterações. Isto faz com que atrasos ocorram no envio dos
pacotes. O cluster head é alterado quando entra em contacto com outro cluster head ou quando
um nó perde o contacto com todos os cluster heads da rede. O nó gateway é o nó que pode ser
"enxergado" por dois ou mais cluster heads.

Cada nó da rede possui duas tabelas de armazenamento. Uma contém qual o cluster head para
qualquer nó de destino e a outra, contém o próximo passo para alcançar o destino.
Características:
 Pró-Ativo;
 Métrica: menor caminho;
 Nós divididos em clusters;
 Maior eficiência comparando-se ao DSDV;
 A eleição do cluster head gera complexidade e overhead.

Figura 2: Fonte: TELECO (Formação dos clusters com o uso dos protocolos CGSR).

 Dificuldade em manter a mesma estrutura de clusters em redes de grande mobilidade.

Source-Initiated On-Demand Routing (Reativo)


(Ibidem), afirmam que este tipo de protocolo cria rotas apenas quando a fonte deseja enviar dados
para um destino qualquer. Quando a rota fonte-destino é encontrada a fonte então passa a utilizá-
la por um período de tempo, também conhecido como Time-to-Live (TTL).

Exemplos:
Ad Hoc On-Demand Distance Vector Routing (AODV);
Dynamic Source Roting (DSR);
Temporally Ordered Routing Algorithm (TORA);
Associativity-Based Routing (ABR), Stability-based Adaptive (SSA).
AODV - Ad-hoc On-Demand Distance Vector

O Ad-hoc On-Demand Distance Vector (AODV) tem como base o protocolo DSDV, mesmo tendo
a característica de ser um protocolo do tipo Source-Initiated On-Demand Routing. utiliza o
procedimento de descoberta de rotas baseado na origem.
Quando um nó deseja enviar dados para algum destino no qual ele não possua rota válida, inicia-
se um processo de path discovery, ou descoberta de caminho (Figura 3).

Figura 3: Fonte: TELECO(Criação de rota no protocolo AODV).

O nó fonte envia então para seus vizinhos um pacote de route request (RREQ), estes por sua vez
enviam para seus vizinhos e assim sucessivamente até que se chegue ao nó desejado ou a algum
nó que possua uma rota recente para o nó destino.

Este protocolo utiliza o número de sequência de destino (destination sequence number) para ter a
certeza de que todas as rotas estão livres de loops (loop free) e que elas possuam as mais recentes
informações sobre o destino. Todo nó mantém seu próprio SN assim como um Broadcast ID que
é incrementado sempre que um RREQ é realizado.
O pacote de RREQ contém além do seu SN e do Broadcast ID, o número de sequência de destino
que ele possui em sua tabela, um broadcast identifier e o campo de time-to-live. Assim se um nó
intermediário possui uma rota o destino ele apenas responderá ao RREQ se o SN destino for maior
ou igual ao contido no RREQ.
Durante o processo de envio de RREQ um nó intermediário armazena em sua tabela de roteamento
o endereço de seus vizinhos, estabelecendo assim um caminho reverso. Com isto se um RREQ
chegar novamente a este nó (por outro caminho) ele será então descartado, prevalecendo assim o
que chegou primeiro. Assim que o pacote de RREQ atinge o seu destino, ou algum nó que possua
uma rota recente para o destino, é enviado para a fonte via unicasting um pacote de route
reply (RREP).
Quando uma rota é armazenada na tabela de roteamento é associada a ela um tempo de vida, ou
seja, se esta rota não for utilizada neste período de tempo ela será excluída da tabela.
Caso ocorra a movimentação do nó fonte dentro da rede, ele estará apto a enviar um quadro de
RREQ para descobrir uma nova rota para o destino. Já se um nó intermediário se move, ele deverá
enviar a seus vizinhos uma notificação de quebra de link (RREP com métrica infinita) informando
assim que esta parte da rota deve ser excluída. Seus vizinhos por sua vez propagam esta notificação
de quebra de link até que nó fonte seja informado sobre a falha e assim possa enviar um novo
RREQ.
Este protocolo pode ou não fazer uso do quadro de hello, que é enviado periodicamente de um nó
para seus vinhos, informando e mantendo assim a sua conectividade local com os vinhos.

Características:
 Reativo;
 Métrica: mais recente e menor caminho;
 Baseado no protocolo DSDV;
 Loop-free;
 Multicast opcional;
 Reduzido overhead comparado com protocolos Pró-ativos;
 Alto delay causado pelo processo de descoberta de rota.

DSR - Dynamic Source Routing


O Dynamic Source Routing é um protocolo do tipo On-Demand Routing e usa um procedimento
de descoberta de rotas baseadas na origem.
Este protocolo possui duas fases, sendo elas, descoberta de rota (routing Discovery) e manutenção
da rota (route maintenance).

Quando um nó fonte precisa enviar dados para algum destino ele consulta sua memória cache e
verifica se possui uma rota válida para o destino (Figura 4). Caso possua (rota não expirada) ele
usará esta rota para fazer o envio dos dados. Caso contrário, um processo de descoberta de rota
deverá ser inicializado com o envio de pacote de route request . O quadro de route request é
formado pelo endereço de destino acompanhado com o endereço do nó fonte e um número de
identificação único. Cada nó que recebe este quadro faz uma verificação para saber se conhece a
rota desejada. Caso não conheça, este nó acrescentará ao pacote de route request seu próprio
endereço e o enviará a seus vizinhos e assim sucessivamente. Para limitar o número de route
requests propagados um nó só retransmite este pacote se ele ainda não passou por este nó, ou seja
se ele não contém o seu próprio número de endereço.

Figura 4: Fonte: TELECO (Criação de rota no protocolo DSR).

O route reply por sua vez, é enviado assim que se encontra o nó destino ou quando algum nó
intermediário possui em sua cache uma rota não expirada para o destino desejado.
A manutenção das rotas é feita com o uso de pacotes de erro de rota e de reconhecimento.
Pacotes de erro de rota (route error) são gerados por um nó quando ocorre um erro fatal de
transmissão. O salto (hop) em erro é então removido da cache e todas as rotas que possuem aquele
salto ficarão travadas neste ponto.
Os quadros de reconhecimento (acknowledgments) são utilizados para verificar o correto
funcionamento dos links.

Características:
 Reativo;
 Métrica: menor caminho;
 Reduzido overhead de controle;
 Não há necessidade de mensagens hello;
 Quebra de link é informado apenas para a fonte;
 Eficiente para redes ad hoc com menos de 200 nós.

TORA - Temporally Ordered Routing Algorithm

Temporally Ordered Routing Algorithm é baseado no conceito do link reverso. Ele é proposto para
ser utilizado em redes altamente dinâmicas, é do tipo source-initiated e possui múltiplas rotas para
o mesmo par fonte/destino.
O TORA executa basicamente três funções, sendo elas, criação de rotas, manutenção de rotas e
deleção de rotas.
Figura 5: Fonte: TELECO (Protocolo SSA - Route Request).

No processo de criação a fonte envia um pacote solicitando a rota para o destino desejado. Este
pacote se propaga pela rede até chegar ao destino ou até que algum nó intermediário possua uma
rota válida. Assim que s rota for descoberta é enviado uma resposta para a fonte contendo a altura
do nó destino, ou seja, quantos saltos (hops) são necessários para que a informação chegue até o
seu destino.

O processo de manutenção de rotas ocorre quando se percebe uma quebra no link. O nó então faz
uma verificação de rota e ajusta a sua altura para a nova configuração.

A deleção da rota ocorre ao se perceber uma fragmentação da rede. É informado assim a


necessidade de se retirar estas rotas das tabelas.

Características:
 Reativo;
 Métrica: menor caminho;
 Baseado no protocolo LMR( Location Based Multicast ).
SSA - Signal Stability-based Adaptive

O protocolo Signal Stability-based Adaptive tenta descobrir rotas que possuam sinais mais fortes
e uma maior estabilidade no posicionamento dos nós. Este protocolo faz uso do quadro
chamado beacon tendo como analise do sinal do beacon a forma de se analisar a estabilidade entre
os nós.

Figura 6: Fonte: TELECO (Protocolo SSA - Manutenção de Rota).

As rotas referentes aos sinais de maior potência do beacon dos vizinhos são armazenados em uma
tabela denominada signal stability table (SST). Os nós ficam constantemente actualizando sua
tabela SST através da mensagem de beacon. O maior objectivo do SSA é fazer uso de rotas que
possuam alta conectividade.
No processo de criação de rota (Figura 3) o nó fonte envia um route request (RREQ) pela rede
(Isto é feito após a análise da estabilidade do link analisado pela mensagem de beacon). O nó
intermediário que recebe o RREQ verifica se este chegou por uma rota estável ou instável. Neste
ponto os pacotes que chegaram pelo caminho instável e os duplicados são retirados da rede. Se o
pacote chegou por caminhos estáveis ele armazena o endereço do nó em sua tabela e então repassa
o RREQ para o nó seguinte e assim sucessivamente até que se chegue ao nó destino, que envia
um route reply pelo mesmo caminho.

No processo de manutenção da rota (Fig. 4), o nó de percebe a quebra de um link envia uma
mensagem de notificação de quebra para a fonte e o destino.

A fonte então envia para a rede um RREQ e para localizar uma outra rota estável para o trafego
das informações e apenas se isto não for possível, ou seja, se não houver mais links estáveis, os
links instáveis serão utilizados.

Características:
 Reativo;
 Métrica: estabilidade;
 Localiza rotas de maior estabilidade;
 Usa mensagens beacon;
 Quebra de links são localmente detectados mas não reparados;
 RREQ recebidos por rotas instáveis são descartados.

WRP - Wireless Routing Protocol

Segundo Cunha (2002, p.1) afirma que este protocolo também é pró-ativo e faz com que cada nó
mantenha quatro tabelas: Tabela de Distância, Tabela de Roteamento, Tabela de Custo de Enlace
e a Tabela de Lista de Retransmissão de Mensagem (MRL). Os nós se informam de mudanças de
enlaces através de mensagens de atualização. Estas mensagens são trocadas somente entre vizinhos
e contém as atualizações, e uma lista indicando quais nós devem reconhecer as atualizações. A
MRL guarda que atualizações de uma mensagem de atualização precisam ser retransmitidas e que
vizinhos devem reconhecer a retransmissão. Se há a queda de um enlace entre dois nós, eles a
notificam a seus vizinhos que modificam suas tabelas de distância e procuram novos caminhos
para outros nós. Quaisquer novos caminhos são enviados de volta para os nós originais para que
eles atualizem suas tabelas. Os nós aprendem sobre a existência de seus vizinhos através de
reconhecimentos e outras mensagens. Se um nó não estiver enviando mensagens, ele deve enviar
periodicamente um hello para assegurar a conectividade.
Protocolo OLSR (Optimized Link State Routing)

Segundo MORAES et al (2007, p.4) afirmam que é um protocolo baseado em estados de enlace.
Sua função principal é limitar a quantidade de nós da rede que encaminha estados do enlace, a fim
de que se possa eliminar mensagens redundantes. Para isso é utilizado uma técnica chamada MPR
(MultiPoint Relay).

No funcionamento do OLSR o número de nós que retransmitirá os pacotes será limitado. Dentre
os nós da rede, haverá aqueles denominados MPR. A escolha de cada MPR é feita por um consenso
entre seus nos vizinhos localizados a um salto. Então, quando uma informação deve ser actualizada
na rede, os pacotes enviados por um nó chegarão a todos os seus vizinhos, mas somente aqueles
denominados MPR poderão reencaminhar a informação. Esse processo se repete com os próximos
nós a receberem os pacotes. Dessa maneira, cada nó receberá apenas uma vez as informações, ou
seja, não haverá nós recebendo os pacotes mais de uma vez. O protocolo OLSR busca sempre o
caminho mais curto com uso de um algoritmo.