A camada da conexão de dados
A camada de conexão de dados da norma 802.11 é composta por duas subcamadas, a camada de controle da conexão lógica (LLC - Logical Link Control) e a camada de controle de acesso ao suporte (MAC - Media Access Control).
A camada MAC define dois métodos de acesso diferentes: o método CSMA/CA, que utiliza a Distributed Coordination Function (DCF) e o método Point Coordination Function (PCF).
O método de acesso CSMA/CA
Numa rede local
Ethernet tradicional, o método de acesso utilizado pelas máquinas é o Carrier Sense Multiple Access with Collision Detect (CSMA/CD), no qual cada máquina é livre de se comunicar a qualquer momento. Toda máquina que envia uma mensagem verifica se nenhuma outra mensagem foi enviada ao mesmo tempo, por outra máquina. Se for o caso, as duas máquinas aguardam durante um tempo aleatório, antes de recomeçar a emitir.
Num ambiente sem fio, este método não é possível na medida em que duas estações que se comunicam com um receptor não se ouvem, necessariamente, mutuamente, devido ao seu raio de alcance. Assim, a norma 802.11 propõe um protocolo similar chamado Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA). O protocolo CSMA/CA utiliza um mecanismo de anti-colisão baseado num princípio de recepção recíproca entre o emissor e o receptor:

A estação que quer emitir ouve a rede. Se a rede estiver congestionada, a transmissão será diferida. Caso contrário, se os meios de comunicação estiverem livres durante um determinado tempo (chamado DIFS - Distributed inter Frame Space), então, a estação poderá emitir. A estação transmitirá uma mensagem chamada Request to send (RTS – Pedido a ser emitido) com informações sobre o volume de dados que ela quer emitir, além de sua velocidade de transmissão. O receptor (geralmente, um ponto de acesso) responderá
Clear To Send (CTS - ok para emitir) e, assim, a estação começará a emissão dos dados.
Na recepção de todos os dados emitidos pela estação, o receptor enviará um aviso de recepção (ACK). Todas as estações vizinhas esperarão um tempo que consideram ser o necessário para a transmissão do volume da informação a ser emitida na velocidade anunciada.
Soma de controle
A camada MAC do protocolo 802.11 oferece um mecanismo de
controle de erro que permite verificar a integridade das tramas. Trata-se de uma diferença fundamental com o padrão Ethernet. Na realidade, a Ethernet não propõe nenhum sistema de detecção ou correção de erros, esta tarefa é deixada para os protocolos de transportes de nível superior (
TCP).
Numa rede sem fios, a taxa de erro é mais elevada, é a razão pela qual um controle de erro foi integrado ao nível da camada de ligação de dados. O controle de erro baseia-se no seguinte polinômio de grau 32:
x32+x26+x23+x22+x16+x12+x10+x8+x7+x5+x4+x2+x+1
Fragmentação e remontagem
Por outro lado, a taxa de erro de transmissão nas redes sem fio aumenta geralmente com pacotes de tamanho considerável, é a razão pela qual a norma 802.11 oferece um mecanismo de fragmentação, permitindo recortar uma trama em vários pedaços (fragmentos).
Formato das tramas
O padrão 802.11 define o formato das tramas trocadas. Cada trama é constituída de um cabeçalho (chamada MAC header, com um comprimento de 30 bytes), de um corpo e de um FCS (Frame Sequence Check) que permite a correção do erro:
FC
(2) | D/ID
(2) | Endereço 1
(4 octets) | Endereço 2
(4 octets) | Endereço 3
(4 octets) | SC
(2) | Endereço 4
(4 octets) |
Corpo da trama
(0 a 2312 bytes)
|
Veja a descrição destes campos:
FC (Frame Control): este campo de dois bytes é constituído pelas informações seguintes:
Versão de protocolo
(2 bits) | Tipo
(2 bits) | Subtipo
(4 bits) |
To DS
(1 bit) | From DS
(1 bit) | More Frag
(1 bit) | Retry
(1 bit) | Power Mgt
(1 bit) | More Data
(1 bit) | WEP
(1 bit) | Order
(1 bit) |
Versão de protocolo: este campo de 2 bits permitirá considerar as evoluções de versão do padrão 802.11. O valor é igual a zero para a primeira versão.
Tipo e subtipo: estes campos, respectivamente de 2 e 4 bits, definem o tipo e o subtipo das tramas explicadas no quadro abaixo. O tipo
gestão corresponde aos pedidos de associação assim como as mensagens de anúncio do ponto de acesso. O tipo
controle é usado para o acesso aos meios de comunicação para pedir autorizações para emitir. Por último, o tipo
dados diz respeito ao envio de dados (a maior parte do tráfego da rede).
To DS: este bit vale 1 quando a trama se destina ao sistema de distribuição (DS), ele vale zero nos outros casos. Qualquer trama enviada por uma estação com destino a um ponto de acesso possui assim um campo
To DS posicionado em 1.
From DS: este bit vale 1 quando a trama provém do sistema de distribuição (DS), ele vale zero nos outros casos. Assim, quando os dois campos
To e
From são posicionados em zero, trata-se de uma comunicação direta entre duas estações (modo ad hoc).
More Fragments (fragmentos suplementares): permite indicar (quando vale 1) que restam fragmentos a serem transmitidos.
Retry: este bit especifica que o fragmento em curso é uma retransmissão de um fragmento previamente enviado (e certamente perdido).
Power Management (gestão de energia): indica, quando ele está em 1, que a estação que enviou este fragmento entra em modo de gestão de energia.
More Data (gestão de energia) : este bit, utilizado para o modo de gestão de energia, é usado pelo ponto de acesso para especificar a uma estação que tramas adicionais estão armazenadas esperando.
WEP : este bit indica que o algoritmo de codificação WEP foi utilizado para codificar o corpo da trama.
Order (ordem): indica que a trama foi enviada utilizando a classe de serviço estritamente ordenada (Strictly-Ordered service class).
Duração/ID: este campo indica a duração do uso do canal de transmissão.
Campo de endereços: uma trama pode conter até 3 endereços além do endereço de 48 bits.
Controle de sequência: este campo permite distinguir os diversos fragmentos de uma mesma trama. Ele é composto por dois subcampos que permitem ordenar os fragmentos novamente: o número do fragmento e o número da sequência.
CRC: é uma soma de controle que serve para verificar a integridade da trama.
A tabela abaixo resume os tipos e subtipos de tramas encapsulados no campo de controle de trama do cabeçalho MAC:
Tipo
|
Descrição do tipo
|
Subtipo
|
Descrição do subtipo |
|---|
00
|
Management (gestão)
|
0000
|
Association request (pedido de associação) |
00
|
Management (gestão)
|
0001
|
Association response (resposta de associação) |
00
|
Management (gestão)
|
0010
|
Reassociation request (pedido de nova associação) |
00
|
Management (gestão)
|
0011
|
Reassociation response (pedido de nova associação) |
00
|
Management (gestão)
|
0100
|
Probe request (pedido de verificação) |
00
|
Management (gestão)
|
0101
|
Probe response (resposta de verificação) |
00
|
Management (gestão)
|
0110-0111
|
Reserved (reservado) |
00
|
Management (gestion)
|
1000
|
Beacon (tag) |
00
|
Management (gestão)
|
1001
|
Annoucement traffic indication message (ATIM) |
00
|
Management (gestão)
|
1010
|
Disassociation (desassociação) |
00
|
Management (gestão)
|
1011
|
Authentication (autenticação) |
00
|
Management (gestão)
|
1100
|
Deauthentication (desautenticação) |
00
|
Management (gestão)
|
1101-1111
|
Reserved (reservado) |
01
|
Control (controle)
|
0000-1001
|
Reserved (reservado) |
01
|
Control (controle)
|
1010
|
Power Save (PS)-Poll (economia de energia) |
01
|
Control (controle)
|
1011
|
Request To Send (RTS) |
01
|
Control (controle)
|
1100
|
Clear To Send (CTS) |
01
|
Control (controle)
|
1101
|
ACK |
01
|
Control (controle)
|
1110
|
Contention Free (CF)-end |
01
|
Control (controle)
|
1111
|
CF-end + CF-ACK |
10
|
Data (dados)
|
0000
|
Data (dados) |
10
|
Data (dados)
|
0001
|
Data (dados) + CF-Ack |
10
|
Data (dados)
|
0010
|
Data (dados) + CF-Poll |
10
|
Data (dados)
|
0011
|
Data (dados) + CF-Ack+CF-Poll |
10
|
Data (dados)
|
0100
|
Null function (no Data (dados)) |
10
|
Data (dados)
|
0101
|
CF-Ack |
10
|
Data (dados)
|
0110
|
CF-Poll |
10
|
Data (dados)
|
0111
|
CF-Ack + CF-Poll |
10
|
Data (dados)
|
1000-1111
|
Reserved (reservado) |
11
|
Data (dados)
|
0000-1111
|
Reserved (reservado) |
Point Coordination Function (PCF)
O
Point Coordination Function (PCF) é um modo de acesso controlado. Ele se baseia na interrogação, uma a uma, das estações, ou
polling, controlada pelo ponto de acesso. Uma estação pode emitir apenas se for autorizada e só pode receber se for selecionada. Este método foi concebido para as aplicações em tempo real (vídeo ou voz) que precisam de uma gestão do prazo durante as transmissões de dados.