Réseau distribué
Un réseau distribué est un système de réseau informatique où les composants du programme et les données dépendent de plusieurs sources.
Description
modifierEn calcul distribué, un réseau distribué est un système sur lequel la programmation informatique, les logiciels et leurs données sont répartis sur plusieurs ordinateurs, mais communiquent des messages complexes via leurs nœuds (ordinateurs) et dépendent les uns des autres. L'objectif d'un réseau distribué est de partager des ressources, généralement pour atteindre un objectif commun unique ou similaire[1],[2]. Habituellement, cela se passe sur un réseau informatique[1]. Cependant, le cloud computing gagne en popularité[3]. En règle générale, un système de réseau distribué est composé de processus, de threads, d'agents et d'objets distribués[3]. De simples composants physiques distribués ne suffisent pas à se qualifier comme un réseau distribué ; les réseaux distribués utilisent généralement l'exécution simultanée de programmes[2].
Client/Serveur
modifierL'informatique client/serveur est un type d'informatique distribuée où un ordinateur (client) demande des données à un serveur qui répond directement au client avec les données demandées, parfois par l'intermédiaire d'un agent. Les réseaux distribués client/serveur sont également populaires dans l'informatique basée sur le Web[3]. Client/Serveur est le principe selon lequel un ordinateur client peut fournir certaines fonctionnalités à un utilisateur et en demander d'autres à d'autres ordinateurs qui fournissent des services aux clients. Le protocole de transfert hypertexte du Web est essentiellement client/serveur[1],[4],[5],[6].
Basé sur l'agent
modifierUn réseau distribué peut également être basé sur un agent, où ce qui contrôle l'agent ou le composant est vaguement défini, et les composants peuvent avoir des paramètres préconfigurés ou dynamiques[3].
Décentralisé
modifierLa décentralisation est l'endroit où chaque ordinateur du réseau peut être utilisé pour la tâche informatique en cours, ce qui est à l'opposé du modèle client/serveur. En règle générale, seuls les ordinateurs inactifs sont utilisés et, de cette manière, on pense que les réseaux sont plus efficaces[5].Le calcul peer-to-peer (P2P) est basé sur un réseau décentralisé et distribué, y compris la technologie de grand livre distribué telle que la blockchain[7],[8].
Réseau maillé
modifierUn réseau maillé est un réseau local composé d'appareils (nœuds) qui a été conçu à l'origine pour communiquer par ondes radio, permettant différents types d'appareils. Chaque nœud est capable de communiquer avec tous les autres nœuds du réseau.
Avantages des réseaux distribués
modifierAvant les années 1980, l'informatique était généralement centralisée sur un seul ordinateur de bureau à faible coût[9]. Mais aujourd'hui, les ressources informatiques (ordinateurs ou serveurs) sont généralement physiquement réparties dans de nombreux endroits, où le réseau distribué excelle. Certains types d'informatique n'évoluent pas bien au-delà d'un certain niveau de parallélisme et des gains de composants matériels supérieurs, et sont donc goulots d'étranglement, comme par les mots d'instruction à très grande échelle. En augmentant le nombre d'ordinateurs plutôt que la puissance de leurs composants, ces goulots d'étranglement sont surmontés. Les situations où le partage des ressources devient un problème, ou où une plus grande tolérance aux pannes est nécessaire trouvent également de l'aide dans les réseaux distribués[2]. Les réseaux distribués sont également très favorables à des niveaux plus élevés d'anonymat[10].
Calcul dans le cloud
modifierLes entreprises ayant des besoins de croissance et d'évolutivité rapides peuvent trouver difficile de maintenir leur propre réseau distribué dans le cadre du modèle informatique client/serveur traditionnel. Le Cloud Computing est l'utilité de l'informatique distribuée sur les applications, le stockage et les services informatiques basés sur Internet. Un cloud est un cluster d'ordinateurs ou de serveurs qui sont étroitement connectés pour fournir un calcul évolutif à haute capacité ou des tâches connexes[2],[11].
Articles connexes
modifierRéférences
modifier- Balda, « Security Enhancement in Distributed Networking », International Journal of Computer Science and Mobile Computing, vol. 4, no 4, , p. 761 (lire en ligne, consulté le )
- K.G. Srinivasa et Anil Kumar Muppalla, Guide to High Performance Distributed Computing: Case Studies with Hadoop, Scalding and Spark (Computer Communications and Networks), Springer, , 4–8 p. (ISBN 978-3319134963)
- Jia Weija et Wanlei Zhou, Distributed Network Systems: From Concepts to Implementations, Springer, , xvii-6 (ISBN 978-0387238395)
- Tsenov, « Example of communication between distributed network systems using web services », CompSysTech '07 Proceedings of the 2007 International Conference on Computer Systems and Technologies, no 35, , p. 1 (ISBN 9789549641509, DOI 10.1145/1330598.1330637, S2CID 1873704, lire en ligne, consulté le )
- Maly, « Comparison of centralized (client-server) and decentralized (peer-to-peer) networking. Semester thesis. », ETH Zurich, ETH Zurich (consulté le )
- Teresa C. Piliouras, Network Design, Second Edition: Management and Technical Perspectives, 2nd, (ISBN 9780849316081, lire en ligne), p. 353
- Mearian, « What is blockchain? The most disruptive tech in decades », Computerworld, (consulté le )
- Raval, « Chapter 1. What Is a Decentralized Application? », O'Reilly Safari, O'Reilly Safari (consulté le )
- « A brave new world: the 1980s home computer boom », History Extra (consulté le )
- Denh Sy, Anonymous yet traceable wireless mesh networking, California State University, (ISBN 978-1-124-40072-3, lire en ligne)
- « Distributed Computing: Utilities, Grids & Clouds », ITU-T Technology Watch Report, vol. 9, (lire en ligne, consulté le )