You are on page 1of 3

U NIVERSITÉ PARIS 7 - M ASTER 1 - P ROTOCOLES R ÉSEAUX - PARTIEL - 15/05/2009

durée : 2 heures - aucun document autorisé - trois exercices indépendants - barème indicatif
un mot de code personnel devra être reporté sur chaque copie

1 (5 points) On considère un modem fonctionnant à 2400 Bauds et admettant la constellation représen-


tée ci-dessous. On s’intéresse à la transmission de la séquence s = 110110010010.

1. Représentez le signal en bande de base Manchester correspondant à s.


2. Précisez le nombre de niveaux d’amplitude et de phase de cette constellation.
3. Calculez le débit binaire autorisé par ce modem.
4. (a) Déterminez un codage efficace pour cette constellation.
(b) Représentez alors graphiquement le signal modulé correspondant à s.

2 (7 points) On considère un réseau constitué de sept segments Ethernet et de cinq ponts transparents
et dont la topologie est

LAN1 B

LAN2 port3 LAN3 LAN4 LAN5


port1 port1 port2 port1 port2
P1 port2 P2 P4
port3
LAN6
port2 port2
C
port1 port1
P5 P3
LAN7 port3 A port3

1. En supposant que l’algorithme de l’arbre recouvrant est stabilisé, donnez la table de chaque pont
et précisez les BPDUs circulant sur le réseau. Indiquez quel pont est désigné sur chaque LAN.
2. Au départ, les adresses MAC sont connues des trois machines A, B et C mais les ponts n’ont
aucune information sur la localisation des machines dans leurs tables d’acheminement. Décri-
vez l’acheminement d’une trame de A vers B, suivi de celui d’une trame de C vers A et celui
finalement d’une trame de B vers C, en précisant l’évolution des tables des ponts.
3. Le pont P2 se met subitement à fonctionner comme un simple répéteur. Donnez un scénario pos-
sible d’échange de BPDUs entre les ponts jusqu’à ce que l’arbre recouvrant soit à nouveau stable.

1
3 (9 points) On définit un protocole dans l’encadré en annexe page 3.

1. On cherche à discerner le rôle de ce protocole.


(a) Relevez les différentes couches mentionnées.
(b) À quelle couche ce protocole appartient-il ?
(c) Quelles sont les valeurs possibles prises par les variables trame attendue
et prochaine trame a envoyer ?
(d) Certaines parties du code nécessitent un commentaire. Rédigez de manière concise et perti-
nente ces commentaires (vous pourrez ou bien vous référer à la numérotation des lignes, ou
bien écrire directement sur l’annexe que vous rendrez alors avec votre copie).
(e) Proposez un nom pour ce protocole.
2. On cherche à construire un automate modélisant le comportement de ce protocole.
(a) L’état h k signifie « vient d’envoyer une trame d’en-tête h et k » avec h = s.seq
et k = s.ack.
Combien y a-t-il d’états ?
(b) Une transition entre deux états correspondant à la « réception d’une trame d’en-tête h et k » est
représentée par une flèche étiquetée

−−−−−−→
h k

Considérons par exemple la transition

0 1 −−−−−−→ h k
0 0

À quoi sont égaux h et k dans cet exemple ?


Quels évènements et quelles actions sont modélisés par ce diagramme ?
(c) Déterminez l’ensemble des transitions de cette forme

−−−−−−→

(d) Pour chacune de ces transitions, dites si elle correspond


 
(i) à encapsuler soit un nouveau paquet, soit le précédent : étiquette NP ou PP ;
 
(ii) soit à accepter, soit à rejeter une trame : étiquette AT ou RT .
(e) Précisez si d’autres types de transitions existent ?
(f) Construisez l’automate complet (tous les états, toutes les transitions, toutes les étiquettes).
(g) Donnez au moyen d’un chronogramme un exemple d’échange d’un minimum de trames
correspondant à un maximum de transitions différentes.

2
01 typedef enum {arrivee_trame, erreur_total_controle, expiration} type_evenement;
02 void protocole (void) {
03 numero_seq prochaine_trame_a_envoyer;
04 numero_seq trame_attendue;
05 trame r, s;
06 paquet tampon;
07 type_evenement evenement;
08 prochaine_trame_a_envoyer = 0;
09 trame_attendue = 0;
10 depuis_couche_reseau(&tampon);
11 s.info = tampon;
12 s.seq = prochaine_trame_a_envoyer;
13 s.ack = 1 - trame_attendue;
14 vers_couche_physique(&s);
15 demarrer_temporisateur(s.seq);
16 while (true) {
17 attendre_evenement(&evenement);
18 if (evenement == arrivee_trame) {
19 depuis_couche_physique(&r);

3
20 if (r.seq == trame_attendue) {
21 vers_couche_reseau(&r.info);
22 trame_attendue = 1 - trame_attendue;
23 }
24 if (r.ack == prochaine_trame_a_envoyer) {
25 desactiver_temporisateur(r.ack);
26 depuis_couche_reseau(&tampon);
27 prochaine_trame_a_envoyer
28 = 1 - prochaine_trame_a_envoyer;
29 }
30 }
Annexe de l’exercice 3 : définition du protocole

31 s.info = tampon;
32 s.seq = prochaine_trame_a_envoyer;
33 s.ack = 1 - trame_attendue;
34 vers_couche_physique(&s);
35 demarrer_temporisateur(s.seq);
36 }
37 }

You might also like