Você está na página 1de 41

Markus Endler

Roteamento em Redes
Mveis Ad Hoc
(Mobile Ad hoc NETworks - MANET)
Markus Endler
Referncias
! J. Schiller, seo 9.3
! Johnson, Malz: Dynamic Source Routing in ad hoc
wireless networks, Mobile Computing, (Ed. Imielinski/
Koth), Kluwer, 1996.
! Perkins, Bhagwat, Highly dynamic Destination-
Sequenced Distance Vector Routing for mobile
computers, Proc. SIGCOMM, 1994.
Markus Endler
Agenda
! Principais Caractersticas de MANETs
! Aplicaes
! Principais Desafios
! Roteamento
! Principais Problemas
Markus Endler
Redes MANET - Principais
Caractersticas
! Todos os ns so mveis, e podem fazer o papel de
consumidor ou produtor de dados de/para qq outro n
! Qualquer n pode fazer o papel de intermedirio
(p.ex. roteador) para comunicao na rede
! Cada n possivelmente possui conectividade com
mais de um n
! O servio anunciado/prestado por um n no instante
T pode no estar disponvel em T+!
! Recurso energia um aspecto central!
! Segurana um problema intrnseco!
Markus Endler
Uma rede Ad-Hoc simples
Problema:
A s consegue se communicar com C atravs de B
D. Johnson and D. Maltz
Markus Endler
Aplicaes
! Em geral: Formao instantnea e espontnea de uma rede,
sem necessidade de administrao & configurao.
! Por exemplo:
! Para conferncias, reunies, aulas compartilhamento de
anotaes, chat, whiteboard, compartilhamento de
arquivos, P2P, etc
! Para servios de emergncia, busca & resgate localizao,
coordenao de equipes, difuso da informao sobre
estado da ao, messaging
! Para veculos carros podem formar uma rede ad hoc para
propagao de informaes sobre frenagem brusca,
acidentes, blitz ou leiSeca, problemas na estrada, etc.
! Ns da rede ad hoc, podem se conectar temporariamente em
uma rede infra-estruturada (para obter dados mais globais)
Markus Endler
Exemplo de Aplicaes
Monitoramento ambiental em regies isoladas (ou sem infra-estrutura
de comunicao)
Exemplos:
! Disseminao de videos, dados topogrficos, condies climticas,
audio
! Rastreamento de objetos e/ou pessoas
! Computao de dados coletados em redes de sensores
! Colaborao espontnea entre usurios
! Coordenao de tarefas entre robs mveis
Markus Endler
Exemplo de Aplicaes
Monitoramento civil em reas urbanas
! Segurana pblica
! Coordenao de Aes de emergncia
Sparse Urban monitoring: Using three parked cars
and a unit in a mobile car, the radios were able to
cover downtown San Diego. Along with 4 units, video
was transmitted from a dash video cam in the mobile
car and all units were able to communicate. Green
line shows the coverage area.
Fonte: www.trellisware.com
Integration between Sattelite
Communication and MANETs for
disaster recovery.
Fonte: Cognitive Networks, Surrey, UK
Exemplos de Aplicaes
Container Monitoring: MANET combined with
swarm intelligence environment to send the
information of containers or boxes tagged
with RFID, to the controller. The Nodes,
programmed with Swarm Autonomous
Routing Algorithm (SARA), will be
interspersed with the boxes or containers
and transmit specific radio frequency after
getting the command from the controller.
The containers get activated and transmit
its contents information. Node will receive
this information and route this information
back to the controller.
Source:www.bluetronix.net
Markus Endler
Markus Endler
Principais desafios
! Roteamento ciente da energia (power-aware)
! Roteamento baseado na posio (Location-Aided
Routing)
! Controle de acesso ao meio compartilhado
! Multicast
! Suporte para QoS
! Gerenciamento de grupos de dispositivos
! Segurana
! Descoberta de servios/recursos e auto-configurao
Markus Endler
Roteamento: Principal Problema
! Diferena com relao ao roteamento em redes
estticas
! Prefix Routing do IP
! associao entre endereo IP e localizao
na rede
! roteadores encaminham datagrama de
acordo com a identificao do prefixo mais
longo
! Protocolos de roteamento criam e mantm
informao sobre rotas, que variam pouco
... mas em MANETS rotas se tornam rapidamente
obsoletas
Markus Endler
Problemas de algoritmos tradicionais
! Topologia dinmica
! Mudanas frequentes na alcanabilidade dos ns
! variaes na qualidade dos enlaces
! Ns com diferentes capacidades (energia, velocidade, etc.)
! Limitao de recursos em redes mveis
! Atualizaes peridicas em tabelas de roteamento demandam
energia e no contribuem diretamente para uma transmisso mais
eficiente
! A largura de banda limitada reduzida ainda mais devido
necessidade de troca de informaes de roteamento
! Enlaces podem ser assimtricos (N1 pode mandar, mas no
receber dados de N2)
! Principal Problema
! Protocolos de roteamento foram projetados para redes cabeadas,
onde mudanas so pouco frequentes e enlaces so simtricos
Markus Endler
Exemplo de Roteamento
N
1

N
4

N
2

N
5

N
3

N
1

N
4

N
2

N
5

N
3

good link
weak link
time = t
1
time = t
2

Seja uma comunicao Request-Reply entre N1 e N3, e assuma
que todos os ns tenham conhecimento da conectividade global
da rede.
Em t1: Request poderia ser encaminhado via N2 e Reply via N5;N4
Em t2: Request pode ser encaminhado via N2, mas Reply no
pode ser encaminhado para N1
Markus Endler
Classificao de Protocolos de
Roteamento
Em MANETs, o roteamento precisa ser dinmico e
descentralizado, mas pode ser:
! Pr-ativo (Table-driven) x Reativo (On demand)
! Single-path x Multiple-path
! Plano x Hierrquico
! Source-routing x Router-inteligente
! Intra-domnio x Inter-domnio
! Usando (ou no) informaes geograficas (p.ex. geo-
routing)
Markus Endler
Taxonomia de Protocolos de
Roteamento
CGSR
Clusterhead Gateway
Switch Routing
DSDV
Destination Sequence
Distance Vector
WRP
Wireless Routing
Protocol
Table
Driven
AODC
Ad-Hoc On-Demand
Distance Vector
DSR
Dynamic Source
Routing
TORA
Temporally-Ordered
Routing Algorithm
LMR
Lightweight
Mobile Routing
SSR
Signal Stability
Routing
ABR
Associativity
Based Routing
Source-Initiated
On-Demand Driven
Ad-Hoc Routing Protocols
Markus Endler
Mtodos baseados em Tabela
(Table driven)
! Tentativa de manter informao de roteamento (de
qualquer n para qualquer outro n) consistente e
atualizada
! Ideal para trfego aleatrio e entre qq dois ns (i.e.
independente de conexes) onde pode ocorrer trfego de
qualquer n a qualquer momento.
! Objetivo: reagir mudanas da topologia de rede,
propagando as atualizaes, a fim de obter uma viso
consistente das distncias/custos de roteamento na
rede.
! Apropriado para aplicaes que geram um trfego
constante e bem distribudo entre os ns da rede ad hoc.
Markus Endler
Algoritmos Table Driven:
uma Taxonomia
CGSR
Clusterhead Gateway
Switch Routing
DSDV
Destination Sequence
Distance Vector
WRP
Wireless Routing
Protocol
Table
Driven
DSDV uma extenso do Distance Vector Routing (para
redes cabeadas)
Markus Endler
Distance Vector Routing - Reviso
! Tambm chamado de Algoritmo Bellman-Ford ou Ford-
Fulkerson
! Cada roteador responsvel por manter e informar seus
vizinhos sobre a distancia para cada possvel destino (sub-
domnios)
! Cada roteador calcula a sua distncia a um destino a partir da
distncia (ao destino) obtida de cada vizinho, e escolhe a menor
distncia
! Cada roteador tem uma ID e conhece o custo de cada enlace
para os seus vizinhos
! Troca de informaco atravs do Routing Inform. Protocol
! Na inicializaco, roteador R1 envia RouteRequest para cada uma
de suas interfaces
! Como resposta a esta requisico, outro roteador, R2, manda
RoutingAdvertisement toda a informaco que tem, incrementando
em 1 o nmero de hops
! Ao receber a resposta, roteador atualiza a sua tabela de
roteamento
Markus Endler
DSDV Destination Sequenced
Distance Vector Routing
! uma adaptao do Routing Information Protocol
(RIP) para redes MANET
! Cada n mantm uma tabela de roteamento com o
registro de todos os possveis destinos e o nmero
de hops para cada um destes destinos
! Alm disso, cada entrada na tabela contm um
nmero de sequncia, que usado para distinguir
rotas antigas de rotas novas.
Markus Endler
DSDV (Destination Sequenced
Distance Vector)
Principais diferenas:
Usa nmeros de sequencia para todas as atualizaes de rota
! Garante a execuo das atualizaes em ordem correta e
! evita loops e inconsistncias
Diminui a frequncia de atualizaes (a fim manter informao
estvel, mesmo com variaes de conectividade de curta
durao)
! Armazena o tempo entre o primeiro anncio de uma rota e o
anncio da melhor rota
! Inibe atualizaes que parecem ser instveis (comparao dos
valores de instante de tempo armazenadas)
t
Vrias atualizaes, mas confirmao apenas aps perodo de estabilidade
Markus Endler
DSDV Destination Sequenced
Distance Vector Routing
! Periodicamente, os ns enviam RoutingAdvertisements
(RA) (com suas tabelas de roteamento) para todos os
seus vizinhos, aos poucos difundindo assim na rede as
mudanas de conectividade. RAs podem ser de 2 tipos:
! full dump: envio de toda a tabela de roteamento -> gera muito
trfego, pois a tabela geralmente requer vrias Protocol Data
Unit (PDU)
! Incremental: atualizaes contm apenas as mudanas desde
o ltimo full dump
! Cada roteador espera um certo tempo antes de
atualizar as entradas antigas por entradas mais
recentes (a fim de confirmar se a mudana de
topologia se estabilizou)
Markus Endler
DSDV
! Uma difuso Nova Rota contm:
! Endereo do destino (= um n, e no um domnio)
! Nmero de hops para alcanar o destino
! Um nmero de sequncia desta informao (sobre o destino)
! Exemplo: para um novo n descoberto N, este valor ser 1
! Um nmero de sequncia da difuso
! Exemplo: n roteador pode anunciar alcanabilidade de N na difuso K
! Para o roteamento, usa-se a rota marcada com o maior nmero
de sequncia (da difuso), ou seja, a mais atual
! Se dois eventos tm o mesmo nmero de sequncia, usa-se a
rota com a menor mtrica (=> menor rota)
! Os ns tambm registram tempo mdio que demora at que a
informao sobre a melhor rota (para cada destino) chega
Markus Endler
Exemplo
Suponha que as mensagens NovaRota tenham seguinte formato:
(SeqNr, Destino; #hops, nexthop), onde:
nexthop indica outro n intermedirio ou entrega direta (d)
R1
R2
R3
Novo
Achei N
1:N:1:d
1:N:2:r1
1:N:2:r1
1:N:1:d
T= t
Achei N
Novo
T= t+!
2:N:1:d
N;3:r3
N:1:r2
# da difuso
garante FIFO
Exemplo de atualizao da rota para N em n R0
R0
Markus Endler
Clusterhead Gateway Switch Routing
(CGSR)
A rede dividida em clusters, onde cada cluster tem um n especial, o
cluster-head (que contm a tabela de roteamento para outros clusters)
! Ns encaminham pacotes para o cluster-head de seu cluster
! Cada cluster-head encaminha para outros cluster-head atravs de ns
gateways
! Em algum momento, o cluster-head encaminha para o n destino
! Exemplo: Bluetooth
1
2
3
4
5
6
7
8
Gateway
Cluster
Head
Markus Endler
Algoritmos iniciados na fonte
(Source initiated)
! Uma rota somente criada quando o n fonte precisa enviar
para o destino:
! Quando um n precisa de uma rota, inicia o processo de
descoberta de rota.
! Este processo termina quando a rota descoberta, ou
quando todas os possveis caminhos tiveram sido
analisados.
! Uma vez que a rota criada, esta mantida por um protocolo
de manuteno
! No h necessidade de atualizaes peridicas!
! adequado para MANETs com demanda de comunicao
espordica e seletiva (apenas entre alguns pares de ns) e
onde a topologia apresenta uma variabilidade baixa
Markus Endler
A taxonomia de Algoritmos iniciados
na fonte
AODC
Ad-Hoc On-Demand
Distance Vector
DSR
Dynamic Source
Routing
TORA
Temporally-Ordered
Routing Algorithm
LMR
Lightweight
Mobile Routing
SSR
Signal Stability
Routing
ABR
Associativity
Based Routing
Source-Initiated
On-Demand Driven
AODV
Markus Endler
Source-initiated: Princpios Gerais
Descoberta de Rotas:
! Difunde (broadcast para todos vizinhos diretos) um Route Request
(RREQ) com endereo destino e identificao nica ID
! Quando um n recebe este broadcast:
! Se o prprio o destinatrio ento envia ao remetente uma resposta
RREP (contendo a rota registrada em RREQ)
! Se RREQ j foi recebido anteriormente (deteco atravs do ID) ento
simplesmente descarta o pacote
! Seno, adiciona o prprio endereo na lista de hops (no pacote) e tambm
difunde RREQ para seus vizinhos
! O Remetente em algum momento recebe RREP contendo a rota
descoberta
Otimizaes
! Se o dimetro da rede conhecida, pode-se limitar o nmero de
difuses (atravs de TTL)
! Cada n coloca em sem cache a sequncia de endereos visitados
por todos pacotes que passaram por ele (com um certo T de validade)
! Usa-se esta informao no cache para a descoberta de caminhos
(caminhos prprios, ou para outros ns)
Markus Endler
Princpios Gerais
Manuteno de rotas
! Ao enviar qq pacote (RREQ ou RREP) o n remetente pode:
! Esperar por um Ack da camada de enlace (quando disponvel)
! Escutar o meio para detectar se outros ns esto re-
encaminhando este pacote
! Solicitar explicitamente um Ack da camada de rede
! Se o n detectar problemas de encaminhamento, pode:
! informar isso ao n de quem recebeu o pacote, e/ou
! tentar descobrir outra rota
ack
ack
RREQ
RREQ
RREQ
Markus Endler
Exemplo de Descoberta de Rota
de N1 para N3
N
1

N
4

N
2

N
5

N
3

N1: broadcast RREQ (N1,ID,N3),
recebida por N2 e N4
N2: broadcast RREQ ((N1,N2), ID, N3),
recebida por N1, N3 e N5
N4: broadcast RREQ ((N1,N4), ID, N3),
recebida por N1, N2, N5, que
descartam o pacote
N5: broadcast RREQ ((N1,N2,N5), ID,
N3), recebido por N3 e N4
N3: reconhece que o destinatrio e
escolhe o caminho (N1,N2) por ser
mais curto
N3: envia a resposta RREP para N1
informando a rota (N1,N2,N3)
Markus Endler
Ad-Hoc On Demand Distance
Vector (AODV)
! Baseado em DSDV, mas cria rotas sob demanda
! N que deseja enviar um pacote para n D (e desconhece
qualquer rota para D), inicia o processo de descoberta
! Faz difuso/ flooding de um Route Request (RREQ)
! Em algum momento, ou o prprio D, ou um n intermedirio com
uma rota suficientemente recente em seu cache alcanado por
RREQ, e envia um RREP
! Cada n mantm um nmero de sequncia, e um broadcast ID
! O Broadcast ID incrementado para cada RREQ
! A combinao: ID do n requisitante + broadcast ID identifica
unicamente um RREQ
Markus Endler
AODV
! O RREQ contm o mais recente nmero de sequencia para o
destino
! Ns intermedirios s respondem se eles possuem uma informao
de rota mais recente. Isto evita que a resposta contenha uma
informao desatualizada
! Quando RREQ chega ao destinatrio (ou intermedirio), um
pacote Route Reply (RREP) enviado de volta pelo caminho
inverso ao seguido por RREQ
! Todos nos ns neste caminho registram rotas para D
! Assume que enlaces so simtricos!
AODV - Exemplo
Exemplo de n A tentando encontrar rota at n J:
! RREQ difundido (inundao) de forma controlada pela rede
! Quando chega em , este escolhe a melhor/menor rota e envia o
RREP para A pelo caminho inverso
Markus Endler
Fonte: www.olsr.org
Markus Endler
Mobilidade no AODV
! Quando um n fonte se move, pode iniciar a
descoberta de uma nova rota
! Se um n intermedirio ao longo de uma rota se
move, o seu vizinho anterior (no caminho) percebe
isto e propaga uma mensagem link failure
notification para cada um de seus vizinhos
anteriores,
! Esta propagao prossegue at atingir o n fonte
! Ns periodicamente difundem mensagens Hello
para monitorar conectividade local com os vizinhos
Markus Endler
DSR: Dynamic Source Routing
! Manuteno de rotas feito atravs de Pacotes de Erro de Rota
(RERR)
! Estes pacotes so gerados por um n quando a camada de enlace
detecta uma erro de transmisso (fatal transmission)
! So usadas para remover uma rota do cache
! Manuteno de Rota:
! ativa: uso de um MAC-level ACK (como em 802.11), ou de ACKs da
camada de transporte ou aplicao
! passiva: uso de modo de recepo promscuo para monitorar o re-
encaminhamento (p.exemplo: A escuta B enviando para C)
! Quando um problema com um enlace detectado, uma rota
alternativa deve ser descoberta
! Otimizaes: uso do modo promscuo para monitorar todas as
rotas sendo usadas e, caso ache uma melhor, faz a substituio
em seu cache
! Problema: no modo promscuo h um maior consumo de energia
Markus Endler
Algoritmos iniciados na fonte
Resumo:
! Roteamento iniciado na fonte usa meio sem fio de
forma mais eficiente (s quando h demanda)
! Mas a descoberta de rotas baseado em difuso na
rede, o que tm alta latncia e consome muita banda
! H problemas quando:
! a topologia altamente dinmica
! os enlaces no so bi-direcionais
! Funciona bem somente se demanda pouco
frequente por comunicao e a para redes pequenas
Markus Endler
Mtricas Alternativas
! O nmero de hops somente uma das possveis
mtricas para determinar a rota
! Geralmente, aconselhvel levar em conta tambm a
qualidade dos enlaces
! Poderia-se usar um critrio que tentasse combinar:
Nmero mnimo de hops com maximizao da qualidade
mdia dos enlaces
! O fato que em redes sem fio, a qualidade do enlace
fortemente determinada pela possibilidade de
interferncia
" portanto, o quanto menor for o nmero de vizinhos
diretos, melhor
! A mtrica de menor interferncia usada no algoritmo
Least Interference Routing (LIR)
Markus Endler
LIR: um Exemplo
Interferncia
vizinhos
S
1

N
5

N
3

N
4

N
1

N
2

R
1

R
2
N
6

N
8

S
2

N
9

N
7

Custo de cada n = nmero de seus vizinhos
Custo da rota = # custo dos ns
C1 = custo(S1,N3, N4, R1) = 16
C2 = custo(S1, N3, N2, R1) = 15
C3 = custo(S1,N1,N2, R1) = 12
C1
C2
C3
Markus Endler
Exemplos de Algoritmos que
levam em conta interferncia
! Least Interference Routing (LIR)
! Custo de um n # de vizinhos que podem receber o pacote
! Custo do caminho = soma do custo de seus ns
! Implementao simples: basta descobrir/manter atualizado o
nmero de vizinhos
! Max-Min Residual Capacity Routing (MMRCR)
! Custo do caminho baseado em uma funo da probabilidade
de uma transmisso bem-sucedida e interferncia (que
depende da atividade dos vizinhos)
! Least Resistance Routing (LRR)
! Custo do caminho baseado em estimativa de interferncia,
sobrecarga de ns (gargalos) e outras transmisses
Markus Endler
Alguns Outros Protocolos de Roteamento
! Pro-ativos
! FSLS Fuzzy Sighted Link State
! FSR Fisheye State Routing
! OLSR Optimised Link State Routing Protocol
! TBRPF Topology Broadcast Based on Reverse Path Forwarding
! Reativos
! AODV Ad hoc On demand Distance Vector
! DSR Dynamic Source Routing
! Estrutura Hierarquica
! CGSR Clusterhead-Gateway Switch Routing
! HSR Hierarchical State Routing
! LANMAR Landmark Ad Hoc Routing
! ZRP Zone Routing Protocol
! Com auxlio de informao de localizao
! DREAM Distance Routing Effect Algorithm for Mobility
! GeoCast Geographic Addressing and Routing
! GPSR Greedy Perimeter Stateless Routing
! LAR Location-Aided Routing
MANETs na Prtica
O modelo geral (e terico) de MANETs muito geral
1. Todos os ns so mveis
2. Todos os ns so dispositivos de propsito (handheld, notebook)
3. Todos os ns possuem recursos (p.ex, energia) limitados e
escassos
4. Os ns podem pertencer a vrios usurios e executar vrios
aplicativos
5. Os ns usam o mesmo protocolo/tecnologia de comunicao
6. A MANET homognea (a menos de quantidades de recursos)
7. Os ns desconhecem as suas posies (no possuem GPS)
E por isso no encontrou-se a killer application
Markus Endler
Referncias:
M. Conti, S. Giordano, Multihop Ad Hoc Networking: The Theory, IEEE Comm. Magazine, 2007
M. Conti, S. Giordano, Multihop Ad Hoc Networking: The Practice, IEEE Comm. Magazine, 2007
MANETs na Prtica
Em vez disso, surgiram vrias variantes de MANETs orientadas a tipos de
aplicao bem especficos, onde h restrio a uma (ou mais) caracterstica
(s) do modelo geral:
! Redes em malha (Mesh networks)
! Rede hbrida, com alguns ns fixos (roteadores ou provedores de acesso
Internet)
! MANETs militares e/ou para Equipes de Resgate
! Dispositivos altamente especializados, homogneos e sob um mesmo domnio
administrativo
! Redes oportunsticas
! Encaminhamento store-and-forward (Delay Tolerant Networks) ou redes com alta
densidade de dispositivos
! Mobilidade no o problema, mas a soluo p/ encaminhamento; dispositivos
multi-rede e tolerante a desconexes
! VANETs redes ad hoc veiculares
! Ns no tem limitao de recursos, mas velocidade alta
! WSN Redes de Sensores sem Fio
! Ns no se movem, apenas deixam de operar quando no tm energia
Markus Endler