Đăng ký Đăng nhập
Trang chủ Luận văn systèmes de courriers électroniques à grande échelle sur le cloud = hệ ...

Tài liệu Luận văn systèmes de courriers électroniques à grande échelle sur le cloud = hệ thống thư tín điện tử kích thước lớn trên đám mây điện toán. luận văn ths. truyền dữ liệu và mạng máy tính

.PDF
75
247
61

Mô tả:

UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL SENTHAVONG CHANTHALA SYSTÈMES DE COURRIERS ÉLECTRONIQUES À GRANDE ÉCHELLE SUR LE CLOUD HỆ THỐNG THƯ TÍN ĐIỆN TỬ KÍCH THƯỚC LỚN TRÊN ĐÁM MÂY ĐIỆN TOÁN MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE HANOI – 2015 ATTESTATION SUR L’HONNEUR J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs. La source des informations citées dans ce mémoire a été bien précisée. LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Các thông tin trích d ẫn trong Lu ận văn đã được chỉ rõ nguồn gốc. Signature de l’étudiant SENTHAVONG Chanthala Sommaire Remerciements iii Résumé iv Abstract v Table des figures vi Liste des tableaux viii Introduction Générale 1 1 État de l’Art 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Système courriels . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Architecture générale d’un Système de Courriers électroniques . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Protocoles et Fonctionnement des Systèmes Emails . . 1.2.3 Structure d’un courriel . . . . . . . . . . . . . . . . . 1.3 Zimbra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Architectures de Zimbra . . . . . . . . . . . . . . . . . 1.3.2 Composants de la suite collaborative Zimbra . . . . . 1.3.3 Comparatif Zimbra et autres solutions . . . . . . . . . 1.3.4 Déploiement du système à grande échelle . . . . . . . 1.4 Cloud Infrastructure . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Virtualisation . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Le Cloud Computing . . . . . . . . . . . . . . . . . . 1.4.3 Solutions Existantes du Cloud . . . . . . . . . . . . . 1.4.4 Openstack . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 i 3 4 5 6 7 10 13 16 17 17 19 21 24 1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Solution Implémentée 2.1 Concept . . . . . . . . . . . . . . . . . 2.1.1 Concept pour Openstack . . . . 2.1.2 Concept pour Zimbra . . . . . . 2.2 Implémentation . . . . . . . . . . . . . 2.2.1 Installation d’OpenStack . . . . 2.2.2 Création des machines virtuelles 2.2.3 Installation de Zimbra . . . . . . 3 Expérimentations 3.1 Administration 3.2 Administration 3.3 Test d’envoi de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 30 30 33 34 36 37 43 45 sur le Système 49 d’OpenStack . . . . . . . . . . . . . . . . . . 49 de Zimbra . . . . . . . . . . . . . . . . . . . . 51 Mail . . . . . . . . . . . . . . . . . . . . . . . 53 4 Conclusion 55 Bibliographie 56 Annexes 60 4.1 Annexe A - Première connexion à une instance OpenStack après son démarrage . . . . . . . . . . . . . . . . . . . . . . 60 4.2 Annexe B - Création d’une Instance de Machine virtuelle . . 62 ii Remerciements Je tiens à remercier tout d’abord les professeurs de l’Institut Francophone International (IFI) et précisément Monsieur Nguyen Hong Quang, Professeur d’informatique, qui m’a conseillé ce stage et m’a assisté lors des difficultés que j’ai rencontrées. Je tiens également à remercier l’entreprise Netnam, là où je suis restée près de 6 mois pour réaliser ce stage, et plus précisément mon responsable à Netnam Mr Le Anh Tuan monsieur le directeur, Nguyen Thanh Thai, Tân Nguyen Van, Hieu Vo Trung tous les membres de l’équipe Network. Finalement, merci à tous mes amis étudiants de l’IFI avec qui j’ai passé des bons moments et des moments difficiles, et aussi ma famille qui m’a toujours apporté leur soutien. iii Résumé Parmi les nombreux moyens de communications apparus avec Internet, figure le courrier électronique ou e-mail. Il s’agit d’un moyen de communication fonctionnant de façon similaire aux traditionnelles lettres en papier : une personne possède une adresse, et peut envoyer un texte virtuel par Internet ou un réseau à une autre personne via son adresse. Cependant, le fait que de plus en plus de personnes utilisent Internet et les ordinateurs a amené les fournisseurs de ce moyen de communication à se poser des questions sur les ressources que cela pourrait nécessiter. La virtualisation a amené une autre dimension intéressante sur ces systèmes, tout en utilisant les possibilités d’Internet grâce au Cloud, en permettant aux administrateurs de pouvoir gérer à distance, leurs serveurs. Dans le cadre de notre stage, nous nous sommes intéressés à la mise en place d’un système de courriers électroniques sur le Cloud possédant une grande échelle en terme du nombre d’utilisateurs. Nous avons proposé une solution utilisant la suite collaborative opensource Zimbra pour s’occuper de la partie Système de Courriels et le logiciel open-source OpenStack pour la partie virtualisation et Cloud computing. Après avoir mis en place les différents serveurs, et installer notre système, nous avons effectués une expérimentation d’envois et de réceptions de mails afin de voir le bon fonctionnement de notre système prototype. Mots-clés : Système grande échelle pour courrier électronique, Cloud computing, zimbra. iv Abstract Among the communication technologies appeared with Internet, figure the e-mail. It is a communication technology working like the old letter in paper : someone has an address, and can send a virtual text thanks to Internet or an other network to someone else by its address. However, the fact of having more and more Internet users and computers users asks to the providers of these communication technologies questions about the resources that it could need. Virtualization provides an other interesting dimension on these systems, still using Internet possibilities thanks to the Cloud, allowing the admins to manage servers remotely. In the context of our internship, we have been interested in the design of a mailing system on the Cloud, having a large scale of users. We proposed a solution using the open-source groupware Zimbra to manage the mailing system part, and the open-source software OpenStack for the virtualization and Cloud computing part. After setting the different servers, and install our system, we made experiments of sending and receiving mails to see the good execution of our prototype. Keywords : System large-scale for electronic mail, Cloud computing, Zimbra. v Table des figures 1.1 Montre l’architecture ordinaire d’un système de courriers électroniques (abréviation courriels)[3] . . . . . . . . . . . . . . . 1.2 Protocoles principaux utilisés par les systèmes de courriels modernes[3] . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Structure d’un Email[3] . . . . . . . . . . . . . . . . . . . . . 1.4 Architecture Serveur[7] . . . . . . . . . . . . . . . . . . . . . 1.5 Architecture Cliente[7] . . . . . . . . . . . . . . . . . . . . . 1.6 Composants possibles dans Zimbra[7] . . . . . . . . . . . . . 1.7 Schéma d’un Hyperviseur[11] . . . . . . . . . . . . . . . . . . 1.8 Fonctionnement des deux types d’Hyperviseur[10] . . . . . . . 1.9 Contenu du Cloud[12] . . . . . . . . . . . . . . . . . . . . . . 1.10 Architecture Générale d’OpenStack[23] . . . . . . . . . . . . 1.11 Architecture Détaillée d’OpenStack[24] . . . . . . . . . . . . . 1.12 Minimal Architecture Example- Network Layout OpenStack Networking(Neutron)[24] . . . . . . . . . . . . . . . . . . . . 1.13 Minimal Architecture Example - Service Layout OpenStace Networking(Neutron)[24] . . . . . . . . . . . . . . . . . . . . 4 5 6 8 9 11 18 18 19 25 26 27 28 2.1 2.2 2.3 2.4 2.5 Architecture Globale du Système choisi . . . Architecture du système Zimbra implémenté Diagramme de cas d’utilisation . . . . . . . . Résultat d’installation . . . . . . . . . . . . . Architecture des Machines Virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 34 37 42 44 3.1 3.2 3.3 3.4 3.5 Interface d’Authentification sous OpenStack Vue Générale d’OpenStack . . . . . . . . . Vue de la Topologie d’Openstack . . . . . . Interface d’authentification sous Zimbra . . Interface en Administrateur sous Zimbra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 50 51 52 52 vi . . . . . 3.6 Interface en Utilisateur sous Zimbra . . . . . . . . . . . . . . 53 4.1 Annexes- Configuration de notre Interface . . . . . . . . . . . 4.2 Annexes- Génération d’une paire de clé administrateur côté admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Annexes- Génération d’une paire de clé administrateur côté OpenStack . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Annexes- Création d’une image de Système d’Exploitation . . 4.5 Annexes- Création d’une instance de machine virtuelle . . . . 4.6 Annexes- Protocoles Extérieurs . . . . . . . . . . . . . . . . 4.7 Annexes- Création d’une IP publique . . . . . . . . . . . . . 60 vii 61 61 62 63 63 64 Liste des tableaux 1.1 1.2 1.3 1.4 Tableau Comparatif des Suites Collaboratives . . . . Tableau des serveurs requis pour Zimbra . . . . . . . Tableau des Capacités par Service de Zimbra . . . . Comparaison entre les logiciels du Cloud Computing . . . . . . . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 Ressources Nécessaires pour Zimbra avec 1.000.000 d’utilisateurs Serveurs Nécessaires pour Zimbra avec 1.000.000 d’utilisateurs Ressources Nécessaires pour Zimbra avec 10.000 d’utilisateurs Ressources Nécessaires pour ce système . . . . . . . . . . . . Logiciels Nécessaires dans chaque Noeud . . . . . . . . . . . . Modules Zimbra présents dans chaque Serveur . . . . . . . . 3.1 Tableau Comparatif deux différents systèmes . . . . . . . . . viii 15 16 17 23 30 31 31 32 34 35 54 Introduction Générale Contexte et Cadre d’étude Ce rapport a été réalisé durant les travaux de notre stage de fin de formation de Master Réseaux et Systèmes Communicants de l’Institut Francophone International, en double diplômation avec l’Université Claude Bernard de Lyon. Le stage a été effectué au sein du service " Réseaux Recherche et Développement " de l’entreprise Netnam 1 . Netnam est un fournisseur d’accès à Internet mais aussi à des services en ligne et des services déjà géré par l’entreprise. Elle fut la première entreprise à introduire le service de courriel au Vietnam en 1994, et est composée de 170 employés répartis entre Hanoi et Ho Chi Minh Ville. Le sujet que nous étudierons au sein de ce rapport concerne les systèmes de courriers électroniques et la virtualisation. En effet, Internet étant de plus en plus utilisés, les services qu’ils proposent ont étés multipliés, et nous avons vus différents types de systèmes de courriels apparaître. Très souvent, les utilisateurs privilégient les systèmes déjà gérés par une entreprise comme Gmail pour Google, Yahoo, ou bien des solutions logicielles comme Outlook de Microsoft. Cependant, certains utilisateurs comme les gouvernements, l’armée ou certaines grandes entreprises ont une préférence pour un système qu’ils administrent eux mêmes, et ceux pour des raisons comme la liberté, la confidentialité ou encore la sécurité. Mais ces systèmes sont très complexes et coûteux autant en terme de mise en place, que de maintenance, surtout à grande échelle. 1. Netnam company : http ://www.netnam.vn/ 1 Problématique L’apport de la virtualisation dans ce domaine permet une souplesse en terme d’échelle utilisateur et de simplicité du système, si bien que plusieurs systèmes de courriels sont déjà présents dans le Cloud[1], cependant, leurs performances et leur mise en place sont toujours à étudier. Les problématiques qui ont été soulevées concernent la disponibilité des services, leurs performances mais aussi l’optimisation du stockage des données de ces systèmes à grande échelle. Objectifs du stage Les objectifs de notre stage sont diverses, mais nous pouvons les regrouper en deux grandes parties. Dans un premier temps, nous effectuerons une partie orientée recherche conséquente sur les différents technologies Open-source existantes afin d’essayer de devenir expert dans le domaine des systèmes courriels, de la virtualisation, de stockage et des logiciels existants dans le but de dresser un comparatif. Puis nous commencerons la deuxième partie de ce stage, qui consiste en l’implémentation du système, plus précisément dans son installation, sa configuration qui sont des étapes cruciales, mais aussi les différents tests effectués pour vérifier le bon fonctionnement de notre système à grande échelle, soit plus d’un million d’utilisateurs. Organisation du mémoire Ce rapport sera divisé en deux parties : une première qui introduira le sujet et dressera un état de l’art en terme de conception de systèmes de courriels, avec une présentation de leur architecture, suivie par une sous partie portée sur le logiciel Zimbra et terminée par un descriptif du Cloud, plus précisément de OpenStack, logiciel qui nous aura permis la virtualisation. Nous continuerons avec une deuxième partie plus centrée sur le système que nous aurons réalisé, avec les différents concepts qui ont été retenus et nous nous concentrons sur l’implémentation de ce système, autant au niveau du système de courriels que la partie virtualisation, enfin, nous terminerons cette deuxième partie par l’énonciation des différents résultats obtenus. 2 1 État de l’Art 1.1 Introduction Au sein de cette partie, nous étudierons ensemble les différents logiciels et systèmes de courriers électroniques utilisés durant nos travaux. Nous présenterons dans un premier temps le fonctionnement des systèmes d’envois de courriers électroniques de façon détaillée. Nous continuerons ensuite en faisant un descriptif de l’architecture du système utilisé durant nos travaux, Zimbra, tout en dressant un comparatif entre celui-ci et les différents systèmes d’envois de courriers électroniques. Puis, nous aborderons plus facilement le domaine de la virtualisation, en nous intéressant de plus près au Cloud Computing. Cela nous amènera à réaliser de nouveau un comparatif entre le logiciel choisi, c’est à dire OpenStack, et les différents autres logiciels existants, non sans avoir présenter OpenStack au préalable. 1.2 1.2.1 Système courriels Architecture générale d’un Système de Courriers électroniques Les systèmes de courriels électroniques [2] ou encore système E-mail, sont des systèmes composés d’un ensemble d’éléments permettant de transmettre un courrier électronique[3]. Ils sont aussi considérés comme un service de transmission de messages écrits et de documents envoyés électroniquement, que ce soit sur le réseau de l’émetteur de message et du récepteur comme sur Internet. Nous pouvons envoyer des e-mails à plusieurs personnes grâce à Internet n’importe où et n’importe quand (à conditions d’avoir une connexion). 3 Figure 1.1 – Montre l’architecture ordinaire d’un système de courriers électroniques (abréviation courriels)[3] MUA (Mail User Agent ou Agent Utilisateur d’E-mail) : qui permet à l’utilisateur de recevoir et envoyer des courriels MTA (Mail Transfer Agent ou Agent de Transfert d’E-mail) : qui permet la communication entre le client et le serveur, deux MTA sont nécessaires (coté client et coté serveur) MAA (Mail Access Agent ou Agent d’Accès aux E-mail) : qui gère l’authentification et l’accès aux courriels des utilisateurs SMTP (Simple Mail Transfer Protocol ou Protocole Simple de Transfert d’E-mail) qui assure la communication entre deux MTA 1.2.2 Protocoles et Fonctionnement des Systèmes Emails Le fonctionnement du courrier électronique est basé sur l’utilisation d’une boîte à lettres électronique.(Voir dans la figure 1.2 ) 4 Figure 1.2 – Protocoles principaux utilisés par les systèmes de courriels modernes[3] Dans la figure 1.2, nous avons constaté lorsque nous réalisons l’envoi d’un email, le message est acheminé de serveur en serveur, jusqu’au serveur de messagerie du destinataire. Plus exactement, le message est envoyé au serveur de courrier électronique chargé du transport (nommé MTA), jusqu’au MTA du destinataire. Le protocol SMTP, Simple Mail Transfer Protocol, est un protocole de communication utilisé pour transférer le courrier électronique vers les serveurs de messagerie, grâce à ce protocole sur internet, les MTA communiquent entre-eux et sont logiquement appelés serveurs SMTP (parfois serveur de courrier sortant). Le serveur MTA du destinataire délivre alors le courrier au serveur de courrier électronique entrant (nommé Mail Delivery Agent ou MDA), qui conserve alors le courrier en attendant que l’utilisateur vienne le récupérer. Il existe deux principaux protocoles permettant de récupérer du courrier sur un MDA : le protocole POP3, Post Office Protocol, le plus ancien, permettant de relever son courrier et éventuellement d’en laisser une copie sur le serveur, et le protocole IMAP4, Internet Message Access Protocol, qui permet une synchronisation de l’état des courriers (lu, supprimé, déplacé) entre plusieurs clients de messagerie, et réalisant une copie de tous les messages qui est conservée sur le serveur afin de pouvoir assurer la synchronisation. 1.2.3 Structure d’un courriel Les courriers électroniques sont divisés en deux sous parties : l’en-tête(Header) et le corps (Body).(Voir dans la figure1.3) 5 Figure 1.3 – Structure d’un Email[3] Les deux parties principales [5] sont l’en-tête(header) et le corps(body) de l’E-mail, quand le MUA veut envoyer des emails, la partie l’en-tête, elle va générer automatiquement, conserver les informations sur la date, le destinataire, l’expéditeur et enfin le sujet du mail. Le corps du courriel contient le contenu du message. L’en-tête et ce corps sont séparés par une ligne vide, alors que les paramètres du header sont séparés par des retours à la ligne. Chaque ligne aura une longueur maximum de 1,000 bytes, et la taille d’un courriel ne doit pas dépasser 64 Kilobyte[6]. Le courriel passera au moins deux fois le MTA, la première lors de l’envoi du mail au serveur, et la deuxième, après avoir trouvé le destinataire, lors de l’envoi du serveur vers la boîte électronique du destinataire. Nous venons de voir le fonctionnement d’un système de courriers électroniques, nous allons désormais nous intéresser au logiciel qui a été utilisé lors de ce stage : la suite collaborative Zimbra. 1.3 Zimbra Nous allons présenter dans cette sous-partie la suite collaborative Zimbra[7]. Mais avant d’entrer dans les détails de son architecture, nous allons effectuer une courte présentation de cette suite, non sans préciser ce qu’est une suite 6 collaborative. Une suite collaborative est un logiciel d’applications destiné à aider les utilisateurs participant à une même tâche de travail à atteindre leurs objectifs en leur fournissant des produits comme les courriers électroniques, les calendriers, les agendas, les chats et tout ce qui pourrait être utilisé par un groupe de travail. Quant à Zimbra, il s’agit d’une suite collaborative comprenant un serveur de messagerie mais aussi un client web. Cette suite possède deux versions : la première est gratuite, et a des composants Open-Source uniquement, la deuxième, appelée " Network Edition " est payante, qui intègre des composants propriétaires (Closed-Source) pour les services d’échanges web par exemple. Il est possible de faire son propre package en prenant des composants Open-Source principalement, et ne payer que pour certains composants Closed-Source. La suite prend en charge les courriers électroniques, les contacts, les calendriers de groupe et de tâches ainsi que le partage de document. Nous venons de faire un bref descriptif de Zimbra, nous allons maintenant voir ensemble son architecture, en commençant par l’architecture coté serveur puis l’architecture coté client. 1.3.1 Architectures de Zimbra Serveur Zimbra : Les différents composants du logiciel Zimbra, sont montrés dans la Figure 1.4. Premièrement, le MTA. Mail Transfer Agent ou Agent pour le Transfert d’E-mail en français, il s’agit d’un serveur qui va prendre en charge l’envoi et la réception des courriers interne et externe à Internet grâce à SMTP, et peut fonctionner en mode Actif ou Passif. Il est utilisé dans Zimbra en tant que point de relai pour l’archivage des courriels, et est placé sur un serveur Anti-SPAM/ Anti-Viral (ASAV). Le transfert avec la boîte de courriers électroniques est assuré grâce aux protocoles SMTP et LMTP (Local Mail Transfer Protocol ou Protocol Local de Transfert d’E-mail). SMTP est utilisé pour les courriers électroniques provenant du serveur et allant vers le Cloud, alors que LMTP est utilisé pour les courriers allant du Cloud vers le Serveur. Cela permet de libérer la queue des messages entrants si jamais un message ne peut être immédiatement distribué à son destinataire (LMTP). 7 Figure 1.4 – Architecture Serveur[7] Ensuite, il y a le serveur MailBoxD, qui est un serveur web applicatif qui est basé sur la Servlet Jetty, le conteneur de logiciel Zimbra. Ce serveur contrôle tout, de la partie Interface Web Cliente des utilisateurs, pour qu’ils puissent voir leur boîte de réception, aux réponses à envoyer aux autres clients mails qui effectuent des requêtes POP et IMAP, ainsi qu’à leur livraison. Le serveur conserve aussi les messages et fournit des index pour ces messages grâce au système de gestion de base de données MariaDB (développé par ceux qui ont fait MySQL suite au rachat de MySQL par Oracle). C’est pareil ailleurs MariaDB qui gère les agendas, les tâches et les contacts des utilisateurs. Dans l’image, nous pouvons voir la présence de deux MailBoxD : une pour gérer le contenu dynamique avec des données enregistrées au niveau de l’Interface Utilisateur, et une autre pour gérer le contenu statique. Nous allons désormais nous intéresser au principal composant de l’architecture Zimbra, que tout implémentation Zimbra doit avoir : Zimbra Open LDAP. Il s’agit d’un service qui s’occupe des informations nécessaires en terme de configuration à l’éxécution de l’environnement Zimbra. En plus de cela, les informations sur les utilisateurs sont stockées dans ce composant, 8 comme les mots de passe, les identifiants, leurs préférences, ou encore le serveur sur lequel se situe leurs boîtes de réception. LDAP s’occupe aussi de la gestion en terme d’informations de domaines. Pour chaque domaine, une information sur la configuration est incluse, sur la façon dont les utilisateurs s’identifient par exemple. Puis nous avons le proxy, qui sépare ce qui est exposé à Internet de ce qui est protégé par un pare-feu. Le serveur Proxy et le serveur MTA sont normalement placés dans la DMZ (Zone démilitarisée). Le serveur proxy attend des requêtes des clients et les envoie aux différents serveurs de la boîte de réception. Le proxy fournit principalement une couche de sécurité. Les protocoles utilisés et ecoutés par le proxy sont les protocoles HTTPS (HyperText Transfer Protocol Secure) , IMAPS (Interactive Message Access Protocol Secure) et POP3s (Post Office Protocol Secure) qui permettent d’assurer une certaine sécurité sur les transferts. Cliente Zimbra : L’Architecture cliente Zimbra est décrite dans la Figure1.5. Figure 1.5 – Architecture Cliente[7] Nous allons expliquer l’architecture cliente, de la même façon que nous l’avons fait dans la sous partie précédente. Le premier composant auquel nous allons nous intéresser est le composant Zimbra-Collaboration. Il s’agit du processus de MailBoxD, qui écoute les différents protocoles pour répondre aux requêtes clientes (POP, IMAP, LMTP, CardDAV, etc). 9
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng