46
SYSTÈMES RÉPARTIS [email protected] 2010-11

SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

SYSTÈMES RÉPARTIS [email protected] 2010-11

Page 2: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

WEBLIOGRAPHIE 2

  J’ai souvent eu recours aux supports disponibles sur le WEB et notamment au cours des personnes suivantes:   Claude Duvallet : maître de conférences en Informatique à

l’université de Havres.   Gérard Florin: professeur en informatique au CNAM de Paris.   Michel RIVEILL : professeur d'informatique à l'Ecole

Polytechnique de l'Université de Nice   Yahya Slimani : professeur en informatique à la Faculté des

Sciences de Tunis   Sacha Krakowiak: professeur émérite en informatique à

l’université Joseph Fourier, Grenoble

Page 3: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Introduction au systèmes répartis

Page 4: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Système centralisé 4

  Tout est localisé sur la même machine  1 processeur : une horloge commune  1 mémoire centrale : un espace d’adressage

commun  1 système d’exploitation

 Gestion centralisée des ressources  Etat global du système facilement reconstiuable

 Accès local aux ressources

Page 5: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Emergence du réparti

  Evolution technologique  machines

 de plus en plus performantes avec une baisse des prix

 Équipement réseau  de plus en plus rapides

5

  Regroupement des machines   Puissance de calcul et de stockage   Moins de centralisation : accès multiples + partage de

ressources   Flexibilité, facilité d’extension du système (matériels, logiciels)

Page 6: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Systèmes répartis (1/3)

  "Un ensemble de machines connectées par un réseau, et équipées d’un logiciel dédié à la coordination des activités du système ainsi qu’au partage de ses ressources."

6

  "Un système réparti est un système qui s’exécute sur un ensemble de machines sans mémoire partagée, mais que pourtant l’utilisateur voit comme une seule et unique machine."

« Coulouris et al. »

« Tanenbaum »

Page 7: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Systèmes répartis (2/3) 7

  Types de ressources  Calcul  Stockage  Electronique

  capteur, satellites, scanneurs, …

  Architecture  Plusieurs processeurs plusieurs horloges  Plusieurs mémoires pas de mémoire partagée  Réseau d’interconnexion et de communication

Page 8: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Systèmes répartis (3/3)

  Fonctionnement collaboratif: des traitements coopérants sur des données réparties pour réaliser une tâche commune

 La coopération entre les processus correspond à la communication entre eux et la synchronisation de leurs évolutions.

 La répartition peut concerner les données comme les traitements (tâches).

8

Page 9: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Caractéristiques (1/2) 9

  Absence d’état global  pas de référence spatiale commune à cause de

l’absence (dans la majorité des cas) d’une mémoire partagée

 Pas de référence temporelle commune à cause de l’existence de plusieurs processeurs ayant chacun sa propre horloge

  Existence d’un réseau  non géré par le système d’exploitation   le comportement du système réparti dépend de l’état

du réseau

Page 10: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Caractéristiques (2/2) 10

  Architecture matérielle  Multi-processeurs à mémoire

partagée  Clusters (grappes) d’ordinateurs

 Ordinateurs puissants (serveurs dédiés) et indépendants

 Ordinateurs PC en réseau

  Architecture logicielle (système)  Entités logicielles séparées

s’exécutant en parallèle

Page 11: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Exemples

  Commerce électronique   l'échange de biens et de services entre deux

entités sur les réseaux informatiques.   Grilles informatiques

  des ressources hétérogènes (ordinateurs, téléphones mobiles…) et distribuées (différents lieux) pour différents usages (calcul, espace de stockage…)

 Partage de fichiers  Fichiers stockés sur un serveur  Accessible de n’importe quelle machine

 Réseaux sociaux

11

Page 12: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Tolérance aux pannes   Un système réparti doit pouvoir tolérer la panne des

machines :  Une machine tombe en panne.  Une machine envoie des informations erronées.  Une machine n’est plus atteignable (problème réseau)

Propriétés 12

Page 13: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Propriétés 13

Hétérogénéité

  Comment s’affranchir des différences matérielles et logicielles des ressources du système ?

  Sources d’hétérogénéité  machines (architecture matérielle)   systèmes d'exploitation   langages de programmation  protocoles de communications

Page 14: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Sécurité

 Confidentialité

  Intégrité : Droits d’accès, Pare-Feu

 Authentification   Identification des applications partenaires   Non-répudiation (s'assurer qu’un contrat signé via internet, ne

peut être remis en cause par l’une des parties)   Messages authentifiés.

 Combien de personnes utilisent l’application, qui sont-ils ?   Nécessité de se protéger contre les intrusions   Nécessité de stocker les accès des clients dans des fichiers

journaux

Propriétés 14

Page 15: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Disponibilité  Prêt à l’utilisation et toujours disponible

Abstraction  (séparation interface/réalisation) : accès à un

service via une interface d’accès en faisant abstraction à son implémentation.

Propriétés 15

Page 16: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Transparence  Propriété fondamentale : Tout cacher à l’utilisateur

 La répartition doit être non perceptible : une ressource distante est accédée comme une ressource locale

 Cacher l'architecture et le fonctionnement du système réparti

  L'ISO définit plusieurs transparences  accès, localisation, concurrence, réplication, mobilité, panne,

performance, échelle

Propriétés 16

Page 17: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Propriétés 17

  Transparence d'accès   Accès à des ressources distantes aussi facilement que localement   Accès aux données indépendamment de leur format de

représentation   Transparence de localisation

  Accès aux éléments/ressources indépendamment de leur localisation

  Transparence de concurrence   Exécution possible de plusieurs processus en parallèle avec

utilisation de ressources partagées   Transparence de réplication

  Possibilité de dupliquer certains éléments/ressources pour augmenter la fiabilité

Page 18: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Propriétés 18

  Transparence de mobilité   Possibilité de déplacer des éléments/ressources

  Transparence de panne  Doit supporter qu'un ou plusieurs éléments tombe en panne

  Transparence de performance   Possibilité de reconfigurer le système pour en augmenter les

performances   Transparence d'échelle

 Doit supporter l'augmentation de la taille du système (nombre d'éléments, de ressources ...)

Page 19: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Le passage à l’échelle (scalability) :    un paramètre primordial pour la longévité (continuité

ou durée) pour tout système est sa capacité d’évolution en fonction des besoins émergents.

  un système réparti doit montrer une capacité acceptable de passer à l’échelle:  Ce qui marche pour un utilisateur, marchera-t-il pour des

milliers (voir des millions) ?  Ce qui marche pour un site, marchera-t-il pour des milliers ?

Problèmes 19

Page 20: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Le nommage et l’accès    Comment identifier les ressources distantes et les

retrouver?   Système centralisé: nommage géré par le système

d’exploitation (adressage).   Système réparti: utilisation d’annuaires et de services de

nommage

Problèmes 20

Page 21: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Intégration de l’existant  Connexion sur toutes les ressources d’une entreprise.   Interopérabilité des applications.

Déploiement des applications  Comment installer tous les composants logiciels de

l’application sur les différentes machines?

  La modification d’un service ou l’ajout d’un autre, nécessite la recompilation, et/ou redéploiement de l’application?

  Est il possible de reconfigurer automatiquement le redéploiement ?

Problèmes 21

Page 22: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Applications répartis 22

Page 23: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Système et application répartis 23

  Système : gestion des ressources communes et de l’infrastructure, lié de manière étroite au matériel sous-jacent   Système d’exploitation : gestion de chaque élément   Système de communication : échange d’information entre les éléments   Caractéristiques communes : cachent la complexité du matériel et des

communications, fournissent des services communs de plus haut niveau d’abstraction

  Application : réponse à un problème spécifique, fourniture de services à ses utilisateurs (qui peuvent être d’autres applications).   Utilise les services généraux fournis par le système

  La distinction n’est pas toujours évidente, car certaines applications peuvent directement travailler à bas niveau (au contact du matériel).   Exemple : systèmes embarqués

Page 24: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Schémas de répartition (modèles d’exécution) 24

  Modèle Client-Serveur   Modèle de communication par messages   Modèle de communication par événements   Modèle à base de composants   Modèle à base d’agents mobiles   Modèles à mémoires partagées   Modèle orienté service

Page 25: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle Client-Serveur 25

  Client : processus demandant l’exécution d’une opération à un autre processus

  Serveur : processus accomplissant une opération sur demande d’un client, et lui transmettant le résultat

  Modèle Requête/Réponse :   Requête : message transmis par un client à un serveur

décrivant l’opération à exécuter   Réponse : message transmis par un serveur à un client suite à

l’exécution d’une opération, contenant le résultat de l’opération

  Mode de communication synchrone   le client envoie la requête et attend la réponse.   Emission bloquante

Page 26: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle de communication par messages (1/2) 26

  Une application produit des messages (producteur) et une application les consomme (consommateur)

  Le producteur (l’émetteur) et le consommateur (récepteur) ne communiquent pas directement entre eux mais utilisent un objet de communication intermédiaire (boîte aux lettres ou file d’attente)

  Communication asynchrone :   Les deux composants n'ont pas besoin d'être connectés en

même temps grâce au système de file d'attente   Emission non bloquante: l’entité émettrice émet son message,

et continue son traitement sans attendre que le récepteur confirme l'arrivée du message.

  Le récepteur récupère les messages quand il le souhaite.

Page 27: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle de communication par messages (2/2) 27

  Adapté à un système réparti dont les éléments en interaction sont faiblement couplés :   éloignement géographique des entités communicantes   possibilité de déconnexion temporaire d’un élément

  Deux modèles de communication :   Point à point: Les messages ne sont lus que par un seul consommateur.

Une fois qu'un message est lu, il est retiré de la file d'attente.   Multi-points ou Publish/Subscribe (par abonnement) :

  les applications consommatrices des messages s'abonnent à un topic (sujet)

  Les messages envoyés à ce topic restent dans la file d'attente jusqu'à ce que toutes les applications abonnées aient lu le message

  Exemples:   la messagerie électronique, surveillance des systèmes (changement

d’états de configuration, alertes, statistiques)

Page 28: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle de communication par événements 28

  Concepts de base   Evénement = changement d'état survenant de manière asynchrone

(par rapport à ses “clients”)   Réaction = exécution d’une opération prédéfinie liée à l’événement

  Mode de communication asynchrone et anonyme   indépendance entre l’émetteur (producteur) et les destinataires

(consommateurs) d’un événement   Deux modes de consommation des messages:

  « Mode Pull » - réception explicite : les clients viennent prendre régulièrement leurs messages

  « Mode Push » - délivrance implicite : une méthode prédéfinie est attachée à chaque type de message et elle est appelée automatiquement à chaque occurrence de l’évènement. la réception d'un événement entraîne l'exécution de la réaction associée

Page 29: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle à base de composants 29

  Composant : module logiciel autonome et réutilisable.   Caractéristiques d’un composant :

  des entrées/sorties déclarées pour permettre les connexions entre plusieurs composants

  des propriétés déclarées permettant de configurer le composant

  Simplifier la conception et le développement des applications avec les composants:   Réutilisabilité   Indépendance   autonomie

Page 30: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle à base d’agents mobiles (1/2) 30

  Code mobile : programme se déplaçant d’un site à un autre sur le réseau

  Exemple :   les applets = programme exécutable inclut dans une page

HTML et qui s’exécute sur le site (machine) qui télécharge la page.

  Avantage de la mobilité :   efficacité, privilégie les interactions locales  moins de communications distantes effectuées pour les

échanges de messages   amener le code aux données plutôt que le contraire

Page 31: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle à base d’agents mobiles (2/2) 31

  Les agents mobiles : entités logicielles permettant de construire des applications distribuées

  Un agent mobile peut se déplacer d'une machine à une autre sur réseau.

  Un agent qui s'exécute sur une machine peut, à tout moment, arrêter son exécution, se déplacer sur une autre machine et reprendre son exécution (à partir de son dernier état)

Page 32: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèles à mémoire partagée 32

  Objectif:   Replacer le programmeur dans les conditions d’un système

centralisé :   utiliser un espace mémoire commun pour les communications

  Avantages:   transparence de la distribution pour le développeur,   efficacité de développement (utilisation des paradigmes

usuels de la programmation concurrente).   Inconvénient:

 Complexité de mise en œuvre efficace d’une mémoire partagée distribuée

Page 33: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Modèle orienté service 33

  Un modèle d'interaction basé sur la notion de service

  Un service est un composant logiciel exécuté par un  producteur à l'attention d'un  consommateur

  Une nouvelle vision dans la conception des applications réparties

Page 34: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Middleware 34

Page 35: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Motivations 35

  Dans un système réparti, l’interface fournie par les systèmes d’exploitation et de communication est encore trop complexe pour être utilisée directement par les applications:   Hétérogénéité (matérielle et logicielle)   Complexité des mécanismes (bas niveau)   Nécessité de gérer la répartition

  Solution   Introduire une couche logicielle intermédiaire (répartie) entre les

niveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel (Middleware en anglais)

  L’intergiciel joue un rôle analogue à celui d’un “super-système d’exploitation” pour un système réparti

Page 36: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Middleware 36

  Un middleware ou « intergiciel » ou « élément du milieu » est l'ensemble des couches réseau et services logiciel qui permettent le dialogue entre les différents composants d'une application répartie.

  Gartner Group définit le middleware comme une interface de communication universelle entre processus.

  Représente l’élément le plus important de tout système réparti.

Page 37: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Middleware 37

  Positionnement du middleware (couche du milieu)

Site 1 Site 2

Page 38: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Middleware 38

  Fonctions  Masquer l’hétérogénéité (des machines, systèmes,

protocoles de communication)  Fournir une API (Application Programming Interface) de

haut niveau  Permet de masquer la complexité des échanges  Facilite le développement d'une application répartie

 Rendre la répartition aussi invisible (transparente) que possible

 Fournir des services répartis d’usage courant

Page 39: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Middleware 39

Services du middleware   Conversion

  permet la communication entre machines mettant en œuvre des formats différents de données

  prise en charge par la FAP (Format And Protocol)

  Nommage   permet d'identifier la machine serveur sur laquelle est

localisé le service demandé afin d'en déduire le chemin d'accès.

  fait, souvent, appel aux services d'un annuaire.

Page 40: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Middleware 40

  Sécurité  permet de garantir la confidentialité et la sécurité des

données à l'aide de mécanismes d'authentification et de cryptage des informations

  Communication  permet la transmission des données entre les deux

systèmes

Page 41: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Types de middleware 41

  Middleware RPC (Remote Proceedure Call)   RPC de SUN

  Middlewares orientés objets distribués   Java RMI, Corba

  Middlewares orientés composants distribués   EJB, Corba, DCOM

  Middlewares orientés messages   JMS de Sun, MSMQ de Microsoft, MQSeries de IBM

  Middlewares orientés sevices   Web Services (XML-RPC, SOAP)

  Middlewares orientés SGBD   ODBC (Open DataBase Connectivity), JDBC de Sun

  Middlewares transactionnels   JTS de Sun, MTS de Microsoft

Page 42: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Communications 42

Page 43: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Présentation 43

  Elément fondamental d’un système réparti  Plusieurs systèmes séparés physiquement  Reliés par un réseau

 Définit leur interconnexion   Leur permet de communiquer entre eux

Page 44: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

Outils de communication 44

  Problématique   Réaliser un service réparti en utilisant l’interface de transport

(TCP, UDP)

  Mise en œuvre   Bas niveau

  Utilisation directe de la couche transport   Sockets : mécanisme universel de bas niveau, utilisable depuis tout

langage (exemple : C, Java)   Haut niveau

  Utiliser les services offerts par les middlewares (Services plus complexes   Appel de procédure à distance (RPC), dans un langage particulier ;

exemple : C   Appel de méthode à distance, dans les langages à objets ; exemple : Java RMI

Page 45: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

le réseau vu de l’utilisateur 45

  Schéma Client/Serveur   Même machine : client et serveur sur la même machine   Machines différentes : client demande un service fournit par

un serveur sur une autre machine   Un service est souvent désigné par un nom symbolique (email, http://...,

telnet, etc.).   Ce nom doit être converti en une adresse interprétable par les

protocoles du réseau.   La conversion d’un nom symbolique (http://www.google.com) en une

adresse IP (216.239.39.99) est à la charge du service DNS

Page 46: SYSTÈMES RÉPARTIS - 4-Sharing.com4-sharing.com/lfi3/Systeme repartie/SR.Premier cours.pdfniveaux bas (systèmes et communication) et le niveau haut (applications) : c’est l’intergiciel

le réseau vu de l’utilisateur 46

  Le serveur (machine physique) peut comporter différents services:   L’adresse IP du serveur ne suffit pas,   il faut préciser le service demandé au moyen d’un numéro de port, qui permet

d’atteindre un processus particulier sur la machine serveur.   Un numéro de port comprend 16 bits (0 à 65 535).   Les numéros de 0 à 1023 sont réservés, par convention, à des services

spécifiques.   Exemples :

  22 : ssh, 23 :telnet (connexion à distance)   80 : serveur web, 25 : mail, 21: FTP