Académique Documents
Professionnel Documents
Culture Documents
: 2020-2021
Faculté des Sciences de Monastir RéseauxII
Département des Sciences de l'Informatique LFI3
C
Correction_Exercice 4-TD2
Exercice 4
Soit un réseau
seau local en bus utilisant un protocole de type CSMA/CD et comportant 4 stations
notées A, B, C et D. Conformément au standard, les stations écoutent
écoutent avant d'émettre.
d' A
l'instant t = 0,, la station A commence à transmettre une trame dont le temps d'émission
d' dure
7 slots. A t = 5,, les stations B, C et D décident chacune de transmettre une trame de durée
duré 6
slots.
Binary_backoff(attempts)
begin
if attemps = 1 then
maxbackoff := 2
else
if attempts = 10 then
maxbackoff := backofflimit
else
maxbackoff := maxbackoff * 2
endif
endif
delay := int (random * maxbackoff)
Wait (delay * slot_time)
end
attemps est le nombre de tentatives pour accéder à la voie y compris celle en cours.
backofflimit vaut 210
int est une fonction qui rend la valeur entière par défaut
random est un générateur de nombres aléatoires compris entre 0 et 1.
Stations B C D
1 tirage
er 1/4 1/2 3/4
2 tirage 3/5 1/4 1/4
ème
1
3ème tirage 1/3 1/2 1/8
Un slot occupé par la transmission d'un message correctement émis par la station A
est représenté par "A"
Un slot occupé par une collision est représenté par "X"
Un slot correspondant à une absence de transmission est représenté par "—"
Correction
t=0
A A A A A A A X B B B B B B X
1 2 5 7 8 15
- X - D D D D D D C C C C C C
…..
15 16 21 24 30
2. à t=5, B, C et D écoutent le canal. Il est occupé. Elles restent en écoute. (Attente active)
3. support est libre. B,C et D émettent => première collision => calcul de délai d'attente de
chaque station
wait(B)=0slot, wait(C)=wait(D)=1slot
à t=8, B écoute le canal. canal est libre => B émet ses données
àt=9, C et D écoutent le canal. canal est occupé. Elles restent en écoute. (Attente active)
à t=14, support est libre. C et D émettent => deuxième collision=> calcul de délai d'attente de
chaque station
wait(C)=wait(D)= 1slot,
à t=16 C et D émettent leurs données => troisième collision=> calcul de délai d'attente de
chaque station
à t=21, C écoute le canal. Il est occupé. Elle reste en écoute. (Attente active)
2
Binary_backoff(attempts)
begin
if attemps = 1 then
maxbackoff := 2
else
if attempts = 10 then
maxbackoff := backofflimit
else
maxbackoff := maxbackoff * 2
endif
endif
delay := int (random * maxbackoff)
Wait (delay * slot_time)
end
première collision
B C D
attempts 1 1 1
maxbackoff 2 2 2
delay Int(1/4*2)=int(0.5)= 0 Int(1/2*2)=int(1)=1 Int(3/4*2)=
int(3/2)=1
Wait= Délai 0 slot 1 slot 1 slot
d'attante = nbre
de slot
attemps est le nombre de tentatives pour accéder à la voie y compris celle en cours.
backofflimit vaut 210
int est une fonction qui rend la valeur entière par défaut
n<x<n+1
random est un générateur de nombres aléatoires compris entre 0 et 1.
Binary_backoff(attempts)
begin
if attemps = 1 then
maxbackoff := 2
else
if attempts = 10 then
maxbackoff := backofflimit
else
maxbackoff := maxbackoff * 2
endif
endif
delay := int (random * maxbackoff)
Wait (delay * slot_time)
end
3
Deuxième collision
C D
attempts 2 2
maxbackoff 2*2=4 2*2=4
delay Int(1/4*4)=1 Int(1/4*4)=1
Wait= Délai d'attante = 1 slot 1 slot
nbre de slot
troisième collision
C D
attempts 3 3
maxbackoff 4*2=8 4*2=8
delay Int(1/2*8)=4 Int(1/8*8)=1
Wait= Délai d'attante = 4 slots 1 slot
nbre de slot
taux=25/30=83%