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

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 Janeiro

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

Figura 1 - Sute de Protocolos ZigBee 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.

Figura 2 - Faixas de Freqncia e Taxas de Transmisso

2 - A camada de Rede ZigBee


A camada de rede ZigBee define mecanismos para ingressar e abandonar uma rede, rotear frames para seus destinos e aplicar primitivas de segurana a estes frames. As primitivas da camada de Rede tambm cobrem a descoberta e a manuteno de rotas entre dispositivos, a descoberta de dispositivos vizinhos que podem ser alcanados diretamente e o armazenamento das informaes do estado da rede. A camada de rede tambm gerencia a formao da rede ZigBee e a atribuio de endereos para todos os dispositivos novos. Todos os dispositivos ZigBee contem a camada de rede, mas as funes exercidas dependem do tipo de dispositivo.

2.1 - Dispositivos ZigBee


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

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

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:

1 + Cm ( Lm d 1), Cskip (d ) = 1 + Cm Rm Cm Rm Lm d 1 , 1 Rm ZigBee Router (Roteador ZigBee - ZR):

se Rm = 1

(a)

Caso contrrio (b)

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.

Figura 3 - Tipos de dispositivos e suas Funes

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

2.2 - Topologias de Redes ZigBee


A camada de rede ZigBee suporta trs topologias de redes: estrela, rvore, e malha. Redes em estrela possuem a topologia mais simples. Elas consistem apenas de dispositivos finais e um coordenador. O roteamento portanto imediato. A desvantagem da topologia em estrela que esta pode ser expandida a apenas dois saltos (dispositivos finais, coordenadores, dispositivos finais), limitando a cobertura de uma rede. A outra desvantagem que redes estrela precisam de enlaces confiveis entre todos os dispositivos e o coordenador. A topologia em redes expandem a cobertura da rede. Uma desvantagem desta topologia que os enlaces mais prximos ao coordenador precisam ser mais confiveis, pois uma falha pode causar perda de comunicao em muitos ns filhos. A topologia em malha permite mltiplos saltos e suporta mltiplos caminhos entre ns na rede, aumentando a confiabilidade. Roteadores em redes em malha devem descobrir rotas alternativas a um destino e calcular o melhor caminho, portanto, os ns roteadores devem ser capazes de armazenar informaes de rota, adicionando custo e complexidade a estes ns na rede. Latncias nas redes em malha so difceis de estimar, portanto, no so convenientes para aplicaes que requerem garantia ou baixa latncia.

Figura 4 - 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).

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

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.

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 5 - 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 Aparent, ento:

ao nth roteador filho atribuido o endereo: Aparent + ( n 1 ) Cskip( d ) + 1 ao nth dispositivo final filho, atribuido o endereo: Aparent + Rm Cskip( d ) + n

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

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

Figura 6 - 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.

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

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 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 custom 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 custom do caminho inteiro. Mais formalmente, se definirmos um caminho P de tamanho L, como um conjunto ordenado de dispositivos [D1, D2, ..., DL] e enlaces [Di, Di+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 PL 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;

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

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

Figura 8 - Tabela de descoberta de rotas 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


Todo dispositivo final na rede descendente de um coordenador ZigBee e nenhum dispositivo descendente de um dispositivo final. Para 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:

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

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

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). 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 9 - 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 resposta de requisio (Request Replay - RREP). A recepo destes frames de resposta de requisio segue o procedimento apresentado na figura abaixo:

CPE 825 - Roteamento em Redes de Computadores

Roteamento ZigBee

Figura 10 - 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.

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