30
ZigBee Tiago Souza Azevedo [email protected] CPE 825 - Roteamento em Redes de Computadores Programa de Engenharia de Sistemas e Computação Universidade Federal do Rio de Janeiro

ZigBee (1)

Embed Size (px)

DESCRIPTION

Zigbee

Citation preview

Page 1: ZigBee (1)

ZigBeeTiago Souza Azevedo

[email protected]

CPE 825 - Roteamento em Redes de ComputadoresPrograma de Engenharia de Sistemas e ComputaçãoUniversidade Federal do Rio de Janeiro

Page 2: ZigBee (1)

Especificação ZigBee

• Suíte de protocolos de comunicação para rádios digitais baseda no padrão IEEE 802.15.4

• Definida pela “ZigBee Alliance”, união de empresas com o objetivo de:

Definir as camadas de rede, segurança e aplicação;

Provêr interoperabilidade e especificações de teste de conformidade;

Gerenciar a evolução da tecnologia;

Page 4: ZigBee (1)

Especificação ZigBee

Page 5: ZigBee (1)

Taxas e Freqüências

Page 6: ZigBee (1)

Camada de Rede

Objetivos:

definir mecanismos para ingressar e abandonar uma rede;

rotear frames e aplicar primitivas de segurança;

descobrir e manter rotas entre dispositivos;

descobrir dispositivos vizinhos que podem ser alcançados diretamente;

armazenar informações do estado da rede;

atribuir endereços para todos os dispositivos novos;

Page 7: ZigBee (1)

Dispositivos ZigBee

• ZigBee Coordinator (Coordenador ZigBee - ZC):

cria uma rede tornando-se a raiz da árvore dessa rede; o único dispositivo capaz de rotear dados entre redes; armazena informação sobre a rede; determina parâmetros como:

o número máximo de filhos (Cm) de um roteador o número máximo de roteadores filhos (Rm) a profundidade da rede (Lm).

Page 8: ZigBee (1)

Dispositivos ZigBee

•ZigBee End Device (Dispositivo Final ZigBee - ZED): troca informações com seu nó pai; requer menos memória, pois não precisa armazenar informações de roteamento; é mais barato que um roteador ou um coordenador ZigBee;

• ZigBee Router (Roteador ZigBee - ZR): rotear dados para outros dispositivos; utiliza os parâmetros (definidos pelo ZC)para calcular oparâmetro Cskip; este é utilizado para computar o tamanho do “pool”de endereços de filhos :

(b) contrário Caso ,1

1(a) 1 se ),1(1

)( 1

Rm

RmCmRmCmRmdLmCm

dCskip dLm

Page 9: ZigBee (1)

Dispositivos ZigBee

Page 10: ZigBee (1)

Topologias de Redes ZigBee

A especificação ZigBee suporta três topologias de redes: estrela, árvore, e malha.

Page 11: ZigBee (1)

Formação da Rede ZigBee

PASSOS:

início através de uma primitiva da camada de rede que érestrita ao coordenador ZigBee;

procura por um conjunto de canais;

procura em cada canal por dispositivos ou redes ZigBee;

escolhe o melhor canal para criar uma nova rede;

escolhe um identificador de rede;

permite outros dispositivos ingressarem na rede;

Page 12: ZigBee (1)

Atribuição de Endereços

ao ingressar em uma rede, cada dispositivo recebe um endereço derede lógico

os endereços de rede são atribuídos ou por um coordenador ou porum roteador, usando um algoritmo de árvore estruturada

Page 13: ZigBee (1)

Atribuição de Endereços - Exemplo

C

A

B

Cm=6Rm=4Lm=3

Addr = 0, Cskip = 31

Addr = 1, Cskip = 7

Addr = 32, Cskip = 7

Addr = 63, Cskip = 7

Addr = 125

Addr = 126

Addr = 30

Addr = 31

Addr = 33, Cskip = 1

Addr = 38

Addr = 40, Cskip = 1

Addr = 39

Addr = 45

Addr = 64, Cskip = 1

Addr = 92

C

0 1 32 63

Cskip=31 Total:127

94

125,126

32node A

Se um nó pai na profundidade d tem endereço Aparent, então:

Ao n-ésimo roteador filho é atribuido o endereço Aparent + (n-1) × Cskip(d) + 1

Ao n-ésimo dispositivo final, é atribuido o endereço Aparent + Rm × Cskip(d) + n

Page 14: ZigBee (1)

Procedimento de Inundação

Cada dispositivo mantêm um registro de qualquer nova transaçãobroadcast (broadcast transaction record - BTR);

Esse registro contem o número de seqüência e o endereço fontedo frame de broadcast; Esses registros são armazenados na tabela de transações broadcast (broadcast transaction table - BTT);

Page 15: ZigBee (1)

Procedimento de Inundação

Algoritmo:

• Ao receber um frame de broadcast de um vizinho:• Comparar o número de seqüência e o endereço fonte com seus registros na BTT

• Se o dispositivo tem uma BTR para este frame• Então ele deve descartar o frame.

• Senão, nenhum registro é encontrado, o dispositivo criaum novo registro na BTT e verifica o campo “radius”.

• Se maior que zero o dispositivo decrementa este campo eretransmite o frame (espera por um tempo aleatório)

• Caso contrário o frame é descartado.

Page 16: ZigBee (1)

Cálculo do Custo do Enlace

•Um caminho P de tamanho L, é um conjunto ordenado de dispositivos[D1, D2, ..., DL] e enlaces [Di, Di+1]. O custo total de um caminho é dado por:

onde cada valor C{[Di, Di+1]} é o custo do enlace entre os dispositivosDi e Di+1. O custo do enlace C{l} para o enlace L varia no intervalo de [0,7] e é definido por:

onde PL é a probabilidade da entrega com sucesso de um pacote no enlace.

Page 17: ZigBee (1)

Cálculo do Custo do Enlace

Como PL é calculado?

tarefa atribuída aos programadores;

a maneira mais natural, seria continuamente contar o númerode pacotes recebidos e perdidos durante o período de funcionamento;

Page 18: ZigBee (1)

Capacidade de Roteamento

Um dipositivo tem capacidade de tabela de rota se: é um coordenador ou roteador ZigBee;

possui uma tabela de rotas;

possui registro livre em sua tabela de rota ou um registro correspondente ao endereço destino na tabela de rotas;

Page 19: ZigBee (1)

Capacidade de Roteamento

Um dispositivo tem capacidade de tabela de descoberta de rota se: possui uma tabela de descoberta de rota possui um registro livre em sua tabela de descoberta

Se um dispositivo tem ambos, capacidade de tabela de descoberta de rota e capacidade de tabela de rota então dizemos que ele possui Capacidade de Roteamento.

Page 20: ZigBee (1)

Algoritmo de Roteamento

Page 21: ZigBee (1)

Roteamento em Árvore ou Roteamento Hierárquico

Para um dispositivo roteador com endereço An em uma profundidaded, se

então o endereço de destino D é um descendente deste roteador e o endereço N do próximo salto é dado por:

para dispositivos finais e

caso contrário.

Se a expressão não é satisfeita, o frame deve ser encaminhado atéo dispositivo pai.

Page 22: ZigBee (1)

Descoberta de rota (AODV)

Se o dispositivo não tem um registro na tabela de rotas para o destino,então:

• estabelecer um registro na tabela com o campo “status” iguala constante DISCOVERY_UNDERWAY;

• envia um frame com o comando de descoberta(RREQ) de rota em broadcast;

• os dispositivos ao receberem o frame RREQ se comportamcomo:

Page 23: ZigBee (1)

Recepção de um RREQ

Page 24: ZigBee (1)

Recepção de um RREP

Page 25: ZigBee (1)

Descoberta de Rotas - Exemplos

Nó CZR

Nó BZR Nó A

ZC

Nó DZR

Nó EZR

Nó FZED

Custo:1

Custo:6

Custo:7

Custo:3Custo:7

Custo:2

Page 26: ZigBee (1)

Descoberta de Rotas - Exemplos

Nó CZR

Nó BZR Nó A

ZC

Nó DZR

Nó EZR

Nó FZED

RREQId:50PathCost:2

Discover TableId:50ResidualC:2ForwardC:0

Discover TableId:50ResidualC:9ForwardC:1

Discover TableId:50ResidualC:3ForwardC:0

Discover TableId:50ResidualC:10ForwardC:6

RREQPathCost:9

RREQId:50PathCost:3

RREQPathCost:10

RREPId:50PathCost:10

RREPId:50PathCost:10

RREPId:50PathCost:16

RREPId:50PathCost:16

Routig TableDestino: FNextHop:BStatus:ACTIVE

Routig TableDestino: FPathCost:1

Routig TableDestino: FPathCost:6

Page 27: ZigBee (1)

Manutenção de Rotas

A manutenção de rotas é subdividida em:

• manutenção da rede com topologia de malha;• manutenção da rede com topologia de árvore;

Page 28: ZigBee (1)

Manutenção de Rotas

Na manutenção da rede com topologia de malha:

O dispositivo máximo alcançado envia um frame de “route request” com oseu próprio endereço como fonte e o endereço do nó que falhou comodestino em broadcasting;

Enquanto estiver executando a manutenção, qualquer frame pendente parao destino que falhou deve ser armazenado até o fim da manutenção oudescartado dependendo da capacidade do dispositivo;

Se um “route reply” não chegar dentro de um tempo determinado,o dispositivo retorna um frame de “route error”;

Neste caso o dispositivo fonte tentará encontrar outra rota, através do procedimento de descoberta de rota, ou encaminhará os dados para o destino utilizando o roteamento hierárquico;

Page 29: ZigBee (1)

Manutenção de Rotas

Na manutenção da rede com topologia de árvore:

Ocorre quando um dispositivo não consegue mais alcançar seu pai,este tenta uma nova associação com seu pai através de primitivas da camada abaixo;

Se este procedimento falhar, o dispositivo deve desassociar seus filhose procurar por outro dispositivo pai, recebendo um novo endereço;

Page 30: ZigBee (1)

Dúvidas ?