Les Rseaux Informatiques Chapitre V LES PROTOCOLES DE

  • Slides: 40
Download presentation
Les Réseaux Informatiques Chapitre V LES PROTOCOLES DE LIAISON 1

Les Réseaux Informatiques Chapitre V LES PROTOCOLES DE LIAISON 1

Sommaire Les Réseaux Informatiques 1. Introduction 2. Les protocoles de liaison de données 3.

Sommaire Les Réseaux Informatiques 1. Introduction 2. Les protocoles de liaison de données 3. Les mécanismes à mettre en œuvre -Trame -Délimitation 4. Les principes généraux des protocoles 2

1. INTRODUCTION 3

1. INTRODUCTION 3

Pourquoi une liaison de donnée ? Le circuit de donnée permet d’émettre et/ou de

Pourquoi une liaison de donnée ? Le circuit de donnée permet d’émettre et/ou de recevoir des bits en série Mais… Avec: üUn certain débit D=R. log 2 V üUn certain délai: T=l/D+d/Vp üUn certain taux d’erreurs C’est insuffisant Ajout d’une interface logique 4

Temps de transmission et propagation E R E émet le premier bit E émet

Temps de transmission et propagation E R E émet le premier bit E émet le dernier bit R reçoit le premier bit dernier bit Temps de transmission=longeur/débit Temps de propagation=distance/vitesse de propagation Temps de réponse 5

Rôle de la liaison de données ØRôle: fiabiliser le transfert d’information entre 2 ETTD

Rôle de la liaison de données ØRôle: fiabiliser le transfert d’information entre 2 ETTD ØFiabilité: • Pas d’erreur • Pas de perte • séquencement • Pas de duplication Liaison de données Circuit de données Support physique Transport fiable Transport de bits Transport d’un signal 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 6 de communication. - Par exemple : carte HDLC, carte Ethernet, etc.

Principaux problèmes résolus dans le niveau liaison de données • Fournir les services nécessaires

Principaux problèmes résolus dans le niveau liaison de données • Fournir les services nécessaires pour établir, maintenir et libérer une connexion • Acheminer les trames sur la liaison physique • Contrôler le flux de données afin d’éviter la saturation du récepteur • Contrôler la correction de la transmission des données. 7

Protocoles de liaison de données 8

Protocoles de liaison de données 8

Protocole de liaison de données üUn protocole de liaison de données: un ensemble de

Protocole de liaison de données üUn protocole de liaison de données: un ensemble de règles permettant de gérer la liaison §Règles de codage §Règle de structuration §Règles d’échange üLe protocole met en œuvre un certain nombre de mécanismes de communication Exemple q 1960 : BSC (Binary synchronous communication) - IBM §Protocole orienté caractère § Synchronisation en continue q 1970 : SDLC (Synchronous Data Link Control) - IBM/ANSI § Orienté trame q 1976 -80 : HDLC (High Data Link Control) - ISO §Protocole orienté bit §ISO 3309 (format), ISO 4335 (HDLC), ISO 7776 (LAP-B), §ISO 7448 (MLP) ISO 8471 (HDLC équilibré) q 1985 : Liaison de réseaux locaux q. . . 9

Généralité üLes protocoles de liaison peuvent s'appuyer sur un mode de transmission asynchrone (Kermit,

Généralité üLes protocoles de liaison peuvent s'appuyer sur un mode de transmission asynchrone (Kermit, Xmodem, . . . ) ou synchrone üun protocole de liaison peut échanger des trames en exploitant la liaison en semi-duplex ou en duplex intégral. üCertains protocoles sont "orientés caractère", c'est à dire que les commandes et les réponses, les délimiteurs. . . sont des caractères appartenant à un alphabet , et auxquels le protocole attribue une signification. Le protocole BSC, par exemple, utilise le code ASCII (STX, ETX, SYN, ETB, ACK, NAK, EOT. . . ). üD'autres protocoles, comme HDLC, sont au contraire, "orientés bit", et sont complètement transparents à la codification des informations contenues dans les trames. üLe mode non connecté (datagramme) : 1 seule phase (le transfert de données), Les transferts des données sont effectué à la demande. Chaque bloc de données est transféré indépendamment, il n’y a aucune garantie de délivrance üLe mode connecté : 3 phases phase d'établissement de la connexion phase de transfert de données 10 phase de libération de la connexion

11

11

Les mécanismes à mettre en oeuvre 12

Les mécanismes à mettre en oeuvre 12

Le protocole doit assurer : ØLa délimitation des blocs de données ØL'amélioration du canal

Le protocole doit assurer : ØLa délimitation des blocs de données ØL'amélioration du canal physique (détection et éventuellement correction des erreurs) ØLe contrôle de flux: mécanisme qui consiste à n'envoyer des données que si le récepteur peut les recevoir. ØÉventuellement, la gestion logique de la ligne : §Création et initialisation de la liaison §Transfert de données 13 §Libération de la ligne en fin de transmission

TRAME Une trame : - Une suite de bits (d’une longueur variable mais bornée)

TRAME Une trame : - Une suite de bits (d’une longueur variable mais bornée) - Le début et la fin de trame sont souvent identifiés par des délimiteurs - Composée d’un certain nombre de champs ayant chacun une signification précise. - On distingue souvent 3 ensembles de champs : l’entête (header), le champ de données, la terminaison (trailer) 14

Remarques q Suivant le type de protocoles, une trame peut : (i) être de

Remarques q Suivant le type de protocoles, une trame peut : (i) être de taille fixe ou de taille variable (jusqu’à une certaine taille maximum) - Exemple : . variable = trame d’HDLC, . fixe = cellule d’ATM (Asynchronous transfert Mode) (53 octets) (ii) ne pas avoir de fin de trame explicite. - Exemple : . SD + ED (Starting/ending delimiter) = trame Token Ring, . SD uniquement : trame Ethernet, en fait la fin de la trame est détectée par la fin de la porteuse du signal. q. Suivant le rôle qui lui est attribué : - une trame peut ne pas comporter de champ information. 15. Par exemple : un simple acquittement

Délimitation des trames ØLa couche Physique (grâce à la technique de codage utilisée) permet

Délimitation des trames ØLa couche Physique (grâce à la technique de codage utilisée) permet généralement au récepteur de reconstituer (à l’aide du signal reçu) l’horloge et donc d’assurer la synchronisation au niveau du bit et ainsi de reconstruire la suite binaire envoyée. ØLa couche Liaison de données à partir de cette suite binaire va reconstituer la trame envoyée en assurant la synchronisation au niveau de la trame. üProblème: le récepteur doit savoir quand commence une trame et quand elle finit üIdée: Une trame doit commencer par un marqueur de début de trame et se finir par un marqueur de fin de trame (fanion) 16

Un délimiteur peut être : üsoit une séquence particulière de caractères, . Exemple :

Un délimiteur peut être : üsoit une séquence particulière de caractères, . Exemple : Trames constituées de caractères d'un alphabet normalisé(ex ASCII: American Standard Code for Information Interchange , EBCDIC: Extended Binary Coded Decimal Interchange Code est un code à 8 bits) => les trames sont multiples de 8 bits. Exemple dans les protocoles BSC (‘Binary Synchronous Communication’) ❙ STX ("Start of Te. Xt") - Délimiteur début de bloc de texte ❙ ETX ("End of Te. Xt") - Délimiteur fin de bloc de texte ❙ DLE ("Data Link Escape") - Échappement de liaison üsoit une suite particulière de bits, . Exemple : Les trames sont constituées de suites binaires. Chaque trame est délimitée par une suite binaire Ex: le fanion 01111110 du protocole SDLC/HDLC/LAPB (Link Access Protocol B) üsoit un codage particulier : Des séquences, non utilisées pour coder 17 les éléments binaires, servent à délimiter les trames. . Exemple : les symboles J et K du protocole Token Ring.

Notion Transparence: Le protocole doit assurer la transparence aux délimiteurs, au cas où le

Notion Transparence: Le protocole doit assurer la transparence aux délimiteurs, au cas où le bloc contiendrait une séquence binaire (ou alphanumérique) identique au délimiteur de fin qui serait interprétée par le récepteur comme une fin prématurée du bloc. transparence caractère üTout caractère de contrôle (qui n'est pas le délimiteur début ou fin) apparaissant dans le bloc est précédé de DLE. ETX -> DLE ETX; STX -> DLE STX; DLE -> DLE üA la réception les DLE ajoutés pour la transparence sont retirés. Exemple de transparence ❚ Bloc à transmettre : ❚ Bloc transmis : ü Pas de problème : pour restituer le bloc initial ❙ Pour distinguer les délimiteurs réels en début et fin de bloc (sans DLE devant) ❙ Pour distinguer les codes caractères identiques transmis dans la charge utile (ils sont précédés d’un DLE que l’on supprime à la 18 réception).

Transparence binaire(bit de bourrage: bit stuffing): pour assurer qu’à l’intérieur de la trame, la

Transparence binaire(bit de bourrage: bit stuffing): pour assurer qu’à l’intérieur de la trame, la configuration 01111110 ne soit pas interprétée comme un flag de fin. Permet aussi la resynchronisation en interdisant les longues séquences de bits à 1 consécutifs. üÀl’émission: ajout d’un bit 0 après 5 1 consécutif üÀ la réception: destruction d’un bit 0 après 5 1 consécutif Exemple de transparence ❚ Suite binaire à transmettre : ❚ Suite binaire après adjonction des bits de transparence : ❚ Trame transmise avec ses délimiteurs (fanions) : 19 ❚ En réception : suppression des bits de transparence et des fanions.

vÉmission d’une trame üConstruction de la trame üCalcul des bits de contrôle üTransparence (ajout)

vÉmission d’une trame üConstruction de la trame üCalcul des bits de contrôle üTransparence (ajout) v. Réception d’une trame üTransparence (retrait) üCalcul des bits de contrôle üExamen des champs de la trame 20

Trames avec délimiteurs: Violation de code q. Problèmes des techniques de transparence basées sur

Trames avec délimiteurs: Violation de code q. Problèmes des techniques de transparence basées sur l'utilisation de délimiteurs formés de configurations binaires légales (caractères de contrôle, fanions, . . . ). üAllongement des trames du aux informations de transparence (quelques pour cent). ü Temps perdu à l'émission et à la réception (surtout en logiciel). q. Autres solutions : définir des modulations utilisées comme délimiteurs (en plus de la modulation des données trame 0, 1). üAugmenter la valence des signaux de niveau physique pour créer des délimiteurs. üCes signaux ne peuvent donc apparaître dans le flot normal des données d’une trame. q De nombreuse variantes de ce principe ont été développées. üLes problèmes de la transparence sont résolus. üMais le modulateur doit être plus complexe. 21 üSolution très utilisée (par exemple dans les réseaux locaux).

Les principes généraux des protocoles 22

Les principes généraux des protocoles 22

Principes généraux des protocoles • Le mode Send et Wait • Reprise sur temporisation

Principes généraux des protocoles • Le mode Send et Wait • Reprise sur temporisation • Numérotation des blocs de données • Numérotation des ACK • Efficacité des protocoles • La fenêtre d’anticipation • Contrôle de flux 23

Principes généraux des protocoles Le mode Send et Wait SEND : Envoi d’un bloc

Principes généraux des protocoles Le mode Send et Wait SEND : Envoi d’un bloc STOP : Arrêt de l’émission WAIT : Attente ACK ü Le principe de base de toute transmission repose sur l’envoi (SEND) d’un bloc d’information (trame). ü L’émetteur s’arrête alors (STOP) dans l’attente de l’accusé de réception (WAIT). ü A la réception de l’acquittement l’émetteur envoie la trame suivante. ü En l’absence du signal ACK, l’émetteur (en attente) reste bloqué. 24

Principes généraux des protocoles Reprise sur temporisation : Pour éviter un blocage de l’émission

Principes généraux des protocoles Reprise sur temporisation : Pour éviter un blocage de l’émission en cas de perte d’un bloc de données (rejet du bloc erroné), ü l’émetteur déclenche une temporisation (Timer). üA l’échéance du temps imparti (Time Out), si aucun accusé de réception (ACK) n’a été reçu, 25 ül’émetteur retransmet la trame perdue.

Principes généraux des protocoles Numérotation des blocs de données üA l'émission déclenchement d’un temporisateur

Principes généraux des protocoles Numérotation des blocs de données üA l'émission déclenchement d’un temporisateur üSans réception d’ACK à l’échéance (Time Out) üRetransmission bloc perdu Difficulté en cas de perte de l’ACK En cas de perte de l’ACK, ül’émetteur retransmet le même bloc alors que le récepteur l’a déjà reçu : il y a duplication d’un bloc. üPour éviter cette duplication, on numérote les trames (compteur: Ns envoyé avec le bloc). ü le récepteur (compteur: Nr) peut alors, par simple lecture du numéro d’ordre (Nr>Ns : erreur de transmission), détecter le doublon et ignorer les données reçues à tort et acquitte le bloc. ü Cette numérotation évite la duplication et autorise la délivrance 26 dans l’ordre des données reçues.

Principes généraux des protocoles Numérotation des blocs de données (2) üSi la temporisation est

Principes généraux des protocoles Numérotation des blocs de données (2) üSi la temporisation est trop faible reprise sur temporisation d’un bloc correctement reçu üDifficulté en cas de perte d’unbloc le second ACK du premier bloc est interprété comme celui du second bloc de données üDifficulté si les temporisations sont trop faibles Cependant, dans certains cas, le temps de traitement des données reçues est plus important que prévu ou (et) les délais de transmission sont devenus exagérément longs. Dans ces conditions, les données reçues peuvent ne pas être acquittées à temps. L’émetteur effectue alors une retransmission sur temporisation. Le récepteur ayant déjà reçu ces informations les élimine et les acquitte. En effet, pour le récepteur, s'il y a eu une retransmission, c’est que l’émetteur n’a pas reçu le précédent ACK. A la réception du premier ACK (acquittant le premier envoi) l’émetteur envoie la trame suivante (2). 27

Principes généraux des protocoles Numérotation des ACK Pour éviter cette confusion d’interprétation il est

Principes généraux des protocoles Numérotation des ACK Pour éviter cette confusion d’interprétation il est aussi nécessaire de numéroter les ACK. üLe récepteur acquitte le bloc 0 par l’ACK 0 üRecevant une deuxième fois l’ACK 0 l’émetteur l’ignore, Il considère alors que le bloc 1 n’a pas été reçu et le retransmet Conclusion : Un protocole gère un ensemble de compteurs pour identifier les blocs émis et les blocs reçus (ACK) 28

Principes généraux des protocoles Efficacité des protocoles (1) Considérons l’échange matérialisé à coté, on

Principes généraux des protocoles Efficacité des protocoles (1) Considérons l’échange matérialisé à coté, on distingue les phases suivantes : q émission du bloc de données, ou U représente les données utiles, G les données de gestion du protocole ; q attente du l’émetteur qui représente le temps de transit aller et retour sur le support et le temps de traitement des données reçues par le récepteur, ce temps s’appelle temps de traversée des équipements (Tt), il équivaut à une émission de (D · Tt) bits où D représente le débit nominal de l’émetteur ; q réception de l’accusé de réception (K bits) ; Le nombre de bits qui auraient pu être transmis entre T 0 et T 1 peut donc s’exprimer par: N bits = U + G + K + D · Tt posons S = G + K + D · Tt avec D · Tt = Nb. de bits représentatifs du temps de traversée des équipements G les bits de gestion (contrôle, adresse. . . ) K les bits d’accusé de réception, Soit : 29 Eff = U / (U + S) avec Eff, efficacité sans erreur

Principes généraux des protocoles Efficacité des protocoles (2) L’efficacité du protocole avec erreur est

Principes généraux des protocoles Efficacité des protocoles (2) L’efficacité du protocole avec erreur est : Effer = Eff 0. P’ où -p’ est la probabilité pour qu’un bloc soit reçu correctement, -et Eff 0 l’efficacité du protocole sans erreur Soit : Effer = Eff 0 (1 - te) D+K où -D est le nombre de bits du bloc de données (U+G) -K la taille en bit de l’ACK -te la probabilité pour qu’un bit soit erroné pour que N bits soient correctement transmis, est : p = (1 –te)D avec D = U + G La probabilité pour que l’ACK soit correctement transmis est de : p = (1– te)K La probabilité pour qu'un bloc soit correctement transmis est la 30 probabilité composée : p' = (1 – te)D · (1– te)K = (1 -te)D+K

Principes généraux des protocoles Conclusion sur les protocoles en mode de base ØLes protocoles

Principes généraux des protocoles Conclusion sur les protocoles en mode de base ØLes protocoles qui mettent en œuvre les principes précédents sont appelés protocoles en mode de base ØLes faibles performances du mode « Stop and Wait » sont essentiellement dues au temps d’attente entre les ACK. ØDans ces conditions, une amélioration substantielle est obtenue en émettant les blocs suivants, sans attendre la réception des ACK. ØCette possibilité d’émettre sans acquittement s’appelle l’anticipation. Ce protocole est connu sous le nom de GO-BACK N, où N représente le nombre de blocs en attente d’acquittement. ØOn appelle fenêtre d’anticipation le nombre maximum de blocs (trames) qui peuvent être envoyés sans acquittement (en attente de ACK). ØPlus la fenêtre est importante, plus le nombre de tampons nécessaires à la conservation des blocs en attente d’acquittement est important. Les tailles généralement admises sont de 128 (compteur sur 7 bits), mais plus fréquemment 8 blocs (compteur sur 3 bits). 31

Principes généraux des protocoles La fenêtre d’anticipation Fenêtre dynamique: elle évolue au fur et

Principes généraux des protocoles La fenêtre d’anticipation Fenêtre dynamique: elle évolue au fur et à mesure des émissions et des acquittements de blocs : L’émission de blocs sans ACK fait progresser la borne inférieure jusqu’au blocage éventuel de l’émission (fenêtre fermée). L’acquittement de blocs par le récepteur fait progresser la borne supérieure: fenêtre glissante 32

Principes généraux des protocoles Optimisation de la fenêtre d’anticipation üL’efficacité est maximale si l’émission

Principes généraux des protocoles Optimisation de la fenêtre d’anticipation üL’efficacité est maximale si l’émission est continue üLe temps Ta (temps d’attente): temps entre l’émission du premier bit de la trame N et le premier bit de la trame N+1 en mode send and wait üsi tb est le temps d’émission d’un bloc la fenêtre est optimale si la largeur de la fenêtre W est telle que : (il n y aura pas d’arrêt des émissions ) Où soit : 33

Principes généraux des protocoles Modes de gestion de la fenêtre Deux modes de fonctionnement

Principes généraux des protocoles Modes de gestion de la fenêtre Deux modes de fonctionnement : Ø chaque bloc est acquitté. lors de la réception d’un ACK, l’émetteur libère un buffer et émet le suivant: la fenêtre est dite glissante Ø le bloc n’est pas nécessairement besoin d’être acquitté individuellement. L’acquittement peut être différé et concerne plusieurs blocs: la fenêtre est dite sautante 34

L'acquittement différé üMode de fonctionnement situé entre le SEND and WAIT et le GO

L'acquittement différé üMode de fonctionnement situé entre le SEND and WAIT et le GO Back N üL’acquittement concerne plusieurs blocs (acquittement collectif ou global): un seul ACK acquitte N blocs (ainsi ACK 3 signifie « j’ai bien reçu 3 blocs de données (0, 1, et 2), envoyez-moi le bloc numéroté 3 » . üN est la fenêtre d’anticipation ( le système est appelé protocole à fenêtre sautante) 35 üFenêtre d’émission : nombre de blocs en attente d'acquittement

Principes généraux des protocoles La politique de reprise sur erreur Deux modes de fonctionnement,

Principes généraux des protocoles La politique de reprise sur erreur Deux modes de fonctionnement, selon la technique de reprise sur erreur : Ø reprise depuis le bloc erroné (rejet simple) Ø reprise du bloc erroné seulement (rejet sélectif) 36

Le rejet simple La réception d’un NACK (acquittement négatif) ou l’échéance d’un temporisateur provoque

Le rejet simple La réception d’un NACK (acquittement négatif) ou l’échéance d’un temporisateur provoque : ü l’arrêt des émissions en cours, ü la reprise depuis le bloc erroné ou perdu ül’élimination par le récepteur des blocs reçus postérieurement. Ainsi, üle séquencement est conservé, et le récepteur n’aura pas à trier les blocs pour les remettre en séquence. ü L’émetteur doit posséder N tampons (pour conserver les N blocs 37 émis jusqu’à ce qu’ils aient été tous confirmés) et le récepteur 1 seul tampon.

Le rejet sélectif üSeul le bloc erroné est retransmis. Cela implique la mémorisation des

Le rejet sélectif üSeul le bloc erroné est retransmis. Cela implique la mémorisation des blocs hors séquence (non rejetés s’ils ont été confirmés). üL’anticipation est cependant limitée par les possibilités de comptage des blocs émis. Ainsi, üle récepteur devra exécuter un programme de tri pour rétablir le séquencement initial. üL’exécution de ce programme risque de durer plus longtemps que la retransmission des blocs postérieurs au bloc erroné. üCela n’est rentable que pour les réseaux où la fenêtre d’anticipation est importante, en raison des délais de transmission importants par 38 rapport à la durée d’un bloc (transmission par satellite).

Principes généraux des protocoles Contrôle de flux Contrôle de l’émission par le récepteur quand

Principes généraux des protocoles Contrôle de flux Contrôle de l’émission par le récepteur quand ses tampons sont pleins (risque de perte de données). L’émetteur doit cesser son émission. 2 solutions : 1 - Il signale son état à l’émetteur (RNR, Receive No Ready). L’émetteur accuse réception de cette information (RR, Receive Ready) et cesse son émission. Il interroge périodiquement le récepteur afin de reprendre le transfert dès que possible, en envoyant des trames très courtes (RR, Receive Ready). 2 – Une autre solution consiste, pour le récepteur, à agir sur la fenêtre d’émission de l’émetteur, en adaptant en permanence la largeur de la fenêtre à ses capacités de réception. Quand le récepteur constate que ses tampons risquent de déborder, il n’envoie plus d’accusé de réception à l’émetteur. La borne supérieure de la fenêtre est bloquée, l’émetteur épuise son crédit d’émission (la borne inférieure évolue avec l’émission). Ainsi, pour éviter le blocage, et assurer la fluidité du flux d’émission, le récepteur adapte l’envoi 39 de ses accusés de réception, à sa capacité d’accueil de trames.

Principes généraux des protocoles Le contrôle de la liaison : la signalisation La signalisation

Principes généraux des protocoles Le contrôle de la liaison : la signalisation La signalisation est l’ensemble des informations nécessaires à la supervision de la liaison, et non celle de l’échange On peut distinguer 2 types de signalisation : Dans la bande: le format des unités de données est identique pour le transfert des informations de gestion et celui pour le transfert de données (champ spécifique de l’unité de données). Ainsi la signalisation est insérée dans le flot des blocs de données. La description par le protocole des formats des unités de données permet de repérer et d’interpréter la signalisation. Hors bande: un canal spécifique est réservé à la signalisation (2 voies: une voie pour le transfert de données et une voie pour les informations de signalisations ), le format des unités de données est allégé. La séparation des 2 canaux (voie physique ou virtuelles) facilite le traitement des données, et de la signalisation. 40