La couche liaison Wi-Fi (802.11 ou WiFi)


 

La couche liaison de données


La couche Liaison de données de la norme 802.11 est composé de deux
sous-couches : la couche de contrôle de la liaison logique (Logical Link Control, notée LLC)
et la couche de contrôle d'accès au support (Media Access Control, ou MAC).


La couche MAC définit deux méthodes d'accès différentes :

  • La méthode CSMA/CA utilisant la Distributed Coordination Function (DCF)
  • La Point Coordination Function (PCF)

 

La méthode d'accès CSMA/CA


Dans un réseau local Ethernet classique, la méthode
d'accès utilisée par les machines est le CSMA/CD (Carrier Sense Multiple Access with Collision Detect),
pour lequel chaque machine est libre de communiquer à n'importe quel moment. Chaque machine envoyant un message
vérifie qu'aucun autre message n'a été envoyé en même temps par une autre machine. Si c'est le cas, les
deux machines patientent pendant un temps aléatoire avant de recommencer à émettre.


Dans un environnement sans fil ce procédé n'est pas possible dans la mesure
où deux stations communiquant avec un récepteur ne s'entendent pas forcément mutuellement
en raison de leur rayon de portée. Ainsi la norme 802.11 propose un protocole similaire appelé
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance).


Le protocole CSMA/CA utilise un mécanisme d'esquive de collision basé sur
un principe d'accusé de réceptions réciproques entre l'émetteur et le récepteur :

RTS / CTS / Data / ACK


La station voulant émettre écoute le réseau. Si le réseau est encombré, la
transmission est différée. Dans le cas contraire, si le média est libre pendant un temps
donné (appelé DIFS pour Distributed Inter Frame Space), alors la station peut émettre.
La station transmet un message appelé Request To Send (noté RTS
signifiant Demande pour émettre) contenant des informations sur le volume des données qu'elle souhaite émettre et
sa vitesse de transmission. Le récepteur (généralement un point d'accès) répond
un Clear To Send (CTS, signifiant Le champ est libre pour émettre), puis la station
commence l'émission des données.


A réception de toutes les données émises par la station, le récepteur
envoie un accusé de réception (ACK). Toutes les stations avoisinantes patientent alors pendant un temps qu'elle considère être
celui nécessaire à la transmission du volume d'information à émettre à la vitesse annoncée.
 

Somme de contrôle


La couche MAC du protocole 802.11 offre un mécanisme de contrôle d'erreur permettant
de vérifier l'intégrité des trames.
Il s'agit là d'une différence fondamentale avec le standard Ethernet. En
effet Ethernet ne propose aucun système de détection ou de correction d'erreurs, cette tâche
étant laissée aux protocoles de transports de niveau supérieur (TCP).


Dans un réseau sans fil le taux d'erreur est plus élevé, c'est la raison
pour laquelle un contrôle d'erreur a été intégré au niveau de la couche liaison de données.
Le contrôle d'erreur est basé sur le polynôme de degré 32 suivant :

x32+x26+x23+x22+x16+x12+x10+x8+x7+x5+x4+x2+x+1
 

Fragmentation et réassemblage


D'autre part le taux d'erreur de transmission sur les réseaux sans fils
augmente généralement avec des paquets de taille importante,
c'est la raison pour laquelle la norme 802.11 offre un mécanisme de fragmentation,
permettant de découper une trame en plusieurs morceaux (fragments).
 

Format des trames


Le standard 802.11 définit le format des trames échangées. Chaque trame est constituée
d'un en-tête (appelé MAC header, d'une longueur de 30 octets), d'un corps et d'un FCS (Frame Sequence Check)
permettant la correction d'erreur.


FC
(2)
D/ID
(2)
Adresse 1
(4 octets)
Adresse 2
(4 octets)
Adresse 3
(4 octets)
SC
(2)
Adresse 4
(4 octets)
Corps de la trame
(0 à 2312 octets)
FCS
(2)




Voici la description de ces champs :

  • FC (Frame Control, en français contrôle de trame) : ce champ de deux octets

est constitué des informations suivantes :


Version de protocole
(2 bits)
Type
(2 bits)
Sous-Type
(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)



    • Version de protocole : ce champs de 2 bits permettra de prendre en compte les évolutions de version du standard 802.11.

La valeur est égale à zéro pour la première version
    • Type et Sous-type : ces champs, respectivement de 2 et 4 bits, définissent le type et le sous-type des trames

explicités dans le tableau ci-dessous. Le type gestion correspond aux demandes d'association ainsi qu'aux
messages d'annonce du point d'accès. Le type contrôle est utilisé pour l'accès au média
afin de demander des autorisations pour émettre. Enfin le type données concerne les envois de données
(la plus grande partie du traffic).
    • To DS : ce bit vaut 1 lorsque la trame est destinée au système de distribution (DS), il vaut

zéro dans les autres cas. Toute trame envoyée par une station à destination d'un point d'accès
possède ainsi un champ To DS positionné à 1.
    • From DS : ce bit vaut 1 lorsque la trame provient du système de distribution (DS), il vaut

zéro dans les autres cas. Ainsi, lorsque les deux champs To et From sont positionnés à
zéro il s'agit d'une communication directe entre deux stations (mode ad hoc).
    • More Fragments (fragments supplémentaires) : permet d'indiquer (lorsqu'il vaut 1) qu'il reste des fragments à transmettre
    • Retry : ce bit spécifie que le fragment en cours est une retransmission d'un fragment précédemment

envoyé (et sûrement perdu)
    • Power Management (gestion d'énergie) : indique, lorsqu'il est à 1, que la station ayant envoyé ce fragment

entre en mode de gestion d'énergie
    • More Data (gestion d'énergie) : ce bit, utilisé pour le mode de gestion d'énergie,

est utilisé par le point d'accès pour spécifier à une station que des trames supplémentaires sont
stockées en attente.
    • WEP : ce bit indique que l'algorithme de chiffrement WEP a été utilisé pour chiffrer

le corps de la trame.
    • Order (ordre) : indique que la trame a été envoyée en utilisant la classe de

service strictement ordonnée (Strictly-Ordered service class)
  • Durée / ID : Ce champ indique la durée d'utilisation du canal de transmission.
  • Champs adresses : une trame peut contenir jusqu'à 3 adresses en plus de l'adresse

de 48 bits
  • Contrôle de séquence : ce champ permet de distinguer les divers fragments d'une même

trame. Il est composé de deux sous-champs permettant de réordonner les fragments :
    • Le numéro de fragment
    • Le numéro de séquence
  • CRC : une somme de contrôle servant à vérifier l'intégrité

de la trame.



Le tableau ci-dessous récapitule les types et sous-type de trame encapsulés dans le
champ de contrôle de trame de l'en-tête MAC :



Type

Description du type

Sous-type

Description du sous-type

00

Management (gestion)

0000

Association request (requête d'association)

00

Management (gestion)

0001

Association response (réponse d'association)

00

Management (gestion)

0010

Reassociation request (requête ré-association)

00

Management (gestion)

0011

Reassociation response (réponse de ré-association)

00

Management (gestion)

0100

Probe request (requête d'enquête)

00

Management (gestion)

0101

Probe response (réponse d'enquête)

00

Management (gestion)

0110-0111

Reserved (réservé)

00

Management (gestion)

1000

Beacon (balise)

00

Management (gestion)

1001

Annoucement traffic indication message (ATIM)

00

Management (gestion)

1010

Disassociation (désassociation)

00

Management (gestion)

1011

Authentication (authentification)

00

Management (gestion)

1100

Deauthentication (désauthentification)

00

Management (gestion)

1101-1111

Reserved (réservé)

01

Control (contrôle)

0000-1001

Reserved (réservé)

01

Control (contrôle)

1010

Power Save (PS)-Poll (économie d'énergie)

01

Control (contrôle)

1011

Request To Send (RTS)

01

Control (contrôle)

1100

Clear To Send (CTS)

01

Control (contrôle)

1101

ACK

01

Control (contrôle)

1110

Contention Free (CF)-end

01

Control (contrôle)

1111

CF-end + CF-ACK

10

Data (données)

0000

Data (données)

10

Data (données)

0001

Data (données) + CF-Ack

10

Data (données)

0010

Data (données) + CF-Poll

10

Data (données)

0011

Data (données) + CF-Ack+CF-Poll

10

Data (données)

0100

Null function (no Data (données))

10

Data (données)

0101

CF-Ack

10

Data (données)

0110

CF-Poll

10

Data (données)

0111

CF-Ack + CF-Poll

10

Data (données)

1000-1111

Reserved (réservé)

11

Data (données)

0000-1111

Reserved (réservé)

 

Point Coordination Function (PCF)


La Point Coordination Function (PCF) appelée mode d'accès contrôlé.
Elle est fondée sur l'interrogation à tour de rôle des stations, ou polling,
contrôlée par le point d'accès. Une station ne peut émettre que si elle est
autorisée et elle ne peut recevoir que si elle est sélectionnée.
Cette méthode est conçue pour les applications temps réel (vidéo, voix)
nécessitant une gestion du délai lors des transmissions de données.

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

Ce document intitulé «  La couche liaison Wi-Fi (802.11 ou WiFi)  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.