Modélisation d'une application de décentralisation de serveurs web

Thibaud Pierre Perret

Mémoire de maîtrise (2013)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 952kB •

Résumé

L'utilisation d'Internet dans notre vie est aujourd'hui devenue quotidienne et indispensable. Au delà de l'accès à des services en ligne gouvernementaux ou commerciaux, Internet a permis à ses utilisateurs de diffuser de l'information accessible par l'ensemble des autres utilisateurs. L'Internet est un réseau qui ne comprend structurellement aucun centre et qui n'introduit aucun hiérarchie parmi les machines connectées et disposant d'adresses IP. On assiste cependant à une asymétrie de plus en plus importante entre les différents opérateurs réseaux. Certains opérateurs Internet se spécialisent dans la fourniture d'accès Internet aux particuliers, alors que d'autres sont spécialisés dans l'hébergement de serveurs et possèdent la majorité du contenu désiré par les internautes. Cela entraîne donc un trafic inter-AS totalement déséquilibré, permettant difficilement à de nouveaux opérateurs de s'interconnecter, en plus de poser des problèmes de concentration de l'information auprès de seulement quelques très grosses entreprises, ce qui soulève des problèmes de vie privée et de contrôle de données numériques. De par les usages, des centres artificiels sont ainsi créés. Le protocole IP étant neutre, il ne différencie pas les paquets provenant de serveurs ou de clients et ne fait que les transporter dans le réseau jusqu'à leur destinataire. L'hébergement sur une connexion Internet à usage personnel est donc possible mais relativement limité puisque la bande passante de ces utilisateurs est relativement faible et ces serveurs supporteraient très mal la montée en charge. Notre projet vise donc à proposer une manière simple et efficace pour un internaute quelconque de partager du contenu en s'affranchissant d'un hébergement en salle machine sauvant par la même occasion les coûts de location associés. Le partage devra s'effectuer de manière transparente pour les clients du site web qui ne changeront nullement leur façon de s'y connecter, tout en offrant une bande passante suffisamment importante pour résister à la montée en charge. Pour ce faire, nous introduirons le concept de partageur, correspondant à un client du site qui, sachant que le site à une capacité d'être partageable, prendra la décision d'installer un logiciel sur son ordinateur. Il permettra ainsi d'absorber une partie de la charge totale du site lorsque son ordinateur sera allumé. Le logiciel en question utilisera la bande passante restante et non utilisée ainsi que l'espace disque que l'internaute a bien voulu lui concéder. Plus le nombre de partageurs est important, plus le site web partagé sera robuste autant en matière de disponibilité qu'en tentative de censure. Nous passerons en revue le fonctionnement de plusieurs protocoles sur lesquels nous nous appuierons par la suite et verrons également des projets se rapprochant de notre solution sans pour autant répondre à nos hypothèses de départ. Par la suite, nous détaillerons l'ensemble des serveurs et logiciels que nous utiliserons et la façon dont ils traiteront les requêtes des clients. L'objectif étant pour les clients de ne pas modifier leur comportement pour récupérer des pages web, nous expliquerons en détail le mécanisme que nous proposerons afin de répartir la charge du site web partagé, sans pour autant introduire de point central dans notre architecture. Nous utiliserons pour cela le protocole DNS, auquel nous couplerons le protocole Kademdlia fonctionnant sur le principe de tables de hachage distribuées. Pour cela, nous présenterons un mécanisme de conversion d'adresses IP en ASCII et inversement et utiliserons les différents types d'enregistrement DNS, comme les délégations de zones et les noms canoniques. Nous verrons ensuite comment nous permettons aux différents partageurs d'alléger le nombre de requêtes leur provenant en distribuant les ressources associées (images, scripts Javascript, feuilles de style\dots) qui seront demandées par les clients, une fois les pages HTML ou les feuilles CSS téléchargées. Pour récupérer initialement les ressources du site, le partageur devra les récupérer par pair-à-pair en utilisant le protocole Bittorent couplé avec Kademlia. Nous continuerons donc par expliquer comment le logiciel pair-à-pair sera calibré, quelles ressources il devra récupérer en priorité et comment il communique avec les autres programmes. Nous finirons notre prototypage par introduire des métriques et des seuils permettant la prise de décision pour les différents serveurs applicatifs. Pour tester notre modèle, nous le comparerons à un une approche client/serveur avec un serveur en salle machine. Le débit, le nombre et la durée de connexion des partageurs dépendent de facteurs externes difficilement modélisables. Nous ferons donc des approximations en utilisant des études statistiques et comparerons les deux modèles sur les débits offerts dans un premier temps avant de nous pencher sur le taux de disponibilité. Les résultats de nos simulations nous montrerons des données encourageantes puisqu'avec un nombre de partageurs raisonnable (inférieur à 100) et un nombre important de clients, nous serons capable d'égaler les performances d'un serveur en salle machine, sur les critères que nous aurons préalablement défini.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:1255
ORCID
Date du dépôt:
19 mars 2014 15:23
Dernière modification:
14 oct. 2026 10:37
Citer en APA 7:
Perret, T. P. (2013). Modélisation d'une application de décentralisation de serveurs web [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1255/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document