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