SubCamada_MAC_Formato_do_Frame(1)

Propaganda
Formato do Quadro 802.15.4
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).
Figura 12 – Formato Genérico de uma MAC PDU
Figura 13 – Encapsulamento de uma MAC PDU na Camada Física
O cabeçalho contém informações sobre o tipo de quadro (a norma define quatro diferentes tipos de
quadro, todos eles baseados no formato genérico), o número de sequência (que varia de acordo com
o tipo de pacote enviado), as identificações de endereços (da rede PAN destinatária e remetente, e o
endereço do dispositivo destinatário e remetente) e um campo que informa as opções de segurança
utilizadas no quadro. O payload contém os dados provindos da camada acima e o rodapé (MFR)
contém a sequência de verificação de erros do quadro.
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 a 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.
Campo: Frame Control
O campo de controle do cabeçalho MAC possui o seguinte conteúdo:
Figura 14 – Formato do Campo Frame Control
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.
Acknowledgment Request (AR)
Especifica se um acknowledgment é requerido do receptor na recepção de um quadro de dados ou
de comando. Se igual a 1 o receptor deve enviar o ack, mas somente se as condições estabelecidas
para envio forem cumpridas (ex: o número de sequência incluído nos dados recebidos ou no
comando MAC deve ser copiado para o campo de número de sequência do quadro reconhecido.
Isso garante ao originador da transação saber que ele recebeu o a acknowledgment apropriado).
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.
Destination Addressing Mode e Source Addressing Mode
Podem assumir os seguintes valores (Figura 15):
Figura 15 – Valores possíveis de Destination Addressing Mode e Source Addressing Mode
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.
Campo: Sequence Number
Especifica a sequência de identificação do quadro. Para quadros beacon, especifica um BSN. Para
quadros do tipo data, acknowledgment ou command, o número de sequência DSN é usado para
fazer o casamento (“match”) de um quadro de acknowledgment com um quadro de dados ou um
quadro de comando.
Campo: Destination PAN Identifier
Quando presente, especifica o identificador único da PAN do receptor do quadro. Um valor de
0xFFFF representa o identificador de broadcast de PAN, que deve ser aceito como um identificador
de PAN válido por todos os dispositivos correntemente ouvindo naquele canal.
Campo: Destination Address
Quando presente, define o endereço do receptor. Um valor de 0xFFFF representa o endereço curto
de broadcast, que deve ser aceito como um endereço válido por todos os dispositivos correntemente
ouvindo naquele canal.
Campo: Source PAN Identifier
Quando presente, especifica o identificador único da PAN do dispositivo transmissor do quadro.
Este campo deve ser incluído no quadro apenas se o campo Source Addressing Mode é diferente de
zero. O identificador da PAN de um dispositivo é inicialmente determinado durante o processo de
associação do dispositivo à PAN mas pode mudar em decorrência de uma resolução de um conflito
de identificadores de PAN.
Campo: Source Address
Quando presente, especifica o endereço do dispositivo transmissor do quadro.
Campo: Auxiliary Security Header
Especifica informação requerida para o processamento de segurança. O campo deve estar presente
somente se o bit “Security Enabled” do campo de controle do cabeçalho estiver ligado.
Campo: Frame Payload
Contém informação específica do tipo de quadro. Se o bit “Security Enabled” cabeçalho estiver
ligado o payload pode estar protegido por criptografia.
Campo: FSC Frame
Contém o resultado da aplicação do CRC de 16 bits do ITU-T sobre o cabeçalho e o payload.
Tipos de Quadro MAC
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).
O Quadro de Sinalização (Beacon Frame)
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.
Figura 16 – Formato do Quadro Beacon
O quadro beacon carrega várias informações importantes sobre a rede. Ele especifica, dentre outras
coisas: a estrutura do superframe, a identificação do coordenador da PAN, informações sobre os
campos GTS, quem tem dados pendentes no coordenador e se o coordenador está aceitando novos
dispositivos, por exemplo.
Campo: Superframe Specification
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 MAC processar o pacote recebido
da camada física. Todo frame deve ser seguido de um período de IFS, cujo tamanho depende do
tamanho do quadro transmitido.
Figura 17 – IFS – Inter-Frame Space
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
O GTS é um campo de tamanho variável dentro do superframe e possui o seguinte formato:
Figura 18 – Formato do 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.
Figura 19 – Formato do Campo GTS Specification
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.
Figura 20 – Formato do Campo GTS Directions
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.
Device Short Address contém o endereço curto do dispositivo para o qual o GTS está associado,
GTS Starting Slot define o slot de início deste GTS dentro do superframe e GTS Length contém o
número de slots contíguos do superframe daquele GTS.
Figura 21 – Formato do Campo GTS List
Campo: Pending Address
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.
Figura 22(a) - Formato do campo Pending Address
Figura 22(b) – Formato do campo Pending Address Specification
O campo Address List, cujo tamanho é determinado pelos valores especificados no campo Pending
Address Specification, contém os endereços dos dispositivos que possuem correntemente
mensagens pendentes com o coordenador. A lista de endereços não deve conter o endereço
broadcast curto. 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.
Campo: Beacon Payload
É uma sequência opcional de bytes de tamanho limitado a aMaxBeaconPayloadLength,
especificada pela camada acima para ser transmistida no quadro beacon. O conjunto de bytes a ser
transmitido no payload é copiado de macBeaconPayload.
Download