chapitre_3_couche_liaison by rayen.magerbi.2013

VIEWS: 1 PAGES: 78

									                    Université de la Manouba

        Ecole Nationale des Sciences de l’informatique (ENSI)




             Cours Introduction aux réseaux


Chapitre 3

         La couche liaison de données


       Salma BOURBIA                           II1 – 2010 / 2011


   1
Introduction

                 Paquets
     Réseau                 Réseau




    Liaison de   Trames    Liaison de
     données                données



                 bits
    physique               physique


                 Signaux

2
Introduction
    fonctions de la couche liaison

      Fournir des services à la couche 3
      Regroupement des bits venant de la couche physique en des
      trames
      Assurer le contrôle d’erreurs
      Assurer le contrôle de flux pour régulariser le volume des
      données échangées entre source et destination
      Assure des fonctions de gestion de la liaison




3
1. Les services fournis à la couche réseau
    Transmettre des données de la couche réseau d’une machine
    source vers la couche réseau d’une machine destinatrice

      7                    7                7                   7
      6                    6                6                   6
      5                    5                5                   5
      4                    4                4                   4
      3   Chemin virtuel   3                3    Chemin réel    3
      2                    2                2                   2
      1                    1                1                   1



    Deux processus de la couche liaison communiquent par
    l’intermédiaire d’un protocole de liaison

4
1. Les services fournis à la couche réseau
    Les services offerts par la couche liaison

      Service sans connexion et sans acquittement
      Service sans connexion et avec acquittement
      Service orienté connexion




5
1.1 Le service sans connexion et sans
acquittement
    La machine source envoie des trames à la machine
    destination sans recevoir de cette dernière des
    acquittements
    Pas de connexion établie au préalable
    Aucun moyen de traiter le problème de perte de trames
    Service convenable si:
     Le taux d’erreurs est faible
     La correction des erreurs est prévue dans les couches
     supérieures
     Le trafic est en temps réel (exemple la parole)



6
1.1 Le service sans connexion et sans
acquittement

     émetteur              Récepteur

                Trame 1




                Trame 2




      t                         t




7
1.2 Le service sans connexion et avec
acquittement
    Service plus fiable

    Pas d’établissement de connexion

    Chaque trame envoyée est acquittée
      L’émetteur sait pour chaque trame si elle a été correctement
      reçue
      Si trame n’a pas été acquittée pendant un intervalle de temps,
      l’émetteur peut la ré-envoyer de nouveau




8
1.2 Le service sans connexion et avec
acquittement

     émetteur                          Récepteur

                    Trame 1




                Acquittement de la trame 1




      t                                      t




9
1.3. Le service avec connexion
 Établissement d’une connexion entre les machines source
 et destination avant tout envoie de données
 Chaque trame envoyée sur la connexion est numérotée
 et la couche liaison garantit que chaque trame envoyée
 est reçue une fois et que toutes les trames sont reçues
 dans l’ordre d’émission
 Trois phases dans un service à connexion
     Etablissement de la connexion
     Transmission des données
     Libération de la connexion



10
1.3. Le service avec connexion
 Etablissement de la connexion
     Initialiser des deux côtés un certain nombre de paramètres
       Les compteurs qui servent à déterminer les trames qui ont été reçues
       correctement et celles qu’il faut retransmettre


 Transmission des données

 Fin de la connexion
     Libérer les variables et les ressources utilisées au cours de la
     transmission



11
1.4 Les primitives de services
 La communication entre les couches réseau et liaison de
 données se fait par les primitives de services
     Primitive Demande
       Utilisée par la couche réseau pour demander à la couche liaison de
       réaliser une tâche
          Établir une connexion
          Envoyer une trame
     Primitive Indication
       Permet d’informer la couche réseau qu’un évènement est survenu
          Une demande de connexion provenant d’une machine
          Une demande de libération de la connexion
          Arrivée d’une trame
     Primitive Réponse
       Utilisée par la couche réseau de la machine de destination pour répondre
       à une primitive d’indication
     Primitive Confirmation
       Permet de savoir si une demande a été exécutée avec succès

12
1.4 Les primitives de services




                  Confirmation




                                                             Indication
                                                   Réponse
        demande



                                 Couche réseau


                                 Couche liaison


                                 Couche physique




13
2. La notion de trame
 Découpage du train de bits venant de la couche physique
 en trames

 Une trame est une suite structurée de bits

 Elle est composée de plusieurs champs de tailles
 différentes

 Les champs et leurs tailles sont définis par les protocoles



14
2.1 Format général d’une trame




15
2.2 délimiteurs de trames

 Méthodes
     Comptage de caractères
     Utilisation des caractères spéciaux
     Utilisation des fanions
     Violation du codage utilisé dans la couche physique




16
2.2 délimiteurs de trames
 Méthode du comptage des caractères
     Utiliser un champ dans l’entête de la trame qui indique le
     nombre de caractères qu’elle contient
     Lorsque la couche liaison à la réception lit ce champ elle
     connait le nombre de caractères de la trame
                 Compteur de caractère


           5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6

            Trame 1     Trame 2          Trame 3

     Problème de synchronisation après une erreur de transmission
     affectant le compteur de caractère

17
2.2 délimiteurs de trames
 Méthode des caractères spéciaux
     Délimiter chaque trame par les séquences de caractères DLE
     STX et DLE ETX.
     DLE STX (Data Link Escape Start of TeXt)
       Placé au début de la trame
     DLE ETX (Data Link Escape End of TeXt)
       Placé en fin de trame
     Si la station de destination perd la synchronisation, il lui suffit
     de chercher les séquences DLE STX et DLE ETX pour
     retrouver la délimitation des trames
     Les caractères DLE dans les données sont dédoublés
       Caractères de transparence

18
2.2 délimiteurs de trames
 Méthode des fanions
     Le fanion est le délimiteur (une séquence de bits)
     01111110
     Pour éviter l’ambigüité, un 0 est ajouté par l’émetteur après 5
     bits consécutifs à 1 dans les données, ce bit est appelé bit de
     transparence




19
2.2 délimiteurs de trames
 Méthode de violation du codage en couche physique
     Utiliser des séquences invalides dans le codage du support
     physique pour délimiter les trames

       Exemple dans le codage de Manchester
         Séquences invalides (impulsion négative suivie d’une impulsion négative ou
         impulsion positive suivie d’une impulsion positive)




20
3. Détection et correction des erreurs
 Problème d’erreurs
     La porteuse est souvent affectée par du bruit
     Modification ou perte des données pendant le transport

 Sources d’erreurs
     Bruit sur la ligne
        interférence électromagnétique
        Diaphonie
        Bruit thermique,…


 Les stratégies de protection contre les erreurs se divisent en deux
 catégories
     Les techniques de détection des erreurs
        Se rendre compte de la modification ou de données à l’arrivée des trames
     Les techniques de correction des erreurs
        Corriger à l’arrivée des trames  Correction
        Ré-envoyer les trames erronées ou perdus    retransmission


21
3. Détection et correction des erreurs
 Mot de code et distance de Hamming
     Deux stratégies possibles dans la gestion des erreurs

       Ajouter dans les blocs de données suffisamment de redondances pour
       que le récepteur soit capable de restituer les données d’origines à
       partir des données reçues     Utilisation des codes correcteurs
       d’erreurs

       Ajouter de la redondance dans les données à transmettre afin que le
       récepteur puisse détecter les erreurs (non de les corriger) et de
       demander la retransmission des données erronées       utilisation
       des codes détecteurs d’erreurs



22
3. Détection et correction des erreurs
 Mot de code et distance de Hamming
     Une trame est formée de
       m bits de données
       r bits de contrôle
           n=m+r : longueur de la trame
       L’ensemble des n bits s’appelle mot de code

     Etant donné deux mots de code, le nombre de bits de
     différence entre eux s’appelle distance de Hamming

     À partir de l’ensemble de tous les mots de code, la distance
     minimale entre deux mots de code s’appelle distance de
     Hamming du code complet

23
3.1 Codes de détection d’erreurs
Code de contrôle de parité
 Ajouter aux bits de données un bit de parité
 Le choix du bit se fait de façon que le nombre de bits
 1dans le mot de code soit pair (ou impair)
 Utilisé seulement pour détecter les erreurs simples
 (affectant une seule position)
 Exemple
      Données 1010001
      Mot codé : (pair)  10100011
                (impair)   10100010


 24
3.1 Codes de détection d’erreurs
Code de redondance cyclique (CRC: Cyclic
 Redundancy Code)
 Appelé aussi code polynomial
 On considère que les bits sont les coefficients d’un
 polynôme qui prennent deux valeurs 0 ou 1
 Un bloc de k bits est vu comme la série des coefficients
 d’un polynôme (de degré k) comprenant des termes
 allant de x k +1 à x0
 Exemple
      La séquence 110001 représente le polynôme x + x + 1
                                                 5   4




 25
3.1 Codes de détection d’erreurs

 Chaque mot de code est un multiple d’un polynôme
 générateur
     Un polynôme générateur G est fourni, de degré n qui
     détermine le nombre de bits de contrôle
     L’émetteur et le récepteur doivent se mettre d’accord
     auparavant sur le choix du polynôme G(x)
     Le bit de poids le plus fort et le bit de poids le plus faible du
     polynôme générateur sont égaux à 1




26
3.1 Codes de détection d’erreurs
 Principe de détection
     La trame envoyée = (données, bits de contrôle)
     À la réception, le récepteur divise la trame par le polynôme G(x), si
     le reste obtenu est non nul, on détecte une erreur de transmission

     Algorithme de calcul des bits de contrôle
       Bloc à envoyer de m bits
       Soit n le degré du générateur G(x)
       Ajouter n bits à 0 après le bit de poids le plus faible du bloc, le bloc
       devient de taille n+m
       Diviser le polynôme (correspondant au bloc de données) par le
       générateur
       Soustraire le reste de cette division du bloc initial (XOR) le résultat
       obtenu correspond à ce qui est transmis


27
3.1 Codes de détection d’erreurs
 Exemple
Bloc : 110101
Ajout de bits 0 : 11010100




Trame émise : 11010111
28
4. Les protocoles élémentaires

      Réseau                     Réseau




     Liaison de              Liaison de
      données                 données




     physique                    physique



      Emetteur                   Récepteur

29
4.1 Protocole 1 : protocole utopique
(irréaliste)
 Suppositions

     Les données ne sont transmises que dans un seul sens
     Les couches réseau côté émetteur et récepteur sont toujours
     prêtes à émettre et à recevoir des paquets
     Le temps de calcul est ignoré
     Une infinité de mémoire tampon pour stocker les trames
     Le canal de communication est parfait : aucune trame n’est
     erronée ni perdue




30
4.1 Protocole 1 : protocole utopique
(irréaliste)
 Procédure de l’émetteur
     L’émetteur réalise une boucle infinie qui consiste à émettre des
     données aussi vite que possible sur la ligne

     Répéter
       Demander un paquet de la couche réseau
       Construire la trame
       Envoyer la trame vers la couche physique




31
4.1 Protocole 1 : protocole utopique
(irréaliste)
 Procédure à la réception

     Répéter
       Initialement le récepteur attend que quelque chose arrive
       Il enlève une trame venant d’arriver
       La partie de la trame correspondant au champ info est passée à la
       couche réseau
       Attendre le prochain évènement




32
4.2 Protocole 2 : « Envoyer et attendre »
 Suppositions
     Le canal est parfait
     Les données circulent dans un seul sens
     Pas d’infinité de mémoire tampon pour stocker les trames
     dans la couche liaison de la machine réceptrice
     Trouver une manière d’empêcher l’émetteur d’envoyer des
     données plus rapidement que le récepteur ne peut les traiter
     Il ne faut pas que l’émetteur envoie une trame avant que le
     récepteur ne réalise une acquisition, sinon celle-ci sera écrasée




33
4.2 Protocole 2 : « Envoyer et attendre »
 Principe

     Obliger le récepteur à informer l’émetteur de son état
     Après avoir transmis un paquet à la couche réseau, le
     récepteur envoie à l’émetteur un acquittement
     Les protocoles dans lesquels l’émetteur envoie une trame et
     attend ensuite un acquittement avant d’envoyer la suivante
     sont appelés protocoles de type « envoyer et attendre »




34
4.2 Protocole 2 : « Envoyer et attendre »
 Procédure à l’émission

     Répéter
       Prendre un paquet de la couche réseau
       Construire la trame
       Envoyer la trame à la couche physique
       Attendre un acquittement du récepteur




35
4.2 Protocole 2 : « Envoyer et attendre »
 Procédure à la réception

     Répéter
       Attendre l’arrivée d’une trame
       Prendre la trame de la couche physique
       Envoyer la partie info de la trame à la couche réseau
       Envoyer un acquittement à l’émetteur




36
4.3 Protocole 3 : pour un canal bruité
 Suppositions
     Le canal de communication n’est pas parfait
       Des trames envoyées peuvent être erronées ou perdues
     Il est possible de détecter les trames endommagées
     Situation à résoudre

       La perte de trame peut aussi toucher les trames d’acquittement ,
       l’acquittement n’arrive jamais à l’émetteur
       L’émetteur croyant que sa trame envoyée n’est jamais parvenue à la
       réception, il la retransmet encore une fois
       Cette trame dupliquée arrive également à la couche liaison de
       destination et est encore une fois transmis à la couche réseau
           problème de duplication

37
4.3 Protocole 3 : pour un canal bruité
 Le récepteur doit être en mesure de distinguer une
 trame émise pour la première fois d’une trame
 retransmise
  solution
     L’émetteur doit placer un numéro (numéro de séquence) dans
     l’entête de chaque trame envoyée
     Le récepteur peut vérifier le numéro de séquence de chaque
     trame reçue et peut ainsi savoir s’il s’agit d’une nouvelle trame
     ou bien d’une trame dupliquée dont il n’a pas à tenir compte




38
4.3 Protocole 3 : pour un canal bruité
 Procédure de l’émetteur
     Initialisation
        Initialiser le numéro de la trame à envoyer
        Charger le premier paquet de la couche réseau
     Répéter
        Construire la trame
        Insérer le numéro de séquence dans la trame
        Envoyer la trame vers la couche physique
        Attendre un évènement
           Arrivée d’un acquittement
           Expiration du temporisateur
        Si l’évènement est l’arrivée d’un acquittement
           Charger un nouveau paquet de la couche réseau
           Incrémenter le numéro de la prochaine trame à envoyer
        Si l’évènement est (temporisateur expire ou erreur de trame)
           Retransmettre la trame de nouveau et ne pas changer le numéro de séquence
39
4.3 Protocole 3 : pour un canal bruité
 Procédure du récepteur
     Initialisation
       Initialiser le numéro de trame attendue à 0
     Répéter
       Attendre un évènement
          Arrivée d’une trame
          Erreur
       Si une trame arrive (trame correcte)
          Prendre la trame de la couche physique
          Si le numéro de séquence de cette trame est le numéro de trame attendue
             Envoyer la partie info de trame à la couche réseau
             Incrémenter le numéro de la trame attendue
          Envoyer un acquittement à l’émetteur


40
5. Les protocoles avec fenêtre d’anticipation
 Dans les protocoles précédents, les données ne circulent
 que dans un seul sens
 Nécessité d’adopter des liaisons en duplex
 Solution
     Utiliser le même circuit pour transmettre les trames dans les
     deux directions
     Le champ « genre » de l’entête de la trame permet d’indiquer
     s’il s’agit d’une trame de données ou d’une trame
     d’acquittement




41
5. Les protocoles avec fenêtre d’anticipation
 Technique de piggybacking

     Lorsqu’une trame de données arrive, le récepteur ne va plus envoyer
     directement une trame d’acquittement séparée mais il attend que la
     couche réseau lui fournit le paquet suivant
     L’acquittement est joint à la trame de donnée émise
       En utilisant le champ ack de l’entête de la trame
       Retarder légèrement l’envoie d’un acquittement afin d’attendre la trame de
       données suivante


     Intérêts
       Meilleure utilisation de la bande passante
          L’utilisation du champ ack ne coûte que quelques bits alors que l’envoie d’une
          trame séparée nécessite un entête, un acquittement et une somme de contrôle


42
5. Les protocoles avec fenêtre d’anticipation
 Spécificités d’un protocole à fenêtre d’anticipation

     Dans un tel protocole, les trames émises possèdent un numéro
     de séquence variant de 0 à une valeur maximale
     Cette valeur maximale est de la forme 2n − 1 (le numéro est
     codé sur n bits)
     À chaque instant l’émetteur détient la liste des numéros de
     séquence des trames qu’il peut envoyer
     Fenêtre d’émission
       Fenêtre définie par la liste des numéros de séquence des trames
       autorisées à être émises



43
5. Les protocoles avec fenêtre d’anticipation
     Fenêtre à la réception
       Définie par la liste des numéros de séquence des trames autorisées à
       être reçues

     Les largeurs des fenêtres d’émission et de réception peuvent
     ne pas être les mêmes

     Fonctionnement à l’émission
       Lorsqu’un paquet arrive de la couche réseau, la couche liaison de
       données construit la trame qui porte le numéro de séquence le plus
       élevée immédiatement et disponible et la borne supérieure de la
       fenêtre est incrémentée de 1
       Si un acquittement arrive la borne inférieure de la fenêtre est
       décrémentée de 1


44
5. Les protocoles avec fenêtre d’anticipation

     Les trames doivent être stockées pour une éventuelle retransmission
       L’émetteur doit disposer assez de mémoires tampon pour stocker les
       trames non encore acquittées


     Si la taille de la fenêtre atteint son maximum, alors la couche liaison
     doit interdire à la couche réseau de lui livrer un paquet jusqu’à ce que
     des mémoires tampon se libèrent




45
5. Les protocoles avec fenêtre d’anticipation
     Fonctionnement à la réception

       La couche liaison accepte les trames dont le numéro de séquence se
       trouve à l’intérieur de la fenêtre de réception

       Toute trame à l’extérieure de la fenêtre est rejetée

       Lorsque la couche liaison du récepteur reçoit une trame dont le
       numéro de séquence est égale à la borne inférieure de la fenêtre
       d’anticipation, elle la transmet à la couche réseau, envoie un
       acquittement à l’émetteur et augmente sa fenêtre de 1




46
5.1 Protocole à fenêtre d’anticipation de
largeur 1

                             Trame à envoyer

                            Séq     ACK        Data




           Numéro de                                  Données
                                   La trame           envoyées
           séquence de la
                                   acquittée
           trame envoyée




 Les numéros peuvent être 0 ou 1

47
5.1 Protocole à fenêtre d’anticipation de
largeur 1




48
5.2 Protocole à fenêtre d’anticipation de
largeur n
 Manque d’efficacité dans le cas d’une fenêtre de taille 1

     Exemple
      On suppose que le débit d’un canal est 50bps
      Délai de propagation d’aller retour 500 ms
      Taille de la trame 1000bits
      À t=0, l’émetteur commence à envoyer une première trame
      À t=20 ms, la trame est complètement émise (temps de transmission)
      À t=270 ms, la trame arrive à destination (20 + 250)
      La trame d’acquittement parvient à l’émetteur à t=520 ms (270+250),
      en supposant que la trame d’acquittement est très courte
      L’émetteur se trouve bloqué (500/520 = 96 % du temps)


49
5.2 Protocole à fenêtre d’anticipation de
largeur n

        manque d’efficacité
       ceci est dû au fait que l’émetteur attend un acquittement avant d’émettre


        pour améliorer l’efficacité, l’émetteur pourra envoyer plusieurs
     trames d’une façon continue pendant un temps égal au délai de
     propagation aller retour

       Autoriser l’émetteur à envoyer w trames (w taille de la fenêtre
       d’anticipation)




50
5.2 Protocole à fenêtre d’anticipation de
largeur n
 Principe :
     Dans l’exemple précédant

       La taille de la fenêtre est 26
       L’émetteur émet la trame 0 et continue sans s’arrêter, dès qu’il finit
       d’envoyer les 26 trames (à t=520 ms) il reçoit le premier
       acquittement (Ack) de la trame 0, ensuite les acquittements
       continuent à arriver autorisant ainsi l’émetteur à envoyer

          technique du pipelining
         Enchaîner les trames envoyées pour occuper la ligne pendant le délai de
         propagation d’aller retour




51
5.2 Protocole à fenêtre d’anticipation de
largeur n
 Situation de trame erronée

     Si une trame située au milieu de la série de trames envoyées
     est perdue ou erronée

     Un certain nombre de trames correctes vont parvenir au
     récepteur avant que celui-ci ne se rend compte qu’une erreur
     de transmission s’est produite

     Deux stratégies possibles, sachant que la couche liaison de
     données doit passer les paquets à la couche réseau dans
     l’ordre de leur envoie :

52
5.2 Protocole à fenêtre d’anticipation de
largeur n
     Stratégie 1 :
       Rejeter toutes les trames qui suivent la trame erronée en n’envoyant pas
       d’acquittements

     Stratégie 2
       Effectuer un rejet sélectif : la couche liaison de destination stocke toutes
       les trames correctes arrivées après la trame erronée.
       Lorsque l’émetteur s’aperçoit qu’une trame a été mal transmise, il
       retransmet la trame erronée et une partie des trames suivantes
       Si cette seconde transmission réussit, la couche liaison du récepteur
       dispose de trames correctes stockées, elle les réordonne et les remet à la
       couche réseau
       La couche liaison de destination envoie ensuite un acquittement portant le
       numéro le plus élevé
           stratégie qui nécessite plusieurs mémoires tampon si la largeur de la
       fenêtre est grande



53
5.2 Protocole à fenêtre d’anticipation de
largeur n
     exemple de la stratégie 1 (taille de la fenêtre w=26)




54
5.2 Protocole à fenêtre d’anticipation de
largeur n
     Exemple de la stratégie 2




55
6. Protocole à rejet sélectif
 Principe
     Les trames qui suivent une trame perdue ne sont jamais
     rejetées

     L’émetteur et le récepteur disposent chacun d’une fenêtre qui
     définit les numéros de séquence des trames acceptées
       Fenêtre de l’émetteur de taille variant entre 0 et valeur maximale de
       numéro de séquence
       Fenêtre du récepteur de taille fixe égale à la valeur maximale de
       numéro de séquence




56
6. Protocole à rejet sélectif
 Lorsqu’une trame arrive, le récepteur vérifie si le numéro
 de cette trame se trouve dans sa fenêtre et la stocke
     La couche liaison de données doit livrer cette trame à la
     couche réseau dès qu’il reçoit et livre toutes les trames dont le
     numéro de séquence est inférieur


 Le récepteur est autorisé à recevoir des trames dans le
 désordre mais les paquets seront réordonnés avant d’être
 livré à la couche réseau




57
6. Protocole à rejet sélectif
 À chaque trame émise est associé un temporisateur,
 lorsque ce dernier expire on ne retransmet que la trame
 qui lui est associé.
 Le récepteur doit avoir un nombre de mémoires tampons
 nécessaire égale à la taille de la fenêtre
 Le nombre de temporisateurs utilisés est égale à la taille
 de la fenêtre
     À chaque case mémoire est associé un temporisateur, s’il
     s’expire, le contenu de cette case est directement retransmis




58
6. Protocole à rejet sélectif
 Lorsqu’une trame arrive à destination, le récepteur
 n’envoie pas directement l’acquittement mais il le joint à
 la prochaine trame émise

     Le récepteur met en place un temporisateur auxiliaire, si ce
     temporisateur expire et que le récepteur n’a aucune trame de
     donnée à envoyer, il envoie un acquittement séparé
       Éviter les situations de blocage dues à des trafics unidirectionnels




59
6. Protocole à rejet sélectif
 Traitement des erreurs

     Le récepteur peut envoyer un acquittement négatif (NAK) à
     l’émetteur :
       S’il suspecte l’existence d’une erreur dans la trame reçue
       S’il reçoit une autre trame que celle attendue (une trame a été
       perdue)




60
7. Le protocole HDLC (High level Data Link
Control)
 Historique
     60 : BSC (“Binary synchronous communication”) – IBM
       Unité de transmission est le caractère
     70 : SDLC (Synchronous Data Link Control) – IBM
       Unité de transmission est la trame
       Normalisé par l’ANSI     ADCCP (Advanced Data Communication-
       Control Procedure)
     76 : HDLC (High-level Data Link Control) de
       Normalisation de SDLC par l’ISO
     80 : adapté pour l’accès au réseau numérique de données
       LAP-B (“Link access procedure-balanced”)
       Normalisé : CCITT X25.2 et ISO 7776

61
7. Le protocole HDLC (High level Data Link
Control)
 Format général d’une trame HDLC




     8 bits    8 bits    8 bits               16 bits    8 bits

 01111110     Adresse   Commande   données   Contrôle   01111110




62
7. Le protocole HDLC (High level Data Link
Control)
 Format général d’une trame HDLC
     Champ adresse
       Sert à identifier un terminal particulier sur des lignes multipoints
       Sert à distinguer les commandes des contrôles sur des lignes point à
       point
     Champ commande
       Utilisé pour les numéros de séquence, les acquittements
     Champ données
       Peut contenir n’importe quelle information
       Longueur du champ est arbitraire
     Champ contrôle
       Obtenue par code correcteur d’erreur CRC
     Fanions
       Délimiteurs de trame
63
7. Le protocole HDLC (High level Data Link
Control)
 Les types de trames
     Trames d’information (I Information)
     Trames de supervision (S Supervisory)
     Trames non numérotées (U Unnumbered)
      8 bits       8 bits          8 bits                               16 bits    8 bits

     Fanion    Adresse            Commande             données        Contrôle    Fanion

               1              3             1      3

               0            N(S)            P/F   N(R)     Trame d’information (données)


               1       0      type          P/F   N(R)     Trame de supervision


               1       1      type          P/F   N(R)     Trame non numérotée

64
7. Le protocole HDLC (High level Data Link
Control)
 Les trames d’information
     Trames qui acheminent des données
     N(S) : numéro de séquence de la trame d’information
     N(R) : numéro de la prochaine trame d’information attendue
       acquitte toutes les trames de numéros strictement inférieurs à N(R)
     Le bit P/F (“Poll/Final”) : Invitation à émettre /fin
       Mode normal (non équilibré / maître esclave / primaire secondaire)
          Quand un ordinateur interroge plusieurs terminaux
          P indique que l’ordinateur invite un terminal à envoyer ses données
          La dernière trame envoyée met ce bit à F
       Mode équilibré
          Bit utilisé pour obliger le correspondant à envoyer immédiatement une trame
          de supervision sans attente de trame d’information en retour


65
7. Le protocole HDLC (High level Data Link
Control)
 Les trames de supervision
 4 types de trames de supervision, codées dans le sous-champ Type du champ
 Commande.
     RR (“Received & Ready”) trame d’acquittement
       Prêt à recevoir
       Indique la prochaine trame attendue
     RNR (“Received & Not Ready”)
       Non prêt à recevoir
       Réaliser l’acquittement de toutes les trames jusqu’à N(R)-1, (comme RR) et
       demande à l’émetteur de suspendre l’émission de trames pour un problème
       passager
       Lorsque le problème est résolu, le récepteur envoie une trame RR ou de rejet ou
       autre trame de controle




66
7. Le protocole HDLC (High level Data Link
Control)
 Les trames de supervision

     REJ (“Reject”) - acquittement négatif
       Indique une erreur de transmission détectée
       Le champ N(R) contient le numéro de la première trame reçue erronée
       L’émetteur doit dans ce cas retransmettre toutes les trames à partir de celle-
       ci
     SREJ (“Selective Reject”) rejet sélectif
       Sert à demander la retransmission de la trame spécifiée




67
7. Le protocole HDLC (High level Data Link
Control)
 Les trames non numérotées (Unnumbered)

     Trames utilisées pour le contrôle et la gestion d’une connexion
     Codées sur 5 bits mais les 32 types possibles ne sont pas tous
     utilisés

     Commande DISC (disconnect)
       Déconnexion
       Permet à une machine d’annoncer qu’elle va être arrêtée
     Commande SNRM (Set Normal Response mode)
       Permet à une machine d’annoncer sa remise en route
     Commande SABM (Set Asynchronous Balanced mode)
       Permet d’initialiser la liaison et de placer les deux correspondants sur un pied
       d’égalité


68
7. Le protocole HDLC (High level Data Link
Control)
 Les trames non numérotées (Unnumbered)

     Trames d’établissement de la connexion :
       SNRM/SNRME (Set Normal Response Mode/extended)
       SABM/ SABME (Set Asynchronous Balanced Mode/extended)
       SARM/ SARME (Set Asynchronous Response mode/extended)
       NRM est utilisé pour les liaisons de données multipoint
       ABM utilisé pour X25.2 efficace pour les liaisons point à point
       full duplex
       ARM est très rarement utilisé (situations où le secondaire peut
       avoir besoin d’initialiser certaines transmissions : le secondaire
       a un peu plus de liberté)

69
7. Le protocole HDLC (High level Data Link
Control)
 Les trames non numérotées (Unnumbered)

     Trame de libération de la connexion (Commande) : DISC
     (DISConnect : déconnexion)
       Trame de confirmation (Réponse) : UA (“Unnumbered
       acknowledgment”) :
       Trame de récupération des erreurs (R) : FRMR (“FRaMe Reject”)
       :FCS correcte mais format incorrecte.
       Trame d’indication de connexion libérée (R) : DM (“Disconnected
       Mode”) : connexion non établie
       Trame d’information non numérotée : UI (“Unnumbered
       Information”) données pour LD uniquement.


70
    Exemples de scénarios



Etablissement d’une
connexion en mode
équilibré




      71
Exemples de scénarios




72
Exemples de scénarios




73
Exemples de scénarios



Transfert de données unidirectionnel

Largeur de fenêtre >5




 74
Exemples de scénarios



Transfert de
données
bidirectionnel

Largeur de
fenêtre >5




 75
     Exemples de scénarios



Transfert de données
unidirectionnel
Transmission avec
erreurs et rejet total

Largeur de fenêtre >5




      76
    Exemples de scénarios



Transfert de données
unidirectionnel
Transmission avec
erreurs et rejet
sélectif

Largeur de fenêtre >5




      77
    Exemples de scénarios



Contrôle de flux




      78

								
To top