Le Protocole HDLC Omar Cheikhrouhou enis01amor@yahoo.fr Département Informatique Omar Cheikhrouhou 1
Références Cours d Olivier Glück http://www710.univ-lyon1.fr/~ogluck/index.html 2
Rappel (fonctionnalité de La couche liaison de données) La couche liaison de données assure un transit fiable des données sur une liaison physique. Ainsi, la couche liaison de données s'occupe de : l'adressage physique (plutôt que logique), de la topologie du réseau, de l'accès au média, de la notification des erreurs, de la livraison ordonnée des trames et du contrôle de flux. 3
Encapsulation de données par la couche 2 application Données Présentation application Données Session Présentation application Données Transport Session Présentation application Données Réseau Transport Session Présentation application Données Trame Réseau Transport Session Présentation application Données En-queue Trame 01111111000000011110000001111011101110000101 4
Classification des Protocoles de liaison de données Orientées Caractère/bit BSC HDLC Point to point / point to multipoint PPP,SLIP Ethernet HDLC 5
Les protocoles de Liaison de Données 1960:BSC Binary Synchronous Communications (IBM) 1970:SDLC Synchronous Data Link Control (SNA) 1976:HDLC High level Data Link Control normalisé par l'iso en 1976 nombreux sous-ensembles (protocoles LAP) 1980 : adapté pour l accès au réseau numérique de données LAP-B ( Link access procedure-balanced ) : rôles équilibrés (symétriques) entre les deux systèmes adjacents normalisé : CCITT X25.2 et ISO 7776 1985 : adapté aux réseaux locaux protocole de la sous-couche d homogénéisation LLC ( Logical link control ) apparition d un mode de transmission non connecté (LLC classe 1) normalisé : IEEE 802.2 et ISO 8802/2 Autres adaptations : Télex : LAP-X - CCITT T71 RNIS - canal D : LAP-D - CCITT Q921 ou I441... 6
High level Data Link Control HDLC est un protocole de couche liaison de données (couche 2 du modèle OSI) HDLC est un ensemble de classes, de procédures et de fonctionnalités optionnelles (normalisée par l'iso en 1976) => chaque liaison de données choisit sa procédure en fonction de ses besoins (coûts, ressources...) 7
Statuts des stations Liaison poit-à-point Dissymétrique Primaire Symétrique commande réponse Secondaire Primaire commande Réponse Secondaire Secondaire Réponse commande Primaire 8
Statuts des stations Liaison multipoint Dissymétrique (seulement) Primaire commande réponse Secondaire Secondaire Secondaire 9
Les différents modes de HDLC Le mode synchrone ou normal NRM (Normal Response Mode) Liaison multipoint dissymétrique Relation maître/esclave: le primaire invite le secondaire à parler Le mode asynchrone dissymétrique ARM(Asynchronous Response Mode) Liaison peut être point-à-point ou multipoint Liaison dissymétrique: 1 équipement est station principale, tous les autres sont secondaires la station principale a l'initiative de l'initialisation de la liaison de données Le mode asynchrone symétrique (le plus courant) ABM(Asynchronous Balanced Mode ) Liaison popint-à-point uniquement Full duplex (LAP-Balanced adopter par RNIS) Half duplex (LAP-X transmission télétex) Liaison symétrique: tous les équipements agissent de la même façon:primaire en émission et secondaire en réception mode équilibré (balanced) 10
Format des Trames HDLC 11
Format des Trames HDLC Le champ «fanion» indique les bordures de la trame (début et fin) Il est représenté par un 0 suivi de 111111 suivi de 0. Que faire si la données contient la même séquence de bits (donnée=...01111110...)? Solution: ajouter un 0 après chaque 11111 (5 un consécutifs au niveau de l émetteur). Exemple Message à envoyé: 0111110111111011111111 Message envoyé: 0111110011111010111110111 Le récepteur doit enlever un 0 après chaque suite : 11111 12
Format des Trames HDLC Le champ adresse identifie la station secondaire dans le cas d une liaison multipoint Dans une commande il représente la station destinataire Dans une réponse il représente la station émetteur Dans le cas de liason point-à-point il n est pas pris en compte Exemple dans PPP adresse=ff (adresse de brodcast ou diffusion) 13
Format des Trames HDLC Le champ "contrôle" indique le type de la trame 3 formats de trame, plusieurs commandes pour chaque format: Trames I (Information): trames de données (+Ack) Trames S (Supervision): trames de supervision (+Ack) Supervision de l échange Contrôle de flux: RR, RNR Contrôle d erreur: REJ (rejet continu), SREJ (rejet sélectif) Trames U (Unnumbered): trames non numérotées Supervision de la liaison initialisation et libération de la liaison de données ex: SARM (set mode ARM), SABM (set mode ABM), DISC (disconnect), UA (ack non numéroté) 14
Format des Trames HDLC Le champ «données» peut être vide Taille minimale (sans fanion)=32 bits (4 octets) le champ FCS (Frame Check Sequence) permet la détection d erreurs De longueur 16 bits (2 octets) Porte sur les champs (adresse, contrôle, données) constitué du reste de la division polynomiale des N bits de la trame par un polynôme «générateur» normalisé de degré 16 le récepteur fait de même avec les N bits de la trame reçue et si le reste est égal à celui de la zone FCS on admet que la transmission s'est passée correctement sinon la trame est rejetée 15
Le champ contrôle Type de Trame Champ contrôle Trame I 0 Ns P/F Nr Trame S 1 0 S S P/F Nr Trame U 1 1 U U P/F U U U Le champ contrôle peut être sur 2 octets Ns et Nr sont alors sur 7 bits et la numérotation se fait modulo 2 8 =128. 16
Trame I: d Information Ns: numéro de la trame courante Nr:numéro de la prochaine trame attendue Nr=x acquitte tous les trames jusqu à (x-1) Le bit P/F ( Poll/Final ) : Dans le mode équilibré du protocole : LAP-B dans une commande : demande de réponse immédiate dans une réponse : réponse à la demande de réponse immédiate Dans le mode normal (historique) du protocole : LAP code le passage de l alternance du droit d émission (maître/esclave) 17
Les trames S : de supervision 4 sous types de trames de supervision: selon la valeur de deux bits S. RR ( Received & Ready ) - 00 confirme la réception des trames de données de nº < N(R) Envoyer pour signaler que le récepteur est prêt à recevoir des trames suivantes ou pour acquitter la trame N(R) en cas d absence de données à envoyer. RNR ( Received & Not Ready ) - 10 confirme la réception des trames de données de nº < N(R) Demande d arrêter, temporairement, la transmission de l émetteur REJ ( Reject ) - 01 confirme la réception des trames de données de nº < N(R) demande la retransmission des trames de nº >=N(R) SREJ ( Selective Reject ) - 11 confirme la réception des trames de données de nº < N(R) demande la retransmission de la trame de nº = N(R) 18
Les trames U : non numérotées Utilisées pour la gestion de la connexion Plusieurs sous types selon la valeur des bits U Trame non numérotées de commande (primaire secondaire) établissement de la connexion : SABM (Set asynchronous balanced mode) - en format normal SABME (Set asynchronous balanced mode extended) - en format étendu... libération de la connexion : DISC (Disconnection) Trame non numérotées de réponse (secondaire primaire) acquittement d une trame non-numérotée: UA ( Unnumbered acknowledgment ) récupération des erreurs : FRMR ( Frame reject ) Trame d indication de connexion libérée : DM ( Disconnected mode ) 19
Récapitulatif des principales commandes Type Soustype Champ contrôle Trame I 0 Ns P/F Nr Trame S Trame U RR 1 0 0 0 P/F Nr RNR 1 0 1 0 P/F Nr REJ 1 0 0 1 P/F Nr SREJ 1 0 1 1 P/F Nr SABM 1 1 P SABME 1 1 P SARM 1 1 P DISC 1 1 P SNRM 1 1 P UA 1 1 F FRMR 1 1 F DM 1 1 U U F U U U 20
Scénario 21
Conclusion 22