40
La Couche La Couche Liaison Liaison Modèle OSI : couche 2 Modèle OSI : couche 2

La Couche Liaison

  • Upload
    jamese

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

La Couche Liaison. Modèle OSI : couche 2. La Couche Liaison. Objectif : assurer une communication fiable et efficace entre deux machines adjacentes, ie les données échangées par la couche réseau doivent être : dans l'ordre, sans erreur, sans perte , et sans duplication. - PowerPoint PPT Presentation

Citation preview

Page 1: La Couche Liaison

La Couche La Couche LiaisonLiaison

Modèle OSI : couche 2Modèle OSI : couche 2

Page 2: La Couche Liaison

La Couche LiaisonLa Couche Liaison

ObjectifObjectif : assurer une communication fiable et : assurer une communication fiable et efficace entre deux machines adjacentes, ie les efficace entre deux machines adjacentes, ie les données échangées par la couche réseau doivent données échangées par la couche réseau doivent être :être : dans l'ordre, sans erreur, sans perte , et sans duplication.dans l'ordre, sans erreur, sans perte , et sans duplication.

Principale fonctionnalité :Principale fonctionnalité : découpage et transmission des données en trames qui découpage et transmission des données en trames qui

sont transmises séquentiellement (confiées à la couche sont transmises séquentiellement (confiées à la couche physique)physique)

Chemin virtuel Chemin virtuel ::couche 2 couche 2 couche 2 (trames de bits) couche 2 (trames de bits)

Chemin réelChemin réel : : couche 1 couche 1 couche 1 (bits sur canal de couche 1 (bits sur canal de transmission)transmission)

Page 3: La Couche Liaison

Communication virtuelleCommunication virtuelle

Couche 1

Couche 2

Couche 3

Couche 4

Couche 5

Couche 1

Couche 2

Couche 3

Couche 4

Couche 5

(Protocole de la couche 2)

Communication virtuelle

Chemin réel des données

J’ai un paquetà livrer

OK

Page 4: La Couche Liaison

Le contrôle d’erreursLe contrôle d’erreurs Considérations :Considérations :

Le canal de transmission délivre les bits Le canal de transmission délivre les bits dans l'ordre d'émission, dans l'ordre d'émission, maismais certains certains peuvent peuvent changer de valeurchanger de valeur, ou , ou disparaîtredisparaître, ou , ou apparaîtreapparaître..

Une trame doit être délivrée 1 et 1 seule Une trame doit être délivrée 1 et 1 seule fois à la couche réseau destination. fois à la couche réseau destination.

calcul d’une somme de contrôle d’erreurs calcul d’une somme de contrôle d’erreurs (CRC), acquittements, temporisateurs, (CRC), acquittements, temporisateurs, numérotation des trames.numérotation des trames.

Page 5: La Couche Liaison

Autres rôles de la couche Autres rôles de la couche liaisonliaison

Le contrôle de fluxLe contrôle de flux : l'émetteur ne doit : l'émetteur ne doit envoyer des trames que si le récepteur est envoyer des trames que si le récepteur est en mesure de les traiter.en mesure de les traiter.

La gestion de la liaisonLa gestion de la liaison : : établissement et libération de la liaison, établissement et libération de la liaison, supervision du fonctionnement selon le supervision du fonctionnement selon le

mode de synchronisation, de mode de synchronisation, de transmission, et le type de liaison,transmission, et le type de liaison,

définition de la « syntaxe » des trames définition de la « syntaxe » des trames et du protocole de liaison.et du protocole de liaison.

Page 6: La Couche Liaison

L'utilité de la couche L'utilité de la couche liaisonliaison

Problème :Problème : un message provenant des un message provenant des couches hautes est découpé en 10 trames, couches hautes est découpé en 10 trames, chacune d'entre elles ayant 80% de chances chacune d'entre elles ayant 80% de chances d'arriver intacte. Combien de fois, en d'arriver intacte. Combien de fois, en moyenne, faudra-t-il réémettre le message moyenne, faudra-t-il réémettre le message pour qu'il arrive entier en bon état :pour qu'il arrive entier en bon état :

1 : s1 : si la couche liaison n'effectue aucun i la couche liaison n'effectue aucun contrôle d'erreur ?contrôle d'erreur ?

2 : si la couche liaison effectue le contrôle 2 : si la couche liaison effectue le contrôle d'erreur pour chaque trame ?d'erreur pour chaque trame ?

Page 7: La Couche Liaison

Problème 1 Problème 1 Probabilité que n bits traversent sans erreur :

p = 0.8

Probabilité qu’un message de 10×n bits traversent sans erreur? p’=p10 = 0.810 = 0.1074

(1-p’ = 0.8926 est donc la probabilité qu’il faudra retransmettre le message -- i.e. encore une fois les 10×n bits…)

Nombre moyen de retransmissions N = 1 / p’ = 9.31

(plus de 9 fois, en moyenne)

Page 8: La Couche Liaison

Problème Problème 22

Combien de transmissions de n bits seraient requises au total si les ACK se situaient à ce niveau (et non au niveau du message complet) ?

1- p= 0.2 est la probabilité que les n bits soient retransmis

Pour un message de 10×n bits, on peut donc dire (en gros): - 8×n bits seront transmises avec succès

- 2×n bits devront être retransmises une deuxième fois

au total : 12 transmissions de n bits (i.e. 1.2 fois le message, au lieu de 9.31 … )

Page 9: La Couche Liaison

Les protocoles ARQLes protocoles ARQ

ARQ (Automatic Repeat reQuest) ARQ (Automatic Repeat reQuest) : : l'émetteur attend des acquittements positifs l'émetteur attend des acquittements positifs ou négatifs ; le récepteur détecte les ou négatifs ; le récepteur détecte les erreurs, et selon le cas, ignore la trame ou erreurs, et selon le cas, ignore la trame ou demande sa retransmission.demande sa retransmission.

Deux types de protocoles ARQ :Deux types de protocoles ARQ : protocoles « protocoles « envoyer et attendreenvoyer et attendre » (send and » (send and

wait),wait), protocoles « continus » (continuous ou pipelined protocoles « continus » (continuous ou pipelined

ARQ) ou « ARQ) ou « à fenêtre d'anticipationà fenêtre d'anticipation ». ».

Page 10: La Couche Liaison

Protocoles « envoyer et Protocoles « envoyer et attendre »attendre »

ButBut : empêcher l'émetteur d'envoyer : empêcher l'émetteur d'envoyer des données plus rapidement que le des données plus rapidement que le récepteur ne peut les traiter.récepteur ne peut les traiter. or, ralentir le débit des trames en or, ralentir le débit des trames en

temporisant n'est pas satisfaisant : quel temporisant n'est pas satisfaisant : quel choix de temporisation ?!...choix de temporisation ?!...

MéthodeMéthode : : Obliger le récepteur à informer l'émetteur Obliger le récepteur à informer l'émetteur

de son état de son état acquittements. acquittements. Côté émetteur : envoyer et attendre.Côté émetteur : envoyer et attendre.

Page 11: La Couche Liaison

Protocoles ARQ (1)Protocoles ARQ (1)

Trame erronée : Trame erronée : acquittement positif ou négatifacquittement positif ou négatif

Page 12: La Couche Liaison

Protocoles ARQ (2)Protocoles ARQ (2)

Trame perdue : Trame perdue : temporisateurtemporisateur

Page 13: La Couche Liaison

Protocoles ARQ (3)Protocoles ARQ (3)

Acquittement perdu, duplication : Acquittement perdu, duplication : numérotation des tramesnumérotation des trames

Page 14: La Couche Liaison

Protocoles ARQ (4)Protocoles ARQ (4)

Temporisateur expire trop tôt : Temporisateur expire trop tôt : numérotation des acquittementsnumérotation des acquittements

Page 15: La Couche Liaison

Protocoles ARQ envoyer et Protocoles ARQ envoyer et attendreattendre

Ces protocoles sont unidirectionnels, et ne permettent Ces protocoles sont unidirectionnels, et ne permettent qu’une pauvre utilisation de la capacité du canal. (cf TD)qu’une pauvre utilisation de la capacité du canal. (cf TD)

Page 16: La Couche Liaison

Protocoles « à fenêtre Protocoles « à fenêtre d'anticipation »d'anticipation »

AméliorationsAméliorations : : Données et acquittements dans les 2 sens (mode Données et acquittements dans les 2 sens (mode

bidirectionnel).bidirectionnel). Envoi d'un certain nombre de trames sans Envoi d'un certain nombre de trames sans

attendre d'acquittement (pipelining)attendre d'acquittement (pipelining) Acquittements ajoutés à des trames de données Acquittements ajoutés à des trames de données

envoyées dans l'autre sens (piggypacking ).envoyées dans l'autre sens (piggypacking ).

+ d'efficacité, + de complexité de gestion + d'efficacité, + de complexité de gestion aussiaussi

besoin de tampons pour trames non encore besoin de tampons pour trames non encore acquittées (et susceptibles d'être réémises).acquittées (et susceptibles d'être réémises).

Page 17: La Couche Liaison

Fenêtre d'anticipationFenêtre d'anticipation

Trames :Trames : ont un numéro de séquence codé sur n ont un numéro de séquence codé sur n bits (0 bits (0 2 2n n -1).-1).

Remarque : si n=1 Remarque : si n=1 « envoyer et attendre » « envoyer et attendre » robuste.robuste.

Fenêtre d'émissionFenêtre d'émission (côté émetteur) : (côté émetteur) :liste des numéros de séquence des trames liste des numéros de séquence des trames autorisées à être autorisées à être émisesémises . .

Fenêtre de réceptionFenêtre de réception (côté récepteur) : (côté récepteur) :liste des numéros de séquence des trames liste des numéros de séquence des trames autorisées à être autorisées à être reçuesreçues . .

Page 18: La Couche Liaison

Fenêtre d'émissionFenêtre d'émission

Taille (maximale)Taille (maximale) = nombre de trames = nombre de trames autorisées à être émises sans attendre autorisées à être émises sans attendre acquittement.acquittement.

ContenuContenu = numéros de séquence des trames = numéros de séquence des trames envoyées mais non encore acquittées. envoyées mais non encore acquittées.

2n-1 0

1

2n-1 0

1

2n-1 0

1

Page 19: La Couche Liaison

L'émetteur stocke les trames non acquittées L'émetteur stocke les trames non acquittées dans des zones tampons (au plus dans des zones tampons (au plus m m trames, si trames, si mm est la taille de la fenêtre).est la taille de la fenêtre).

Si la fenêtre atteint son maximum, on n'envoie Si la fenêtre atteint son maximum, on n'envoie plus rien jusqu'à une libération, ie un plus rien jusqu'à une libération, ie un acquittement.acquittement.

7 0

1

4

5 2

6

3

7 0

1

4

5 2

6

3

Couche 3

Trame N°5

Couche 2

Ack 3

7 0

1

4

5 2

6

3

Page 20: La Couche Liaison

Fenêtre de réceptionFenêtre de réceptionTaille (Taille (fixefixe)) = nombre de trames autorisées à être reçues. = nombre de trames autorisées à être reçues.

ContenuContenu = numéros de séquence de ces trames attendues. = numéros de séquence de ces trames attendues.

7 0

1

4

5 2

6

3

7 0

1

4

5 2

6

3

Couche 1

Trame N°2

7 0

1

4

5 2

6

3

Couche 1

Trame N°3

Trame N° 2 vers couche 3.

Trame N° 3 stockée.

Page 21: La Couche Liaison

Exemples de protocoles Exemples de protocoles (1)(1)

Protocole à fenêtres d'émission et de réception de Protocole à fenêtres d'émission et de réception de largeur largeur 11

revient à « envoyer et attendre » robuste.revient à « envoyer et attendre » robuste.

Page 22: La Couche Liaison

Exemples de protocoles Exemples de protocoles (2)(2)

Protocole à fenêtre d'émission de Protocole à fenêtre d'émission de largeur largeur mm et à fenêtre de et à fenêtre de réception de largeur réception de largeur 11

rejet globalrejet global L'émetteur peut envoyer plusieurs L'émetteur peut envoyer plusieurs

trames sans acquittement (jusqu'à trames sans acquittement (jusqu'à mm).). Le récepteur rejette toutes les trames Le récepteur rejette toutes les trames

qui suivent une trame erronée.qui suivent une trame erronée.

retransmission de toutes les trames retransmission de toutes les trames qui suivent celle erronée.qui suivent celle erronée.

Page 23: La Couche Liaison
Page 24: La Couche Liaison

Exemples de protocoles Exemples de protocoles (3)(3)

Protocole à fenêtre d'émission de Protocole à fenêtre d'émission de largeur largeur mm

et à fenêtre de réception de largeur et à fenêtre de réception de largeur kk

   rejet sélectifrejet sélectif Le récepteur stocke les suivantes.Le récepteur stocke les suivantes. Quand le récepteur reçoit la trame qui Quand le récepteur reçoit la trame qui

manquait, il envoie un acquittement du + manquait, il envoie un acquittement du + grand nombre possible.grand nombre possible.

   moins de retransmission de trames.moins de retransmission de trames.

Page 25: La Couche Liaison
Page 26: La Couche Liaison

Utilisation des fenêtres Utilisation des fenêtres d'anticipationd'anticipation

L'utilisation des fenêtres d'anticipation L'utilisation des fenêtres d'anticipation pour les protocoles avec une pour les protocoles avec une transmission continue doit respecter les transmission continue doit respecter les conditions suivantes :conditions suivantes : un temporisateur individuel pour chaque un temporisateur individuel pour chaque

trame non acquittée,trame non acquittée, taille des fenêtres et numéros de séquence : taille des fenêtres et numéros de séquence :

on a ton a tee t trr et et

si tsi tr r = 1, alors t= 1, alors tee <=2 <=2nn - 1, - 1,

si tsi trr > 1 (rejet sélectif), alors 2*t > 1 (rejet sélectif), alors 2*tee 22nn..

Page 27: La Couche Liaison

Deux familles de protocoles Deux familles de protocoles synchronessynchrones

Protocoles basés sur le caractèreProtocoles basés sur le caractère : :trame = suite de caractères.trame = suite de caractères.Exemple : Exemple :

BSC (Binary Synchronous Communications) BSC (Binary Synchronous Communications) d'IBM.d'IBM.

exploitation half-duplex, utilisation d'un exploitation half-duplex, utilisation d'un code (ex. ASCII).code (ex. ASCII).

Protocoles basés sur l'élément binaireProtocoles basés sur l'élément binaire : :trame = suite de bits.trame = suite de bits.Exemples : Exemples :

SDLC (Synchronous Data Link Control) d'IBM, SDLC (Synchronous Data Link Control) d'IBM, HDLC (High-level Data Link Control) de l'ISO.HDLC (High-level Data Link Control) de l'ISO.

Page 28: La Couche Liaison

Le protocole HDLCLe protocole HDLC Exploitation full-duplex de la liaison.Exploitation full-duplex de la liaison. Basé sur l'élément binaire :Basé sur l'élément binaire :

pas d'interprétation du contenu,pas d'interprétation du contenu, transparence / aux codes éventuellement utilisés.transparence / aux codes éventuellement utilisés.

Protocole synchrone :Protocole synchrone :synchro-bit : horloge,synchro-bit : horloge,synchro-trame : délimiteur ou fanion 01111110.synchro-trame : délimiteur ou fanion 01111110. bit de transparence (un 0 après cinq 1).bit de transparence (un 0 après cinq 1).

Protection contre les erreurs de transmission pour Protection contre les erreurs de transmission pour chaque trame.chaque trame.

Une trame contient données et/ou infos de service Une trame contient données et/ou infos de service (ex. ACK).(ex. ACK).

Page 29: La Couche Liaison

Types de liaisonTypes de liaison

Liaison non-équilibréeLiaison non-équilibrée : point-à-point ou : point-à-point ou multipoint.multipoint. La primaire commande, la secondaire répond .La primaire commande, la secondaire répond . La primaire gère la liaison La primaire gère la liaison

(activation/désactivation).(activation/désactivation).

Liaison équilibréeLiaison équilibrée : point-à-point. : point-à-point. Stations mixtes primaire/secondaire, Stations mixtes primaire/secondaire,

commandes et réponses.commandes et réponses.

Page 30: La Couche Liaison

Modes de fonctionnement des Modes de fonctionnement des stationsstations

définissent 3 classes de protocoles HDLC.définissent 3 classes de protocoles HDLC.

Pour les liaisons non-équilibrées :Pour les liaisons non-équilibrées : NRM : Normal Response ModeNRM : Normal Response Mode

La secondaire n'émet que si elle y est invitée, et La secondaire n'émet que si elle y est invitée, et indique la fin de transmission pour rendre la main indique la fin de transmission pour rendre la main à la primaire.à la primaire.

Classe UN : Unbalanced Normal.Classe UN : Unbalanced Normal. ARM : Asynchronous Response ModeARM : Asynchronous Response Mode

La secondaire émet à son gré (une fois la liaison La secondaire émet à son gré (une fois la liaison activée).activée).

Classe UA : Unbalanced Asynchronous.Classe UA : Unbalanced Asynchronous.

Page 31: La Couche Liaison

Modes de fonctionnement des Modes de fonctionnement des stationsstations

Pour les liaisons équilibrées :Pour les liaisons équilibrées : ABM : Asynchronous Balanced ModeABM : Asynchronous Balanced Mode

Primaire et secondaire peuvent initialiser la Primaire et secondaire peuvent initialiser la liaison et émettre quand elles veulent.liaison et émettre quand elles veulent.

Classe BA : Balanced Asynchronous.Classe BA : Balanced Asynchronous.

Page 32: La Couche Liaison

Structure de la trame Structure de la trame HDLCHDLC

FCSFCS : Frame Check Sequence (polynôme X : Frame Check Sequence (polynôme X1616 +X +X1212 +X +X55+1)+1) Calculs Calculs avantavant le rajout des bits de transparence à le rajout des bits de transparence à

l'émission, l'émission, aprèsaprès leur suppression à la réception. leur suppression à la réception.

AdresseAdresse : adresse d’un couple primaire/secondaire opposés : adresse d’un couple primaire/secondaire opposés Dans une trame commande, adresse de la station qui Dans une trame commande, adresse de la station qui

reçoit.reçoit. Dans une trame réponse, adresse de la station qui répond.Dans une trame réponse, adresse de la station qui répond.

FanionFanion AdressAdressee

CommanCommandede

DonnéesDonnées FCSFCS FanionFanion

0111110111111010

(8 bits)(8 bits) (8 bits)(8 bits) (n (n 0 0 bits)bits)

(16 (16 bits)bits)

0111110111111010

Page 33: La Couche Liaison

Le champ CommandeLe champ Commandedéfinit le type de la trame et ses fonctions.définit le type de la trame et ses fonctions.

Type IType I ( ( IInformation) : transfert de données.nformation) : transfert de données.

Type SType S ( ( SSupervision) : accusé de réception et contrôleupervision) : accusé de réception et contrôle de de flux.flux.

Type UType U ( ( UUnnumbered) : connexion, déconnexion,nnumbered) : connexion, déconnexion, erreurs, erreurs,

N(S) : numéro trame I envoyée. N(R) : numéro trame IN(S) : numéro trame I envoyée. N(R) : numéro trame I attendue.attendue.

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

N(R)N(R) P/FP/F N(S)N(S) 00

N(R)N(R) P/FP/F SS SS 00 11

MM MM MM P/FP/F MM MM 11 11

Page 34: La Couche Liaison

Trames de supervision Trames de supervision (1)(1)

Trame RRTrame RR (Receive Ready) (Receive Ready)

prête à recevoirprête à recevoir

accusé de réception jusqu’à la accusé de réception jusqu’à la trame N(R)-1trame N(R)-1

N(R)N(R) P/FP/F 00 00 00 11

Page 35: La Couche Liaison

Trames de supervision Trames de supervision (2)(2)

Trame RNRTrame RNR (Receive Not Ready) (Receive Not Ready)

demande de suspension temporaire demande de suspension temporaire de toute transmissionde toute transmission

accusé de réception jusqu’à la accusé de réception jusqu’à la trame N(R)-1trame N(R)-1

N(R)N(R) P/FP/F 00 11 00 11

Page 36: La Couche Liaison

Trames de supervision Trames de supervision (3)(3)

Trame REJTrame REJ (Reject) : (Reject) :

demande de retransmission de demande de retransmission de toutes les trames à partir de la toutes les trames à partir de la trame N(R).trame N(R).

N(R)N(R) P/FP/F 11 00 00 11

Page 37: La Couche Liaison

Trames de supervision Trames de supervision (4)(4)

Trame SREJTrame SREJ (Selective Reject) : (Selective Reject) :

demande de retransmission de la trame demande de retransmission de la trame N(R).N(R).

Ainsi, si on utilise un protocole HDLC avec :Ainsi, si on utilise un protocole HDLC avec : une taille de fenêtre de réception =1 une taille de fenêtre de réception =1 REJ REJ une taille de fenêtre de réception >1 une taille de fenêtre de réception >1 SREJ SREJ

N(R)N(R) P/FP/F 11 11 00 11

Page 38: La Couche Liaison

Acquittement par une Acquittement par une RRRR

I 0,0

RR 1

I 1,0

I 2,0

RR 3

I 0,0

I 1,0

I 2,0

I 0,3

II

Page 39: La Couche Liaison

Utilisation de REJUtilisation de REJ

I 0,0

I 1,0

I 2,0RR 2

I 3,0

I 4,0

REJ 3

Trame perdue ou erronée

On a perçu la rupure de séquenceil faut réagir

Page 40: La Couche Liaison

Connexion en modeConnexion en modeasynchroneasynchrone équilibrééquilibré

SARM

SARM

UA

UA

I I

SABM

UA

I I