Sujets des exercices dirigés - Examen corrige
1) On fait l'hypothèse que les RPC sont synchrones. Rappelez la définition .....
Question 2 On considère deux machines A et B à mots de 16 bits. La machine A
...
Part of the document
Sujets des exercices dirigés Technologie pour les applications
client-serveur UE RSX 102 Année 2007-2008
G. Florin, S. Natkin, E. Gressier,
L. Duchien, J.M. Farinone
Table des matières PREMIER CHAPITRE 4
EXERCICES CONTROLE REPARTI 4 Série d'exercices mode message 4
Exercice 1: Automate de connexion TCP 4
Série d'exercices : Appel de procédure distante 6
Exercice 2 : Traitement des pertes de messages 6
Exercice 3 : Exécutions très longues. 6
Exercice 4 : Appels en parallèle (redondance massive) 6
Exercice 5 : Serveurs multiples (redondance sélective) 6
Exercice 6 : Parallélisme et performance des communications en RPC 7
Série d'exercices : Etudes de cas 9
Exercice 7 : Conception d'une application de niveau session 9
Exercice 8 : Comparaison de la programmation d'applications réparties
avec TCP et avec CORBA 11
Exercice 9 : Objets répartis en CORBA 16 SECOND CHAPITRE 18
EXERCICES PRÉSENTATION DES DONNEES 18 Série d'exercices conversions 18
Exercice 1 : Optimisation des conversions 18
Exercice 2 : Problème des formats de mémoire (petit boutiste, grand
boutiste) 18
Exercice 3 : Définition de syntaxe ASN1 19
Exercice 4 : Définition de format de transfert ASN1 20
Exercice 5 : Définition de données en ASN1 et de leur format de
transfert. 20
Exercice 6 : Problème général ASN1 21
Exercice 7 : Définition d'une traduction du langage IDL de CORBA vers le
langage Pascal 22
Exercice 8 : CORBA 24
Série d'exercices sécurité 29
Exercice 9 : Cryptogramme 1 29
Exercice 10 : Cryptogramme n° 2 29
Exercice 11 : Cryptogramme n° 3 29
Exercice 12 : Etude du système de chiffrement à clé publique RSA 30
Exercice 13 : Kerberos 31
Exercice 14 : Partage d'un secret 34
Exercice 15 : Problème de notarisation 34
Exercice 16 : Gestion d'une connexion sécurisée 36
Exercice 17 : Changement périodique de clés en cryptographie à clés
publiques. 38
Exercice 18 : Commerce électronique sur Internet: SET ("Secure
Electronic Transactions") 41
Exercice 19 : Authentification des usagers et autorisation des requêtes
dans le WEB 45
Exercice 21 : Sécurisation des communications en Internet avec SSL-TLS
49
Exercice 22 : Protocole de micro-paiement sur Internet 52
Exercice 23 : Sécurisation du DNS : les normes DNSSEC-1 55 TROISIEME CHAPITRE 59
EXERCICES APPLICATIONS REPARTIES 59 Exercice 1 : Système de fichiers répartis NFS et réplication 59
Exercice 2 :Désignation des fichiers dans le système de fichiers
répartis NFS 60
Exercice 3 : Messagerie X400 62
Exercice 4 : Transactionnel réparti OSI-TP 64
Exercice 5 : Transactionnel réparti 65
Exercice 6 : Système transactionnel réparti 66
Exercice 7 : CORBA et le transactionnel 68
Exercice 8 : Administration de réseaux avec SNMP 70
Exercice 9 : Échange de données informatisées EDI 75
Exercice 10 : XML 77
Exercice 11 : Étude du protocole HTTP 79
Exercice 12 : DNS ('Domain Name System') sujet 1 82
Exercice 13 : DNS ('Domain Name System') Sujet 2 84
Exercice 14 : Services et protocoles d'annuaires répartis 85
Exercice 15 : Messagerie Internet SMTP 91
Exercice 16 : DNS et messagerie Internet/l'approche SPF 96
Exercice 17 : Messagerie Internet: Analyse du contenu d'un courrier 98
Exercice 18 : Utilisation d'un résolveur DNS 101
Exercice 19 : IMAP ('Internet Message Access Protocol') 104
Exercice 20 : WAP ('Wireless Application Protocol') 106
Exercice 21 : Services sur la toile ('Web Services') 111
Exercice 22 : Protocole SIP ('Session Initiation Protocol') 115
Exercice 23 : Protocole UPnP ('Universal Plug and Play) 120
PREMIER CHAPITRE
EXERCICES CONTROLE REPARTI
Série d'exercices mode message
Exercice 1: Automate de connexion TCP 1) Citez différentes raisons qui justifient l'introduction de la couche
transport dans la pile des protocoles de communication OSI. 2) Rappelez les principaux choix de conception du protocole de
transport TCP.(quelles sont les fonctions réalisées par TCP?). 3) Une vision partielle de l'automate de l'ouverture de connexion et de
la fermeture de connexion en TCP est donnée par la figure page
suivante. Déterminez les éléments de service et les éléments de
protocole utilisés dans cet automate? 4) Examinez l'automate en suivant les transitions portées en traits
gras. Il s'agit d'une ouverture de connexion suivie d'une fermeture.
Analysez les principales options de conception de cette séquence de
connexion déconnexion en TCP. 5) Complétez la lecture de l'automate en examinant d'autres états et
d'autres transitions (ouverture passive, ...).
[pic] Série d'exercices : Appel de procédure distante
Exercice 2 : Traitement des pertes de messages
On souhaite réaliser très efficacement des appels de procédure
distants en se plaçant non pas au dessus d'une couche transport fiable mais
au dessus d'une couche réseau sans contrôle d'erreur.
Proposez des solutions efficaces au problème des pertes de messages
d'appel et de réponse. Exercice 3 : Exécutions très longues.
On souhaite exécuter en mode appel de procédure distante des
traitements de durée non prévisible (par exemple des interrogations
distantes de bases de données dont les réponses peuvent prendre des durées
très variables et très longues).
Proposez une solution pour le contrôle de l'exécution distante, en
particulier pour pouvoir distinguer une panne de serveur d'une exécution
longue. Exercice 4 : Appels en parallèle (redondance massive)
L'appel distant active une seule procédure à distance à chaque fois.
Un utilisateur peut souhaiter faire réaliser n exécutions à distance
simultanément en lançant en diffusion une requête.
Explicitez le schéma du fonctionnement ainsi défini.
Utilisez le dans le cas de données répliquées. On suppose que l'on a
n serveurs de données en copies multiples (pour la sécurité) qui peuvent
réaliser les mêmes opérations lire et écrire. Comment sont réalisées les
lectures, les écritures. Quelle propriété minimum doivent satisfaire les
requêtes pour maintenir la cohérence des données si l'on considére qu'il
n'y a pas de partage de données entre plusieurs activités? Exercice 5 : Serveurs multiples (redondance sélective)
Dans certains types de service on souhaite disposer de plusieurs
instances du même service sur plusieurs machines différentes (par exemple
pour un service de compilation). L'appel distant active une seule exécution
à distante à chaque fois.
Dans quel but utiliserait-on de tels services à instances multiples?
Proposez une organisation pour rendre efficacement un tel service. Exercice 6 : Parallélisme et performance des communications en RPC Un appel de procédure distante présente les caractéristiques
temporelles suivantes (valeurs données à titre d'exemple):
Traitements client de préparation d'appel: 5 ms
- Traitements RPC émission de la requête coté client
Traitements de la souche client: 0,5 ms
Traitements logiciels réseaux coté client: 0,3 ms
- Réseau
Acheminement d'un message entre le client et le serveur 3 ms
- Traitements RPC réception de la requête coté serveur
Traitements logiciels réseaux coté serveur: 0,3 ms.
Traitements de la souche serveur: 0,5 ms Traitements serveur de l'appel (exécution de la procédure): 10 ms - Traitements RPC émission de la réponse coté serveur
Traitements de la souche serveur: 0,5 ms
Traitements logiciels réseaux coté serveur: 0,3 ms
- Réseau
Acheminement d'un message entre le serveur et le client 3 ms
- Traitements RPC réception de la réponse coté client
Traitements logiciels réseaux coté client: 0,3 ms.
Traitements de la souche client: 0,5 ms
Un client souhaite exécuter sur un même serveur deux appels de
procédures distantes indépendantes (non reliées) ayant les caractéristiques
temporelles précédentes. 1) On fait l'hypothèse que les RPC sont synchrones. Rappelez la définition
d'un RPC synchrone. 2) On fait l'hypothèse que client et serveur travaillent séquentiellement.
Le client exécute les deux appels au moyen d'un seul processus séquentiel.
La procédure distante est exécutée pour les deux fois par le même
processus. Quelle est la durée totale nécessaire à la réalisation des deux
appels? 3) On cherche maintenant une exécution parallèle efficace en utilisant le
parallélisme chez le client et chez le serveur . La procédure distante est
toujours en mode synchrone. Le client et le serveur utilisent des processus
sur la machine client et la machine serveur ("multi processing"). Les
appels sont donc réalisés sur le client au moyen de deux processus
parallèles associés aux deux appels indépendants. Les traitements sont
réalisés sur le serveur au moyen de deux processus lancés en parallèle
associés à chaque appel de procédure distante. On néglige les temps de
commutation de contexte entre les processus. On se place dans le cas de
machines mono processeur c'est à dire que les exécutions lancées en
parallèles sont exécutées par un seul processeur (pseudo parallélisme).