Sujet du TD - Université de La Rochelle
Transcription
Sujet du TD - Université de La Rochelle
Université de La Rochelle Master CCI Réseaux TD n° 3 : LLC Exercice 1 : 1. Quelle est la distance de Hamming entre deux mots valides dans le code ASCII ? 2. Quels sont les types d’erreurs que permet de déceler un tel codage ? 3. On choisit un code à trois bits, les mots de code valides sont ceux dont les trois bits sont identiques. Quelle est la distance de Hamming ? 4. Si une erreur se produit sur un seul bit, quels sont les mots que l’on peut obtenir, et par quel mot valide chacun peut il être remplacé sans ambiguïté ? Exercice 2 : Le CRC (Cyclic Redundancy Check) est un code qui permet de détecter les erreurs de transmission. Il est obtenu en ajoutant aux données transmises (I) les bits de redondance (R) obtenus en divisant C0 par G. C0 étant le mot de code obtenu en rajoutant d bits à 0 à la fin de I, G étant les bits représentant le polynôme générateur et d le degré de G. Le code C envoyé est la concaténation de I et de R. À l’arrivée, le récepteur détecte une erreur si la division de C reçu par G ne donne pas un reste nul. Il existe 3 méthodes pour calculer le CRC : la division polynomiale binaire, la division polynomiale symbolique et les registres à décalage. Nous allons étudier uniquement les deux premières qui sont similaires. Exemple : Dans les deux cas la soustraction est faite par des ou exclusifs (pas de signes ‘-‘) division polynomiale binaire I = 1101011011 G = 10011 d = 4 (R est composé de 4 bits) C0 = I suivi de d zéros = 11010110110000 Il faut calculer le reste de la division de C0 par G 11010110110000 |10011 10011 1100001010 10011 10011 10110 10011 10100 10011 1110 On fait une division classique mais en binaire. R = 1110 division polynomiale symbolique 9 8 6 4 3 I(x) = x +x +x +x +x +x+1 4 G(x) = x +x+1 d = 4 (degré de R = d-1 = 3, R est composé de 4 bits) d 13 12 10 8 7 5 4 C0(x) = I(x) × x = x +x +x +x +x +x +x Il faut calculer le reste de la division de C0(x) par G (x) 13 12 10 8 7 5 4 4 x +x +x +x +x +x +x x +x+1 9 3 2 9 8 3 x +x +x +x x +x +x +x Ici on fait une division successive des termes de 13 4 9 degré fort : la première division c’est x /x =x et on enlève (ou exclusif) de C0(x) le résultat de la multiplication du terme obtenu par G(x) : la 9 4 13 10 9 première fois c’est x × (x +x+1) = x +x +x 13 10 ainsi on raye de C0(x) les termes x et x et 9 rajoute x . On continue jusqu’à ce que l’opération de division ne soit plus possible (degré du reste < degré de G(x)). R(x) = x3+x2+x ce qui correspond à avoir 1110 1. Calculez la méthode de la division polynomiale symbolique le bloc de contrôle (CRC) correspondant à la suite de bits 1100101010101011 en utilisant le polynôme générateur G(x) =x4 + x3 + x + 1 Université de La Rochelle Master CCI 2. La détection d’erreurs utilise le CRC x6 + x4 + x + 1. Le récepteur reçoit la séquence binaire suivante 101011000110. Le message est-il correct (tester avec la méthode de division polynomiale binaire) ? Exercice 3 : Dans l’alphabet ASCII le mot « OSI » se code par les 3 caractères de 7 bits suivants : ‘O’ = 1001111, ‘S’ = 1010011 et ‘I’ = 1000011 1. La LRC (Longitudinal Redundancy Check) consiste à rajouter un bit de parité à la fin d’un bloc de données (octet, caractère, suite de bits,…). La VRC (Vertical Redundancy Check) consiste à calculer les bits de parité entre plusieurs blocs de données en vertical :1 bit de parité pour les bits qui sont à la même position dans les différents blocs considérés. Donnez la VRC du mot « OSI » en utilisant une parité paire pour calculer le LRC de chaque caractère. 2. Combien d’erreurs ce code peut-il détecter ? Combien peut-il en corriger ? 8 e 3. Calculez le CRC du mot « OSI » en utilisant le polynôme générateur x + 1 et en supposant que le 8 bit de chaque caractère est un bit de parité paire et que le mot d’information est composé des bits 3 caractères à la suite. Exercice 4 : 1. Comment s’effectue la synchronisation dans une procédure HDLC (High level Data Link Control) ? 2. On désire transmettre la suite de bits de données : 0111111001101110. Quelle est la suite de bits qui est réellement transmise au niveau physique ? 3. On désire maintenant transmettre les bits : 011011010011101101111100. Suite à une erreur de transmission le récepteur reçoit la séquence : 011011010011111101111100. Comment le récepteur interprète cette séquence de données ? 4. À quel niveau peut-on détecter cette erreur ? Indiquez le type de reprise sur erreur qui sera entrepris en sachant que la taille minimale d’une trame est de 4 octets. Exercice 5 : Soit une liaison de données entre deux stations A et B utilisant le protocole HDLC (cf. Annexe). La suite cidessous arrive à la station B. S = 011111100000001000101001110111110100111110000101011001111100001010 001111110011111100111111000000010100010010010111011111010101111110 1. Quelles sont les trames ? 2. Quels sont les éléments binaires après traitement de la transparence binaire ? 3. Quels sont les champs et leurs signification ? 4. Représentez le diagramme correspondant à l’échange. Université de La Rochelle Master CCI Annexe : Format général d’une trame HDLC : Fanion CRC Fanion 01111110 @destinataire commande données FCS 01111110 1 octet 1 octet 1 octet >= 0 octet 2 octets 1 octet Le format général du champ de commande est le suivant : N° bit trame I trame S trame U 1 0 1 1 2 0 1 3 N(s) s1 u1 4 s2 u2 5 P/F P/F P/F 6 u3 7 N(r) N(r) u4 8 u5 N(s) = numéro de séquence de la trame envoyée (modulo 8) N(r) = numéro de réponse correspondant au numéro de la prochaine trame attendue (modulo 8) P/F : bit utilisé à plusieurs fins en fonction du type de la trame et du sens de la transmission : – P → primaire, F → secondaire – P = 0 → ne pas répondre, P = 1 → répondre – F = 0 → reste encore des données à transmettre, F = 1 → fin de la transmission des données – sert principalement à synchroniser le dialogue entre les deux entités qui communiques. s1,s2 : leur combinaison désigne le type de la trame de supervision u1,u2,u3,u4,u5 : leur combinaison désigne le type de la trame d’information non numérotée • Trame I : trame qui transporte des données en provenance de la couche « réseau » • Trame S : 4 types possibles 1 2 3 4 s1 s2 5 6 7 8 sémantique RR 1 0 0 0 P/F N(r) Récepteur prêt à recevoir REJ 1 0 0 1 P/F N(r) Rejet de toutes les trames à partir de N(r) RNR 1 0 1 0 P/F N(r) Récepteur non prêt à recevoir SREF 1 0 1 1 P/F N(r) Rejet de la trame N(r) Université de La Rochelle • Master CCI Trame U : 32 possibles, 17 utilisées, classées en 2 groupes • trames de commande : P/F = P 1 2 3 4 5 6 7 8 u1 u2 u3 u4 u5 SARM 1 1 1 1 P 0 0 0 Mode synchrone SNRM 1 1 0 0 P 0 0 1 Mode de réponse normal SABM 1 1 1 1 P 1 0 0 Mode asynchrone équilibré SARME 1 1 1 1 P 0 1 0 Mode asynchrone étendu de réponse SNRME 1 1 1 1 P 0 1 1 Mode normal étendu SABME 1 1 1 1 P 1 1 0 Mode asynchrone étendu équilibré DISC 1 1 0 0 P 0 1 0 Déconnexion SIM 1 1 1 0 P 0 0 0 Demande de mise en oeuvre du mode d’initialisation UP 1 1 0 0 P 1 0 0 Demande d’émission non numérotée UI 1 1 0 0 P 0 0 0 Information non numérotée XID 1 1 1 1 P 1 0 1 Échange d’identification RESET 1 1 1 1 P 0 0 1 Remise à zéro • sémantique trames de réponse : P/F = F 1 2 3 4 5 6 7 8 u1 u2 u3 u4 u5 1 1 0 0 F 1 1 0 Accusé de réception non numéroté CMDR 1 1 1 0 F 0 0 1 Rejet de commande DM 1 1 1 1 F 0 0 0 Réponse en mode déconnecté RD 1 1 0 0 F 0 1 0 Réponse de demande de déconnexion RIM 1 1 1 0 F 0 0 0 Réponse de demande d’initialisation de mode UI 1 1 0 0 F 0 0 0 Réponse d’information non numérotée XID 1 1 1 1 F 1 0 1 Réponse d’échange d’identification UA sémantique