Title: ZigBee
1ZigBee
- Tiago Souza Azevedo
- tiago_at_ravel.ufrj.br
CPE 825 - Roteamento em Redes de
Computadores Programa de Engenharia de Sistemas e
Computação Universidade Federal do Rio de Janeiro
2- 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
3ZigBee Alliance
Alguns Participantes
4 5 6- 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
7- 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).
8- 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 o - parâmetro Cskip
- este é utilizado para computar o tamanho do
pool - de endereços de filhos
9 10- Topologias de Redes ZigBee
A especificação ZigBee suporta três topologias de
redes estrela, árvore, e malha.
11- 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
12- ao ingressar em uma rede, cada dispositivo
recebe um endereço de - rede lógico
- os endereços de rede são atribuídos ou por um
coordenador ou por - um roteador, usando um algoritmo de árvore
estruturada
13- Atribuição de Endereços - Exemplo
- 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
14- Procedimento de Inundação
- Cada dispositivo mantêm um registro de qualquer
nova transação - broadcast (broadcast transaction record - BTR)
- Esse registro contem o número de seqüência e o
endereço fonte - do frame de broadcast
-
- Esses registros são armazenados na tabela de
transações broadcast - (broadcast transaction table - BTT)
15- 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 cria - um novo registro na BTT e verifica o campo
radius. - Se maior que zero o dispositivo decrementa este
campo e - retransmite o frame (espera por um tempo
aleatório) - Caso contrário o frame é descartado.
16- Cálculo do Custo do Enlace
- Um caminho P de tamanho L, é um conjunto ordenado
de dispositivos - D1, D2, ..., DL e enlaces Di, Di1. O custo
total de um caminho é - dado por
- onde cada valor CDi, Di1 é o custo do enlace
entre os dispositivos - Di e Di1.
- O custo do enlace Cl 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.
17- Cálculo do Custo do Enlace
- Como PL é calculado?
- tarefa atribuída aos programadores
- a maneira mais natural, seria continuamente
contar o número - de pacotes recebidos e perdidos durante o período
de funcionamento
18- 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
19- 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.
20 21- Roteamento em Árvore ou Roteamento Hierárquico
Para um dispositivo roteador com endereço An em
uma profundidade d, 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.
22- 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 igual - a constante DISCOVERY_UNDERWAY
- envia um frame com o comando de descoberta(RREQ)
- de rota em broadcast
- os dispositivos ao receberem o frame RREQ se
comportam - como
23 24 25- Descoberta de Rotas - Exemplos
Custo6
Custo7
Custo1
Custo3
Custo7
Custo2
26- Descoberta de Rotas - Exemplos
Discover Table Id50 ResidualC10 ForwardC6
Routig Table Destino F PathCost6
RREQ PathCost10
Discover Table Id50 ResidualC3 ForwardC0
RREP Id50 PathCost16
Discover Table Id50 ResidualC9 ForwardC1
RREP Id50 PathCost10
RREP Id50 PathCost16
RREP Id50 PathCost10
RREQ PathCost9
RREQ Id50 PathCost3
Routig Table Destino F PathCost1
RREQ Id50 PathCost2
Routig Table Destino F NextHopB StatusACTIVE
Discover Table Id50 ResidualC2 ForwardC0
27- A manutenção de rotas é subdividida em
- manutenção da rede com topologia de malha
- manutenção da rede com topologia de árvore
28Na manutenção da rede com topologia de malha O
dispositivo máximo alcançado envia um frame de
route request com o seu próprio endereço como
fonte e o endereço do nó que falhou como destino
em broadcasting Enquanto estiver executando a
manutenção, qualquer frame pendente para o
destino que falhou deve ser armazenado até o fim
da manutenção ou descartado 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
29Na 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 filhos e
procurar por outro dispositivo pai, recebendo um
novo endereço
30