OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff,...

42
OLSR (Optimized Link OLSR (Optimized Link State Routing Protocol) State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br

Transcript of OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff,...

Page 1: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

OLSR (Optimized Link State OLSR (Optimized Link State Routing Protocol)Routing Protocol)Seminário da Disciplina de Redes

{avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br

Page 2: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

ÍndiceÍndice

Page 3: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

IntroduçãoIntroduçãoO OLSR (Optimized Link State

Routing) é um protocolo de administração de rede desenvolvido para redes Ad-Hoc, otimizado para dispositivos móveis. Ele é orientado à tabelas e pró-ativo, além de utilizar a otimização Multipoint Relaying para controle de tráfico.

Page 4: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

BackgroundBackgroundMobile Ad-Hoc Networks (MANET)

◦Tipo de rede Ad-Hoc sem fio◦É uma rede que se auto-configura◦Os nós são móveis e se reorganizam

na rede

Page 5: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

BackgroundBackgroundProactive Protocols

◦Os nós avaliam constantemente as rotas para manter a consistência

◦Quando a topologia da rede muda, todos os nós devem ser atualizados

◦Rotas estão sempre disponíveis◦Sobrecarga da rede para controle de

tráfico◦Baseado em tabelas

Page 6: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

BackgroundBackgroundLinkState Routing

◦Utilizado para obter os melhores caminhos de roteamento em uma rede

◦Realizado por todos os nós◦Principal objetivo é que todos os nós

possuam um mapa da conectividade da rede

◦Informação sobre as conexões entre nós é inundada através da rede

Page 7: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

BackgroundBackgroundLinkState Routing

◦Determinar os vizinhos de cada nó◦Distribuir a informaçao para a

obtenção do mapa Link-state advertisement:

Identifica o nó que a produziu Identifica todos os nós àquele que é

diretamente conectado Inclui um número de sequência, que aumenta

toda vez que uma mensagem nova é enviada◦Criar o mapa

Page 8: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

BackgroundBackgroundLinkState Routing

◦Já com o mapa, calcula-se o menor caminho entre todos os nós Geralmente usando alguma variação do

algoritmo de Dijkstra◦Obtém-se assim a tabela de

roteamento◦Exemplos:

IS-IS OSPF OLSR

Page 9: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

BackgroundBackgroundLinkState Routing Optimization

◦No caso de redes MANETs, para preservar a taxa de bits, OLSR otimiza o linkstate Routing utilizando-se de Multipoint Relaying.

Page 10: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

CaracterísticasCaracterísticasUtilizado em MANETs (otimizado para

tal)Faz uso de LinkState RoutingUtiliza MultiPoint Relaying pra

otimizar o LinkState RoutingÉ Pró-AtivoÉ hierárquico

◦Alguns nós são diferenciados com relação aos outros

Roda sobre UDP na porta 698

Page 11: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Modo de EndereçamentoModo de EndereçamentoEndereços IP’s como

identificadores únicos de cada nóOLSR suporta múltiplas

interfaces de comunicação em cada nó, logo um IP deve ser escolhido como o Principal

Suporte a IPv4 e IPv6◦diferença se dá no tamanho mínimo

de cada mensagem

Page 12: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

RepositóriosRepositóriosOLSR precisa de diferentes bases de

dados para manter as informações dos estados

As bases são atualizadas sempre que uma mensagem é recebida

As bases são acessadas sempre que uma mensagem nova é gerada

Toda informação registrada possui um timeout, ou tempo de vida. Esse tempo é obtido na mensagem que forneceu a atualização do repositório

Page 13: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Tipos de RepositóriosTipos de RepositóriosBase de Associação a Múltiplas

Interfaces◦contém os endereços de todas as

interfaces de um nóLinks

◦mantém o estado dos links com seus vizinhos

◦única que opera nos links interface-interface diretamente

Vizinhos◦registra os vizinhos “1-hop”◦dados atualizados dinamicamente com o

Repositório de Links

Page 14: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Tipos de RepositóriosTipos de RepositóriosVizinhos "2-hop”

◦registra os vizinhos que podem ser atingidos através de um vizinho "1-hop”

◦ambos os repositórios podem ter registros em comum

MPR◦todos os MPR's do nó local são registrados

aquiMPR-Selected

◦registra quais vizinhos selecionaram o nó local como MPR

Page 15: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Tipos de RepositóriosTipos de RepositóriosInformações de Topologia

◦contém informações de todos os estados recebidos no domínio

Replicação◦registra informações de mensagens

processadas e repassadas recentemente

Page 16: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Formato de PacotesFormato de PacotesOLSR Header

◦Packet Length◦Packet Sequence Number

OLSR Message◦Message Type ◦Vtime◦Message Size◦Originator Address

Page 17: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Formato de PacotesFormato de PacotesOLSR Message

◦Time To Live (hope to live?)◦Hop Count◦Message Sequence Number◦Message (conteúdo)

Page 18: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Formato de PacotesFormato de Pacotes

Page 19: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Link and neighbor SensingLink and neighbor SensingMensagens HELLO

◦Intervalos regulares◦Vizinhaça conhecida

Topologia local◦Broadcasted para vizinhos◦Nunca passada adiante

Page 20: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Link and neighbor SensingLink and neighbor Sensing

Page 21: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Link and neighbor SensingLink and neighbor Sensing

Page 22: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Link and neighbor SensingLink and neighbor SensingLink Sensing

◦Troca de pacotes entre interfaces◦Nó verifica link com vizinhos 1-hop◦Verificação bidirecional

Propagação de rádio◦Par de interfaces: local/remota◦Link: simétrico/assimétrico

Page 23: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Link and neighbor SensingLink and neighbor SensingNeighbor Detection

◦Preocupação com nós e endereços principais

◦Neighbor tuples, baseados em link tuples

◦Um nó é vizinho de outro se e só se existe pelo menos um link entre os nós

◦Vizinho 2-hop: nós que têm um link simétrico para um vizinho simétrico

Page 24: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

MultiPoint RelayingMultiPoint Relaying O conceito de multipoing relaying tem por objetivo

reduzir of número de retransmissões duplicadas durante o a inundação de um pacote pela rede

Essa técnica substitui o processo clássico de inundação por um processo onde apenas um conjunto de nós (MultiPoint Relay Nodes – MPR nodes) retransmite os pacotes

O tamanho do conjunto de MPR selecionados depende da topologia da rede

Todo nó calcula seu conjunto de MPRs através dos seu conjunto de nós vizinhos simétricos (symmetric neighbor nodes) escolhidos de tal forma que todos os vizinhos de 2 saltos (2 hop neighbors) podem ser atingidos através de um MPR.

Essa técnica herdou certos aspectos do protocolo de roteamento FishEye.

Page 25: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Seleção do MPRSeleção do MPR Obter o melhor conjunto MPR foi provado ser um problema

NP-Completo Todos os nós selecionam e mantém os seus próprios MPRs OLSR provê ao nó meios de anunciar (mensagens de

HELLO) a sua voluntariedade (willingness) em agir como MPR e essa informação é um dos fatores utilizados na seleção.◦ Willingness – 8 níveis (0-7)◦ WILL_NEVER(0) - Nunca ser utilizado como MPR ◦ WILL_EVER(7) - Sempre ser utilizado como MPT

RFC 3626 propoe uma heuristica simples pra o processo de seleção do MPR (S-MPR), mas outros processos podem ser utilizados em diferentes implementações como:◦ Classical flooding ◦ NS-MPR◦ MPR-CDS◦ E-CDS◦ Cluster

Page 26: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 27: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 28: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 29: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 30: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 31: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 32: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 33: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 34: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Encaminhamento de Encaminhamento de TráficoTráficoRegra

◦Um nó só irá retransmitir um pacote OLSR se tiver sido escolhido como MPR pelo ultimo nó que retransmitiu o pacote e se esse pacote tiver TTL > 0

Duplicate-SetForward-jitter

Page 35: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Acessos Externos (HNA)Acessos Externos (HNA)MANETs podem ser

implementadas isoladamente◦Porém pode haver necessidade de

acesso a outras redesHNA apresenta uma solução para

esta situação◦Um host se identifica como gateway

pra outra rede◦Tal host pode apresentar seus seviços

através de mensagens HNA

Page 36: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Acessos Externos (HNA)Acessos Externos (HNA)Mensagem HNA

◦Lista de endereços e máscaras 193.156.97.0/24 equivale a 193.156.97.0

com a máscara 255.255.255.0Processamento de mensagem

◦Processada igualmente uma mensagem interna da rede

◦Quando uma mensagem HNA é recebida, seu valor é atualizado ou criado um novo

Page 37: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Acessos Externos (HNA)Acessos Externos (HNA)Cálculo de rotas

◦São sempre recalculadas, qualquer que seja a mudança na topologia da rede.

◦O roteamento HNA é feito para cada interconexão No exemplo abaixo, A veria B como a

HNA

Page 38: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Implementação do OLSRImplementação do OLSR Olsrd

◦ Tem suporte a plugins◦ Existem redes comunitárias sem fio em mesh que

o utilizam: 2000 nós (Athens wireless network) ~ 600 nós (berlin FreiFunk.net) ~ 400 nós - Leipzig Freifunk net

◦ Plataformas Suportadas: Windows (XP e Vista) Linux (i386, arm, alpha, mips, xscale) OS X (powerpc, intel, xscale, iPhone) VxWorks NetBSD, FreeBSD, OpenBSD WIP (WiFi Phones) $100 laptop ;-) Intel Classmate

Page 39: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

Implementação do OLSRImplementação do OLSR OOLSR

◦ Desenvolvido pela Hipercom (INRIA)◦ Implementado em C++◦ Plataformas Suportadas:

Windows (XP/2000 e CE) Linux (i386) Network Simulator 2- NS-2

NRL OLSR◦ Produzida pela laborátorio de pesquisa naval dos USA

(NRL).◦ Plataformas Suportadas:

Windows, MacOSX Linux Zaurus (PDA) PocketPC

◦ Foi implementada usando a protolib programming toolkit para gerar código para outros ambientes (NS, OPNET)

Page 40: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

ExemploExemplo

Page 41: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

ReferênciasReferênciaswww.olsr.orghttp://en.wikipedia.org/wiki/OLSRhttp://www.ietf.org/rfc/rfc3626.txthttp://cs.itd.nrl.navy.mil/work/olsr/in

dex.phphttp://hipercom.inria.fr/OOLSR/inde

x.htmlL. Changling Liu, K. Jörg. “A Survey

of Mobile Ad Hoc network Routing Protocols”. 2005.

Page 42: OLSR (Optimized Link State Routing Protocol) Seminário da Disciplina de Redes {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br.

DúvidasDúvidas