Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
Wifi - 802.11
Introduction
Topologies
(ad hoc / infrastructure)
Avancé:Transmission de données
Avancé:Liaison de données
Sécurité
Risques
Sécurisation
Version 2.0.3
La couche liaison de données du Wi-Fi Page précédente Page suivante Retour à la page d'accueil

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éception 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é Ready To Send (noté RTS signifiant prêt à é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 au 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 fil 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é)


Page précédente Page suivante

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.