Le Protocole HDLC
Omar Cheikhrouhou
enis01amor@[Link]
Dpartement Informatique
Omar Cheikhrouhou 1
Rfrences
Cours dOlivier Glck
[Link]
2
Rappel (fonctionnalit de La couche
liaison de donnes)
La couche liaison de donnes
assure un transit fiable des
donnes sur une liaison physique.
Ainsi, la couche liaison de donnes
s'occupe de :
l'adressage physique (plutt que
logique),
de la topologie du rseau,
de l'accs au mdia,
de la notification des erreurs,
de la livraison ordonne des trames
et du contrle de flux.
3
Encapsulation de donnes par la couche 2
En-tte
Donnes
application
En-tte En-tte
Donnes
Prsentation application
En-tte En-tte En-tte
Donnes
Session Prsentation application
En-tte En-tte En-tte En-tte
Donnes
Transport Session Prsentation application
En-tte En-tte En-tte En-tte En-tte
Donnes
Rseau Transport Session Prsentation application
En-tte En-tte En-tte En-tte En-tte En-tte En-queue
Donnes
Trame Rseau Transport Session Prsentation application Trame
01111111000000011110000001111011101110000101
4
Classification des Protocoles de liaison de
donnes
Orientes Caractre/bit
BSC
HDLC
Point to point / point to multipoint HDLC
PPP,SLIP
Ethernet
5
Les protocoles de Liaison de Donnes
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 laccs au rseau numrique de donnes
LAP-B (Link access procedure-balanced) : rles quilibrs (symtriques)
entre les deux systmes adjacents
normalis : CCITT X25.2 et ISO 7776
1985 : adapt aux rseaux locaux
protocole de la sous-couche dhomognisation LLC (Logical link control)
apparition dun mode de transmission non connect (LLC classe 1)
normalis : IEEE 802.2 et ISO 8802/2
Autres adaptations :
Tlex : 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
donnes (couche 2 du modle OSI)
HDLC est un ensemble de classes, de
procdures et de fonctionnalits optionnelles
(normalise par l'ISO en 1976)
=> chaque liaison de donnes choisit sa
procdure en fonction de ses besoins (cots,
ressources ...)
7
Statuts des stations
Liaison poit--point
Dissymtrique commande rponse
Primaire Secondaire
Symtrique
commande Rponse
Primaire Secondaire
Secondaire Primaire
Rponse commande
8
Statuts des stations
Liaison multipoint
Dissymtrique (seulement)
commande rponse
Primaire
Secondaire Secondaire Secondaire
9
Les diffrents modes de HDLC
Le mode synchrone ou normal
NRM (Normal Response Mode)
Liaison multipoint dissymtrique
Relation matre/esclave: le primaire invite le secondaire parler
Le mode asynchrone dissymtrique
ARM(Asynchronous Response Mode)
Liaison peut tre point--point ou multipoint
Liaison dissymtrique:
1 quipement est station principale, tous les autres sont secondaires
la station principale a l'initiative de l'initialisation de la liaison de donnes
Le mode asynchrone symtrique (le plus courant)
ABM(Asynchronous Balanced Mode )
Liaison popint--point uniquement
Full duplex(LAP-Balanced adopter par RNIS)
Half duplex(LAP-X transmission tltex)
Liaison symtrique:
tous les quipements agissent de la mme faon:primaire en mission et
secondaire en rception mode quilibr (balanced)
10
Format des Trames HDLC
11
Format des Trames HDLC
Le champ fanion indique les bordures de la
trame (dbut et fin)
Il est reprsent par un 0 suivi de 111111 suivi de 0.
Que faire si la donnes contient la mme squence
de bits (donne= ...01111110...) ?
Solution: ajouter un 0 aprs chaque 11111 (5 un
conscutifs au niveau de lmetteur).
Exemple
Message envoy: 0111110111111011111111
Message envoy: 0111110011111010111110111
Le rcepteur doit enlever un 0 aprs chaque suite : 11111
12
Format des Trames HDLC
Le champ adresse identifie la station secondaire
dans le cas dune liaison multipoint
Dans une commande il reprsente la station destinataire
Dans une rponse il reprsente la station metteur
Dans le cas de liason point--point il nest pas pris
en compte
Exemple dans PPP adresse=FF (adresse de brodcast ou
diffusion)
13
Format des Trames HDLC
Le champ "contrle" indique le type de la trame
3 formats de trame, plusieurs commandes pour chaque format:
Trames I (Information): trames de donnes (+Ack)
Trames S (Supervision): trames de supervision (+Ack)
Supervision de lchange
Contrle de flux: RR , RNR
Contrle derreur: REJ (rejet continu), SREJ (rejet slectif)
Trames U (Unnumbered): trames non numrotes
Supervision de la liaison
initialisation et libration de la liaison de donnes
ex: SARM (set mode ARM), SABM (set mode ABM), DISC (disconnect),
UA (ack non numrot)
14
Format des Trames HDLC
Le champ donnes peut tre vide
Taille minimale (sans fanion)=32 bits (4 octets)
le champ FCS (Frame Check Sequence) permet la
dtection derreurs
De longueur 16 bits (2 octets)
Porte sur les champs (adresse, contrle, donnes)
constitu du reste de la division polynomiale des N bits de
la trame par un polynme gnrateur normalis de
degr 16
le rcepteur fait de mme avec les N bits de la trame reue
et si le reste est gal celui de la zone FCS on admet que
la transmission s'est passe correctement sinon la trame
est rejete
15
Le champ contrle
Type de Trame Champ contrle
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 contrle peut tre sur 2 octets Ns et Nr sont alors sur 7 bits
et la numrotation se fait modulo 28 =128.
16
Trame I: dInformation
Ns: numro de la trame courante
Nr:numro 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 rponse immdiate
dans une rponse : rponse la demande de rponse
immdiate
Dans le mode normal (historique) du protocole : LAP
code le passage de lalternance du droit dmission
(matre/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 rception des trames de donnes de n < N(R)
Envoyer pour signaler que le rcepteur est prt recevoir des trames
suivantes ou pour acquitter la trame N(R) en cas dabsence de donnes
envoyer.
RNR (Received & Not Ready) - 10
confirme la rception des trames de donnes de n < N(R)
Demande darrter, temporairement, la transmission de lmetteur
REJ (Reject) - 01
confirme la rception des trames de donnes de n < N(R)
demande la retransmission des trames de n >=N(R)
SREJ (Selective Reject) - 11
confirme la rception des trames de donnes de n < N(R)
demande la retransmission de la trame de n = N(R)
18
Les trames U : non numrotes
Utilises pour la gestion de la connexion
Plusieurs sous types selon la valeur des bits U
Trame non numrotes de commande (primairesecondaire)
tablissement de la connexion :
SABM (Set asynchronous balanced mode) - en format normal
SABME (Set asynchronous balanced mode extended) - en format
tendu
...
libration de la connexion : DISC (Disconnection)
Trame non numrotes de rponse (secondaire primaire)
acquittement dune trame non-numrote: UA (Unnumbered
acknowledgment)
rcupration des erreurs : FRMR (Frame reject)
Trame dindication de connexion libre : DM (Disconnected
mode)
19
Rcapitulatif des principales commandes
Sous-
Type
type Champ contrle
Trame I 0 Ns P/F Nr
RR 1 0 0 0 P/F Nr
RNR 1 0 1 0 P/F Nr
Trame S
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
Trame U
SNRM 1 1 P
UA 1 1 F
FRMR 1 1 F
DM 1 1 U U F U U U20
Scnario
21
Conclusion
22