• Nenhum resultado encontrado

2.3 SUBCAMADA MAC

2.3.3 Protocolo CSMA/CA

Conforme mencionado no início da seção 2.3, o problema cen-

tral nos enlaces de múltiplo acesso é determinar qual o dispositivo que

irá transmitir em um determinado tempo. Uma abordagem tradici-

onalmente empregada em LANs Ethernet é o CSMA (Carrier Sense

Multiple Access).

O CSMA é um protocolo probabilístico, baseado na detecção de

portadora (carrier sense), no qual um nodo escuta o meio para veri-

car a existência de outros tráfegos antes de fazer a sua transmissão.

Caso o canal esteja ocioso, o nodo envia sua mensagem (quadro) ime-

diatamente; porém, caso ele detecte a presença de um sinal de outro

dispositivo, o envio de sua mensagem é postergado. O nodo irá então

monitorar constantemente o meio até que a transmissão em andamento

seja concluída, momento no qual enviará o quadro. Por esse motivo,

esse modo de acesso empregado pelo CSMA é chamado de 1-persistente

(100% de probabilidade de transmissão após detectar que o canal está

ocioso).

Entretanto, em ambientes sem o, essa característica de escuta

contínua do meio tem um alto custo associado. No caso das RSSF, essa

técnica se mostra inadequada pois eleva demasiadamente o consumo

energético dos nodos, algo que é altamente indesejável para esse tipo

de rede. Por esse motivo, as RSSF utilizam uma variação do CSMA

conhecida como CSMA/CA (Carrier Sense Multiple Access with Colli-

sion Avoidance), a qual tenta evitar que uma colisão ocorra ao invés de

posteriormente ter que detectá-la. Para atingir esse objetivo, os nodos

devem esperar um tempo aleatório (chamado backo ) antes de vericar

a disponibilidade do canal. Nesse período, o rádio pode ser desligado

para poupar energia dos nodos.

O padrão IEEE 802.15.4 estabelece duas versões do CSMA/CA:

com e sem compartimentos (slots). O primeiro é utilizado no modo

com beacon e o segundo no modo sem beacon. O princípio básico de

funcionamento de ambas as versões é o mesmo. Porém, no modo com

beacon, o limite do período de backo de cada dispositivo deve estar

alinhado com o limite de um slot do superquadro do seu coordenador.

Dessa forma, o CSMA/CA com compartimentos tem uma complexi-

dade um pouco maior, pois auxilia na manutenção da sincronia entre

os nodos.

Três variáveis estão envolvidas com o processo de escalonamento

do meio no protocolo CSMA/CA:

NB - Number of Backos: representa o número de vezes que o al-

goritmo CSMA/CA, na tentativa de acessar o canal, foi obrigado

a entrar em backo. Seu valor deve ser inicializado em zero antes

da transmissão de cada nova mensagem.

CW - Contention Window: a janela de contenção é dividida em

uma série de compartimentos de mesmo tamanho, sendo nume-

rados de 0 até CW. Para reduzir a probabilidade de colisão, um

nodo escolhe aleatoriamente um valor entre [0,CW] para con-

gurar seu tempo de backo. Além disso, o CW é utilizado para

determinar a quantidade de vezes em sequência que o CCA deve

reportar que o canal está ocioso antes do dispositivo começar a

sua transmissão. Isso é feito com o intuito de prevenir potenci-

ais colisões de quadros de reconhecimento, sendo por esse motivo

utilizado somente na versão do CSMA/CA com compartimentos.

Cada vez que o canal é detectado como ocupado, o CW é reinici-

ado novamente para o seu valor inicial.

BE - Backo Exponent: valor utilizado pela função de cálculo do

backo [0, 2

BE

- 1], o qual estabelece um limite superior para

esse tempo de espera.

CSMA/CA com compartimentos. Conhecido como Binary Exponen-

tial Backo (BEB), o algoritmo que dene o seu funcionamento pode

ser dividido nas seguintes etapas (o número entre parênteses no uxo-

grama da Figura 7 corresponde ao início de cada etapa):

1. Primeiramente, a subcamada MAC deve inicializar as variáveis

NB, CW e BE. O valor padrão inicial de NB é 0 e de CW é 2. Se

o dispositivo não for congurado para estender a vida útil da ba-

teria, então BE será inicializado com o valor mínimo previamente

estabelecido (macMinBE). Caso contrário, o BE será o menor va-

lor entre 2 e o macMinBE. Logo na sequência, o algoritmo busca

determinar o limite para o próximo período de backo, de acordo

com o slot atual do superquadro.

2. Espera aleatória para evitar colisões: o algoritmo determina o

tempo que um dispositivo deve esperar para avaliar novamente a

atividade do canal. O intervalo de números a partir do qual esse

novo backo será estabelecido obedece a função [0, 2

BE

- 1]. O

tempo total de backo será o resultado da multiplicação do va-

lor aleatoriamente selecionado dentro desse intervalo pelo Backo

Period (BP), que é a unidade básica de tempo e corresponde a

0,32 ms.

3. Após o término do período de backo, a subcamada MAC requi-

sita à camada PHY que execute o CCA, o qual deve ser iniciado

no limite do período de backo.

4. Se o canal é detectado como ocupado, CW é reiniciado para 2

e NB e BE são incrementados em uma unidade. Entretanto,

BE não pode ultrapassar seu valor máximo previamente denido

(macMAXBE). A cada aumento do BE, o máximo da função que

regula o cálculo do backo cresce exponencialmente. A tendência

é que o aumento desse intervalo espalhe os backos dos diferentes

dispositivos, diminuindo a probabilidade de ocorrerem novas co-

lisões e, consequentemente, melhorando a chance de sucesso das

futuras transmissões. Se NB for menor que o número máximo

de backos sucessivos permitidos à um dispositivo (macMAXCS-

MABackos), uma nova tentativa de transmissão será realizada e

o algoritmo retorna a etapa 2. Caso contrário o algoritmo encerra

com um erro de falha ao acessar o canal.

5. Porém, se o canal é avaliado como ocioso, o MAC decrementa o

valor de CW em uma unidade. Caso CW for diferente de 0, o

algoritmo voltará ao passo 3 para executar uma nova vericação

do canal. No momento em que CW for igual a 0, o MAC está apto

a iniciar a transmissão do seu quadro no limite do próximo período

de backo, desde que toda a transação (envio da mensagem e

resposta de reconhecimento) possa ser nalizada antes do término

do CAP. Se esse não for o caso, a transmissão é postergada para

o CAP do próximo superquadro.

Documentos relacionados