Extrait de [SERVIN'98] pp132-137 - ASI @ INSA Rouen
en TP, je vous propose de revoir le protocole HDLC abordé aux pp58-64 dans le
poly (support_SCA3.pdf ... Voir aussi question Q4 à Q7 du sujet de TP3 2003A.
part of the document
synthétiques pp58-64 du poly).
Correction
Extrait de [SERVIN98b] pp132-137 (Telecoms 2 : de lingénierie aux services)
Voir aussi question Q4 à Q7 du sujet de TP3 2003A.
Voir aussi [SERVIN98a] pp212-215 ((Telecoms 1 : de la transmission à larchitecture) pour une comparaison à PPP
1.4 Rappel sur le protocole HDLC
Q4) Une trame HDLC est composée de 6 champs :
FLAG ADDRESS CONTROL INFORMATION FCS FLAG 11111108 BITS8 BITS N BITS16 BITS1111110
FLAG : Séquence binaire qui délimite le début et la fin de la trame. Chaque trame est encadrée par le même fanion.
ADRESS : désigne une des machines à l'extrémité de la liaison .
CONTROL : décrit le types de trame.
INFORMATION : Ce champ contient les données à transmettre.
FCS : Séquence de contrôle de trame, obtenue par contrôle polynomial.
Q5) Le polynome générateur utilisé est le CRC-CCITT V41 : x16+x12+1. Il s'agit donc d'un polynome de degré 16, qui est codé sur 17 bits.
Q6) La procédure de contrôle est la suivante :
On suppose que la donnée à contrôler est 1100101011. On doit multiplier cette donnée par 10..(16zéros)...0 pour obtenir un nombre M. M est donc codé sur N+17 bits, ou N est la taille en bits de la donnée à contrôler. On divise ensuite ce nombre M par le polynôme générateur codé en binaire, c'est à dire G = 100010000000000001 (codé sur 17 bits).
Le reste CRC est le reste de la division de M par G. Le reste de cette division est donc codé sur 16 bits ( le nombre de bits sur lequel est codé le polynôme générateur). Il faut donc stocker 16 bits, ce qui correspond donc à 2 octets.
1.4 Etude théorique d'une trace
Trace récupérée au niveau physique d'une jonction entre un ETTD et un ETCD dialoguant au moyen d'un protocole HDLC (LAP-B dans le cadre d'une liaison X25).
Identification de la trame Emetteur Décodage de la trame1ETCD7E 01 0F XX XX 7E2ETCD7E 01 0F XX XX 7E 3ETCD7E 01 0F XX XX 7E4ETTD7E 01 3F EB 7F 7E5ETCD7E 01 73 83 5E 7E6ETCD7E 03 00 10 00 FB 07 A4 EA 6F 7E7ETTD7E 03 21 A4 56 7E8ETTD7E 01 20 10 00 FF 8D 06 7E9ETCD7E 01 21 14 98 7E10ETTD7E 01 22 10 03 0B 09 19 20 20 59 30 02 01 01 C4 01 00 67 89 7E
Q7) Il faut différencier tout d'abord les 3 types de trame :
Trame d'information I, qui permettent la transmission des données.
Trame de supervision S, servent au contrôle de flux et aux contrôles d'erreur.
Trame non numérotées U (Unnumbered), permet l'établissement et la libération de la communication.
Sur chaque trame on reconnaît les FLAGS de début et de fin 7E. Les champs de l'adresse 01 ou 03. Puis, suivent les champs CONTROL, qui vont nous intéresser. Et enfin les champs d'information et FCS avant le FLAG final.
Trames 1,2, et 3 :
Champ CONTROL : (0F)Héxa : (0000 1111)b
Cette trame correspond à une trame de type U, avec la commande de liaison DM.
L'ETCD indique par trois fois fois successives à l'ETTD que la connexion est interrompue.
Trame 4 :
Champ CONTROL : (3F)Héxa : (0011 1111)b
Cette trame correspond à une trame de type U, avec la commande de liaison SABM.
Cette commande permet d'initialiser la connexion en mode équilibré.
Trame 5 :
Champ CONTROL : (73)Héxa : (0111 0011)b
Cette trame correspond à une trame de type U, avec la commande de liaison UA.
L'ETCD répond à l'ETTD qu'il accepte la connexion.
Trame 6 :
Champ CONTROL : (00)Héxa : (000 0000)b
Cette trame correspond à une trame de type I, avec N(s)=0 et N(R)=0.
L'ETCD envoie la première trame de données.
Trame 7 :
Champ CONTROL : (21)Héxa : (0010 0001)b
Cette trame correspond à une trame de type S, RR (Receiver Ready : prêt à recevoi) et N(R)=1.
L'ETTD est prêt à recevoir la trame d'information et en accuse réception.
Trame 8 :
Champ CONTROL : (20)Héxa : (0010 0000)b
Cette trame correspond à une trame de type I, avec N(s)=0 et N(R)=1.
L'ETTD envoie une trame contenant des données et indique qu'il en a reçu une et n'en a pas encore envoyé.
Trame 9 :
Champ CONTROL : (21)Héxa : (0010 0001)b
Cette trame correspond à une trame de type S, RR (Receiver Ready : prêt à recevoi) et N(R)=1.
L'ETTD est prêt à recevoir la trame d'information et en accuse réception.
Trame 10 :
Champ CONTROL : (22)Héxa : (0011 0011)b
Cette trame correspond à une trame de type I, avec N(s)=1 et N(R)=1.
L'ETTD envoie une deuxième trame de données et informe qu'il a reçu une trame et en a envoyé une.