Vous êtes sur la page 1sur 23

Chapitre 4

Couche liaison de données du modèle OSI

1. PRÉSENTATION

2. SOUS COUCHES MAC ET LLC

3. FORMATAGE DES DONNÉES

4. CONTRÔLE D’ERREUR
1.COUCHE LIAISON DE DONNÉES: PRÉSENTATION 1/3

● La couche liaison de données est la deuxième couche du modèle OSI.


● Elle est assez particulière du fait, qu’elle est en contact avec le côté logique
de la communication (la couche 3) et le côté physique du réseau (la

I.Kechiche
première couche) ;
● La couche liaison de données permet d’échanger des données via un
support local commun et assure deux services de base :
- Elle permet aux couches supérieures d’accéder aux supports ;
- Elle contrôle la manière dont les données sont placées sur les supports et
reçues des supports par des techniques telles que le contrôle d’accès au
support et la détection des erreurs.
● La couche liaison de données est responsable de l’échange des trames entre
les nœuds via les supports d’un réseau physique.
2
1.COUCHE LIAISON DE DONNÉES: PRÉSENTATION 2/3
● La couche liaison de données existe en tant que couche de connexion entre les processus
logiciels des couches situées au-dessus et de la couche physique située en dessous.
● Elle prépare les unités de données de la couche réseau à être transmises sur un certain type
de réseau et support (cuivre, fibre ou air).

I.Kechiche
3
1.COUCHE LIAISON DE DONNÉES: PRÉSENTATION 3/3
● La couche Liaison de données a pour rôle d’établir une liaison de données entre systèmes
adjacents primitivement reliés par un circuit de données.

I.Kechiche
● Généralement au sein de chaque système (ETTD), les fonctions de la couche Liaison de données
sont réalisées par une carte spécifique appelée contrôleur de communication.
● Par exemple : carte HDLC, carte Ethernet, etc.
4
2. COUCHE LIAISON DE DONNÉES :SOUS COUCHES
● La couche liaison dans les LANs comprend des fonctions communes à tous les types de
réseaux locaux (Ethernet, Token Ring, Token Bus, FDDI). Par contre d’autres
fonctions de la couche liaison sont très spécifiques au réseau utilisé. C’est pourquoi la
couche liaison a été subdivisée en deux sous couches :

I.Kechiche
○ La sous couche supérieure (LLC) qui interagit avec la couche réseau et définit les
processus logiciels qui fournissent des services aux protocoles de couche réseau ;

○ La sous couche inférieure (MAC) qui est plus proche du coté matériel et
communique avec la couche Physique. Elle définit les processus d’accès au support
exécutés par le matériel.

● Diviser la couche liaison de données en sous-couches permet à un type de trame défini


par la couche supérieure d’accéder à différents types de supports définis par la couche
inférieure. Il en est ainsi avec de nombreuses technologies de réseau local, y compris
Ethernet.
5
2. COUCHE LIAISON DE DONNÉES :SOUS COUCHES

I.Kechiche
6
2. COUCHE LIAISON DE DONNÉES :SOUS COUCHES
❑ Sous couche LLC (Logical Link Control)
● La sous couche supérieure de la couche liaison de donnée est la
couche de Contrôle de lien logique ou LLC (Logical Link Control)

I.Kechiche
définie par la norme IEEE 802.2 ;
● La sous couche LLC est la sous-couche commune à tous les réseaux
locaux normalisés par le IEEE.
● La sous-couche LLC place les informations dans la trame qui
indique quel protocole de couche réseau est utilisé pour la trame.
● Ces informations permettent à plusieurs protocoles de couche 3 (par
exemple, IP et IPX) d’utiliser la même interface réseau et les 7

mêmes supports ;
2. COUCHE LIAISON DE DONNÉES :SOUS COUCHES
❑ Sous Couche MAC (Media Access Control)
● C’est la sous couche inférieure de la couche liaison de donnée
● Cette couche est dépendante de la technologie du réseau physique utilisé ;

I.Kechiche
● La sous-couche MAC assure :
○ Le formatage ou création de la trame ;
○ reconnaître le début et la fin des trames dans le flux binaire reçu de la couche physique ;
○ L’adressage de la couche liaison de données : insérer les adresses MAC (physique) de source et
de destination dans chaque trame transmise ;
○ détecter les erreurs de transmission ;
○ Lors de la réception,; filtrer les trames reçues en ne gardant que celles qui lui sont destinées, en
vérifiant l’adresse MAC de destination ;
○ contrôler l'accès au média physique lorsque celui-ci est partagé.
8
3. COUCHE LIAISON DE DONNÉES : FORMATAGE DES DONNÉES
● La couche liaison de données prépare l’unité de donnée de la couche 3 (paquet généralement) à
être transporté sur le support local en l’encapsulant dans une trame ;
● Contrairement aux autres unités de données de protocoles des autres couches, la trame de couche
liaison de données comprend :

I.Kechiche
○ Des données - Le paquet de la couche réseau.
○ Un en-tête : contient des informations de contrôle ;
○ Une queue de bande : contient des informations de contrôle ajoutées à la fin de l’unité de
données de protocole.

9
3. COUCHE LIAISON DE DONNÉES : FORMATAGE DES DONNÉES
● Lorsque les données voyagent sur les supports, elles sont converties en un flux de bits. Si un nœud reçoit de longs
flux de bits, comment détermine-t-il l’endroit où commence et prend fin une trame ou quels bits représentent
l’adresse ?
● Le verrouillage de trame divise le flux en regroupements déchiffrables, des informations de contrôle étant insérées
dans l’en-tête et dans la queue de bande en tant que valeurs situées dans différents champs.

I.Kechiche
● Les types de champs standard incluent :
○ Champs d’indicateur de début et de fin - Les limites de début et de fin de la trame.
○ Champs de nom ou d’adressage : Les adresses physiques sources et destination ;
○ Champ de type - Le type d’unité de données de protocole contenu dans la trame.
○ Qualité : champs de contrôle.
○ Un champ de données : les données utiles de la trame (paquet de couche réseau).
○ Les champs situés à la fin de la trame constituent la queue de bande. Ces champs sont utilisés pour la
détection des erreurs et marquent la fin de la trame.
● Tous les protocoles n’incluent pas tous ces champs. Les normes d’un protocole de liaison de données spécifique
définissent le format de trame réel.
10
3. COUCHE LIAISON DE DONNÉES : FORMATAGE DES DONNÉES

I.Kechiche
11
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR

I.Kechiche
Causes d’erreurs sur un canal : Taux d’erreur sur un canal =
● Affaiblissement (perte de puissance Nombre de bits erronés (qui
du signal émis) s’inversent)/nombre de bits émis
● Bruit sous forme de rayonnement ▪ 10-9 pour les réseaux locaux
électromagnétique ▪ 10-5 pour le Réseau
● Câblage mal isolé Téléphonique Commuté
● Effet de distorsion (modification des ▪ taux élevé pour le téléphone
caractéristiques du signal telles que sans fil 12
l’amplitude, la phase…)
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Stratégie de détection/correction des erreurs
● La destination peut :
○ détecter les erreurs, puis demander une retransmission

I.Kechiche
🡺code détecteurs d’erreurs
○ détecter et corriger les erreurs
🡺codes correcteurs d’erreur
● Principe des codes :
○ Exploiter la redondance d’informations
🡺ajouter des bits de contrôle aux bits de données
Corriger est plus difficile que détecter
☹ plus de bits de contrôle
☹Un code (k, n) transforme (il code) tout bloc initial de k bits
d’information en un bloc codé de n bits🡺Un tel mot de n bits est 13
appelé un mot de code.
🡺Le code introduit une redondance puisque n>=k.
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Quand faut-il utiliser les codes correcteurs?
Les codes détecteurs sont plus souvent utilisés que les codes correcteurs mais :

I.Kechiche
○ lorsque le canal est unidirectionnel
○ lorsque la distance est élevée (satellite)
○ lorsque les erreurs sont isolées
🡺les codes correcteurs peuvent (ou doivent) être utilisés.
❑ Différents Codes
o Code de contrôle de parité
o Codes polynomiaux
o Code de Hamming (détecteur/correcteur) 14
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Code de contrôle de parité
○ Code détecteur assez simple
○ Principe : un seul bit (dit de parité) est ajouté aux bits de données.

I.Kechiche
■ parité paire : le nombre de bits à 1 du mot formé doit être pair.
■ parité impaire : le nombre de bits à 1 du mot formé doit être impair.
○ Exemple : Transmission de caractères utilisant un code de représentation
(le code ASCII sur 7 bits).

☹ Ce code est capable de détecter toutes les erreurs en nombre


impair. 15

🡺Il ne détecte pas les erreurs en nombre pair !


4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Parité Longitudinale et transversale

● Code détecteur avec autocorrection! Exemple :


Lettre Code ASCII Bit de parité
LRC

I.Kechiche
● Le contrôle de parité croisé (aussi appelé contrôle de
redondance longitudinale ou Longitudinal Redundancy H 1001000 0
Check, LRC) E 1000101 1
L 1001100 1
● Le bloc de données est disposé sous une forme matricielle L 1001100 1
(k=a.b). On applique la parité (uniquement paire) sur
chaque ligne et chaque colonne. O 1001111 1
🡺On obtient une matrice (a+1, b+1). VRC 1000010 0
❑ Principe d’autocorrection
○ Si une seule erreur survient, elle modifie
simultanément la parité d’un ligne et d’une colonne. Suite d'éléments binaires émis:
🡺Correction : inverser le bit situé à l’intersection de la 10000100 10011111 10011001
ligne et de la colonne ayant une parité incorrecte.
10011001 10001011 10010000 16
• Si 2 erreurs et plus🡺ambiguïté 🡺on raisonne
autrement (on applique d’autres algorithmes).
16
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Le contrôle de redondance cyclique (basé sur le code polynomial)
● Appelé CRC( Cyclic Redundancy Check)
● C’est un moyen de contrôle d'intégrité des données puissant et facile à mettre en oeuvre.
● Principale méthode de détection d'erreurs utilisée dans les télécommunications.

I.Kechiche
Principe général :
○ Représentation sous forme polynomiale des suites de bits à transmettre :
M =m1m2...mn
⇒ représentée par le polynôme I(x) = mn +mn−1x +...+m1xn−1
⇒ Exemple :
La suite 1100101 est représentée par le polynôme :
x6+x5+0x4+0x3+x2+0x +1 = x6+x5+x2+1
○ Utilisation de polynômes générateurs possédant des propriétés mathématiques particulières :
CRC-12 = x12+x11+x3+x2+x +1
CRC-16 = x16+x15+x2+1 17

CRC-CCITT = x16+x12+x5+1
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR

❑ Emission/réception d’un CRC


● En émission :
○ on ajoute au message à émettre un code de contrôle tel que le

I.Kechiche
polynôme correspondant au message plus le code de contrôle
soit divisible par le polynôme générateur choisi.

● En réception :
○ Le message reçu qui contient les données et le CRC doit être
divisible par le polynôme générateur.
○ On vérifie donc par une division euclidienne en base 2 que le
reste de la division est nul.

RQ:
18
Emetteur et récepteur doivent s’entendre sur le polynôme générateur à
utiliser!!!
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Méthode1 : Émission d’un mot de code
1. On choisit un polynôme générateur
2. On le transforme en un mot binaire.
■ Exemple : avec le polynôme générateur x4+x2+x, on obtient 10110.

I.Kechiche
3. On ajoute m zéros au mot binaire à transmettre où m est le degré
du polynôme générateur.
■ Exemple :
On souhaite transmettre le mot 11100111 en utilisant le polynôme générateur
x4+x2+x, on obtient alors 111001110000.
polynôme générateur
On va ajouter itérativement à ce mot, le mot correspondant au
jusqu’à ce que le mot obtenu soit inférieur au polynôme générateur.

Ce mot obtenu correspond au CRC à ajouter au mot avant de l’émettre


(Arithmétique utilisée : addition avec OU Exclusif, XOR) 19
○ On effectue donc une division euclidienne dans laquelle on ne
tient pas compte du quotient.
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR

❑ Méthode 1: Calcul du CRC ( a l’émission)

msg initial

I.Kechiche
Polynôme
générateur

20
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR

❑ Méthode 1: Vérification du CRC ( à la récéption)

msg transmis

I.Kechiche
Polynôme
générateur

21
4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
❑ Méthode 2 : Calcul CRC (à l’émission)

Msg reçu m = 1101011011


P(x)= 1.x9+1.x8+0.x7+1.x6+0.x5+1.x4+1.x3+0.x2+1.x1+1.x0
P(x)=x9+x8+x6+x4+x3+x+1
Polynôme générateur : G(x) x4 + x + 1

I.Kechiche
🡪Degré du polynôme = 4 donc le CRC sur 4 bits
Soit P’(x)= degré (G(x)) . P(x) 🡪CRC= reste P’(x) /G(x)

Calcul: x13+x12+x10+x8+x7+x5+x4 x4+x+1 _____


13 10 9
x +x +x x +x +x3+x
9 8
----------------------------------------------

x12+x9+x8+x7+x5+x4
x12+x9+x8
------------------------------------------------

x7+x5+x4
x7+x4+x3
------------------------------------------------

x5+x3
x5+x2 +x
-----------------------------------------------
22
x3+x2 +x (x3< x4 🡪 on arrête) CRC = x3+x2 +x 🡪 1110

🡪Message à transmettre : 1101011011 1110


4. COUCHE LIAISON DE DONNÉES : CONTRÔLE D’ERREUR
Méthode 2 : Vérification CRC ( à la réception)

Msg initial m’ = 11010110111011


P’(x)= x13+x12+x10+x8+x7+x5+x4+x3+x+1

Polynôme générateur : G(x) x4 + x + 1

I.Kechiche
Si reste P’(x) /G(x) <> 0 alors msg érroné

Calcul: x13+x12+x10+x8+x7+x5+x4 +x3+x+1 x4+x+1 _____


x13+x10+x9 x9+x8+x3+x
----------------------------------------------

x12+x9+x8+x7+x5+x4 +x3+x+1
x12+x9+x8
------------------------------------------------

x7+x5+x4+x3+x+1
x7+x4+x3
------------------------------------------------

x5+x+1
x5+x2 +x 23
-----------------------------------------------

x2 +1 (x2< x4 🡪 on arrête) Reste <> 0 d’où Msg erroné

Vous aimerez peut-être aussi