Escolar Documentos
Profissional Documentos
Cultura Documentos
Na arquitetura em camadas do padrão 802.15.4, a subcamada MAC provê uma entre interface entre
a subcamada de convergência de serviços (SSCS - Service Specific Convergence Sublayer) e a
camada física. A subcamada MAC dá acesso à camada física, sendo responsável pela
implementação das seguintes funcionalidades:
O MLME também é responsável por manter uma base de dados de objetos gerenciados pertencentes
à subcamada MAC, referenciado como MAC PIB (MAC Layer PAN Information Base). A MAC
PIB contém atributos/variáveis MAC acessíveis às aplicações. O MLME também tem acesso aos
serviços MCPS para o transporte de dados.
Como mostrado na Figura 1, a camada física interage com a subcamada MAC por meio de
primitivas de serviço de dados providas através do PD-SAP (Physical Data – Service Access Point)
e de primitivas de serviço de gerência providas através do PLME-SAP (Physical Layer
Management Entity - Service Access Point) pela entidade de gerência da camada física PLME.
As primitivas da subcamada MAC e da camada física somam um total de 49 no padrão, das quais
35 pertencem à subcamada MAC. Das 35 primitivas da subcamada MAC as principais são:
Por exemplo, o uso das primitivas relacionadas ao serviço de dados da camada MAC é mostrado na
Figura 2 abaixo:
Modos de Operação
Uma rede 802.15.4 possui basicamente dois modos de operação, conforme as demandas das
aplicações:
• um modo beacon-enabled, que faz uso periódico de quadros denominados beacons
(sinalizadores), que são pacotes de controle que delimitam os quadros utilizados pelo
coordenador para sincronizar com os demais dispositivos da rede. Este modo de operação
utiliza uma estrutura de dados especial denominada de superframe para sincronizar o acesso
ao canal e as transmissões de dados;
• um modo beaconless, que não faz uso de beacons, os quais ficam desabilitados. Neste
modo, os dispositivos se comunicam de modo assíncrono, ficando continuamente em
“receive mode”, à espera das transmissões dos outros nós. Para as transmissões, os nós
competem pelo canal usando o protocolo de acesso unslotted non-persistent CSMA/CA.
O modo beacon-enabled é usado em redes com aplicações que demandam largura de banda
dedicada e baixas latências. Os beacons são transmitidos pelo coordenador da PAN e o seu objetivo
primário é permitir a sincronização dos dispositivos da rede com o coordenador da PAN,
determinando quando estarão liberados para a transmissão e recepção de mensagens. Numa rede
beacon-enabled a necessidade de transmitir e receber beacons regularmente aumenta a carga de
demanda por potência nos dispositivos da rede. O coordenador da PAN transmite beacons em
intervalos pré-determinados de tempo, que podem variar de 15ms a 245(252)s.
Numa rede nonbeacon-enabled, beacons não são transmitidos regularmemte pelo coordenador
(embora ainda sejam necessários para propósitos de associação de um dispositivo com um
coordenador). Ao contrário, as comunicações são assíncronas – um dispositivo se comunica com o
coordenador apenas quando precisa, o que pode ser relativamente infrequente. Isso permite uma
maior conservação da energia do dispositivo.
Estrutura do Superframe
Um dispositivo pode transmitir a qualquer momento durante um slot, mas deve completar sua
transação antes do próximo beacon. O acesso ao canal durante este período de tempo é baseado em
contenção (disputa); entretanto, o coordenador da PAN pode dedicar alguns slots de tempo do
período ativo a aplicações que demandem baixa latência ou largura de banda específica. Estes slots
de tempo garantidos são chamados de GTS – Guaranteed Time Slots e, em conjunto, formam um
período livre de contenção, localizado imediatamente antes do próximo beacon.
Em resumo, a parte ativa do superframe pode ser dividida em dois períodos distintos: um Período
de Acesso com Contenção (CAP – Contention Access Period), que sempre deve existir no
superframe, e um Período Livre de Contenção (CFP - Contention Free Period), que é opcional.
O tamanho do período livre de contenção pode variar dependendo da demanda dos dispositivos da
rede. O início do período livre de contenção e a duração do superframe são comunicados pelo
coordenador da PAN aos dispositivos conectados à rede por meio dos beacons. Deve ser observado
que todas as operações usando as fatias garantidas de tempo devem terminar antes do início do
próximo GTS ou antes do fim do período livre de contenção, como mostrado na figura acima.
Tamanho do Superframe
Do ponto de vista prático, dois tamanhos são importantes: o tamanho total do superframe e o
tamanho da sua parte ativa. O tamanho total do superframe é medido pelo intervalo de tempo no
qual o coordenador transmite os seus beacons, denominado de Beacon Interval (BI) sendo que pode
existir uma porção inativa durante a qual o coordenador pode entrar em estado low-power (modo
sleep). O intervalo de tempo relativo somente à parte ativa do superframe é denominada de
Superframe Duration (SD).
A duração desses dois intervalos de tempo é definida pelos valores dos parâmetros
macBeaconOrder (BO) e macSuperframeOrder (SO) existentes na MAC PIB. Esses parâmetros são
determinados pelo coordenador da PAN e controlam, respectivamente, o tamanho total do
superframe (parâmetro BO) e o tamanho do período ativo dentro do superframe (parâmetro SO).
Para valores iguais de SO e BO, a duração da parte ativa do superframe será igual à duração do
intervalo entre beacons e, nesse caso, não existirá a parte inativa dentro da estrutura do superframe.
Caso SO < BO, o superframe apresentará uma parte inativa.
O atributo macBeaconOrder (BO) está relacionado ao intervalo de tempo BI em que o coordenador
deve transmitir seus beacons e é definido da seguinte forma:
O atributo BO define a ordem do superframe, isto é, quantas estruturas de duração base formarão o
superframe (em última instância, BO define o tamanho total do superframe). Por exemplo, para BO
= 0 (superframe de ordem 0), o intervalo entre beacons será: BI = aBaseSuperframeDuration ∗ 2BO
= 960 x 20 = 960 símbolos, com o superframe apresentando 16 slots (1 beacon + 15 slots). Para
BO = 1 (superframe de ordem 1), o intervalo entre beacons BI será de 960 x 21 = 1920 símbolos,
com o superframe apresentando 32 slots (1 beacon + 15 slots + 16 slots), assumindo-se que o
tamanho do slot é o mesmo.
Em suma, PANs que desejarem usar a estrutura do superframe devem setar o parâmetro
macBeaconOrder com um valor entre 0 and 14, inclusive, e macSuperframeOrder com um valor
entre 0 e o valor de macBeaconOrder, inclusive. PANs que não desejarem usar o superframe
devem setar os dois parâmetros, macBeaconOrder e macSuperframeOrder com valores igual a 15.
Neste tipo de rede, o coordenador não transmite beacons, exceto após receber um comando de
beacon request. Além disso, todas as transmissões – exceto os quadros de ack e quaisquer quadros
de dados que imediatamente seguem os acks de comandos data request – devem usar o método
unslotted CSMA-CA para acesso ao canal. Além disso, nessas redes a reserva de slots de tempo GTS
não é permitida.As Figuras 6 e 7 ilustram todos esses parâmetros.
Resumo. In the beacon-enabled mode of IEEE 802.15.4, each node employs two system
parameters: BO and SO, which define beacon interval (BI) and superframe duration SD,
respectively, i.e., BI = aBaseSuperframeDuration x 2BO and SD = aBaseSuperframeDuration x 2SO,
for 0 ≤ SO ≤ BO ≤ 14. aBaseSuperframeDuration denotes the minimum number of symbols in an
active period, which is fixed to 960 symbols. The active period of each superframe consists of three
parts: beacon, contention access period (CAP) and contention free period (CFP), while the active
period is further equally divided into 16 time slots called aNumSuperframeSlots. The length of one
slot is equal to aBaseSlotDuration x 2 SO symbols, where aBaseSlotDuration is the minimum number
of symbols in a slot and equal to 60 symbols. Figure 1 shows an example of the superframe
structure. In IEEE 802.15.4 standard, BO and SO shall be equal for all superframes on a PAN. All
devices shall interact with the PAN only during the active portion of a superframe.
Como visto, dependendo da configuração de rede, uma rede 802.15.4 pode usar um dos dois
mecanismos de acesso ao canal de rádio. Em uma rede com beacon habilitado, o mecanismo slotted
CSMA-CA é utilizado pelo MAC para transmissões dentro da porção CAP do superframe; já em
redes sem beacon, o método de acesso padrão (“unslotted” CSMA-CA) é usado. Em ambos os
casos, o algoritmo é implementado com base em unidades de tempo chamadas “períodos de
backoff” (BP = Backoff Period). Um período de backoff é o tempo necessário para se transmitir 20
símbolos ou 4 x 20 = 80 bits, se a rede utilizar o modo de operação da camada física em 2.4GHz. O
tamanho de uma unidade do período de backoff é dado pelo parâmetro aUnitBackoffPeriod.
O CSMA-CA deve ser usado antes da transmissão de quadros de dados (data frames) ou de quadros
de comando (command frames) transmitidos dentro do CAP, a menos que o quadro possa ser
rapidamente transmitido após o acknowledgment de um quadro de comando de data request. O
CSMA-CA não deve ser usado na transmissão de quadros beacon em uma rede beacon-enabled, de
quadros de acknowledgment (nesse caso, muda-se apenas o modo de operação de RX para TX e
transmite-se imediatamente o Ack) ou quadros de dados transmitidos dentro do CFP.
O funcionamento nesses dois métodos é o seguinte. Quando um dispositivo deseja transmitir em
uma rede com beacon desabilitado, ele primeiro verifica se um outro dispositivo está transmitindo
no mesmo canal. Se assim for, ele espera por um período aleatório (isto é, realiza o procedimento de
backoff) ou indica uma falha de transmissão depois de alguns tentativas sem sucesso. Como
mencionado, quadros de Ack que estejam confirmando uma transmissão anterior não usam o
mecanismo CSMA-CA uma vez que eles são enviados imediatamente após o pacote anterior
recebido (ou seja, o nó que recebeu o pacote simplesmente executa o procedimento de troca de
recepção para transmissão e envia imediatamente a confirmação).
Já em uma rede com beacon habilitado, qualquer dispositivo que pretenda transmitir durante o
período de contenção espera pelo início do próximo slot de tempo e, então, determina se um outro
dispositivo está transmitindo no mesmo slot. Se um outro já está transmitindo, o dispositivo recua
por um número aleatório de slots ou então indica uma falha na transmissão depois de algumas
tentativas.
No slotted CSMA-CA, as fronteiras dos períodos de backoff de cada dispositivo da PAN devem
estar alinhadas com as fronteiras dos slots do superquadro do coordenador PAN, isto é, o início do
primeiro período de backoff de cada dispositivo é alinhado com o início da transmissão do beacon.
A subcamada MAC deve assegurar que a camada física inicie todas as suas transmissões no limite
de um período de backoff. No unslotted CSMA-CA, os períodos de backoff de um dispositivo não
estão relacionados no tempo aos períodos de backoff de qualquer outro dispositivo da PAN.
Como visto, no modo de operação com beacon desabilitado, o padrão IEEE 802.15.4 utiliza a
técnica unslotted CSMA/CA para controle de acesso ao meio. Em tal técnica, uma transmissão se
inicia com a espera por um tempo aleatório de períodos de backoff entre 0 e 2BE - 1, onde BE =
Backoff Exponential, podendo BE assumir um valor entre 3 (macMinBE) e 5 (macMaxBE). O
parâmetro macMinBE é uma constante cujo intervalo de valores está entre 0 e macMaxBE, com
valor default igual a 3. Por sua vez, o intervalo de macMaxBE é de 3 a 8, com valor default igual a
5. Logo, macMinBE pode assumir valores entre 0 e 8, com valor default 3.
Uma vez que o tempo selecionado expira, o nó verifica se o canal está disponível para transmissão,
procedimento denominado de Clear Channel Assessment (CCA). Esse procedimento é executado no
tempo de 8 símbolos. Se o canal estiver ocupado, o nó incrementa BE (limitado a macMaxBE) e
repete o processo de espera. O limite de tentativas de acesso ao canal é determinado por
macMaxCSMABackoffs (4 tentativas, por default). Se, após essas tentativas, o nó não conseguir ter
acesso ao canal, é declarada uma falha de acesso ao canal. Se o canal estiver livre, executa-se o
procedimento de troca de modo do rádio – de recepção para transmissão – e transmite-se o pacote.
O tempo de execução da troca de modo do rádio é de 12 símbolos.
Verifica-se que as características do unslotted CSMA/CA tornam a rede mais susceptível a colisões e
incita uma maior disputa pela utilização do meio do que em modos que utilizam beacons para
sincronização. Além disso, dispositivos IEEE 802.15.4 operando em unslotted CSMA/CA deixam de
escutar o canal durante a inversão do rádio, havendo riscos de colisões. Estas colisões podem
ocorrer no início da transmissão de um pacote ou na transmissão do pacote de reconhecimento.
O IEEE 802.15.4 suporta um modo de operação denominado "Life Batery Extension (BLE)”, em
que o parâmetro Backoff Expoent (BE) do CSMA-CA é limitado ao intervalo 0-2, permitindo
reduzir muito o ciclo de trabalho em aplicações de baixo tráfego. No entanto, em condições de redes
densas, este modo pode resultar em uma taxa de colisões excessiva.
O algoritmo slotted CSMA/CA também tem a sua operação baseada nos períodos de backoff (BP -
Backoff Periods). O algoritmo depende fundamentalmente de três variáveis:
1. O Backoff Exponent (BE), parâmetro que está relacionado a quantos períodos de backoff o
dispositivo deve esperar antes de tentar acessar o canal;
2. A Contention Window (CW), que representa o tamanho da janela de contenção medida em
número de períodos de backoff durante o qual o canal deve ser sentido inativo antes dele ser
efetivamente acessado pelo dispositivo, e
3. O Number of Backoff (NB), que representa o número tentativas de acesso ao canal.
Uma vez que o canal estiver ocioso, CW é decrementado. A operação CCA é repetida se CW for
diferente de 0. Se o canal é sentido novamente como inativo, o nó tenta transmitir desde que o
restante do BPs no atual CAP seja suficiente para transmitir o quadro e o reconhecimento
subseqüente. Caso contrário, o CCA e o quadro de transmissão são ambos deferidos para o próximo
superframe. Isto é chamado de “deferência de CCA”.
Figura 11 – O Método de Acesso CSMA/CA
Mediante a isso, em redes com quadros de sinalização para sincronismo, o mecanismo slotted
CSMA/CA deve ser criteriosamente avaliado, uma vez que seu comportamento é afetado por seus
parâmetros de inicialização, quais sejam: (i) o mínimo backoff exponent (macMinBE); (ii) o
máximo backoff exponent (aMaxBE); o (iii) valor inicial do CW (Cwinit); e (iv) o número de
máximo de backoffs (macMaxCSMABackoffs).
Resumo. In CAP, each node performs the CSMA/CA algorithm before transmitting data frame or
MAC command frame. Each device maintains three parameters: the number of backoff (NB),
contention window (CW), and backoff exponent (BE). NB denotes the required NB while attempting
to transmit data; CW denotes the number of backoff periods that need to be clear before committing
transmission; and BE denotes how many backoff periods a device need to wait before trying to
access the channel. The initial value of NB, CW, and BE are equal to 0, 2, and macMinBE,
respectively, where macMinBE is equal to 3. In the located boundary of the next no atual CAP
backoff period, a device takes delay for random backoff between 0 and 2BE – 1 unit backoff period
(UBP), where UBP is equal to 20 symbols (or 80 bits). A device performs clear channel assessment
(CCA) to make sure whether the channel is idle or busy, when the number of random backoff
periods is decreased to 0. The value of CW will be decreased by one if the channel is idle; and the
second CCA will be performed if the value of CW is not equal to 0. If the value of CW is equal to 0,
it means that the channel is idle after twice CCA; then a device is committed the data transmission.
However, if the CCA is busy, the value of CW will reset to 2; the value of NB is increased by 1; and
the value of BE is increased by 1 up to the maximum BE (macMaxBE), where the value macMaxBE
is equal to 5. The device will repeatedly take random delay if the value of NB is less than the value
of macMaxCSMABackoff, where the value of macMaxCSMABackoff is equal to 4; and the
transmission attempt is decided to be failure if the value of NB is greater than the value of
macMaxCSMABackoff.
No padrão 802.15.4, a estrutura geral da PDU do nível MAC (MPDU) foi projetada para ser
flexível o bastante para acomodar as necessidades de diferentes aplicações e topologias de rede e,
ao mesmo tempo, permitir a definição de um protocolo de nível MAC relativamente simples.
O formato genérico de um quadro MAC (MPDU) e o seu encapsulamento na camada física são
mostrados, respectivamente, nas Figuras 12 e 13. Como se vê, o MPDU é composto por um
cabeçalho (MHR – MAC Header), por uma Unidade de Serviço de Dados (MSDU – MAC Service
Data Unit) também referenciada de MAC Payload, e por um rodapé (MFR – MAC Footer).
O primeiro campo do cabeçalho é o campo de controle de quadro (Frame Control). Este campo
indica o tipo de quadro MAC sendo transmitido, define o formato do campo de endereço, e controla
o reconhecimento (acknowledgment) de quadros. Em suma, o campo de controle determina como é
o restante do frame e o que ele contém.
O tamanho do campo de endereço pode variar entre 0 e 20 bytes. Por exemplo, um quadro de dados
pode conter a informação de endereço fonte e de destino, enquanto que um quadro de
acknowledgment não contém qualquer informação de endereço. Por outro lado, um quadro beacon
pode conter apenas informação de endereço de origem. Além disso, endereços curtos ou endereços
IEEE de 64 bits podem ser usados. Esta flexibilidade exibida pelo formato do quadro MAC ajuda a
aumentar a eficiência do protocolo, mantendo os pacotes curtos.
O cabeçalho MAC também trata das opções auxiliares de segurança usadas na transmissão do
quadro. Para tanto é utilizado o padrão de criptografia avançado (AES), que descreve rotinas de
segurança utilizando chaves com comprimento de 128, 192 ou 256 bits.
O campo de payload possui tamanho variável; entretanto, observa-se que o tamanho total de quadro
MAC não pode exceder 127 bytes de comprimento. Os dados contidos no campo de payload são
dependentes do tipo de quadro.
Outros campos do quadro MAC são o número de seqüência e a seqüência de verificação de quadro
(FCS - Frame Sequence Check). Numa rede 802.15.4 uma transação só é considerada um sucesso
quando o quadro de reconhecimento (ack) contém o mesmo número de seqüência do quadro
recebido previamente. O FCS ajuda verificar a integridade do quadro MAC. O FCS é implementado
como uma verificação de redundância cíclica (CRC – Cyclic Redundancy Check) de 16-bit
padronizado pelo do ITU-T.
Frame Type
Apresenta os seguintes valores (a faixa entre 100 a 111 é considerada “Reserved”).:
000 – Beacon 001 – Data 010 – Ack 011 – Command
Security Enabled
Deve ter valor 1 se está protegido pelo MAC. Neste caso, o campo Auxiliary Security Header deve
estar presente. Se 0, não há proteção no nível MAC.
Frame Pending
Deve ter o valor 1 se o dispositivo que está enviando o quadro tem mais dados para o receptor e
zero caso contrário. Este campo só deve ser usado em quadros beacon ou em quadros transmitidos
durante o CAP numa rede beacon-enabled, ou então a qualquer momento por dispositivos
operando numa rede nonbeacon-enabled. Em todas as outras situações ele deve ter o valor 0 na
transmissão e ignorado na recepção.
PAN ID Compression
Se igual a 1 e os endereços de origem e destino estão incluídos no quadro, indica que deve ser
assumido que o campo Source PAN Identifier omitido do cabeçalho deve ser considerado igual ao
campo Destination PAN Identifier.
Frame Version
Especifica o número da versão do frame. O valor 0 indica compatibilidade com o padrão IEEE Std
802.15.4-2003.
Como mencionado, o nível MAC define quatro tipos diferentes de quadros (frames). São eles:
• Beacon frame: usado pelo coordenador para transmitir beacons;
• Data frame: usado em todas as transferências de dados;
• Acknowledgment frame: usado para confirmar o sucesso na recepção de um quadro;
• Command frame: usado para controlar as transferências entre entidades MAC parceiras.
Apenas os quadros de dados e os quadros beacon contém informações enviadas pelas camadas
superiores; os quadros de reconhecimento e quadros de comandos MAC são quadros originados no
próprio MAC e são usados para comunicação peer-to-per (subcamadas MAC parceiras).
Quadros beacon se originam de dentro da camada MAC, a partir do nó coordenador, numa rede
beacon-enabled. O beacon é sempre transmitido no início do slot 0 do superframe, sem fazer o uso
de CSMA. A Figura 16 a ilustra o formato do quadro beacon.
Este campo, mostrado na Figura 16, define os principais parâmetros relacionados ao formato
(tamanho) da estrutura do superframe: (i) Beacon Order (BO), que especifica o intervalo de
transmissão entre beacons; (ii) Superframe Order (SO), que define o tamanho da parte ativa do
superframe (isto é, estado de receiver habilitado), (iii) Final CAP Slot, que define qual é o slot final
usado no CAP. A duração do CAP deve ser maior ou igual ao valor especificado pelo parâmetro
aMinCAPLength.
Além desses três campos, são ainda definidos três outros campos importantes. Um deles é o
BatteryLifeExtension, que está relacionado à conservação da bateria. Se esse campo é assinalado
como TRUE, todas as transações contention-based tem que começar dentro de um tempo igual a
macBattLifeExtPeriods períodos de backoff (valor default 6) após o inter-frame space (IFS) do
quadro de beacon. O IFS é um tempo necessário para a camada física processar o pacote recebido
da camada MAC. Todo frame transmitido deve ser seguido de um período de IFS, cujo tamanho
depende do tamanho do quadro que está sendo transmitido.
O campo PAN Coordinator informa quem está transmitindo o beacon: se o coordenador da PAN
(valor igual a 1) ou não (valor igual a 0). Por último, o campo Association Permit define se o
coordenador da PAN está atualmente aceitando novos pedidos de associação. É igual a 1 se o
parâmetro macAssociationPermit é colocado em TRUE, significando que novas associações estão
sendo aceitas.
Campo: GTS
GTS Specification
O campo GTS Specification é formatado como na Figura 19. O campo GTS Descriptor Count
define o número de GTS Descriptors existentes na GTS List. Se esse valor é igual a zero, os campos
GTS Directions e GTS List do quadro beacon não existem. O campo GTS Permit indica se o
coordenador da PAN está aceitando pedidos de GTS. É igual a 1 se o parâmetro macGTSPermit é
TRUE; do contrário deve ser igual a 0.
GTS Directions
É formatado como mostrado na Figura 20. GTS Directions Mask é uma máscara que diz a direção
de cada GTS no superframe, conforme definido pela GTS List. Cada bit da máscara deve ser
colocado em 1 se o GTS é “receiver-only” ou em 0 se ele é “transmit-only”. A direção do GTS é
definida relativamente à direção da transmissão do quadro de dados pelo dispositivo.
GTS List
Cada GTS Descriptor da GTS List possui as informações listadas na Figura 21. Como visto, o
número de descritores da GTS List é especificada no campo GTS Specification, e é limitado a 7.
O Device Short Address contém o endereço curto do dispositivo para o qual o GTS está associado; o
GTS Starting Slot define o slot de início deste GTS dentro do superframe e o GTS Length contém
o número de slots contíguos do superframe daquele GTS.
O campo Pending Address possui o formato geral apresentado na Figura 22(a) e contém uma
especificação básica sobre os endereços pendentes, além da lista destes endereços.
O campo Pending Address Specification informa basicamente o número de endereços curtos e estendidos
contidos no campo Address List. A Figura 22(b) mostra um detalhamento do campo Pending
Address Specification:
O número máximo de endereços pendentes é limitado a sete e pode compreender tanto endereços
curtos como estendidos. Os endereços curtos devem aparecer primeiro na lista.
O quadro de dados é usado para viabilizar a transferência de dados entre dois nós da rede. Este tipo
de quadro é construído pela camada MAC ao receber um comando Data Request da camada usuária
acima. A estrutura do quadro de dados é mostrada na Figura 23.
No Frame Control, o campo Type possui o valor 001, indicando um quadro de dados e o campo
Security Enabled é colocado em 1 caso a segurança seja habilitada. O campo Sequence Number
contém o número de sequência do quadro, que deve ser igual ao valor corrente da variável macDSN.
Os campos de endereço contém o endereço destino e/ou endereço origem dependendo dos settings
do campo de Frame Control e o Auxiliary Security Header, se presente, contém a informação
requerida para o processamento de segurança do quadro.
Como visto, numa rede 802.15.4 o coordenador da PAN pode operar a sua rede com ou sem
superframe. No primeiro caso, ele inicia o superframe com um quadro beacon, que tem propósitos
de sincronização e também serve para descrever a estrutura do superframe e enviar informação de
controle para os dispositivos da PAN. Quando um dispositivo necessita enviar dados para o
coordenador (fora do GTS) ele deve aguardar pelo quadro beacon para se sincronizar e depois
competir pelo acesso ao canal. Por outro lado, a comunicação do coordenador para um dispositivo é
indireta: o coordenador armazena os dados e anuncia a situação de entrega pendente no quadro
beacon. Os dispositivos (finais) usualmente dormem a maior parte do tempo e acordam
periodicamente para ver se tem dados pendentes a receber do coordenador verificando os beacons
recebidos do seu coordenador. Quando eles percebem que existe uma mensagem disponível para
eles, eles a requisitam explicitamente durante o CAP. Por fim, quando um coordenador A deseja
falar com um outro coordenador B, ele deve se sincronizar com o beacon de B e agir com um
dispositivo final.
Em resumo, no padrão 802.15.4, existem três tipos de operações de transferência de dados: (i)
transferência de dados de um dispositivo para um coordenador; (ii) transferência de dados de um
coordenador para um dispositivo; e (iii) transferência de dados entre dois dispositivos pares numa
rede multi-hop. Na topologia em estrela, só duas dessas transações são usadas porque os dados só
podem ser transmitidos entre o coordenador e um dispositivo. Em uma topologia ponto-a-ponto, os
dados podem ser trocados entre quaisquer dois dispositivos na rede; consequentemente, as três
operações podem ser utilizados nesta topologia.
Quando um dispositivo deseja transferir dados para um coordenador em uma beacon-enabled PAN,
ele primeiro escuta pelo beacon. Quando este é encontrado, o dispositivo é sincronizado com o
superframe. No momento apropriado, o dispositivo transmite seu quadro de dados ao coordenador
usando slotted CSMA-CA. O coordenador pode reconhecer a recepção com sucesso dos dados
através da transmissão de um quadro de Acknowledgment opcional. Esta sequência está resumida na
Figura 24.
Se a rede não usa beacons, o dispositivo simplesmente transmite os seus dados para o coordenador
usando unslotted CSMA-CA. O coordenador confirma a recepção dos quadros transmitindo um
quadro Ack opcional. Esta sequência é sumarizada na Figura 25.
Quando o coordenador quer transferir dados para um dispositivo em uma rede beacon-enabled, ele
indica no quadro beacon que a mensagem de dados está pendente. O dispositivo periodicamente
escuta por beacons e, se uma mensagem está pendente, transmite um comando MAC solicitando os
dados, usando slotted CSMA-CA. O coordenador reconhece a recepção bem sucedida do pedido de
dados transmitindo um quadro de confirmação. Os dados pendentes são, então, enviados usando
slotted CSMA-CA ou, se possível, imediatamente após o reconhecimento. O dispositivo pode
reconhecer a recepção com sucesso dos dados, transmitindo um quadro de confirmação opcional.
Após a conclusão da operação, a mensagem é removida da lista de mensagens pendentes do
beacon. Esta sequência é sumarizada na Figura 26.
Quando um coordenador deseja transferir dados para um dispositivo em uma PAN sem beacon
habilitado, ele armazena os dados esperando o dispositivo apropriado fazer contato solicitando os
dados. Um dispositivo pode estabelecer contato através da transmissão de um comando MAC de
requisição de dados ao seu coordenador, a uma taxa definida pela aplicação, usando unslotted
CSMA-CA. O coordenador reconhece a recepção bem sucedida do pedido de dados pela transmissão
de um quadro de confirmação. Se um quadro de dados encontra-se pendente, o coordenador
transmite os dados para o dispositivo utilizando unslotted CSMA-CA. Se não existe um quadro
pendente, o coordenador indica este fato seja no quadro de confirmação após a requisição de dados
ou em um quadro de dados com payload de comprimento zero. Se solicitado, o dispositivo
reconhece a boa recepção do quadro de dados através da transmissão de um quadro de confirmação.
Esta sequência é resumida na Figura 27.
Transferência peer-to-peer
Existe ainda a possibilidade de comunicação entre dispositivos não coordenadores no modo peer-
to-peer, não necessitando sincronização para a troca de mensagens. Numa rede peer-to-peer, cada
dispositivo pode se comunicar com qualquer outro que estiver na esfera de alcance do seu rádio.
Para isso, o dispositivo simplesmente transmite os seus dados usando unslotted CSMA-CA.
O diagrama de sequência da Figura 28 mostra as primitivas de serviço que são trocadas em uma
solicitação de transferência de dados realizada com sucesso. Nota-se que MCPS-DATA.request é a
primitiva de serviço usada para solicitar ao MAC o início da transferência de dados de um
dispositivo a outro.
Quando um coordenador deseja enviar dados para um dispositivo no modo de operação com a
estrutura do superframe habilitada, ele indica explicitamente no beacon sua intenção de
transmissão. Um dispositivo na rede deve esperar o beacon vindo do coordenador para então
sincronizar com ele utilizando o slotted CSMA-CA, disputando com os outros dispositivos durante o
período de tempo CAP (Contention Access Period), ou esperando sua vez durante o período de CFP
(Contention Free Period), no qual existem timeslots reservados pelo coordenador para cada
equipamento na rede. Ao receber um beacon, o dispositivo percebe que uma mensagem está
pendente e, dessa forma, envia uma requisição para o coordenador, autorizando-o a transmitir a
informação. Ao receber a autorização, o coordenador envia uma mensagem de reconhecimento
informando que a autorização chegou corretamente e, em seguida, a informação pendente é
transmitida utilizando-se slotted CSMA-CA. Este procedimento é ilustrado na Figura 31(a).
Entretanto, quando a estrutura do superframe não está habilitada, o procedimento é ligeiramente
diferente. No caso, dispositivos de rede são configurados para enviarem mensagens periodicamente
ao coordenador para saber se informações estão pendentes. Caso alguma informação esteja
pendente, o coordenador as envia para os dispositivos conforme a descrição da Figura 31(b).
Figura 31 – Transferência de Dados do Coordenador para um Dispositivo - (a) com beacons; (b) sem beacons
Este tipo de quadro é usado pela camada MAC para confirmar o recebimento de quadros de dados e
quadros de comandos trocados entre os nós da rede. O quadro de Acknowledgment apresenta a
estrutura mostrada na Figura 32:
O campo type do Frame Control apresenta o valor 010, indicando um quadro de confirmação. O
quadro Ack possui apenas um cabeçalho e um rodapé, não possuindo campo de payload (carrega
zero bytes). O cabeçalho MHR possui apenas os campos Frame Control e Sequence Number.
O campo Sequence Number deve conter o valor do número de sequência recebido no quadro para
qual o Ack é enviado.
A Figura 33 mostra a estrutura geral do quadro de comando, que se origina de dentro da subcamada
MAC. No cabeçalho MHR, o campo type do Frame Control apresenta o valor 011, indicando um
quadro de comando. O payload MAC contém o identificador do comando MAC e o payload do
comando propriamente dito.
Os comandos definidos pela subcamada MAC estão listados na Figura 34. Deve ser observado que
um dispositivo FFD deve ser capaz de transmitir e receber todos os tipos de comandos, com
exceção do GTS Request, enquanto que os requisitos para um RDF estão indicados com um “X” na
figura. Os comandos MAC devem ser transmitidos apenas no CAP nas redes beacon-enabled ou a
qualquer hora em redes nonbeacon-enabled.
Para se associar a uma PAN, a camada acima solicita ao MAC que ele inicie um procedimento de
associação com a PAN selecionada. Isto envolve enviar um pedido de associação ao coordenador da
PAN e esperar pela mensagem de aceitação correspondente. Se aceito na PAN, o nó requerente
recebe um endereço curto de 16-bits, que ele pode usar posteriormente em lugar do seu endereço
IEEE estendido de 64 bits.
O comando MAC usado por um dispositivo para solicitar associação a uma PAN é o Association
Request. Todos os dispositivos devem ser capazes de emitir este comando, embora não seja
requerido a um RFD ser capaz de recebê-lo. O dispositivo só pode se associar através do
coordenador da PAN ou de um coordenador qualquer que permita a associação. O comando
Association Request deve ser formatado como ilustrado na Figura 35.
O campo Destination PAN Identifier deve conter o identificador da PAN à qual se deseja associar. O
campo Destination Address contém o endereço do coordenador ao qual o pedido de associação está
sendo enviado, obtido do quadro de beacon por ele enviado. O campo Source PAN Identifier deve
conter o identificador de PAN broadcast. O campo Source Address contém o endereço estendido do
remetente, e deve ser igual a macExtendedAddress.
Device Type é igual a 1 se o dispositivo é um FFD e zero para indicar um RFD; Power Source é
igual a 1 se o dispositivo está recebendo potência de uma fonte de corrente alternativa, caso
contrário, é igual a 0; Receiver On When Idle é igual a 1 se o dispositivo não desabilita o seu
receptor para conservar energia nos períodos de inatividade e 0, caso contrário; Security Capability
é igual a 1 se o dispositivo é capaz de enviar e receber quadros MAC criptografados conforme
especificado no padrão, caso contrário, deve ser 0; e Allocate Address é igual a 1 se o dispositivo
deseja que o coordenador aloque para ele um endereço curto de 16 bits, do contrário, é 0.
A primitiva usada para solicitar ao MAC a associação a uma PAN é a MLME-ASSOCIATE.request.
Os parâmetros desta primitiva são mostrados na Figura 37.
O dispositivo que requisita a associação deve tentar associar-se somente depois de ter feito uma
reinicialização da subcamada MAC, o que é feito com a emissão da primitiva MLME-
RESET.request, com o parâmetro SetDefaultPIB igual a TRUE, e depois ter concluída uma busca
ativa ou passiva de canais (procedimento denominado “channel scan”, brevemente descrito na
próxima seção). Os resultados da busca de canais são então utilizados para escolher a PAN
adequada. O algoritmo de seleção da PAN adequada a partir da lista de descritores de PAN
retornados do procedimento de chaninel scan está fora do escopo do padrão.
Após a seleção da PAN com o qual se deseja associar, o dispositivo (i.e., a camada superior ao
MAC) deve requerer ao seu MAC, através da primitiva de associação MLME-ASSOCIATE.request,
que o MLME configure atributos específicos da PHY PIB e da MAC PIB, com os seguintes valores
necessários para a associação:
— phyCurrentChannel: deve ser igual ao parâmetro ChannelNumber da primitiva MLME-
ASSOCIATE.request.
— phyCurrentPage: deve ser igual ao parâmetro ChannelPage da primitiva MLME-
ASSOCIATE.request.
— macPANId: deve ser igual ao parâmetro ChannelPage da primitiva MLME-
ASSOCIATE.request.
— macCoordExtendedAddress ou macCoordShortAddress: dependendo de qual modo de
endereço é conhecido a partir do quadro beacon do coordenador ao qual se pretende
associar, deve ser igual ao parâmetro CoordAddress da primitiva MLME-
ASSOCIATE.request.
A sequência global de mensagens (primitivas) trocadas para a associação a uma PAN é mostrada na
Figura 38.
Dispositivos podem se desassociar da rede a qualquer momento e o comando MAC que implementa
uma solicitação de desassociação é o Disassociation Notification. A solicitação pode partir do
dispositivo ou do coordenador da PAN, conforme códigos abaixo:
0x00 Reserved
0x01 The coordinator wishes the device to leave the PAN
0x02 The device wishes to leave the PAN
0x03-7F Reserved.
0x80–0xff Reserved for MAC primitive enumeration values
Um dispositivo associado deve desassociar-se removendo todas as suas referências para a PAN. Em
outras palavras, o MLME retornará a macPANId, macShortAddress, macAssociatedPANCoord,
macCoordShortAddress e macCoordExtend-Address os valores default. Por sua vez, o coordenador
deve desassociar um dispositivo removendo todas as referências para esse dispositivo. A camada
superior do dispositivo solicitante será notificada do resultado do processo de desassociação através
da primitiva MLME-DISASSOCIATE.confirm. A Figura 40 ilustra a sequência de mensagens para
um dispositivo para desassociar-se da PAN. A Figura 41 mostra uma desassociação iniciada por um
coordenador em uma rede beacon-enabled.
Figura 40 – Sequência de mensagens trocadas em desassociação iniciada por um dispositivo
Figura 41 – Sequência de mensagens trocadas em uma desassociação iniciada por um coordenador, em uma rede
operando com beacon s
Este comando é enviado de um dispositivo para o coordenador da PAN quando um conflito de PAN
ID é detectado. O coordenador da PAN conclui que um conflito está presente se uma das seguintes
situações ocorre:
– Ele recebe um quadro beacon com os campos PAN Coordinator setado em 1 e PAN
Identifier igual a macPANId (obs: um quadro beacon com o campo PAN Coordinator igual a
1 significa que ele está sendo transmitido pelo coordenador da PAN, e o identificador deste
dispositivo é dado pelo parâmetro macPANId);
– Ele recebe um comando PAN ID conflict notification de um dispositivo associado à sua
PAN.
Se a camada superior seleciona um novo PAN ID, ela emite então uma primitiva MLME-
START.request com o parâmetro CoordRealignment setado em TRUE a fim de realinhar a PAN.
O scan atua sobre uma lista especificada de canais. Para cada canal que se deseja fazer a varredura,
o dispositivo primeiramente deve chavear para o canal desejado, atualizando o valor dos
parâmetros phyCurrentChannel e phyCurrentPage.
No procedimento de scan ativo, o comando beacon request (vide adiante) é emitido para extrair o
beacon de um coordenador; já no scan passivo, o beacon request não é transmitido. A Figura 43
ilustra o diagrama de sequência do scan ativo.
Antes de começar o scan, seja ativo ou passivo, a subcamada MAC salva o valor de macPANId,
alterando-o para valor 0xFFFF durante toda a duração do scan. Isso permite ao dispositivo receber
todos os beacons e não somente os beacons da PAN corrente. Ao final do scan, este valor é
restaurado pela subcamada MAC.
O comando Beacon Request é usado por um dispositivo para localizar todos os coordenadores
dentro de sua faixa de comunicação de rádio durante uma varredura ativa (active scan). Este
comando é opcional para um RFD. O comando deve ser formatado como ilustrado na Figura 44.
No MHR, o campo Destination Addressing Mode deve ser definido para indicar endereçamento
curto, e o Source Addressing Mode definido para indicar que a informação de endereço fonte não
está presente. O campo Frame Pending deve ser colocado em zero e ignorado na recepção. Os
campos AR e o Security Enabled devem também ser ajustado para zero. O campo Destination PAN
Identifier deve conter o identificador de broadcast da PAN e o Destination Address deve conter o
endereço curto de broadcast.
Como visto, a primitiva MLME-BEACON-NOTIFY.indication é usada para enviar os contidos
dentro de um quadro beacon recebido pela subcamada MAC para a camada superior. Os parâmetros
desta primitiva são mostrados abaixo na Figura 45.
Figura 46 – PANDescriptor
Comando de Notificação de Órfão (Orphan notification command)
(Processo de Realinhamento de Dispositivo Órfão – Orphaned device realignment )
A varredura de órfão permite a um dispositivo tentar mudar o seu coordenador na sequência de uma
perda de sincronização. Durante uma varredura de órfão, a subcamada MAC deve descartar todos
os quadros recebidos da camada física que não sejam quadros de comando de realinhamento de
coordenador.
Como visto, uma varredura de órfão sobre um determinado conjunto de canais é solicitada usando a
primitiva MLME-SCAN.request, com o parâmetro ScanType definido para indicar uma varredura de
órfão. Para cada canal, o dispositivo deve primeiro mudar para o canal definindo
phyCurrentChannel e phyCurrentPage de acordo e, em seguida, enviar um comando de notificação
de órfão (Orphan Notification command). O comando de notificação de órfão é usado por um
dispositivo que tenha perdido a sincronização com o seu coordenador. Todos os dispositivos devem
ser capazes de transmitir este comando, embora não seja necessário a um RFD ser capaz de recebê-
lo. O formato do comando é ilustrado na Figura 47.
Após a transmissão bem sucedida do comando de notificação de órfão, o dispositivo deve habilitar
o seu receptor para, no máximo, macResponseWaitTime. Se o dispositivo recebe com êxito o
comando de realinhamento de coordenador dentro deste tempo, o dispositivo termina a verificação.
Se esse comando não for recebido, o processo é repetido para o próximo canal e processo termina
quando todos os canais forem verificados. Um exemplo de diagrama de sequência do procedimento
de varredura de órfão e relinhamento de coordenador é mostrado na Figura 48.
No payload, o campo PAN Identifier deve conter o identificador de PAN que o coordenador
pretende utilizar para todas as futuras comunicações. O campo Coordinator Short Address deve
conter o valor de macShortAddress. Channel Number deve conter o número do canal que o
coordenador pretende utilizar paratodas as futuras comunicações.
Se o comando de realinhamento é broadcasted para a PAN, o campo Short Address deve ser
configurado para 0xFFFF e ignorado na recepção. Se o comando é enviado diretamente para um
dispositivo órfão, este campo deve conter o endereço curto que o dispositivo órfão deve utilizar para
operar na PAN. Se o dispositivo órfão não possuir um endereço curto porque ele sempre usa o seu
endereço estendido, este campo deve conter o valor 0xFFFE. O campo Channel Page (vide Figura
51), se presente, deve conter a página do canal que o coordenador pretende usar para todas as
futuras comunicações. Este campo pode ser omitido se a página de novo canal é a mesma que a
anterior página do canal.
O comando de pedido de GTS é usado por um dispositivo associado que está solicitando do
coordenador PAN a alocação de um novo GTS ou a desalocação de um GTS existente. O formato
do comando é ilustrado na Figura 52.
No MHR, o campo Destination Addressing Mode deve indicar que a informação de endereço
destino não está presente, e o Source Addressing Mode deve indicar endereçamento curto. O campo
Frame Pending deve ser zero e ignorado na recepção e o AR deve ser colocado em 1. O campo
Source PAN Identifier deve conter o valor de macPANId, e o Source Address o valor
macShortAddress.
O GTS Length contém o número de slots do superframe sendo requisitados para o GTS. O campo
GTS Direction deve ser fixado em 1 se o GTS é para ser um GTS “receive-only” ou ajustado para
zero se é ser um GTS “transmit-only”. A direção do GTS é definida em relação definido em relação
à direção das transmissões de quadros de dados pelo dispositivo. O campo Characteristics Type
deve ser 1 se as características referem-se a uma alocação de GTS ou zero referem-se a uma
desalocação de GTS.