Vous êtes sur la page 1sur 67

Pr.

Nada MOUCHFIQ
2023 - 2024
Plan du Cours

Chapitre 1 : Généralités

Chapitre 2 : Couche physique

Chapitre 3 : Couche liaison de données

Chapitre 4 : Couche Réseau


Plan du Chapitre 3

Sous-couches

Délimitation / Découpage de trames

Control d’erreurs
Introduction

• Cette couche doit assurer une transmission exemptée d'erreurs


sur un canal de communication.
• Les données sont fractionnées en trames.
• La couche liaison récupère des paquets de la couche réseau.
• Pour chaque paquet, elle construit une (ou
plusieurs) trame(s).
• La couche liaison envoie chaque trame à la couche physique.
Description

couche réseau couche réseau

paquet paquet

couche liaison couche liaison

trame trame

bits
couche physique couche physique

Emetteur Récepteur
Les deux sous couche de la couche liaison de données

La couche liaison de données est divisée en deux


sous-couches:
•LLC:
• La sous-couche de contrôle de liaison
logique (LLC : (Logical Link Control) gère les
communications entre les dispositifs en
contrôlant la synchronisation des trames, le
contrôle de flux et la vérification des
erreurs.
•MAC:
• La sous-couche de contrôle d'accès au
support (MAC : Media Access Control) gère
l'accès de protocole au support de réseau
physique. MAC gère la manière dont un
ordinateur de votre réseau accède aux
données et aux autorisations afin de les
transmettre.
Services offerts

• Contrôle (détection et correction) d’erreurs


• Contrôle de flux
• Gestion (délimitation) de trames
• Contrôle d'accès à un canal partagé
• …
Trame

 Trame =
– Paquet (données provenant de la couche 3) + infos de contrôle
– On dit que le paquet est encapsulé dans une trame
Délimitation des trames

• Problème:
Le récepteur doit savoir le début et la fin d’une trame.
- Afin de reconstituer à partir des suites binaires les trames envoyées.
• Solution :
Une trame doit commencer par un marqueur de début de trame et se
terminer par un marqueur de fin de trame.
Découpage en trames

Trois méthodes principales de découpage en trames


–Comptage de caractères
–Découpage orienté caractère
–Découpage à l’aide d’un fanion (orienté bit)
7
Compter les caractères

• On utilise un champ dans l'en-tête de la trame pour indiquer le


nombre de caractères de la trame

• Problème : si la valeur du champ est modifiée au cours de la


transmission

• Méthode rarement utilisée seule


Exemple

Trames émises

06 ‘S’ ‘U’ ‘P’ ‘E’‘R’ 03 ‘L’ ‘E’ 06 ‘C’‘O’‘U’‘R’ ‘S’

Trames reçues

06 ‘S’‘U’ ‘P’ ‘E’‘R’ 04 ‘L’ ‘ E’06 43 ‘O’ ‘U’‘R’ ‘S’

code ASCII de ‘C’


Comptage de caractères

• Méthode la plus simple et la moins fiable


– En pratique, seulement en combinaison avec d’autres méthodes
Principe
– Chaque trame contient dans l’entête un champ « Longueur de trame » qui
permet au récepteur de découper les trames
Problème
– Une erreur bit peut laisser le récepteur sans orientation
Découpage orienté caractère

• Chaque trame est encadrée par deux


séquences
– DLE + STX au (Data Link Escape,
début Start of TeXt) (Data
– DLE + ETX à la Link Escape, End of
fin TeXt)

• « Byte Stuffing » (DLE de transparence)


– Pour éviter d’interpréter des données

de la couche réseau comme début /fin


de trame, on utilise une méthode
appelée
« Byte stuffing »
Souvent utilisé en pratique
Utiliser des délimiteurs

• Un fanion (délimiteur) est placé :


– au début de chaque trame
– à la fin de chaque trame (en fait, au début de la suivante)

• Un fanion (flag) = séquence particulière de bits

• Des bits de transparence sont alors nécessaires pour qu’une


séquence binaire dans la trame ne corresponde accidentellement au
fanion.

• Pour que le fanion serve de délimiteur, il est indispensable que la


valeur de celui-ci ne se trouve pas dans les données transportées
entre le début et la fin.
Exemple

• Fanion : 01111110

• Bit de transparence : 0 inséré après toute séquence de cinq 1 successifs


dans la trame.
- Les bits insérés à l’émission sont éliminés par l’interpréteur de
réception.

Données :
01011001111110

Trame :

01111110 010110011111010 01111110


Exemple

– Pour assurer la transparence, l’émetteur ajoute systématiquement un 0 après toute séquence de 5


bits à 1 rencontrée dans la trame
– Le récepteur effectue l'opération inverse, c'est à dire qu’il retire le 0 qui suit chaque séquence de
5 bits à 1
Utiliser des fanions

• Avantages
– permet toujours de retrouver la synchronisation
– permet l'envoi de trames de tailles quelconques
– technique la plus simple
• Cette technique est utilisée également en considérant des caractères de
délimitation et des caractères de transparence.
Transmission d’information

canal
bruit

émetteur récepteur
Causes d’erreurs sur un canal

• Perturbations et imperfections des supports de


transmission ⇒ déformations des signaux transmis ⇒
erreurs sur les données binaires reçues (0 au lieu de 1
ou viceversa).
• Nécessité d'un mécanisme de contrôle et de
vérification de validité des séquences binaires
transmises.
Causes d’erreurs sur un canal
Deux stratégies possibles

La destination peut :
• détecter les erreurs, puis demander une retransmission
– code détecteurs d’erreurs
• détecter et corriger les erreurs
– codes correcteurs d’erreur
Deux stratégies possibles

La destination peut :
• détecter les erreurs, puis demander une retransmission

– code détecteurs d’erreurs


• détecter et corriger les erreurs
– codes correcteurs d’erreur
Principe des codes

• Exploiter la redondance d’informations


- ajouter à chaque bloc de données à émettre des bits supplémentaires
(redondants), qui sont calculés en fonction de ces données.
- Le récepteur refait le même calcul sur les données reçues et compare le
résultat avec les bits rajoutés par l‘émetteur pour vérifier s'il y avait eu des
erreurs de transmission.
• Corriger est plus difficile que détecter
plus de bits de contrôle
Mot de code

d bits de données
+
c bits de contrôle
=
n bits d’information (à transmettre)

Un tel mot de n bits est appelé un mot de code


Codes

 LRC ( Longitudunal Redundancy Check ) : Parité


longitudinale

 VRC ( Vertical Redundancy Check ) : Parité vertical

 CRC (Cyclic redundancy check)


Contrôle de parité

Le Contrôle de parité consiste à ajouter un bit supplémentaire (appelé bit de


parité) qui dépend du nombre total de bits à 1.

Parité paire : on ajoute un bit 0 si le nombre de 1 d’une transmission est


pair.
on ajoute un bit 1 si le nombre de 1 d’une transmission est
impair

Parité impaire : on ajoute un bit 0 si le nombre de 1 d’une transmission est


impair.
on ajoute un bit 1 si le nombre de 1 d’une transmission
est pair.   séquence envoyée avec un VRC pair :

10010011 10101010 10101001


 Bilan sur le bit de parité

– Le bit de parité est un mécanisme de détection d'erreurs peu coûteux (1 seul bit rajouté), qui est
très simple mais son efficacité n'est pas extraordinaire, du fait qu'il peut avoir des messages
contenant un nombre d'erreurs pair mais qui ne peut être détecté par la technique de contrôle de
parité
– Exemple :

 – Ce petit exemple nous montre que bien que le message soit altéré, le contrôle de parité ne le
détecte pas, ce qui constitue la limite la plus reprochée de cette technique.
Contrôle de parité longitudinale (Longitudinal
Redundancy Check LRC)

 Principe :
• contrôler l'intégrité des bits de parité d'un bloc de caractères.
• Rajouter à chaque colonne représentant une suite de bits de même rang un bit de parité.
• Effectuer cette opération même sur le rang des bits de parité.
.

L’utilisation du VRC et du LRC simultanément permet de détecter plus d’erreurs et


d’en corriger parfois.
Détection des erreurs

C’est un code meilleur que le VRC

Impossible de détecter l’erreur si deux bits sont changés en même temps sur la même colonne
 Pour plus d’efficacité, on rajoute un contrôle sur les lignes
Détection des erreurs :
Contrôle de parité croisée VRC + LRC

Contrôle de parité croisée


– appelé contrôle de redondance longitudinale ou
Longitudinal (Redundancy Check, noté LRC) consiste non pas
à contrôler l'intégrité des données d'un caractère, mais à
contrôler l'intégrité des bits de parité d'un bloc de caractères
Détection des erreurs :
Contrôle de parité croisée VRC + LRC

– Ici, on met un contrôle horizontal


ou longitudinal (=LRC) pour chaque
lettre

– Et un contrôle vertical (=VRC), avec un bit


de parité par colonne de bit dans chaque
caractère
Contrôle par redondance cyclique (CRC) / Code polynomial

CRC = Code à Redondance Cyclique


 On parle aussi de codes polynomiaux.
 On représente une séquence de bits comme un polynôme binaire.

 Tous les coefficients du polynôme sont 0 ou 1.

 Une séquence de n bits est un polynôme à n termes de x 0 à xn−1


 Le bit le plus à gauche indique le coefficient de xn−1 ;
 celui à sa droite indique le coefficient de xn−2 et ainsi de suite.
 Enfin, le bit le plus a droite indique le coefficient de x 0 = 1.
Exemple : la séquence 100101 correspond à x 5 + x 2 + 1.
Contrôle par redondance cyclique (CRC) / Code polynomial

 L’émetteur et le récepteur utilisent tous les deux un polynôme générateur G (x )


(qui est constant).

 Ce polynôme G (x ) va servir :

 à l’émetteur pour déterminer les bits qui seront effectivement


transmis.
 Et au récepteur pour déterminer si la transmission s’est déroulée sans
erreur.
CRC - Emission

Soit M le message à envoyer, et k le degré du polynôme générateur G (x ) (le degré est la


puissance du plus grand terme du polynôme).
Algorithme émetteur :
1. Calculer M(x ) le polynôme correspondant à M.
2. Calculer P (x ) = M(x ) × xk ou bien P = M + k ( bits à zéro )
 Cette opération revient à faire un décalage à gauche de k bits sur M.
3. Effectuer la division de P par G
 Le reste de la division est un polynôme R de degré inferieur à k .

4. Calculer M J = M+ R .

5. Transmettre le message correspondant à M J (plutôt que M).


 Le message transmis est le message initial auquel on ajoute k bits qui correspondent
au reste de la division R
CRC - Réception

Algorithme Récepteur:
Soit
1. MJ le message reçu Algorithme :
2. Calculer le polynôme correspondant à MJ .

3. Effectuer la division de MJ par G

 Si le résultat de la division vaut 0 ⇒ pas d’erreur détecté ,


sinon ⇒ erreur détectée.
Exemple

t
Exemple
Plan du Cours

Chapitre 1 : Généralités

Chapitre 2 : Couche physique

Chapitre 3 : Couche liaison de données

Chapitre 4 : Couche Réseau


Adresse physique : adresse MAC

 Ils s'agit d'un identifiant unique pour une machine.


 Stocké dans la carte réseau.
 Le constructeur de la carte la brûle ou la tatoue sur la carte (le terme “BIA” ou
“Burned In Address“)
Codée sur 48 bits découpables en 6 octets, en format hexadécimal

00-1E-33-1D-6A-79

Il est possible de l'écrire sous différentes formes:

 00-1E-33-1D-6A-79

 00:1E:33:1D:6A:79

 001E:331D:6A79

 001E.331D.6A79
Adresse physique : adresse MAC

 Ils s'agit d'un identifiant unique pour une machine.

 Les 3 premiers octets font référence au constructeur de l'interface. Ils


sont uniques et sont attribués par l'IEEE.

 Les 3 octets suivants donnent le numéro d'interface chez ce constructeur


Structure d’une trame de couche 2

Ils s'agit d'un identifiant unique pour une machine.

 1. Un en-tête : il contient des informations de contrôle telles que l'adressage et est


situé au début de l'unité de données de protocole.

 2. Partie données : correspond au PDU de la couche 3. Dans un réseau TCP/IP, c'est


un paquet.

 3. La fin de trame : elle contient des informations de contrôle pour la détection


d'erreurs.
Structure d’une trame de couche 2

Il existe plusieurs protocoles de


couche liaison de données:
LAN:
Liaison filaire: Ethernet
Liaison sans fil: Wi-Fi ou 802.11.
WAN:

En mode point-à-point : HDLC.


En mode circuit virtuel de bout-
en-bout : Frame Relay, ATM.
Structure d’une trame de couche 2

LAN
En mode Multipoint: Ethernet
Structure d’une trame de couche 2

 En 1980, la technologie Ethernet a vu le jour avec Ethernet I ou DIX 1.0


(DECI ntel Xerox) qui proposait un débit à 10 Mb/s.

 En 1982, le débit de cette technologie a été amélioré avec l'Ethernet II


ou DIX 2.0.

 En 1983, l'IÈEE publiait la norme IEEE 802.3 pour normaliser le protocole


sur tous les équipements de réseau, quel que soit le fabricant.

 La norme, a été mise à jour, plusieurs fois, pour inclure de nouvelles


technologies.

 La trame Ethernet II est utilisé dans les réseaux TCP/IP.


Trame Ethernet II

Préambule: est une suite de 0 et de 1 alternés. Il permet à l'horloge du


récepteur de se synchroniser sur celle de l'émetteur
Trame Ethernet II

Les adresses MAC identifient le ou les destinataire(s) de la trame puis


l'émetteur. Elles sont constituées de 6 octets :

 Les 3 premiers octets font référence au constructeur de l'interface. Ils


sont uniques et sont attribués par l'IEEE.

 Les 3 octets suivants donnent le numéro d'interface chez ce constructeur


Trame Ethernet II

Ether Type: ce champ de 2


octets a été défini dans le
standard Ethernet II pour
indiquer le type de protocole de
niveau 3 employé pour
transmettre le message.
Trame Ethernet II

Le FCS : Frame Check Séquence est un champ de 4 octets qui permet de


valider l'intégrité de la trame. Il utilise un CRC (Cyclic Redundancy
Check) qui englobe tous les champs de la trame
Structure d’une trame de couche 2

WAN
En mode Point à point: HDLC, PPP, SDLC…
Format général d’une trame HDLC
( High-Level Data Link Control )

Le champ « fanion » indique les bordures de la Exemple


trame (début et fin) Message à envoyé:
01111110111111011111111
Il est représenté par un 0 suivi de 111111 suivi de 0.
Message envoyé: 01111110
 Que faire si la données contient la même séquence 01111101011111010111110111
de bits (donnée= ...01111110...) ? 01111110
Solution: ajouter un 0 (bit de transparence) après chaque Le récepteur doit enlever un 0
5 bits « 1 », 11111 après chaque suite : 11111
Format général d’une trame HDLC

 Le champ adresse identifie la station secondaire dans le cas d’une liaison multipoint
 Cette adresse peut inclure une adresse particulière, une adresse de groupe ou
une adresse de diffusion
 Dans le cas de liaison point-à-point il n’est pas pris en compte
Format général d’une trame HDLC

Le champ «données» Taille minimale (sans fanion)=32 bits (4 octets)


Le champ FCS (Frame Check Sequence) permet la détection d’erreurs

 constitué du reste de la division polynomiale des N bits de la trame par un polynôme


« générateur » normalisé de degré 16
 le récepteur fait de même avec les N bits de la trame reçue et si le reste est égal à
celui de la zone FCS on admet que la transmission s'est passée correctement sinon
la trame est rejetée
Format général d’une trame HDLC

 Le champ « Commande » indique le type de la trame


3 formats de trame, plusieurs commandes pour chaque format:
Trames I (Information): trames de données
Trames S (Supervision): trames de supervision
 Supervision de l’échange
 Contrôle de flux: RR , RNR
 Contrôle d’erreur: REJ (rejet continu), SREJ (rejet sélectif)
Format général d’une trame HDLC

Trames U (Unnumbered): trames non numérotées


Supervision de la liaison

Initialisation et libération de la liaison de données


 ex: SARM (set mode ARM), SABM (set mode ABM), DISC (disconnect),
 UA (ack non numéroté)
Format général d’une trame HDLC
Trame HDLC (Trame I)

Trames I (Information): trames de données contient les donnes de la couche 3

 N(S) : numéro de la trame d'information envoyée.

 PIF (Poll/Final) : P pour commandes, F pour réponses.


 N(R) : numéro de la prochaine trame d'information attendue et
acquitte toutes les trames dont le numéro est inférieur à la valeur de
N(R)
Trame HDLC (Trame I)

N(S) N(R)
I(0,0)
Exemple
Trames I (Information) I(1,0)

I(0,2) ACK des


deux trames
I(1,2) reçus
+
la
I(2,2) prochaine
trame
I(3,2)
attendue
est 2
I(4,2)

I(2,5)
Trame HDLC (Trame S)

Trames S (Information): Contrôle de flux

00: RR (Received & Ready)

 acquittement des trames de n° < N(R)

 informer que le récepteur est prêt pour la réception

10 : RNR (Received & Not Ready)

 acquittement des trames de n° < N(R)

 informer l'émetteur de stopper l'émission des trames jusqu'à la réception d'une


trame RR avec le numéro N(R)
Trame HDLC (Trame S)

N(S) N(R)
I(0,0)
Exemple
Trames S (00: RR I(1,0)
(Received & Ready)
S(RR,2)

I(2,0)

I(3,0)

S(RR,4)

I(4,0)

I(5,0)
Trame HDLC (Trame S)

N(S) N(R)

I(0,0)
Exemple
I(1,0)
Trames S (10 : RNR
(Received & Not Ready) I(2,0)

S(RNR,2)

S(RR,2)

I(2,0)
I(3,0)
I(4,0)
Trame HDLC (Trame S)

Trames S (Supervision): Gestion des erreurs:

01 : REJ (Reject)

 acquittement des trames de n° < N(R)

 demande la retransmission des trames depuis la trame N(R) (N°>= N(R)) en


cas d'anomalies

11 : SREJ (Selective Reject)

 acquittement des trames de n° < N(R)

 demande la retransmission de la trame N(R)


Trame HDLC (Trame S)

N(S) N(R)

I(0,0)
Exemple
I(1,0)
Trames S (01 : REJ
(Reject) I(2,0)
I(3,0)
I(4,0)

S(REJ,1)

I(1,0)
I(2,0)
I(3,0)
I(4,0)
Trame HDLC (Trame S)

N(S) N(R)

I(0,0)
Exemple
I(1,0)
Trames S (11 : SREJ
(Selective Reject) I(2,0)
I(3,0)
I(4,0)

S(SREJ,2)

I(2,0)
I(5,0)
Trame HDLC (Trame U)

Trames U (Unnumbered): Trame non numérotes


Trame HDLC (Trame U)

Exemple SABM

Trames U (Unnumbered) UA

Données

DISC

UA

Vous aimerez peut-être aussi