7.1.04

Trame WIFI

III . LES TRAMES

Les paquets de données, provenant de la couche réseau, sont encapsulés au niveau 2 par un en-tête MAC, formant une MPDU (Mac Protocol Data Unit). Cette MPDU est ensuite encapsulée dans une seconde trame au niveau 1 (physique) pour permettre la transmission sur le média. Cette encapsulation consiste à rajouter un préambule et un en-tête à la MPDU, cet ensemble forme une PLCP-PDU. Le préambule et l'en-tête différent suivant la couche physique utilisée. Nous allons voir les différentes trames du niveau physique (PLCP-PDU), puis celles du niveau liaison de données (MPDU).

A . NIVEAU PHYSIQUE


Le préambule permet la détection du début de trame, la synchronisation de la trame, il permet la prise du canal pour l'émission ou CCA (Clear Channel Assesment).
L'en-tête contient diverses informations, variable suivant l'interface physique utilisée.

1 . TRAME FHSS

(802.11 FHSS) :

la trame FHSS du wifi

Préambule (preamble) en deux parties :

-80 bits de synchronisation (alternance de 0 et de 1) permet de sélectionner le meilleur point d'accès et de se synchroniser avec (PA et STA).

-SFD (Start Frame Delimiter) de 16 bits (0000 1100 1011 1101): indique le début de la trame.

En-tête (header) en trois parties :

-PLW (PLCP-PDU Length Word) sur 12 bits: indique la longueur (en nombre d'octets) de la trame (PLCP-PDU), cela permet à la couche physique déterminer la fin de la trame.

-PSF (PLCP Signaling Field) sur 4 bits: indique le débit utilisé sur l'interface radio. (1 ou 2 Mbits/s) pour la transmission des données (MPDU).

-HEC (Header Error Check) est un CRC de 16 bits permettant de détecter les erreurs des champs de l'en-tête (PLW et PSF).

Remarque : le préambule et l'en-tête sont toujours transmis à 1 Mbits/s.

2 . TRAME DSSS

(802.11 DSSS ; 802.11b) :

la trame DSSS du wifi

Préambule : identique à la trame FSSS, si ce n'est une longueur de synchronisation plus longue.et une valeur de 0xF3A0 (1111 0011 1010 0000) pour le SFD.

En-tête en quatre parties :

-Signal sur 8 bits : indique la vitesse sélectionnée pour la transmission des données (MPDU) :
0x0A pour 802.11 en mode BPSK (1Mbits/s)
0x14 pour 802.11 en mode QPSK (2Mbits/s)
0x37 pour 802.11b en mode QPSK (5,5Mbits/s)
0x6E pour 802.11b en mode QPSK (11Mbits/s)

-Service sur 8 bits : réservé pour un usage
futur (valeur 0x00 ?IEEE802.11)

-Lenght sur 16 bits : indique la longueur (en nombre d'octets) de la trame à suivre (MPDU), cela permet à la couche physique déterminer la fin de la trame.

-HEC (Header Error Check) est un CRC de 16 bits permettant de détecter les erreurs des champs de l'en-tête (Signal, Service et Lenght).

Remarque : le préambule et l'en-tête sont toujours transmis à 1 Mbits/s.
De plus pour la norme 802.11b il existe un deuxième type d'encapsulation dont le préambule est plus court (72bits au lieu de 144bits) :

trame DSSS preambule court

3 . TRAME OFDM

(802.11a, 802.11g):

La trame OFDM du WIFI

Préambule : réalisé grâce à une séquence ce douze symboles permettant la détection du signal par le récepteur et le début de la trame.

En-tête en six champs :

-RATE : indique le débit de transmission
-1 bit réservé toujours à 0
-Lenght : indique le nombre d'octets dans la trame.
-1 bit de parité des trois champs précédents
-Tail (en-queue) : champs réservé, toujours à 0
- Service : champ réservé, toujours à 0

MPDU :

-Tail : champ réservé, toujours à 0
-Pad : champ de padding (remplissage) de 6 bits minimum permettant une structure se comptant en octets.

B . NIVEAU MAC


Il existe trois sortes de trames : les trames de données, les trames de contrôle utilisées pour l'accès au support (RTS, CTS, ACK…) et les trames de gestion utilisées pour l'association à un point d'accès ou pour la synchronisation et l'authentification. La représentation de la trame est une représentation générale et ses champs changent suivant la fonction de celle-ci. La taille maximale d'une trame est de 2347 octets.

1 . FORMAT GENERAL.



EN-TÊTE (7 champs sur 30 octets): C'est la partie la plus complexe car elle intègre de nombreuses fonctions.

l'entete MAC du wifi

·Contrôle de trame (11 sous champs sur 2 octets):

Controle de la trame

-Version de protocole : toujours à 0 pour la version actuelle (2 bits)

-Type et sous type : représente les 3 sortes de trames et leurs fonctions (2+4 bits)

-To DS et From DS : DS=Distribution Service (point d'accès).
To DS : (bit à 1) la trame est adressée au point d'accès pour qu'il l'a fasse suivre.
From DS (bit à 1) la trame vient du point d'accès.

-More Fragments : à 1 si les données sont fragmentées, à 0 si elles ne sont pas fragmentées ou s'il s'agit du dernier fragment (1 bit).

-Retry : à 1 s'il s'agit d'une retransmission (1 bit).

-Power Management : à 1 si la station est en mode d'économie d'énergie, à 0 si elle est active (1 bit). Venant du point d'accès, les trames sont toujours en mode actif.

-More Data : ce bit est également utilisé pour la gestion de l'énergie. Il est utilisé par le Point d'Accès pour indiquer que d'autres trames sont stockées pour cette station. La station peut alors décider d'utiliser cette information pour demander les autres trames ou pour passer en mode actif (1 bit).

-WEP : ce bit indique que le corps de la trame est chiffré suivant l'algorithme WEP.

-Order : si à 1 cela indique que la trame est envoyée en utilisant une classe de service strictement ordonné. Ne permet pas à la station d'envoyer des trames en multicast.

·Durée/ID (2 octets) :

Ce champ a deux sens, dépendant du type de trame :
- pour les trames de polling en mode d'économie d'énergie, c'est l'ID de la station ou AID (Association IDentity)
- dans les autres trames, c'est la valeur de durée utilisée pour le calcul du NAV.

·Champs adresses (4 fois 6 octets) :

L'adresse MAC de 48 bits se décompose en trois parties
-un groupe de 2 bits au début de adresse : le premier indique si l'adresse est individuelle (bit à1) ou de groupe (bit à 0), le deuxième indique si l'adresse est locale (bit à 1) ou universelle (bit à 0). Si l'adresse est locale, les 46 bits suivants sont définis localement.
-un groupe de 22 bits : numéro constructeur défini par l'IEEE
-un groupe de 24 bits : numéro de série défini par le constructeur

Adresses de groupe :
-adresse broadcast : définit l'ensemble des stations du réseau.(les 48 bits sont à 1)
-adresse multicast : définit un groupe de stations en nombre fini.

Types d'adresse :
La structure d'adressage 802.11 est plus riche que pour un réseau filaire. Car si on veut accéder à une station du même réseau (BSS), il faut passer par le point d'accès donc indiquer son adresse MAC pour qu'il relaie le paquet. De même pour accéder à une station d'un autre réseau (ESS), deux adresses intermédiaires peuvent être indiquées. Ces champs d'adresses sont définis en accord avec les indications des champs To DS et From DS.
Nous allons voir les quatre types d'adresse :

-BSSID (Basic Service Set Identifier):
En mode infrastructure -> @ MAC du PA
En mode Ad-Hoc -> @ MAC locale du BSSID (générée lors de la création de l'IBSS).

-DA (Destination Address) : adresse, individuelle ou de groupe, identifie le(s) destinataire(s).

-SA (Source Address) : adresse individuelle ayant transmis la trame.

-RA (Receveir Address) : BSSID destination (point d'accès récepteur).

-TA (Transmitter Address) : BSSID source (point d'accès émetteur).

tableau
*Wireless Distribution Service (liaison entre deux PA)
Exemple d'adressage:

Le mode Ad-Hoc : transmission dans un IBSS, ST1 envoie ses données vers ST2.

mode width=293 height=56 ad-hoc

Etape 0: @1: ST1, @2: ST2, @3: BSSID de l'IBSS.

Le mode infrastructure :
-1er Cas : transmission dans un même BSS, ST1 envoie ses données vers ST2 (via PA1).

mode infrastructure

Etape 1 : ST1 envoie la trame vers PA1 pour destination finale ST2.
To DS: à 1, @1 : PA1 (dest); @2 : ST1 (sce), @3 :ST2 (dest finale).

Etape 2 : PA1 envoie la trame vers ST2.
From DS à 1, @1 : ST2 (dest), @2 : PA1, @3 : ST1 (sce initiale).

-2em Cas: transmission dans un même ESS, ST1 envoie ses données vers ST3 (via PA1 et PA2).

mode infrastructure wifi

A la différence de l'exemple précédent, l'étape 3 suit l'étape 1.
Etape 3 :PA1 envoie la trame vers PA2
To DS et From DS sont à 1, @1 : PA2 (dest), @2 : PA1 (sce), @3 :ST3, @4 :ST1.
·Contrôle de séquence (2 octets) :
-numéro de séquence (12 bits) : numéro assigné à chaque trame.
-numéro de fragment (' bits) : numéro assigné à chaque fragment, si la trame est fragmentée.

·Corps de la trame (données) (0-2312 octets) : La taille peut être supérieure à 1500 octets à cause du chiffrement WEP. Il n'y a pas de données pour les trames de contrôle et de gestion.

·FCS (Frame Check Sequence) (4 octets) : CRC de 32 bits, pour le contrôle d'intégrité de la trame.

2 . FORMAT TRAME DE CONTROLE :



Les trames de contrôle permettent l'accès au support et ont pour fonction d'envoyer les commandes et informations de supervision aux éléments du réseau. Dans la partie contrôle de trame, les champs de " ToDS " à " order " sont à 0.

·Trames principales :
RTS (Request to send) est utilisé pour réclamer le droit de transmettre une trame de données

trame RTS wifi

-RA est l'adresse du récepteur destinataire de la prochaine trame de données ou de gestion.
-TA est l'adresse de la station qui transmet la trame RTS.

CTS (Clear To Send) correspond à la réservation du canal pour émettre une trame de données

trame CTS wifi

- RA correspond à l'adresse de la station source (champ TA) de la trame RTS.

ACK permet l'acquittement des trames de données

format de trame ACK


RA correspond à l'adresse de la station source, qui provient du champ adresse 2 de la trame de données ou de gestion précédente.

3 . FORMAT TRAME DE GESTION :


Il existe quatre familles de trames de gestion :
·Trames liées aux fonctions d'association-désassociation
·Trames d'interrogation du voisinage radio
·Trames liées aux fonctions d'authentification
·Trames balises, utilisées par le point d'accès pour diffuser des informations dans le BSS, gestion du mode économie d'énergie grâce aux balises TIM et DTIM.

tableau des valeurs de la trame de gestion
TABLEAU DES VALEURS (Types et Sous Types)

9 commentaires:

  1. Un grand merci pour ttes ces informations!!

    RépondreSupprimer
  2. Etant transmis par les ondes les frames wifi sont potentiellement récupérable par n'importe quelle antenne wifi, ce qui me laisse à penser que sur un réseau protégé par une clé WEP seul la clé WEP est nécessaire pour pouvoir snifer ce qui se passe sur tout le réseau?

    RépondreSupprimer
  3. merci pour tous ces informations

    RépondreSupprimer
  4. Merci c'est vraiment impréssionnant ;)

    RépondreSupprimer
  5. Merci ca vas finir directement dans ma doc.

    Pour ceux qui n'aiment pas lire cette vidéo reprend les mêmes notions: http://www.securitytube.net/video/1772

    RépondreSupprimer
  6. Super ce DOCUMENT : à conserver soigneusement

    RépondreSupprimer