• Sonuç bulunamadı

SANAL DÜNYANIN VE İLGİLİ KAVRAMLARIN TANIMI I MMO Tipi Oyun Türler

B. Sanal Dünya Ekonomisi ve Devletlerin Bu Alanı Regüle Etmek İstemelerinin Sebepleri:

V. Avatar Nedir?

A norma WirelessHART [IEC 62591: Industrial communication networks - Wireless

communication network and communications profiles - WirelessHART 2010] decompõe

a subcamada MAC em três componentes primários como mostrados na Figura 2.15. O funcionamento destes componentes é modelado pelas máquinas de estado:

• TDMA: especifica o funcionamento geral da subcamada MAC.

• XMIT: Coordena o funcionamento do transmissor que envia um DLPDU.

• RECV: Coordena o funcionamento do receptor que escuta um link e recebe um

DPDU.

Figura 2.15: Organização das máquinas de estado da camada de enlace.

TDMA

O máquina de estados TDMA é mostrada na Figura 2.16. A operação da máquina se inicia no estado Idle (Ocioso), quando o dispositivo entra na rede. O dispositivo recebe as configurações da lista de superframes, dos grafos e links, e começa a receber DLPDUs de outros dispositivos ou requisições de transmissão de sua camada de rede. Sua operação pode ser dividida em quatro partes:

2.3. CAMADA DE ENLACE 23

Figura 2.16: Máquina de estados TDMA.

• Gerenciar o escalonamento.

• Receber DLPDUs de outros dispositivos. • Manter a sincronia do tempo.

O gerenciamento do escalonamento inclui a criação e manutenção dos superframes,

links e dados sobre os dispositivos vizinhos. Com decorrer do tempo e das transmissões

o escalonamento deve ser atualizado. O escalonamento de links consiste em determinar o que será feito no próximo slot e avaliar superframes ativos, links e DLPDUs a serem transmitidos.

O escalonamento determina o DLPDU a ser enviado. Todos os links de recepção devem ser atendidos por uma tentativa de recepção de DLPDU. Já que existem links que podem ser alocados para possíveis retransmissões, em geral existem mais links de recepção do que de transmissão. Uma vez que a maioria das transmissões é bem sucedida, muitos links de recepção podem ficar ociosos, não correspondendo a uma transmissão.

Estado Idle: Os seguintes eventos podem ocorrer no estado IDLE:

• Slot Timeout: a atividade mais freqüente realizada pela máquina TDMA é o evento

de Slot timeout, que indica que um slot precisa ser atendido. Se o próximo link a ser escalonado for um link de transmissão e houver um DLPDU na fila para ser transmitido, o estado da máquina deverá ir para estado Transmite (Talk). Senão, caso seja um link de recepção, então a máquina TDMA irá para o estado Escuta (Listen).

• Modificações na listas de superframes ou links do dispositivo: Isto afeta direta-

mente o escalonamento. Estas mudanças implicam em revisões nas tabelas de links e podem resultar também em um diferente número de tentativas de recepção e trans- missão por segundo.

• Requisição de transmissão da camada de enlace: este evento adiciona um DLPDU

a fila de transmissão do dispositivo e pode afetar o escalonamento de links.

Estado Talk: Neste estado, o dispositivo tenta transmitir o DLPDU aos seus dispo-

sitivos vizinhos. A operação deste estado é detalhada na máquina de estados XMIT. A tentativa pode resultar em sucesso ou em diversos resultados negativos.

• Uma propagação bem sucedida do DLPDU para o endereço broadcast ocorre assim

que o DLPDU é transmitido. O buffer de DLPDU deve ser liberado imediatamente após o término da transmissão do DLPDU e o escalonamento de links deve ser realizado.

• Uma propagação bem sucedida do DLPDU para um endereço unicast ocorre quando

um ACK válido é recebido com sucesso. Isso indica que o DLPDU foi propagado com sucesso e que o buffer deve ser liberado.

• Se o ACK contiver um código de reposta indicando erro, então o destino vizinho

recusou o DLPDU. Quando isso ocorre, o DLPDU é retido no buffer e deve-se tentar uma retransmissão.

• Caso não seja recebido nenhum ACK então o DLPDU deve ser reescalonado e

retransmitido. Se a validade do DLPDU expirar, o DLPDU é retornado a camada de rede para que sejam tomadas as medidas cabíveis.

2.3. CAMADA DE ENLACE 25

• Se ocorre uma falha na transmissão na máquina XMIT, a transação é abortada e o

escalonamento de link é realizado.

Com uma transmissão bem sucedida e se o endereço de destino não for broadcast, a máquina TDMA deve ir para o estado Wait for ACK (Espera ACK). Ao entrar nesse estado o temporizador RxDelay deve ser configurado para o TsRxAckDelay e o temporizador RxWait (janela de tempo para a recepção) deve ser configurado para o TsAckWait.

Estado Wait for ACK: A máquina TDMA permanece neste estado até que a máquina

RECV complete seu funcionamento. Se a máquina RECV indica que “Não Houve Re- sposta” a transação falha. Caso se trate de um link compartilhado (shared link), o Back- off_exp e o Backoff_cntr devem ser recalculados para que ser produza um tempo de back-

off aleatório antes da próxima retransmissão em um link compartilhado. Caso não se trate

de um link compartilhado, o Backoff_exp e o Backoff_cntr devem ser zerados. Por fim, depois do escalonamento de links, a máquina de estados TDMA muda para o estado Ocioso (Idle).

Caso o ACK seja recebido e contenha um código de resposta indicando sucesso, então a comunicação foi bem sucedida. Entretanto, se um código de resposta indicando erro for recebido, então o vizinho não aceitou o DLPDU. Em ambos os casos, a sincronização de relógio da rede pode ser feita pela campo Time-Ajustment do ACK de resposta do vizinho. Caso o vizinho seja referência de tempo (time-source) para o dispositivo, então o dispositivo deve ressincronizar seu relógio utilizando o campo Time-Ajustment. Se o vizinho não é referência de tempo, nenhuma atualização deve ser feita.

Receber um ACK indica que o vizinho recebeu a mensagem com sucesso e a aceitou. O buffer de DLPDU contendo o DLPDU transmitido deve ser liberado. A máquina TDMA deve mudar para o estado Idle e e realizar o escalonamento do links.

Estado Listen: Nesse estado, o dispositivo deve tentar receber o DLPDU. A operação

do estado é mostrado pela máquina RECV. A recepção de um DLPDU tem três possíveis finais:

• O destino final do DLPDU é o próprio dispositivo, sendo o DLPDU retido para ser

processado pelo dipositivo.

• O destino final do DLPDU não é o próprio dispositivo, logo o DLPDU deve ser

encaminhado para o próximo dispositivo em direção ao seu destino final.

• O DLPDU não é destinado a este dispositivo, então deve ser descartado.

Em todos os casos que o DLPDU é recebido, a tabela de vizinhos deve ser atualizada com as respectivas informações ou até mesmo criar-se uma nova entrada nesta tabela caso necessário. O ciclo de recepção de um DLPDU consiste na tentativa de recepção do mesmo, a validação dos dados recebidos e, caso a transmissão não seja em broadcast, a transmissão de uma resposta a um DLPDU válido recebido.

Quando se tenta receber um DLPDU, o temporizador RxDelay deve ser configurado para o TxRxOffset e o temporizador RxWait deve ser configurado para o TsTxWait. O tempo de TsTxWait define a duração da janela de recepção e representa o maior tempo entre transmissão e recepção entre duas estações vizinhas permitido pela norma Wire- lessHART.

Se nenhum DLPDU for recebido durante o estado Listen, então a máquina TDMA deve escalonar os links e retornar ao estado Idle. Se uma DLPDU é recebida, então o relógio deverá ser sincronizado. TsError deve ser calculado pela diferença entre o tempo real de recebimento do DLPDU e o tempo esperado de recebimento.se o vizinho trans- missor do DLPDU for uma referência de sincronização do relógio, o dispositivo deve acertar seu relógio de acordo com o TsError medido. Se o vizinho transmissor não for uma referência deste dispositivo, nenhuma correção deverá ser efetuada.

Enquanto estiver no estado Listen e após uma recepção bem sucedida de um DLPDU, o dispositivo deve determinar se deve aceitar o DLPDU ou descartá-lo. O dispositivo aceita ou descarta um DLPDU baseado na prioridade do DLPDU, limiar de prioridade atual (Priority_threshold) e no número de buffer de DLPDU ocupados no momento no dispositivo. Se o DLPDU é aceito pelo dispositivo, consumido na camada de enlace ou encaminhado para o a camada de rede utilizando o serviço de indicação Dl-Transmit enquanto a camada de enlace deve realizar o escalonamento de links.

Uma vez que a camada de enlace tenha decidido o destino do DLPDU, a máquina TDMA sai do estado Listen de seguinte maneira:

• Se o destino do DLPDU for o endereço de broadcast, a máquina TDMA deve ir

para o estado Idle.

• Se a transmissão não foi em broadcast e o DLPDU foi aceito, então o disposi-

tivo deve transmitir um ACK, com o código de resposta configurado para o valor “sucesso” para o respectivo transmissor de DLPDU recebido. A máquina TDMA deve mudar para o estado Answer (responde).

• Se a transmissão não foi em broadcast e o DLPDU não foi aceito, então o dispo-

sitivo deve transmitir um ACK, com o código de resposta configurado para o valor “error” para o respectivo transmissor de DLPDU recebido. A máquina TDMA deve mudar para o estado Answer (responde).

Estado Responde: O dispositivo deve copiar o Ts-Error no campo Time Adjustment do

ACK a ser transmitido. Nesse momento máquina TDMA opera a máquina de transmissão do ACK mostrada na Figura 2.17. Esta máquina ACK é inicializada para a recepção do DLPDU. O dispositivo deve copiar o valor do TsError (diferença entre o tempo real de recebimento do DLPDU e o tempo esperado de recebimento) calculado campo Time-

Adjustment do ACK.

Após a transmissão do ACK, a máquina TDMA deve realizar o escalonamento de

links e mudar para o estado Idle.

Máquina XMIT

A Figura 2.18 mostra a máquina de estados que modela o comportamento do disposi- tivo para enviar um DLPDU por um slot de tempo compartilhado ou dedicado. A máquina é iniciada para se transmitir um DLPDU.

Estado Idle: Quando à máquina XMIT, o dispositivo deve iniciar o temporizador

TxDelay. O tempo de TxDelay deve ser configurado de modo que o início da transmissão ocorra no centro da janela de recepção do dispositivo receptor. O dispositivo transmissor

2.3. CAMADA DE ENLACE 27

Figura 2.17: Máquina de estados ACK.

pode utilizars-se deste tempo para construir o DLPDU, rodar o algoritmo de encriptação AES-128 e gerar o MIC para o DLPDU. A máquina de estados deve mudar para o estado “Espera o início da Tx”.

Estado Espera o início da Tx: Enquanto estiver no estado “Espera o início da Tx”, o

dispositivo deve selecionar o canal da transmissão. Quando o temporizador TxDelay se esgotar, a máquina XMIT muda de estado por uma dessas maneiras:

• Se o CCAEnable tem o valor FALSO, então o dispositivo deve requisitar o envio

dos dados a camada física e ir para o estado “Envia Pacote”

• Se o CCAEnable tem o valor VERDADEIRO então o dispositivo deve requisitar

CCA (clear channel assessment- confirmação de canal livre) a Camada Física e ir para o estado “Realiza CCA”.

Realiza CCA: Nesse estado o dispositivo deve esperar até que a camada física tenha

completado o CCA.

• Caso a resposta da camada seja que o canal está OCIOSO

1. A máquina XMIT deve ir para o estado “Habilitar transmissor”.

2. A camada física deve ser notificada (Requisição PH-ENABLE) para colocar o rádio em modo de transmissão.

• Caso contrário, o dispositivo recebe a resposta “Canal Ocupado” da camada física,

e, então, a máquina XMIT deve ser terminada sinalizando falha na transmissão do DLPDU (XMIT Failure).

Figura 2.18: Máquina de estados XMIT.

Estado Habilitar transmissor: Quando o dispositivo recebe o retorno da chamada

PH-ENABLE com valor Habilitado, a máquina XMIT deve mudar para o estado “Enviar pacote”. Caso contrário, e o retorno seja o valor Desabilitado, a máquina XMIT deve ser terminada sinalizando falha na transmissão do DLPDU (XMIT Failure).

Estado Enviar Pacote: Nesse estado o dispositivo deve iniciar a transmissão do pacote

utilizando a requisição de serviço PH-DATA da camada física. Quando o dispositivo receber a confirmação da camada física, a máquina XMIT de ser terminada sinalizando o

2.3. CAMADA DE ENLACE 29

Máquina RECV

A Figura 2.19 mostra a máquina de estados que modela o recebimento de DLPDUs. Esta máquina é iniciada para receber um DLPDU que está sendo transmitido por um de seus vizinhos ou imediatamente após uma transmissão de um DLPDU para o recebimento da confirmação do mesmo (ACK).

Estado Idle: Quando a Máq RECV é iniciada:

• O dispositivo deve selecionar o canal baseado no channel offset do link pelo ASN. • O dispositivo deve requisitar à camada física que o rádio seja configurado para

receber sinais (requisição PH-ENABLE a camada física).

• O dispositivo deve inicializar o temporizador RxDelay.

• A máquina RECV deve ir para o estado “Espera Inicio do Rx”.

Durante o tempo RxDelay o rádio se configura e se sincroniza com o canal certo.

Estado Espera Inicio do Rx: Quando se expira p tempo RxDelay, a máquina RECV

deve ir para o estado “Escutar Pacote”. E iniciar o temporizador RxWait.

Escutar Pacote: A máquina RECV permanece no estado “Escutar Pacote” até que

o inicio de um DLPDU seja detectado ou o temporizador RxWait expire sua contagem. Caso o RxWait se esgote a tentativa de recpeção falha e o máquina deve ser terminada indicando “Sem resposta” e o dispositivo atualiza suas estatísticas de comunicação.

Caso o delimitador esperado seja detectado, o tempo de sua chegada deve ser ar- mazenado e a máquina RECV deve ir para o estado “Recebe Pacote” de modo a receber o DLPDU.

Recebe Pacote: Quando a máquina RECV recebe a sinalização da camada física, ela

deve realizar uma avaliação inicial do DLPDU recebido. Caso o endereço do DLPDU não seja o esperado para o link, a máquina deverá ser terminada sinalizando “Sem resposta” e o dispositivo atualiza suas estatísticas de comunicação. Caso contrário, a máquina deverá ir para o estado “Validar Pacote”.

Valida Pacote: Caso não haja erros de endereçamento no DLPDU recebido, então uma

validação mais aprofundada deve ser realizada. Caso o CRC (Cyclic redundancy check) esteja incorreto o quadro da camada física foi corrompido antes ou durante a recepção. A máquina RECV deve ser terminada com o valor “Pacote Descartado” e o dispositivo atualiza suas estatísticas de comunicação.

Caso o CRC esteja correto, o MIC ( Message integrity code) deve ser calculado e checado. Caso o MIC não seja o esperado, isto pode ser indicação de um possível ataque a rede. Todavia, a recepção é considerada falha e o dispositivo deve atualizar suas es- tatísticas de comunicação e de segurança. A máquina RECV deve ser terminada com a indicação de “Pacote não aceito”.

Caso o CRC e o MIC sejam válidos a máquina RECV termina sua operação indicando o tipo de quadro recebido.