Академический Документы
Профессиональный Документы
Культура Документы
Roteamento ZigBee
Por Tiago Azevedo
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.
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:
se Rm = 1
(a)
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.
Roteamento ZigBee
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.
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
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:
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.
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:
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.
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
Roteamento ZigBee
caso contrrio.
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:
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.