dynamic manet on- demand (dymo) universidade federal do rio de janeiro programa de engenharia...
TRANSCRIPT
Dynamic MANET On-Demand (DYMO)
Universidade Federal do Rio de Janeiro Programa de Engenharia Elétrica
Natalia Castro Fernandes
Professor: Luís Henrique M. K. Costa
CPE825 - Roteamento em Redes de Computadores
GTA – COPPE
Abril/2006
Introdução
Dynamic MANET On-demand (DYMO) Protocolo de roteamento
Redes de Múltiplos saltos sem-fio Mobilidade Reativo
• Armazenamento de rotas ativas
Simples Poucos estados de roteamento Algumas implementações
Introdução
Aplicabilidade Redes móveis de pequena, média
e larga escala Nós com restrições de memória
Simplicidade Tráfego esparso Redes baseadas em segurança
Introdução
Operações básicas Descoberta e manutenção de rotas
• Route Request (RREQ)• Route Reply (RREP)• Route Error (RERR)
Números de seqüência Atualização Loops
Monitoramento dos enlaces Notificação da fonte
Funcionamento Básico Descobrimento de rotas
F
D
RREQ F | D | 1 RREQ F | D | 1
RREQ F | D | 1
RREQ F | D | 1
RREQ F | D | 1
RREP D | F | 1RREP D | F | 1
RREP D | F | 1
AB
CE
Tabela de Rot. F
Viz. Dest. Nº. Seq
Tabela de Rot. A
Viz. Dest. Nº. Seq
Tabela de Rot. C
Viz. Dest. Nº. Seq
Tabela de Rot. D
Viz. Dest. Nº. Seq
Tabela de Rot. E
Viz. Dest. Nº. Seq
Tabela de Rot. A
Viz. Dest. Nº. Seq
F F 1
Tabela de Rot. F
Viz. Dest. Nº. Seq
A D 1
Tabela de Rot. C
Viz. Dest. Nº. Seq
F F 1
Tabela de Rot. E
Viz. Dest. Nº. Seq
C F 1
Tabela de Rot. D
Viz. Dest. Nº. Seq
B F 1
Tabela de Rot. B
Viz. Dest. Nº. Seq
Tabela de Rot. B
Viz. Dest. Nº. Seq
A F 1
Tabela de Rot. B
Viz. Dest. Nº. Seq
A F 1
D D 1
Tabela de Rot. A
Viz. Dest. Nº. Seq
F F 1
D B 1
Funcionamento Básico
Notificação de Erro
F
D
RERR DDados
Dados
F
AB
CE
RERR D B
Tabela de Rot. F
Viz. Dest. Nº. Seq
A D 1
Tabela de Rot. A
Viz. Dest. Nº. Seq
F F 1
B D 1
Tabela de Rot. B
Viz. Dest. Nº. Seq
A F 1
D D 1
Tabela de Rot. D
Viz. Dest. Nº. Seq
B F 1Tabela de Rot. E
Viz. Dest. Nº. Seq
Tabela de Rot. E
Viz. Dest. Nº. Seq
C F 1
Tabela de Rot. C
Viz. Dest. Nº. Seq
Tabela de Rot. C
Viz. Dest. Nº. Seq
F F 1
RERR D
Estrutura de Dados Tabela de Roteamento
IP Dest.
Num.Seq.
IP Próx. Salto
Interf. Próx. Salto
Tempo de Val.
Tempo de Exc.
Num. de Saltos
Gatew. Pref. Uso
...
Opcionais
Tamanho da máscara
0 - 1 0 - 1
Estrutura de Dados
Mensagens Formato generalizado UDP Suporte a IPv4 e IPv6 Roteamento ou Erro
Estrutura de Dados Campos das mensagens de
roteamento RREQ e RREP
IP Próx. Salto Limite de Saltos IP Destino IP Origem
Num. de Seq. Origem Ult. Num. de Seq. Dest.
End. Adicionais Num. de Seq. Adicionais Num. de Saltos
Prefixo do destino Gateway Destino Origem
Ausência do caminho Ignorar
IP de Destino=LL_ALL_MANET_ROUTERS...
Cabeçalho IP
Campos Obrigató- rios
CamposOpcio-nais
Apenas destino pode responder ou intermediários
Estrutura de Dados
Campos da Mensagem de Erro
IP de Destino=LL_ALL_MANET_ROUTERS
Limite de Saltos Endereços Inalcançáveis
Num. de Seq. dos Nós Inalcançáveis Ignorar
Cabeçalho IP
Campos Obrigatórios
Campos Opcionais
...
Números de Seqüência
Escolha de rotas mais atualizadas Evitar loops Número Próprio de Seqüência
16 bits sem sinal 0 Valor reservado
Número de seqüência desconhecido Seqüência
Máximo = 65535 Reinicialização = 256 Perda do número = 1
0
1
N = N+1
256
Entra na rede
Incremento
Se N = 65535Incremento
Se perder seqüência
Incre-mento
Números de Seqüência
Inicialização do Número Próprio de Seqüência ROUTE_DELETE_PERIOD
Nó espera fora da rede• Não emite mensagens de roteamento
Recebe mensagens de controle• Não encaminha
Pedido de encaminhamento de dados• Emissão de RERR
• Reinicialização do período de espera
Número de seqüência passa a 1
Route Request Criação do RREQ
Incremento do número de seqüência próprio
Inserir endereço de destino Rota buscada
Inserir último número de seqüência Exceções
• Desconhecido Somente destino responde
• 0 Qualquer nó responde– Processo em aberto
Inserir último número e saltos Exceções
Opcionais
Route Request
Inserir endereço de origem Inserir número próprio de
seqüência Inserir campos opcionais sobre a
origem Número de saltos = 0 Limite de saltos = diâmetro da
rede
Route Reply
Criação do RREP Incremento do número de seqüência
próprio Número de seqüência anterior não
preenchido Número de seqüência anterior = 0 Número de seqüência anterior > Número
próprio de seqüência Número de seqüência anterior = Número
próprio de seqüência• Número de saltos anterior desconhecido• Número de saltos atravessados
desconhecido• Número de saltos anterior < Número de
saltos atravessados
Processamento das Mensagens de Roteamento Ao receber
Decrementar limite de saltos Incrementar número de saltos Incrementar número de saltos de endereços
adicionais Processar informação para destino
Se atual Atualiza tabela Se velha Descarta mensagem
Processar informação adicional Se atual Atualiza tabela Se velha Retira da mensagem
Adicionar outras rotas (opcional) Encaminhar / Responder / Esperar
Processamento das Mensagens de Roteamento
Inserção de novas rotas Reduzir número de RREQs Inserção do próprio nó
intermediário Incremento do número de
seqüência Informações opcionais
Controle de rotas 1 entrada por rota
Atualização da Tabela de Roteamento Avaliação da qualidade da informação
Rotas velhas Número de seqüência novo < número de
seqüência da tabela• Descartar nova informação
Propensão a loops Número de seqüência novo = número de
seqüência da tabela Número de saltos =0 ou desconhecido
• Descartar nova informação
Atualização da Tabela de Roteamento Inferioridade
Número de seqüência novo = número de seqüência da tabela
Novo número de saltos ≥ Número de saltos da tabela
Descartar nova informação
Aceitar demais informações
Atualização da Tabela de Roteamento
Preenchimento da tabela Troca das campos pelos valores
recebidos Próximo salto é o nó que enviou Validade = Tempo atual +
ROUTE_VALID_TIMEOUT Valores desconhecidos = 0
Utilização da rota Verificação do tempo de validade Se a rota está vencida
Verificação do tempo de exclusão• Apagar a rota
Route Error
Rotas inexistentes, indisponíveis ou inválidas Lista de nós inalcançáveis Números de seqüência (opcional)
Encaminhamento de dados Entrada inválida ou inexistente na tabela
Emissão do RERR Adição de outras rotas
Próximo salto e interface em comum
Route Error
Processamento Busca na tabela
Próximo salto = último nó a encaminhar Número de seqüência da rota no RERR ou
na tabela =0 • Ou inexistente
• Ou número de seqüência da tabela ≥ número de seqüência no RERR
Exclusão de rotas da tabela Remoção de rotas do RERR
Informação desnecessária Se mensagem vazia Não encaminhar
Considerações de Segurança Ausência de mecanismos de
segurança Identidade Falsa
Autenticação IPSec
Associação prévia de segurança Autorização
Conclusão Simples
Não garante melhor caminho Rotas sem loops
Pontos chaves Controle do número de seqüência Manutenção de rotas
Implementações Extensões
SDYMO DYMO-low QoS
Dynamic MANET On-Demand (DYMO)
Universidade Federal do Rio de Janeiro Programa de Engenharia Elétrica
Natalia Castro Fernandes
Professor: Luís Henrique M. K. Costa
CPE825 - Roteamento em Redes de Computadores
GTA – COPPE
Abril/2006