OLSR (Optimized Link State Routing Protocol)

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

description

OLSR (Optimized Link State Routing Protocol). Seminário da Disciplina de Redes. {avap, gamsd, jspff, jblj mls2, rar3} @ cin.ufpe.br. Índice. Introdução Background Características Modo de Endereçamento Repositórios Formato dos Pacotes Link and neighbor sensing Multipoint Relaying - PowerPoint PPT Presentation

Transcript of OLSR (Optimized Link State Routing Protocol)

Page 1: OLSR (Optimized Link State Routing Protocol)

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)

ÍndiceÍndice

Page 3: OLSR (Optimized Link State Routing Protocol)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Formato de PacotesFormato de Pacotes

Page 19: OLSR (Optimized Link State Routing Protocol)

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)

Link and neighbor SensingLink and neighbor Sensing

Page 21: OLSR (Optimized Link State Routing Protocol)

Link and neighbor SensingLink and neighbor Sensing

Page 22: OLSR (Optimized Link State Routing Protocol)

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)

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)

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)

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)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 27: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 28: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 29: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 30: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 31: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 32: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 33: OLSR (Optimized Link State Routing Protocol)

Multipoint Relay (MPR)Multipoint Relay (MPR)

Page 34: OLSR (Optimized Link State Routing Protocol)

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)

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)

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.0

Processamento 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)

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)

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)

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)

ExemploExemplo

Page 41: OLSR (Optimized Link State Routing Protocol)

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)

DúvidasDúvidas