Vous êtes sur la page 1sur 43

Cours 3 Couche Liaison de Donnes

Hatem BETTAHAR HeuDiaSyc UMR CNRS 6599 Universit de Technologie de Compigne, FRANCE

Plan
Introduction Partie1: liaison de donnes

Codes correcteurs: CRC Protocoles : HDLC

Partie 2: Contrle dAccs


Mthodes alatoires: CSMA-CD Mthodes dterministes: jeton sur anneau

H. BATTAHAR | ISG-Gabs 2007 |

Introduction

Services de la couche de liaison de donnes

Transparence de la couche physique vis--vis la couche rseaux:


sous-couche LLC (Logical Link Control ) Dtection et correction derreurs de transmission Gestion/contrle du flux entre metteur et rcepteur CRC HDLC Sous-couche MAC (Medium Access Control) Gestion daccs au support physique Gestion de collision CSMA/CD
3

Mcanisme de partage du support physique


H. BATTAHAR | ISG-Gabs 2007 |

Introduction

Transparence de communication couche Rseau/couche physique


Fiabilit de support de communication

CRC HDLC PPP

Un moyen pour identifier physiquement lmetteur et le destinataire (adresses MAC); Une mthode pour structurer linformation (Trames); Une mthode de contrle daccs au mdia (CSMA).

CSMA/CD

H. BATTAHAR | ISG-Gabs 2007 |

Plan

Introduction Partie1: liaison de donnes Codes correcteurs: CRC

Protocoles : HDLC

Partie 2: Contrle dAccs


Mthodes alatoires: CSMA-CD Mthodes dterministes: jeton sur anneau

H. BATTAHAR | ISG-Gabs 2007 |

Dtection des erreurs de transmission

Des erreurs sont dues aux canaux de transmission.

Il faut pouvoir les dtecter et les corriger.


De faon gnrale pour transmettre k bits, on ajoute r bits, soit au total k + r = n bits transmis. On parle de code(n, k) ou de mot de code. Il existe plusieurs mthodes de dtection et de correction des erreurs.

H. BATTAHAR | ISG-Gabs 2007 |

Mthode VRC : Vertical Redundancy Check

C'est la mthode de la parit verticale.

A chaque caractre, on ajoute un bit de parit (1 ou 0) de faon ce que le nombre total de 1 soit paire ou impaire.

parit paire lorsque le nombre de 1 est paire et de parit impaire lorsque le nombre de 1 est impaire.

Exemple : VRC avec parit paire


Caractre A (code 41 en ASCII) : 1 0 0 0 0 0 1 0 Caractre C (code 43 en ASCII) : 1 0 0 0 0 1 1 1

H. BATTAHAR | ISG-Gabs 2007 |

Mthode VRC : Vertical Redundancy Check

La dtection d'erreur avec le VRC consiste

recalculer le bit de parit la rception et vrifier que le nombre total de 1 correspond la parit choisie.

La mthode VRC n'est pas trs fiable: (si deux bits sont errons, la dtection choue).

Son taux defficacit est estime 50 %.

H. BATTAHAR | ISG-Gabs 2007 |

Mthode LRC : Longitudinal Redundancy Check

Contrle de Parit deux dimensions

Contrle bloc par bloc

Chaque bloc contient un ensemble de caractres

Un VRC est appliqu sur lensemble de bits de mme rand dans le bloc

Le rsultat obtenu est appel BCC (Block Check Character) ou cl de fin de message, il est transmis comme un caractre du message mettre

Taux defficacit de 98%

H. BATTAHAR | ISG-Gabs 2007 |

Mthode LRC : Longitudinal Redundancy Check

Exemple
0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1

Permet de corriger 1 bit par bloc

1 0 1 0 1

VRC (Parit paire)

0 1

H. BATTAHAR | ISG-Gabs 2007 |

10

Direction du Transfert de chaque Caractre

LRC

Direction de Transfert du bloc entier

Mthode CRC : Cyclic Redundancy Check

C'est la mthode Code de Redondance cyclique . C'est la plus labore. Le principe consiste l'mission :

diviser les bits du message mettre considre comme un polynme par un autre polynme (dit gnrateur). Le reste de la division constitue le CRC mettre le message avec le CRC la rception on recalcule un CRC et les rsultats sont compars.

info

CRC

Cette mthode atteint un taux d'efficacit de 99,9%


11

H. BATTAHAR | ISG-Gabs 2007 |

Mthode CRC :Les codes cycliques

Choix des codes polynomiaux = qualit de dtection Exemples de CRC normalis (ISO)
P(x)

ATM utilise CRC-8, CRC-10, CRC-32 HDLC utilise CRC-CCITT Ethernet utilise CRC-32
12

H. BATTAHAR | ISG-Gabs 2007 |

Mthode CRC : principe de la dtection

1.Le message (trame) M est reprsent par un polynme M(x)


Soit M = mnm1m0 o mi est un bit 0 ou 1 Alors M(x) = mnxn + + m1x1 + m0

Soit le code gnrateur G(x) de degr r 2.On ralise la division polynomiale de xrM(x) par le code gnrateur G(x):

xrM(x)=G(x).Q(x) + R(x)

Q(x) est le quotient R(x) est le reste de la division Remarque: M(x) est multipli par xr pour tre divisible par G(x)
13

H. BATTAHAR | ISG-Gabs 2007 |

Mthode CRC : principe de la dtection


3.Le reste de la division polynomiale R(x) reprsente le code derreur La bloc transmis sera la suite de bits correspondant au polynme M(x)

M(x) = xrM(x) - R(x)

Remarque: M(x) est ncessairement multiple de polynme gnrateur G(x)


mme principe que dans une division dcimale 23=2x10 +3 donc (23-3) est multiple de 10

H. BATTAHAR | ISG-Gabs 2007 |

14

Mthode CRC : principe de la dtection

4. la rception

M(x) est divise par G(x) (par le rcepteur). Le reste R(x) de la division doit tre nul s'il n'y a pas eu d'erreur de transmission.

H. BATTAHAR | ISG-Gabs 2007 |

15

Mthode CRC : principe

Soient M un bloc de m bits et M(x) le polynme correspondant, G(x) un polynme gnrateur (avec m>r) On multiplie M (x) par xr, en ajoutant r bits 0 la fin de M On divise xrM(x) par G(x) pour obtenir R(x) On calcule M(x) = xrM(x) - R(x)
m

Message M Message M

CRC (R)

Message M

H. BATTAHAR | ISG-Gabs 2007 |

16

Mthode CRC : Exemples

Rappel: en Arithmtique binaire Laddition et la soustraction en binaire sont identiques:

+ 0 1

0 0 1

1 1 0

0 1

0 0 1

1 1 0

Cest quivalent un XOR logique

H. BATTAHAR | ISG-Gabs 2007 |

17

Mthode CRC : Exemples


Soit M= 1 0 1 1 1 => M(x) = x4 + x2 + x + 1 Soit G(x) = X3+1 => r=3 x3.M(x)= x7 + x5 + x4 + x3 => 1 0 1 1 1 0 0 0

x7 + x5 + x4 + x3 X3 +1 x4 + x2 + 1 x7 + x4
x5 + x3 x5 + x2 x3 + x2 x3 + 1
CRC

M(x)=x7 + x5 + x4 + x3 + x2 + 1 => 1 0 1 1 1 1 0 1

x2 + 1
18

H. BATTAHAR | ISG-Gabs 2007 |

Mthode CRC : Exemples

Calcul en binaire

G(x) = 1 0 0 1 x3.M(x)= 1 0 1 1 1 0 0 0

10111000 1001 001010 1001 001100 1001 101 CRC

1001 10101

M(x)=1 0 1 1 1 1 0 1

H. BATTAHAR | ISG-Gabs 2007 |

19

Mthode CRC : Exemples


Cot rcepteur M(x)=1 0 1 1 1 1 0 1 10111101 1001 001011 1001 001001 1001 000 R(x)

1001 10101

Le reste est nul donc pas derreur

H. BATTAHAR | ISG-Gabs 2007 |

20

Contrle derreurs: Corrections

Lorsqu'une erreur est dtecte, il faut la corriger.

L'metteur et le rcepteur amorce un dialogue (a l'initiative du rcepteur) pour effectuer la correction de l'erreur. Utilisation dune mthode de gestion dacquittements (ACK)

H. BATTAHAR | ISG-Gabs 2007 |

21

Contrle derreurs: gestion des acquittements

acquittement systmatique de chaque bloc de donnes (Stop-and-Wait)


T1
ACK

Lmetteur envoie les trames une une Dclanche un timer aprs chaque envoi Si pas dACK avant timeout retransmission

T2 Timeout

ACK

H. BATTAHAR | ISG-Gabs 2007 |

22

Contrle derreurs: gestion des acquittements

acquittement d'une suite de plusieurs blocs avec reprise squentielle (go-back-n)


Un ACK par groupe de trames Une trame i perdue oblige lmetteurs de reprendre la retransmission partir de cette trame i (mme si les suivantes sont bien reues) Dtail dans le deuxime partie (HDLC)

H. BATTAHAR | ISG-Gabs 2007 |

23

Contrle derreurs: gestion des acquittements

acquittement d'une suite de plusieurs blocs avec reprise slective. (Selective Reject)

Seules les trames rejetes sont retransmises Les trames suivantes sont acceptes par le rcepteur et mises dans un buffer Minimise la retransmission Rcepteur doit maintenir un tampon assez grand

H. BATTAHAR | ISG-Gabs 2007 |

24

Plan

Introduction Partie1: liaison de donnes

Codes correcteurs: CRC

Protocoles

: HDLC

Partie 2: Contrle dAccs


Mthodes alatoires: CSMA-CD Mthodes dterministes: anneau jeton

H. BATTAHAR | ISG-Gabs 2007 |

25

HDLC: High Level Data Link Control

L'unit de transfert est la trame (Frame)

Chaque trame est dlimite par un fanion le seul caractre "spcial" utilis par le protocole
En l'absence de donnes, le fanion est envoy pour maintenir la synchronisation entre les trames Contrle d'erreur trs efficace par CRC avec reprise sur erreur Contrle de flux avec anticipation et piggybacking (ACK dans Data)
26

H. BATTAHAR | ISG-Gabs 2007 |

Format de la trame HDLC


1 octet 1 octet 1ou 2 octet n bits 2 octet 1 octet

01111110

Adresse Commande

Donnes

FCS

01111110

Fanion 7F 0000 0011 : ETTD -> ETCD 0000 0001 : ETCD -> ETTD

FCS: CRC calcul sur les champs adresse + commande + donnes Donnes de la couche rseau (exemple un paquet IP), ventuellement vide (trames de contrle)

0 1 1 0 1

Nr

P/F P/F P/F

Ns Nr

Trame dinformation (donnes) Trame de supervision Trame non numrote b7


27

b0
H. BATTAHAR | ISG-Gabs 2007 |

Exemple d'change de donnes

H. BATTAHAR | ISG-Gabs 2007 |

28

Exemple de gestion d'erreurs

H. BATTAHAR | ISG-Gabs 2007 |

29

Exemple de gestion du contrle de flux

H. BATTAHAR | ISG-Gabs 2007 |

30

Plan

Introduction Partie1: liaison de donnes


Codes correcteurs: CRC Protocoles : HDLC

Partie 2: Contrle dAccs Mthodes alatoires: CSMA-CD

Mthodes dterministes: jeton sur anneau

H. BATTAHAR | ISG-Gabs 2007 |

31

Introduction

Canal accs multiple



Temps dmission

Dtection de collisions Reprise aprs les collisions

Collision

H. BATTAHAR | ISG-Gabs 2007 |

32

Temps de propagation

Bus, radio, Problme de collisions Prvoir une mthode de

Introduction

Deux familles de mthodes:

Mthodes alatoire (optimistes)


Envoyer Dtecter s il y a eu collision Si oui appliquer une mthode de rsolution de conflit exemple CSMA/CD: Ethernet

Mthodes dterministe (pessimistes)


Donner chaque machine le droit exclusif dmettre pendant une dure limite du temps. Il faut prvoir un mcanisme de ngociation de droit dmission entre les machines. exemple jeton sur anneau: Token Ring

H. BATTAHAR | ISG-Gabs 2007 |

33

La mthode daccs CSMA\CD

Carrier Sens Multiple Access/ Collision Detection

Approche Alatoire Principe :


Ecouter le trafic sur le rseau Si pas de trafic Alors


Emettre une trame Si la trame provoque une collision Alors
Ressayer ultrieurement d'envoyer la mme trame

H. BATTAHAR | ISG-Gabs 2007 |

34

CSMA/CD lalgorithme
Dbut couter la porteuse Non
Signal?

Oui

Dbut de lmission

Non

Collisio n

Comparer mission/rception

Fin de lmission
Oui

Brouillage

Attente

Permettre dautres davoir la chance dmettre


H. BATTAHAR | ISG-Gabs 2007 |

Trop de Collisions

Non Calcul du dlai de


retransmission

FIN

viter de rpter le conflit


35

CSMA/CD: dtection de collision

Donc :

t3 > t4 Au max t4max = t2 + tp (car B ne peut pas mettre aprs t2: le canal est occup) On a t2 = t1 +tp Donc t3 > t1 + 2xtp t3 t1 > 2*Tp

t3

t2

t4

Te > 2*Tp
36

H. BATTAHAR | ISG-Gabs 2007 |

Tp

Pour dtecter une collision la station doit recevoir la collision pendant lmission de sa propre trame (pour pouvoir comparer les deux signaux)

A t1
Te

CSMA/CD: dtection de collision

Conclusion : Pour dtecter les collisions le temps dmission dune trame doit tre suprieur au double du temps de propagation de la trame.

Gnralisation : Pour dtecter les collisions le temps dmission dune trame doit tre suprieur au double du temps de propagation entre les deux stations les plus loignes sur le rseau (DAR). DAR : Dlai Aller Retour.

H. BATTAHAR | ISG-Gabs 2007 |

37

CSMA/CD: dtection de collision

Le DAR est une caractristique du rseau

Pour vrifier la condition Te > DAR il faut imposer une taille minimale (Fmin) des trames envoyer. Si la taille de trame est infrieur Fmin on complte la trame par des donnes dites de bourrage.
Il faut prvoir des mcanismes qui permettent de distinguer entre les donnes utiles et le bourrage.

H. BATTAHAR | ISG-Gabs 2007 |

38

CSMA/CD:Calcul du dlai de retransmission

Algorithme BEB (Binary Exponential Backoff)

Dlai dattente = N * DAR


N est un nombre alatoire dans [0, 2k-1] k est le nombre de collisions successives. pour un nombre de collisions successives entre 10 et 16, k reste fix 10. Si le nombre de collisions >16 alors le rseau est dclar hors service

H. BATTAHAR | ISG-Gabs 2007 |

39

Plan

Introduction Partie1: liaison de donnes


Codes correcteurs: CRC Protocoles : HDLC

Partie 2: Contrle dAccs

Mthodes alatoires: CSMA-CD

Mthodes dterministes: jeton sur anneau

H. BATTAHAR | ISG-Gabs 2007 |

40

Jeton sur anneau


Dfinition

Un jeton est une trame particulire et unique Les stations sont connectes sur un anneau logique unidirectionnel Le jeton circule dune station une autre Une station a le droit dmettre une trame si elle possde le jeton. Une trame envoye par station est retire de lanneau par la station mettrice.

Principe

H. BATTAHAR | ISG-Gabs 2007 |

41

Jeton sur anneau

Exemple:

Jeton libre Trame Trame acquitte

H. BATTAHAR | ISG-Gabs 2007 |

42

Jeton sur anneau

Problmes

Lexistence du jeton Lunicit du jeton (problme de duplication du jeton) absence de famine

Solution

Une station particulire dite station de surveillance se charge de vrifier lexistence et lunicit du jeton Des rgles dchange du jeton doivent tre dfinies afin dviter la famine de certaines stations

Plus de dtail dans la partie Token Ring IEEE802.5

H. BATTAHAR | ISG-Gabs 2007 |

43