Couches MAC et physique stephane.frati@unice.fr
Sommaire Comment communiquent les réseau sans-fil Collisions Fragmentation et réassemblage Variation du débit (Dynamic Rate Shifting) PCF/DCF Espacement inter-trames (Interframe Spacing) SIFS/DIFS/PIFS RTS/CTS Modulation et codage Extraits du cours de Camille Diou Docteur en MicroElectronique LICM Metz
Le but recherché Créer une liaision radio sans fil tout en conservant une transparence pour le réseau local communication compatible avec un réseau ethernet Utiliser des bandes de fréquences disponibles internationalement et permettant du haut débit Limiter les interferences et perturbations
Norme 802.11 initiale
Architecture en couches Modèle ISO Couche 2 Couche liaison de données LLC MAC Modèle 802.11 (IEEE) Logical Link Control Medium Access Control Couche 1 Couche physique PHY 802.11 FHSS 802.11 DSSS 802.11 IR WiFi 802.11b WiFi-5 802.11a WiFi-2 802.11g Modèle IEEE : couche liaison de données subdivisée en deux sous-couches : MAC et LLC Couche MAC commune à toutes les couches physiques
La couche physique : PHY PLCP PMD Physical Layer Convergence Protocol Physical Medium Dependent Composée de deux sous-couches : PMD gère l encodage des données et de la modulation PLCP gère l écoute du support et signale à la couche MAC que le support est libre par un CCA (Clear Channel Assessment)
Les trames de niveau physique PLCP-PDU : Physical Level Common Protoco Protocol Data Unit Constituées de trois parties : préambule : détection du signal, synchronisation, détection du début de trame, prise du canal radio en-tête : diverses informations comme le débit données : informations provenant de la couche MAC : MPDU (MAC Protoco Data Unit) Ces informations varient en fonction de l interface physique utilisée : FHSS, DSSS, IR, OFDM
Les trames PHY La trame FHSS Préambule En-tête MPDU Synch 80 bits SFD 16 bits Length 12 bits CRC 16 bits Préambule : Synch : séquence de 80 bits alternés (0 et 1) permettant la synchronisation SFD (Start Frame Delimiter) : suite de 16 bits définissant le début de trame : 0000110010111101 En-tête : PSF 4 bits Length : nombre d octets dans la trame, détermine la fin de trame PSF (Payload Signalling Field) : débit utilisé sur l interface radio CRC (Cyclic Redundancy Code) : détection d erreur
Les trames PHY La trame DSSS Préambule En-tête MPDU Synch 128 bits SFD 16 bits Length 16 bits CRC 16 bits Préambule : Service 8 bits Signal 8 bits Synch : détection et synchronisation SFD (Start Frame Delimiter) : début de trame En-tête : Signal : débit utilisé sur l interface radio Service : réservé pour un usage futur : ne contient que des 0 Length : nombre d octets dans la trame, détermine la fin de trame CRC (Cyclic Redundancy Code) : détection d erreur
Les trames PHY La trame IR Préambule En-tête MPDU Synch 57 73 slots DCLA 32 slots Length 16 slots CRC 16 slots Préambule : Synch : détection et synchronisation SFD (Start Frame Delimiter) : début de trame En-tête : SFD 4 slots Data rate 3 slots Data rate : débit utilisé sur l interface infrarouge DCLA (Data Control Level Adjustement) : permet d ajuster la vitesse Length : nombre d octets dans la trame, détermine la fin de trame CRC (Cyclic Redundancy Code) : détection d erreur
Les trames PHY La trame OFDM Préambule En-tête MPDU Tail 6 bits Pad 12 symboles Rate 4 bits Length 4 bits Tail 6 bits Service 4 bits Préambule différent : 12 symboles En-tête : Reserved Parity Rate : débit utilisé sur l interface OFDM Reserved : réservé pour un usage future ; ne contient que des 0 Length : nombre d octets dans la trame, détermine la fin de trame Parity : calcul de parité, détection d erreur Tail : «queue», réservé pour un usage future ; ne contient que des 0 Service : réservé pour un usage future ; ne contient que des 0
IEEE 802.11b trames PHY Long PLCP PPDU format Long Preambule 128 16 8 8 16 16 variable bits synchronization SFD signal service length HEC payload PLCP preamble PLCP header 192 µs at 1 Mbit/s DBPSK 1, 2, 5.5 or 11 Mbit/s Short PLCP PPDU format (optional) Short Preambule 56 16 8 8 16 16 variable bits short synch. SFD signal service length HEC payload PLCP preamble (1 Mbit/s, DBPSK) PLCP header (2 Mbit/s, DQPSK) 96 µs 2, 5.5 or 11 Mbit/s
IEEE 802.11a trame PHY 4 1 12 1 6 16 variable 6 variable bits rate reserved length parity tail service payload tail pad PLCP header PLCP preamble signal data 12 1 variable symbols 6 Mbit/s 6, 9, 12, 18, 24, 36, 48, 54 Mbit/s
La couche liaison de données : LLC définie par le standard IEEE 802.2 lien logique entre la couche MAC et la couche réseau via le LSAP : Logical Service Access Point deux types de fonctionnalités : système de contrôle de flux système de reprise sur erreur Le LSAP permet de rendre interopérables des réseaux différents aux niveaux MAC ou physique, mais possédant la même LLC LDPU : Logical Protocol Data Unit DSAP : Destination Service Access Point SSAP : Source Service Access Point DSAP 1 octet SSAP 1 octet Contrôle 2 octets Contrôle : type de LLC (avec/sans connexion avec/sans acquittement) Données 1 octets
La couche liaison de données Couche réseau Paquet Couche liaison Couche LLC Couche MAC MAC En-tête LLC @ Paquet LPDU LLC FEC MAC CRC Couche physique PHY En-tête MPDU Émission/Réception
La couche liaison de données : MAC similaire & compatible à la couche MAC d Ethernet (IEEE 802.3) fonctionnalités : contrôle d accd accès s au support adressage et formatage des trames contrôle d erreur d par CRC fragmentation et réassemblager qualité de service gestion de l él énergie gestion de la mobilité sécurité
Les trames MAC Trois types de trames MAC : trames de données : transmission des données trames de contrôle : contrôle de l accès au support (RTS, CTS, ACK, etc.) trames de gestion : association, réassociation, synchronisation, authentification Contrôle de la trame Duration/ID Contrôle de séquence FCS 2 2 6 6 6 2 6 0 2312 2 Adresse 1 Adresse 2 Adresse 3 Adresse 4 Corps de trame En-tête MAC
Les trames MAC Le champ «contrôle de trame» Version de protocole Type Sous-type To DS From DS More Frag Retry Pwr Mgt More Data WEP Ordr e 2 bits 2 bits 4 bits 1 bit 1 bit 1 bit 1 bit 1 bit 1 bit 1 bit 1 bit Version de protocole : actuellement fixé à 0 Type et sous-type : 3 types de trames, plusieurs sous-types To DS et From DS : trame envoyée vers le ou provient du destinataire More fragments =1 si trame fragmentée et ce n est pas le dernier fragment =0 si trame non fragmentée ou dernier fragment Retry =1 si retransmission Power management : mode économie d énergie (=1) ou actif (=0) More data : trames présentes en mémoire tampon WEP : trame chiffrée ou non (trame donnée ou gestion/authentification) Order : classe de service strictement ordonnée (Strictly Ordered Service Class)
Les trames MAC Le champ «duration/id» deux sens différents : certaines trames de contrôle : identifiant de la station (AID : Association IDentity) toutes les autres trames : valeur de durée de vie utilisée pour le calcul du NAV ; varie de 0 à 32767 Les champs «adresse» toutes de longueur 6 octets même format que les adresse IEEE 802 MAC composées de quatre parties : Individual/Group (I/G) : premier bit : adresse individuelle ou de groupe Universal/Local (U/L) : deuxième bit : adresse locale ou universelle Organizationally Unique Identifier : 22 bits : assignés par l IEEE Numéro de série : 24 bits : généralement défini par le constructeur
Les trames MAC Les champs «adresse» 2 types d adresses de groupe : adresse broadcast : l ensemble des stations d un réseau, 48 bits à 1 adresse multicast : groupe de stations en nombre fini 5 types d adresses : BSSID (Basic Service Set Identifier) : dans un BSS : adresse MAC dans un IBSS : BSSID de l IBSS trames de gestion Probe Request : tous les bits à 1 DA (Destination Address) : destination de la trame ; indiv. ou de groupe SA (Source Address) : source de la trame ; toujours individuelle RA (Receiver Address) : destination des données ; indiv. ou de groupe TA (Transmitter Address) : source des données ; toujours individuelle To DS From DS Adresse 1 Adresse 2 Adresse 3 Adresse 4 0 0 DA SA BSSID Aucun 0 1 DA BSSID SA Aucun 1 0 BSSID SA DA Aucun 1 1 RA TA DA SA
Les trames MAC Le champ «contrôle de séquence» numéro de séquence (12 bits) : attribué à chaque trame ; initialisé à 0 puis incrémenté pour chaque nouvelle trame numéro de fragment (4 bits) : initialisé à 0 puis incrémenté pour chaque nouveau fragment Les données et le corps de la trame taille minimale nulle (trames de gestion ou de contrôle) taille maximale 1500 octets taille plus importante si chiffrée par WEP Initialization Vector (IV) Integrity Check Value (ICV) Le champ FCS (Frame Check Sequence) CRC sur 32 bits pour contrôler l intégrité des trames
Les trames MAC chiffrées Une trame n est chiffrée que partiellement : Données chiffrées En-tête IV Données ICV CRC 4 octets 4 octets 4 bits 4 octets 4 octets Vecteur d initialisation Pad Key ID IV : vecteur d initialisation défini dans le WEP Pad : ne contient que des 0 3 octets 6 bits 2 bits Key ID : valeur d une des 4 clefs permettant de déchiffrer la trame
Les trames de contrôle Trame de contrôle : Version de protocole Type Sous-type To DS From DS More Frag Retry Pwr Mgt More Data WEP Ordr e Trame RTS : Contrôle de la trame Duration/ID FCS 0 0 0 0 0/1 0 0 0 2 2 6 6 2 RA TA Trame CTS : Contrôle de la trame Duration/ID FCS Trame ACK : Contrôle de la trame Duration/ID FCS 2 2 6 2 2 2 6 2 RA RA
Les trames de gestion et donnée Trame de gestion : Contrôle de la trame Duration/ID Contrôle de séquence FCS 2 2 6 6 6 2 6 0 2312 2 Adresse 1 Adresse 2 Adresse 3 Adresse 4 Corps de trame En-tête MAC Trame de donnée : Contrôle de la trame Duration/ID Contrôle de séquence FCS 2 2 6 6 6 2 0 2312 2 DA SA BSSID Corps de trame En-tête MAC
La couche liaison de données : MAC Problèmes à résoudre Résoudre le problème du média guidés e.g. cable ethernet pas d'atténuation et propagation rapide sur courts segments non guidé e.g. air énorme affaiblissement du signal, trajets multiples Résoudre le problème des interférences intersymboles entête de synchronisation séquences d'apprentissage pour une équalisation du signal Résoudre le problème du taux d'erreur pas de vue atomique du réseau réutilisation spatiale noeuds cachés (hidden node)
La couche liaison de données : MAC Problèmes à résoudre Résoudre le problème de la diffusion fiable dans un réseau radio, la diffusion n'existe pas e.g. ARP requète en diffusion portant l'adresse IP cible réponse en point à point à la source Résoudre le problème de la détection de collision En Ethernet: détecté essentiellement par la détection d'une violation de seuil due à l'addition des signaux de transmission En Radio: du fait de l'affaiblissement, impossible de détecter la réception d'un autre signal pendant la transmission de son propre signal en quelque sorte aveuglé par son propre signal émis la détection de collision concomitante avec la transmission n'est pas possible Ebauches de solution La piste CSMA : oui mais avec un ACK au niveau MAC La piste de l'accès contrôlé au média jeton impossible mais AP == un chef d orchestre
La couche liaison de données : MAC deux méthodes d accès : DCF (Distributed Coordination Function) avec contention support de données asynchrones chances égales d accès au support collisions PCF (Point Coordination Function) sans contention pas de collisions transmission de données isochrones (applications temps-réel, voix, vidéo) Rentrons dans le détail de ces deux méthodes
Distributed Coordination Function (DCF) proche de ce que l on connaît en provenance d ethernet et du CSMA/CD méthode d accès générale pour le transfert de données asynchrones sans gestion de priorité repose sur le CSMA/CA obligatoirement implémentée par les AP mais pas forcément seule
Qu est-ce que le CSMA/CA? Carrier Sense Multiple Access with Collision Avoidance similitudes avec la technique CSMA/CD avec le même type de MAC adresse puisque compatible LLC avec acquittement positif Exemple: une station qui veut transmettre écoute le support de transmission: s'il est occupé, la transmission est reportée chaque station devra attendre : jusqu'à ce que la transmission s'arrête lorsque le récepteur envoie le ACK + un moment égal à la valeur d un temporisateur: IFS (Initial Interframe Space) + un nombre aléatoire de time slots pour la prochaine transmission afin d'éviter des collisions sinon (le canal est à inactif) la station peut transmettre NB: Ceci exige que chaque station "entende" toutes les autres stations. Ce n'est pas toujours vrai (hidden node problem).
Hidden Node Problem et sa résolution par RTS/CTS (cf plus loin)
CSMA/CA implique des nouveaux mécanismes Carrier Sense Multiple Access / Collision Avoidance accès aléatoire avec écoute de la porteuse : évite plusieurs transmissions simultanées, réduit le nombre de collisions impossible de détecter les collisions mettre en place des mécanismes pour les éviter: écoute du support accès au support back-off (période d inactivité programmée: contention) réservation trames d acquittement positif (positive ACK)
L écoute du support Couche PHY : Physical Carrier Sense (PCS) détecte et analyse les trames fait appel au PLCP (Physical Layer Convergence Protocol) Couche MAC : Virtual Carrier Sense (VCS) réserve le support via le PCS deux types de mécanismes : réservation par trames RTS/CTS utilisation d un timer (NAV : Network Allocation Vector) calculé par toutes les stations à l écoute horloges bien synchronisées (beacons)
L accès au support mécanisme d espacement entre deux trames : IFS 4 types d Inter-Frame Spacing : SIFS : Short IFS : sépare les différentes trames d un même dialogue (données et ACK, RTS et CTS, différents fragments d une trame segmentée, trame de polling en mode PCF) PIFS : PCF IFS = SIFS + 1 timeslot : accès prioritaire, mode PCF DIFS : DCF IFS = SIFS + 2 timeslots : mode DCF (EIFS : Extended IFS : le plus long, uniquement en mode DCF) EIFS DIFS PIFS SIFS EIFS EIFS DIFS PIFS Transmissions de données ACK Backoff
Le back-off fenêtre de contention CW timer T backoff =random(0,cw) timeslot A Transmission DIFS DIFS DIFS DIFS CW B Transmission C Transmission D Transmission E Transmission Timeslot expiré La station accède au support et l écoute CW Taille de la fenêtre de contention Timeslot restant Temps d attente dû à l occupation du support par une autre station Transmission Transmission
255 127 63 La contention en cas de collision la fenêtre de contention CW est doublée le tirage au sort de la durée taille de la fenêtre de contention d attente s effectue sur un CW MAX intervalle plus grand deux stations qui sont entrées en collision ont une probabilité plus faible mais non nulle d entrer à nouveau en collision n ième tentative de transmission : T backoff (i) = random(0,cw i ) timeslot CW i = 2 k+i - 1 31 15 7 CW MIN nombre de tentatives d émission
Exemples de transmissions en DCF Station source DIFS Données Station destination SIFS ACK Autres stations DIFS Back-off Données Accès différé Délai aléatoire Station source DIFS Back-off Données Station destination SIFS SIFS ACK Autres stations Données ACK Back-off Back-off Accès différé / support occupé
Exemples de transmissions avec réservation Station source Station destination DIFS RTS SIFS SIFS CTS Données SIFS ACK Autres stations NAV (RTS) DIFS Back-off NAV (CTS) NAV (données) Accès différé
Point Coordination Function (PCF) PCF transfert temps-réel (voix, vidéo), services de priorité le point d accès prend le contrôle du support et choisit les stations qui peuvent transmettre : polling pas nécessairement implémentée par les AP (mais forcément en complémentarité de DCF) Contention le point d accès définit un PC (Point Coordination) avec deux périodes : CP (Contention Period) : période de temps avec contention et DCF CFP (Contention Free Period) : période de temps sans contention et PCF
Exemples de transmissions en PCF Balise CFP rate CFP CP CFP CP B PCF DCF B PCF DCF DTIM DTIM DTIM Balise NAV = CFP - MaxDuration NAV = CFP - MaxDuration
Fragmentation et réassemblage Taux d erreur (BER) pour liaison sans fil très supérieur à celui des liaisons filaires : nécessité de transmettre de petits paquets Fragmentation d une : trame de donnée MSDU (MAC Service Data Unit) trame de gestion MMPDU (MAC Management Protocol Data Unit) Association Request Frame and Response Reassociation Request Frame and Response Probe Request Frame and Response Beacon Frame ATIM Frame Disassociation Frame Authentication Frame and deauthentication en plusieurs trames MPDU (MAC Protocol Data Unit) NB: Autres types de trames: trame de contrôle (Control Frames) Request To Send (RTS) Clear To Send (CTS) Acknowledgement (ACK) Power Save Poll (PS Poll) Contention Free End (CF End) + CF Ack
Fragmentation et réassemblage Fragmentation si taille > valeur seuil fragments envoyés de manière séquentielle destination acquitte de chaque fragment support libéré après transmission de tous les fragments Si utilisation en complément du RTS/CTS Seul le premier fragment utilise les trames RTS/CTS Le NAV doit être maintenu à jour à chaque nouveau fragment
Mécanisme d émission d une trame fragmentée Fragmentation d une trame de donnée Fragmentation d une trame de gestion MSDU MAC Service Data Unit MMPDU MAC Protocol Management Data Unit MPD U MPD U MPD U MPD U MPD U MPD U MPD U MPD U MPD U MPD U DIFS SIFS SIFS SIFS SIFS DIFS F1 F2 F3 F4 F5 Back-off SIFS SIFS SIFS SIFS SIFS AC K1 AC K2 AC K3 AC K4 AC K5
Émission d une trame fragmentée avec réservation du support DIFS SIFS SIFS SIFS SIFS SIFS DIFS RTS F1 F2 F3 F4 F5 Back-off Source SIFS SIFS SIFS SIFS SIFS SIFS CTS AC K1 AC K2 AC K3 AC K4 AC K5 Destination NAV (RTS) NAV (F1) NAV (F2) NAV (F3) NAV (F4) Autres NAV (CTS) NAV (F5) Autres NAV (ACK1) NAV (ACK2) NAV (ACK3) NAV (ACK4)
Fragmentation et réassemblage Deux champs permettent le réassemblage des fragments par la station destination : Sequence control : permet le réassemblage de la trame grâce à Sequence number : chaque fragment issu d une même trame possède le même numéro de séquence Fragment number : chaque fragment issu d une même trame se voit attribuer un numéro de fragment, à partir de zéro, incrémenté pour chaque nouveau fragment More fragment : permet d indiquer si d autres fragments suivent ; égal à zéro si le fragment en cours est le dernier fragment
Variation du débit Débit compris entre 1 et 11 Mbits/s 11 Mbits/s donne un débit utile de 6 Mbits/s (0,75 Mo/s) Différence due aux en-têtes des trames utilisées à certains mécanismes de fiabilisation de la transmission une part importante du débit sert à la gestion de la transmission Attention: l overhead engendré peut-être plus important que les données elles-mêmes DIFS SIFS En-tête Couche PHY En-tête couche MAC Donnés utiles En-tête Couche PHY AC K Overhead Overhead
Variable Rate Shifting permet de faire varier le débit d une station en fonction de la qualité de la liaison permet à toutes les stations d avoir un accès, même minimal, au réseau débits possibles : 11 5,5 2 1 Mbits/s Vitesse (Mbits/s) 11 5,5 2 1 Portée à l intérieur 50 m 75 m 100 m 150 m Portée à l extérieur 200 m 300 m 400 m 500 m
Débit variable en fonction de la distance 11 Mbps 5.5 Mbps 2 Mbps 1 Mbps
Comparaison des débits en fonction des fréquences 30 Débit (Mbps) ~4.5x 20 802.11a 10 0 802.11b 0 20 30 50 70 80 Distance (m) ~2.5x Source: Atheros Corporation