Cours n° 2 Liaison de données et trames

20
asters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié 1 Cours n° 2 Cours n° 2 Liaison de données et trames Liaison de données et trames

description

Cours n° 2 Liaison de données et trames. Sommaire. 1. Délimitation de trames Fanions 2. Détection/correction d’erreurs Code de parité Code polynomial Code de Hamming 3. Contrôle de flux Protocoles à fenêtres d’anticipation. Définition. - PowerPoint PPT Presentation

Transcript of Cours n° 2 Liaison de données et trames

Page 1: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié1

Cours n° 2Cours n° 2

Liaison de données et tramesLiaison de données et trames

Page 2: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié2

1. Délimitation de trames Fanions

2. Détection/correction d’erreurs Code de parité Code polynomial Code de Hamming

3. Contrôle de flux Protocoles à fenêtres d’anticipation

Sommaire

Page 3: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié3

DéfinitionDéfinition

Assurer une transmission exempte d'erreurs sur un canal de communicationRécupération des paquets de la couche réseau,

Construction d’une (ou plusieurs) trame(s) pour chaque paquet,

Envoie de chaque trame à la couche physique

Emetteur

couche réseau

couche liaison

couche physique

couche réseau

couche liaison

couche physique

paquet

trame

bits

paquet

trame

Récepteur

Page 4: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié4

1. DELIMITATION DE TRAMES1. DELIMITATION DE TRAMES

IntroductionIntroduction

Trames (Suites de bits ou de caractères de taille variable)

Détection du début et de la fin de la trame,

Synchronisation entre émetteur et récepteur

Trois méthodes de délimitationTaille de la trame,

Champs délimitateurs (fanions) en début et/ou en fin de trame

Transmission de la requête de délimitation à la couche physique

‘M’‘A’ ‘S’ ‘T’ ‘E’ ‘R’ ‘I’ ‘G’ ‘I’‘I’‘L’ ‘1’

Page 5: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié5

1. DELIMITATION DE TRAMES1. DELIMITATION DE TRAMES

Taille de la trameTaille de la trame

Ajout d’un champ dans l'en-tête de la trame pour indiquer le nombre de caractères de la trame

Problème en cas de modification de la valeur du champ au cours de la transmission

Trames émises

Trames reçues

‘M’‘A’ ‘S’ ‘T’ ‘E’ ‘R’ ‘I’ ‘G’ ‘I’‘I’‘L’ ‘1’6 5 1

‘M’‘A’ ‘S’ ‘T’ ‘E’ ‘R’ ‘I’ ‘G’ ‘I’‘I’‘L’ ‘1’6 5 1

‘M’‘A’ ‘S’ ‘T’ ‘E’ ‘R’ ‘I’ ‘G’ 73‘I’‘L’ ‘1’6 4 01

w

Propagation de l’erreur

Page 6: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié6

1. DELIMITATION DE TRAMES1. DELIMITATION DE TRAMES

FanionsFanions

Séquence particulière de bits signalant le début et la fin d’une trame

Adaptée à des trames de bits,Interdiction d’une séquence binaire identique dans la trame

Ajout de bits de transparencePas de perte de la synchronisationEnvoi de trames de taille quelconque

Exemple

Fanion 1 1 1 1 1 1

1 1 1 1 1 10 0Données 1 1 0 11 1

Trame 1 1 1 1 1 1 1 1 0 11 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 10

Page 7: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié7

2. DETECTION/CORRECTION D’ERREURS2. DETECTION/CORRECTION D’ERREURS

Erreurs sur un canal de transmissionErreurs sur un canal de transmission

Causes

rayonnement électromagnétique (relais, émetteurs)

câblage mal isolé et effet de distorsion (longueur du câble)

10-15 pour les bus des ordinateurs (erreurs tous les 11 ans)

10-9 pour les réseaux locaux (erreurs toutes les 10 secondes)

10-5 pour le téléphone (100 erreurs par seconde)

10-2 pour le WIFI (100 000 erreurs par seconde)

Types d’erreursErreurs isolées

simples à détecter et à corriger, proportion élevée de trames affectées

Erreurs en rafalesdifficiles à détecter et à corriger, proportion faible de trames affectées

émis bits de nombre

erronés bits de nombreerreurd' Taux

Page 8: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié8

2. DETECTION/CORRECTION D’ERREURS2. DETECTION/CORRECTION D’ERREURS

StratégiesStratégies

Détection des erreurs par le récepteurCode détecteurs d’erreurs

Demande d’une retransmission à l’émetteur

Détection et correction des erreurs par le récepteurCodes correcteurs d’erreur

canal unidirectionnel

grande distance entre l’émetteur et le récepteur (satellite)

Adaptation de la taille des trames transmisesDiminution de la taille des trames

en cas d’augmentation du taux d’erreur,en cas d’erreurs isolés

Page 9: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié9

2. DETECTION/CORRECTION D’ERREURS2. DETECTION/CORRECTION D’ERREURS

Principe des codesPrincipe des codes

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

Distance de Hamming de deux motsNombre de bits différents entre deux mots

Distance de Hamming d’un codedistance de Hamming entre les 2 mots du code les plus proches

Capacité d’un code à détecter d erreursDistance de Hamming du code supérieure ou égale à d + 1

Capacité d’un code à corriger d erreursDistance de Hamming du code supérieure ou égale à 2*d + 1

Exemple : Soit le code C = { 0000 0000, 0000 1111, 1111 0000, 1111 1111 }

sa distance de Hamming est égale à 4

si un récepteur reçoit 0000 0111, peut t’il corriger l’erreur ?

Page 10: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié10

2.1 CODE DE PARITE2.1 CODE DE PARITE

Principe et capacitéPrincipe et capacité

Ajout d’un seul bit (dit de parité) aux bits de donnéesParité paire des données

ajout d’un bit 0 Ex:

Parité impaire des données

ajout d’un bit 1 Ex:

Parité du nombre de bits à 1 du mot de code

Capacité du code de paritéDétection d’une erreur simple ou d’un nombre impair d’erreurs

Pas de détection d’un nombre pair d’erreurs

Pas de correction d’erreur

Distance de Hamming de 2

1 1 0 11 0

0 1 0 11 1

Page 11: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié11

2.2 CODE POLYNOMIAL 2.2 CODE POLYNOMIAL

Principe et capacitéPrincipe et capacité

Transformation du mot de données en polynôme devient x3 + x2 +1

Division par un polynôme générateurMot de code constitué du quotient et du reste

Normalisation de polynômes générateur possédant de bonnes propriétésCRC 16 = x16 + x15 + x2 + 1

CRC CCITT = x16 + x12 + x5 + 1

Détection de toutes les erreurs simples et doubles, de toutes les erreurs en rafale de longueur 16

Adapté à des mots de données de taille variable

0 111

Page 12: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié12

2.3 CODES LINEAIRES 2.3 CODES LINEAIRES

Principe et capacitéPrincipe et capacité

Ajout de c bits de contrôle aux d bits de données

Produit matriciel du mot de donnée par une matrice (c+d) X d dite génératrice

0 111 0 1 10 1 0 11 1 0 1

1 10 0=

Correction par le mot code le plus proche

Obligation de travailler sur des mots de données de taille fixe

Codes linéaires auto-correcteurs

Codage de la position d’un bit en erreur ou l’absence d’erreur

Distance de Hamming de 3correction des erreurs simples et détection des erreurs doubles

Exemple : Code de Hamming (7 , 4) d = 4, c = 3

Page 13: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié13

3. CONTRÔLE DE FLUX 3. CONTRÔLE DE FLUX

Protocole EnvoyerProtocole Envoyer

HypothèsesMémoire tampon infinie et canal parfait (pas de pertes ni d'erreurs)

Paquet p

EmetteurTant que vrai répéter

t construireTrame(p)couchePhysique.prendreTrame(t)

Fin tant que

Récepteur Tant que vrai répéter

t couchePhysique.donnerTrame()Fin tant que

Page 14: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié14

3. CONTRÔLE DE FLUX 3. CONTRÔLE DE FLUX

Protocole Envoyer et Attendre (Send and Wait)Protocole Envoyer et Attendre (Send and Wait)

Hypothèsesmémoire tampon finie et canal parfait (pas de pertes ni d'erreurs)

Envoie par le récepteur d’une trame d'acquittement après chaque trame reçue

Attente par l'émetteur de l’acquittement avant l’émission de la trame suivante

EmetteurTant que vrai répéter

t construireTrame(p)couchePhysique.prendreTrame(t)couchePhysique.attendreAquittement()

Fin tant que

Récepteur Tant que vrai répéter

t couchePhysique.donnerTrame()couchePhysique.envoyerAcquittement()

Fin tant que

Page 15: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié15

3. CONTRÔLE DE FLUX 3. CONTRÔLE DE FLUX

Protocole Envoyer Attendre et Réémettre (1/2)Protocole Envoyer Attendre et Réémettre (1/2)

Hypothèsesmémoire tampon finie et canal imparfait (pertes et erreurs)

Utilisation d’une méthode de détection d’erreurs

Envoie par le récepteur d’une trame d'acquittement si la trame est correcte.Réémission de la trame si aucune trame d’acquittement n’est reçue

EmetteurTant que vrai répéter

t construireTrame(p)booléen ack fauxTant que ack = faux répéter

couchePhysique.prendreTrame(t)ack couchePhysique.attendreAquittement()

Fin Tant queFin tant que

Page 16: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié16

3. CONTRÔLE DE FLUX 3. CONTRÔLE DE FLUX

Protocole Envoyer Attendre et Réémettre (2/2)Protocole Envoyer Attendre et Réémettre (2/2)

RécepteurTant que vrai répéter

t couchePhysique.donnerTrame()Si estCorrecte(t) alors

couchePhysique.envoyerAcquittement()Fin si

Fin tant que

ProblèmeBlocage en cas de perte de la trame d’acquittement

Page 17: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié17

3. CONTRÔLE DE FLUX 3. CONTRÔLE DE FLUX

Protocole à fenêtres d’anticipationProtocole à fenêtres d’anticipation

Numérotation des trames et des trames d’acquittementDétection d’une trame perdue

Fenêtre de réception stockant les trames attenduesTaille (R) avec R = 1 généralementFenêtre d’émission indiquant la liste des numéros de trames dont on attend l’acquittement Taille (maxE) indiquant le nombre maximal de trames pouvant être envoyées sans acquittements (taille courante variable)Choix de maxE en fonction de la taille de la trame, du débit et du temps de propagation

Efficacité de la transmission = Tem/Ta Tem = maxE* Te temps d’émission maximal

Ta = Te + Tp temps d’émission + temps de propagation

Te = m / d m taille de la trame, d débit

Exemple d= 50kbits/s, m = 1000 bits, Tp = 250ms MaxE = 13

Page 18: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié18

3.1 PROTOCOLE A FENETRES D’ANTICIPATION 3.1 PROTOCOLE A FENETRES D’ANTICIPATION

Stratégies d’acquittement (1/2)Stratégies d’acquittement (1/2)

Envoi d’un acquittement pour chaque trameMinimisation du temps de réponseDoublement du nombre de trames

trame 0

trame 1

trame 2 ack 0

ack 1

ack 2

Emetteur Récepteur

temps

Page 19: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié19

3.1 PROTOCOLE A FENETRES D’ANTICIPATION 3.1 PROTOCOLE A FENETRES D’ANTICIPATION

Stratégies d’acquittement (2/2)Stratégies d’acquittement (2/2)

Envoi d’un acquittement toutes les trames reçuesAugmentation du temps de réponseMinimisation du nombre de trames d’acquittement

temps

trame 0

trame 1

trame 2

ack 2

EmetteurRécepteur

Page 20: Cours n° 2 Liaison de données et trames

Masters ILGII et IILGI – Intranet internet extranet – 2006-2007 – Claude Montacié20

3.1 PROTOCOLE A FENETRES D’ANTICIPATION 3.1 PROTOCOLE A FENETRES D’ANTICIPATION

Stratégies de rejetStratégies de rejet

Rejet totalRejet des trames suivant une erreur de transmission

Rejet sélectifStockage des tramessuivant une erreur de transmissionRemise en séquence