Vous êtes sur la page 1sur 22

Ecole Nationale des Sciences de l’Informatique

Réseaux Téléinformatiques

Chapitre 3: La Couche Liaison de données

Enseignant: Majdi JRIBI

La Couche Liaison de données

1. Introduction

1.1 Fonctions de la couche liaison de données o Transmettre des données entre les entités homologues d’un système source et d’un système destinataire adjacents de manière fiable et efficace.

destinataire adjacents de manière fiable et efficace . o Utiliser un circuit de transmission de données

o Utiliser un circuit de transmission de données et le transformer en une liaison de données efficace qui paraît exempte d’erreurs de transmission

La Couche Liaison de données

1. Introduction

o 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.

adjacents primitivement reliés par un circuit de données. o Généralement au sein de chaque système (ETTD),

o 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. Exemple : carte Ethernet, etc.

La Couche Liaison de données

1. Introduction

1.2 Fonctionnement logique d’une liaison de données

Les états des stations :

source ou puits :

Source d’information
Source d’information

Information

Puits d ’ information
Puits d ’ information
Puits d ’ information
Puits d ’ information
Puits d ’ information
Puits d ’ information

Puits dinformation

Puits d ’ information
Puits d ’ information
Puits d ’ information

Acquittement Primaire ou secondaire : Pour délimiter les responsabilités La station primaire gère (ou commande) la liaison La station secondaire exécute les commandes

Gestion de la liaison : plusieurs types de gestion selon les associations source/ puits et primaire /secondaire

La Couche Liaison de données

1. Introduction

Primaire source/Secondaire puits : Contrôle par invitation à recevoir

Invitation à recevoir (1) / Information (3) Puits Source Secondaire Primaire ACK / NACK (2)
Invitation à recevoir (1) / Information (3)
Puits
Source
Secondaire
Primaire
ACK / NACK
(2)

Primaire puits/Secondaire source : Contrôle par invitation à émettre

Puits

Primaire

Source Secondaire
Source
Secondaire

Invitation à émettre (1) / ACK(3)

Source Secondaire Invitation à émettre (1) / ACK (3) Information (2) / EOT (end of transmission)

Information (2) / EOT (end of transmission) (2.)

/ ACK (3) Information (2) / EOT (end of transmission) (2.) 29/11/2011 Réseaux Téléinformatiques– Majdi JRIBI

La Couche Liaison de données

1. Introduction

Cas où les stations sont source et puits simultanément o LD point à point équilibrée : balanced configuration Les deux stations sont équivalentes : Les deux stations sont par exemple primaires en tant que source et secondaires en tant que puits.

ETTD A

Source

Primaire

Puits

Secondaire

ETTD B Invitation à recevoir / info Puits E R Secondaire ACK / NACK ACK
ETTD B
Invitation à recevoir / info
Puits
E
R
Secondaire
ACK / NACK
ACK / NACK
Source
R
E
Primaire
Invitation à recevoir / info

La Couche Liaison de données

1. Introduction

o LD point à point non équilibrée (normal) : unbalanced configuration Les deux stations ne sont plus équivalentes : exemple une station est toujours primaire, l’autre est toujours secondaire.

ETTD A

Source

Primaire

Puits

Primaire

E

R

ETTD B Source R Secondaire E Puits Secondaire
ETTD B
Source
R
Secondaire
E
Puits
Secondaire

Invitation à recevoir / info

E Puits Secondaire Invitation à recevoir / info Invitation à émettre / ACK Info / EOT
Invitation à émettre / ACK Info / EOT

Invitation à émettre / ACK

Info / EOT

à recevoir / info Invitation à émettre / ACK Info / EOT ACK / NACK 29/11/2011
à recevoir / info Invitation à émettre / ACK Info / EOT ACK / NACK 29/11/2011

ACK / NACK

La Couche Liaison de données

2. Protection contre les erreurs

Mise en oeuvre de techniques de protection contre les erreurs de transmission o Stratégies de protection contre les erreurs de transmission :

protection

protection contre les erreurs de transmission : protection détection correction auto-correction (FEC : Forward Error
protection contre les erreurs de transmission : protection détection correction auto-correction (FEC : Forward Error

détection

correction

auto-correction (FEC : Forward Error Correction) (FEC : Forward Error Correction)

correction par retransmission auto-correction (FEC : Forward Error Correction) (ARQ : Automatic Repeat reQuest) 29/11/2011 Réseaux

(ARQ : Automatic Repeat reQuest)

La Couche Liaison de données

2. Protection contre les erreurs

Principe général pour la détection des erreurs de transmission :

-un émetteur veut transmettre un message (suite binaire quelconque) à un récepteur.

-l’émetteur transforme le message initial à l’aide d’un procédé de calcul spécifique qui génère une certaine redondance des informations au sein du message codé.

- le récepteur vérifie à l’aide du même procédé de calcul que le message reçu est bien le message envoyé grâce à ces redondances.

La Couche Liaison de données

2. Protection contre les erreurs

Exemple : la technique de détection par répétition le message codé est un double exemplaire du message initial, le récepteur sait qu’il y a eu erreur si les exemplaires ne sont pas identiques.

Remarque : certaines erreurs sont indétectables ! . ex. : une même erreur sur les deux exemplaires simultanément

La Couche Liaison de données

2. Protection contre les erreurs

Les codes de protections contre les erreurs

Deux grandes familles de codes :

les codes par bloc : le codage/décodage d’un bloc dépend uniquement des d les codes convolutionnels (ou récurrents) : le codage/décodage d’un bloc dépend des informations d’autres blocs (généralement de blocs précédemment transmis).

i

f

ti

n orma ons

e ce

bl

oc.

Exemples de codes par bloc : codes simples (le contrôle de parité) - codes polynômiaux.

La Couche Liaison de données

2. Protection contre les erreurs

Définitions générales :

o Un code (k, n) transforme (code) tout bloc initial de k bits d’information en un bloc codé de n bits. Le code introduit une redondance puisque n > k.

o On appelle mot du code, la suite de n bits obtenue après un codage (k, n). Le nombre n est appelé la longueur du code.

La Couche Liaison de données

2. Protection contre les erreurs

o Le code est systématique si :

k premiers bits du bloc codé = bits du bloc initial. n-k derniers bits = un champ de contrôle d’erreur.

o

Le poids de Hamming d un mot est le nombre de bits à 1 qu il contient.

o

La distance de Hamming entre deux mots de même longueur est définie par le

nombre de positions binaires qui diffèrent entre ces deux mots. On l’obtient par le

poids de Hamming de la somme binaire des 2 mots.

o La distance de Hamming d’un code est la distance minimum entre tous les mots du code.

La Couche Liaison de données

2. Protection contre les erreurs

le contrôle de parité

Le mot transmis est suivi d’un bit de parité qui sert à détecter les erreurs éventuelles de transmission.

Il existe deux types de parité :

Parité paire (resp. parité impaire) : le bit ajouté à la donnée est positionné de telle sorte que le nombre des états 1 soit paire (resp. impaire) sur l’ensemble donnée + bit de parité

Ch.

Code ASCII

E 1 0 1 0 0 0 1

Mot codé (p. paire)

1 0 1 0 0 0 1 1

Mode codé (p. impaire)

1 0 1 0 0 0 1 0

o Ce code est capable de détecter toutes les erreurs en nombre impair. Il ne détecte pas les erreurs en nombre pair !

La Couche Liaison de données

2. Protection contre les erreurs

Les codes polynômiaux

o Définition : Dans un code polynomial appelé aussi CRC(Code de Redondance Cyclique) chacun des mots du code est un multiple du polynôme générateur

o Remarque : Un bloc de k bits est vu comme la série des coefficients d’un polynôme comprenant k termes allant de x k-1 à x 0 Ex : 110001 correspond au polynôme x 5 +x 4 +x 0

La Couche Liaison de données

2. Protection contre les erreurs

o Principe du codage

Le mot de code m(x) d’un code polynomial (k, n) de polynôme générateur g(x) (de degré n-k : n-k+1 bits) associé au mot initial i(x) est défini par :

m(x) = i(x). X n-k + r(x), où r(x) est le reste de la division de polynôme générateur g(x). Remarque : r(x) est de degré n-k-1 (n-k bits)

i(x).x n-k par le

Mot de code m(x) :

Bits de r(x) Bits de i(x) n - k bits k bits Champ de données
Bits de r(x)
Bits de i(x)
n - k bits
k bits
Champ de données
Champ de contrôle
d’erreurs

R. Champ de contrôle d’erreurs : CRC ou FCS (Frame Check Sequence)

La Couche Liaison de données

2. Protection contre les erreurs

Couche Liaison de données 2. Protection contre les erreurs 29/11/2011 Réseaux Téléinformatiques– Majdi JRIBI 17

La Couche Liaison de données

o Principe du décodage

A la réception, chaque mot reçu m’(x) est divisé par le polynôme générateur g(x). • Un reste non-nul indique qu’il y a eu erreur lors de la transmission.

La Couche Liaison de données

2. Protection contre les erreurs

o Exemple de codes polynomiaux normalisés:

(i) Le polynôme générateur CRC-CCITT

. G(x) = x 16 + x 12 + x 5 + 1.

(ii) Le polynôme CRC-16 est utilisé par le protocole HDLC :

. G(x) = x 16 + x 15 + x 2 + 1.

(iii) Le polynôme suivant est utilisé par Ethernet :

. G(x) = x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 +x 8 +x 7 + x 5 +x 4 +x 2 +1.

La Couche Liaison de données

2. Protection contre les erreurs

Principe général de l’auto-correction des erreurs de transmission - Après détection d’une erreur, la redondance dans le message transmis est suffisante pour permettre de retrouver le message initial.

Exemple : la technique de détection par répétition. Le message codé est un triple exemplaire du message initial, le récepteur suppose que le message initial correspond aux deux exemplaires qui sont identiques.

La Couche Liaison de données

2. Protection contre les erreurs

Remarque : certaines erreurs détectées ne sont pas corrigibles !! ex : une erreur différente sur au moins deux exemplaires

.

La Couche Liaison de données

2. Protection contre les erreurs

Principe général pour la correction par retransmission des erreurs de transmission (ARQ:Atomatic Repeat reQuest) :

- Après détection d’une erreur, le récepteur demande à l’émetteur, implicitement (temporisateur) ou explicitement (nack : négatif acknowledgment), de retransmettre une nouvelle fois le message (codé).

de retransmettre une nouvelle fois le message (codé). - Exemple : de très nombreux protocoles de

- Exemple : de très nombreux protocoles de télécommunication : HDLC,

X25.