Вы находитесь на странице: 1из 8

CPE 825 - Roteamento em Redes de Computadores

Programa de Engenharia de Sistemas e Computao


Instituto Alberto Luiz Coimbra de Ps-Graduao e Pesquisa de Engenharia
Universidade Federal do Rio de J aneiro



















Roteamento ZigBee

Por Tiago Azevedo
CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee
1 - Especificao ZigBee

ZigBee o nome da especificao para uma sute de protocolos de
comunicao utilizados por rdios digitais pequenos e de baixa potncia, basedos no
padro IEEE 802.15.4 para wireless personal area networks (WPANs).
Os rdios ZigBee operam nas faixas de freqncia de 868 MHz na Europa, 915
MHz nos Estados Unidos e 2.4 GHz em outros lugares do mundo, com taxa de dados
que variam de 20Kbps a 250 Kbps.

2.1 - Dispositivos ZigBee

A especificao ZigBee define trs tipos diferentes de dispositivos, com funes
variadas:

ZigBee coordinator (Coordenador ZigBee - ZC):

Existe exatamente um coordenador ZigBee em cada rede. Este dispositivo agrega o
maior nmero de funes, por exemplo, o coordenador capaz de criar uma rede
tornando-se a raiz da rvore dessa rede, sendo portanto, o nico dispositivo capaz de
comutar dados entre redes.
Alm disso, o coordenador capaz de armazenar informao sobre a rede como
por exemplo um repositrio de chaves seguras e determinar parmetros como o
nmero mximo de filhos (Cm) de um roteador ZigBee , o nmero mximo de
roteadores filhos (Rm) de um n pai, a profundidade da rede (Lm).
A partir desses parmetros, os dispositivos roteadores podem computar um
parmetro denominado Cskip, que utilizado para computar o tamanho do pool de
endereos de filhos. Este parmetro calculado pela seguinte frmula:


+
= +
=

(b) contrrio Caso ,
1
1
(a) 1 se ), 1 ( 1
) (
1
L L L L
L L L L
Rm
Rm Cm Rm Cm
Rm d Lm Cm
d Cskip
d Lm
ZigBee Router (Roteador ZigBee - ZR):

Os dispositivos roteadores agem como um roteador intermedirio, roteando dados
para outros dispositivos.

ZigBee End Device (Dispositivo final ZigBee - ZED):

Contm funes apenas para trocar informaes com seu n pai (ou um roteador
ou um coordenador); no podendo encaminhar dados para outros dispositivos. Como
requer menos memria, pois no precisa armazenar informaes de roteamento,
mais barato que um roteador ou um coordenador ZigBee.


CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee

Figura 1 - Tipos de dispositivos e suas Funes

2.2 - Topologias de Redes ZigBee

A camada de rede ZigBee suporta trs topologias de redes: estrela, rvore, e
malha.

Figura 2 - Topologias em estrela(a) , rvore(b) e malha (c)

2.3 - Formao da rede ZigBee

A formao de uma nova rede ZigBee iniciada atravs de uma primitiva da
camada de rede que restrita ao coordenador ZigBee que no pertence a nenhuma
rede. Para iniciar uma rede, um coordenador ZigBee procura por um conjunto de
canais. Quando esta procura se completa, os canais so ordenados em ordem
decrescente de nveis de energia (os canais de nveis mais baixos so descartados).
O coordenador ento procura em cada canal por dispositivos ou redes ZigBee.
Baseado neste resultado, o coordenador escolhe o melhor canal para criar uma nova
rede, dando preferncia para canais nos quais no foram encontradas outras redes.
Ento o coordenador escolhe um identificador de rede lgico (um nmero) que ser
atribudo a todo dispositivo que ingressar na rede. Finalmente o coordenador permite
outros dispositivos ingressarem na rede.


CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee
2.3.1 - Atribuio de Endereos

Como parte do processo de ingressar em uma rede, cada dispositivo recebe um
endereo de rede lgico. Em redes ZigBee, os endereos de rede so atribudos ou por
um coordenador ou por um roteador, usando um algoritmo de rvore estruturada.
No mais alto nvel da estrutura (no dispositivo coordenador) da rede est
definida uma entidade conhecida como "stack profile". O stack profile um conjunto
de parmetros que incluem definies da profundidade mxima da rede, o nmero
mximo de filhos roteadores em uma profundidade e o nmero mximo de filhos
(dispositivos finais) que podem comunicar-se com um roteador individual. Estes
parmetros determinam a forma da rvore da rede. Por exemplo, a profundidade da
rede determina o nmero mximo de saltos entre qualquer dispositivo e o coordenador
de rede.

Figura 3 - rvore lgica de uma rede ZigBee

Estes atributos da rvore lgica podem ser usados para computar o endereo
lgico e determinar o lugar de um dispositivo na rvore. Isto simplifica a tarefa de
roteamento na rvore. Como opo, a especificao ZigBee tambm permite que a
atribuio de endereos seja realizada pela aplicao. A atribuio de endereos feita
da seguinte forma:
Se um n pai (roteador ou coordenador) na profundidade d tem um endereo
A
parent
, ento:
ao n
th
roteador filho atribuido o endereo: A
parent
+ ( n 1 ) C
skip
( d ) + 1
ao n
th
dispositivo final filho, atribuido o endereo: A
parent
+ Rm C
skip
( d ) + n
3 - O Roteamento ZigBee

O roteamento segue o procedimento da figura abaixo. importante notar que o
roteamento ZigBee executa dois roteamentos distintos, roteamento hierrquico, caso o
roteador no tenha capacidade de roteamento e roteamento sob demanda
(semelhante ao AODV). Estes procedimentos intermedirios entre outros, como
processo de inundao sero abordados nas sees seguintes:

CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee

Figura 4 - Roteamento ZigBee

3.1 - Procedimento de Inundao

Qualquer dispositivo dentro da rede pode iniciar uma transmisso broadcast
para todos os outros dispositivos que fazem parte da mesma rede. A especificao
ZigBee no suporta broadcast entre vrias redes.

Cada dispositivo mantm um registro que qualquer nova transao broadcast
que se iniciou localmente, ou foi recebida de um dispositivo vizinho. Este registro
chamado de registro de transao broadcast (broadcast transaction record - BTR) e
deve conter o nmero de seqncia e o endereo fonte do frame de broadcast. Os
registros de transao broadcast so armazenados na tabela de transaes broadcast
(broadcast transaction table - BTT).
Quando um dispositivo recebe um frame de broadcast de um vizinho, ele deve
comparar o nmero de seqncia e o endereo fonte com seus registros na BTT. Se o

CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee
dispositivo tem uma BTR para este frame, ele deve atualizar a BTR marcando o
registro como j encaminhado e depois deve descartar o frame. Se nenhum registro
encontrado, o dispositivo cria um novo registro na BTT. Se o campo radius maior
que zero o dispositivo decrementa este campo e retransmite o frame, caso contrrio o
frame descartado. Antes de retransmitir o dispositivo espera por um tempo aleatrio.

3.2 - Clculo do Custo do Enlace

O algoritmo de roteamento ZigBee utilize uma mtrica de custo de caminho
para comparao de rota durante a descoberta e manuteno de rotas. Para computar
esta mtrica, um custo de enlace, associado a cada enlace no caminho entre fonte e
destino, e estes valores so somados para produzir o custo do caminho inteiro.
Mais formalmente, se definirmos um caminho P de tamanho L, como um
conjunto ordenado de dispositivos [D
1
, D
2
, ..., D
L
] e enlaces [D
i
, D
i+1
] como um sub
caminho de tamanho 2, ento o custo total do caminho ser:


onde cada um dos valore C{[Di, Di+1]} denominado custo do enlace. O custo do
enlace C{l} para o enlace L varia no intervalo de [0,7] e definido por:

onde P
L
a probabilidade da entrega com sucesso de um pacote no enlace.

3.3 - 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
endereo destino na tabela de rotas;

Um dipositivo tem capacidade de tabela de descoberta de rota se:
possui uma tabela de descoberta de rota
possui um registro livre em sua has a free entry in its route discovery table.

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

3.4 - Roteamento em rvore ou Roteamento Hierrquico

Caso o dispositivo roteador ZigBee no tenha capacidade de roteamento, ele
ir rotear os frames segundo o proecdimento: um dispositivo roteador com endereo
An em uma profundidade d, se a seguinte expresso lgica verdadeira, ento o
endereo de destino D um descentede deste roteador:

CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee

Se for determinado que o destino um descendente do dispositivo que recebeu o frame, o
endereo N do prximo salto dado por: para dispositivos finais ZigBee onde
e caso contrrio.

3.5 - Descoberta de rota (Roteamento sob Demanda)

Este procedimento de descoberta de rota baseado no roteamento AODV (Ad
hoc On Demand Distance Vector) e utilizado caso o roteador no esteja diretamente
ligado ao dispositivo destino, mas possui capacidade de roteamento.
Se o dispositivo no tem um registro na tabela de rotas para o destino, ele
deve estabelecer um registro na tabela com o campo status igual a constante
DISCOVERY_UNDERWAY. Depois ele enviar um frame com o comando de descoberta
de rota em broadcast. Cada dispositivo que emite um frame de requisio de rota deve
manter um contador usado para gerar identificadores destas requisies.
O procedimento de recepo de um frame de requisio de rota pode ser visto
na figura abaixo:

Figura 5 - Procedimento de recepo de uma requisio de rota

Podemos ver pela figura que um dispositivo ao receber uma requisio de um
de seus vizinhos, pode eventualmente responder a esta requisio, com um frame de

CPE 825 - Roteamento em Redes de Computadores Roteamento ZigBee
resposta de requisio (Request Replay - RREP). A recepo destes frames de resposta
de requisio segue o procedimento apresentado na figura abaixo:


Figura 6 - Procedimento de recepo de um frame de resposta de requisio

importante notar que se um dispositivo no tem capacidade de roteamento, e
possui o atributo nwkUseTreeRouting com valor TRUE, ele deve encaminhar o frame
utilizando roteamento pela rvore. Se o dispositivo receptor no tem capacidade de
rota e seu atributo nwkUseTreeRouting tem valor FALSE, ele deve descartar o frame.

Вам также может понравиться