UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS DÉPARTEMENT D’INFORMATIQUE ET D’INGÉNIERIE DÉ
UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS DÉPARTEMENT D’INFORMATIQUE ET D’INGÉNIERIE DÉVELOPPEMENT D’UN RÉSEAU DÉFINI PAR LOGICIEL (SDN) PROGRAMMABLE, TRANSPARENT ET OUVERT MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE DU PROGRAMME DE MAÎTRISE EN SCIENCES ET TECHNOLOGIES DE L’INFORMATION PAR YVON ZAFIMAHEFA ANDRIANIRINA © Droit, Yvon Zafimahefa Andrianirina UNIVERSITE DU QUEBEC EN OUTAOUAIS DEPARTEMENT D’INFORMATIQUE ET D’INGENIERIE DÉVELOPPEMENT D’UN RÉSEAU DÉFINI PAR LOGICIEL (SDN) PROGRAMMABLE, TRANSPARENT ET OUVERT Par Yvon Zafimahefa Andrianirina Pour l’obtention du grade de maîtrise es science (m.sc.) En sciences et technologies de l’information Jury d’évaluation Prof. Luigi Logrippo ….….……………….…………. Président du Jury Prof. Omar Abdul-Wahab ………………….………… Membre du Jury Prof. Larbi Talbi………………….…………… Directeur de Recherche Dédicace À Dieu tout puissant, qui m’a donné la grâce, la volonté, la persévérance et les moyens pour la réalisation de ce mémoire de maîtrise. À ma femme Andoniaina Ramanarivo et mes deux enfants Yvannah et Yvan Andrianirina pour leur patience et leur soutien durant mes études. À mon oncle Abdon Razafimahefa qui m’a beaucoup aidé et soutenu dans ce travail et pendant mes études ainsi qu’à sa famille pour leur soutien. À mes parents, de près ou de loin, qui m’ont porté dans leurs prières et qui m’ont soutenu tout au long de mes études. À mes frères et à ma sœur. À la communauté Malagasy d’Ottawa-Gatineau. Remerciements Je voudrais exprimer ma gratitude à mon directeur de recherche Professeur Larbi Talbi, pour son aide financière, ses conseils tout au long de ce projet de recherche et pour sa patience. Mes remerciements s’adressent aussi : • À Mr Jamal Hadi Salim de la compagnie MOJATATU pour son aide dans ce projet, ainsi qu’à ses collaborateurs, notamment, Dr. Evangelos Haleplidis. • À Mr Stephen Jaworski, de la même compagnie, pour ses conseils techniques. • Aux membres du Jury, Professeur Luigi Logrippo et Professeur Omar Abdul-Wahab qui n’ont épargné aucun effort pour l’amélioration du contenu de ce mémoire. 1 Table des matières Liste des figures ...................................................................................................................................... 3 Liste des acronymes ................................................................................................................................ 5 Résumé ................................................................................................................................................... 6 1 Identification du problème et motivation ...................................................................................... 8 2 Définition et problématique du SDN ............................................................................................ 10 2.1 Principe du SDN .................................................................................................................... 10 2.2 Architecture globale du SDN ................................................................................................. 11 2.2.1 La couche infrastructure ou le plan de données (transfert): ......................................... 12 2.2.2 La couche contrôle ou le plan de contrôle:.................................................................... 12 2.2.3 La couche d’application ou le plan d'application: ......................................................... 12 2.2.4 Les interfaces Sud (Southbond API) .............................................................................. 13 2.2.5 Les interfaces Nord (Northbound API) .......................................................................... 13 2.3 Problématiques ..................................................................................................................... 13 3 Objectif principal ........................................................................................................................... 16 3.1 Création de la couche OAS .................................................................................................... 16 3.2 Propriétés de l’OAS ............................................................................................................... 17 3.3 Rôles de l’OAS ....................................................................................................................... 17 3.4 Structure de l’OAS ................................................................................................................. 18 3.5 Prérequis pour l’insertion d’OAS .......................................................................................... 20 4 Outils de simulation du SDN ......................................................................................................... 21 4.1 ARACHNE ............................................................................................................................... 21 4.2 PROMETHEUS........................................................................................................................ 22 4.3 GRAFANA .............................................................................................................................. 22 5 Méthodologie suivie pour l’insertion de OAS ............................................................................... 23 5.1 Développement de l’OAS ...................................................................................................... 23 5.2 Développement d’un environnement SDN ........................................................................... 24 5.3 Evaluation d’OAS dans un SDN ............................................................................................. 24 6 Résultats préliminaires ................................................................................................................. 25 6.1 Simulation des couches infrastructure et contrôle............................................................... 26 2 6.1.1 Travailler dans un environnement Linux ...................................................................... 26 6.1.2 Simulation avec ARACHNE ............................................................................................ 26 6.2 Développement de l’OAS ...................................................................................................... 28 6.2.1 Comprendre les services de MOJASWAG et les données qu’ils exposent : .................. 28 6.2.2 Écrire OAS et générer les objets pour chaque service. ................................................. 30 6.3 Développement de la couche application ............................................................................ 37 6.3.1 Développer l’application exportatrice de métriques par intégration d’OAS ................ 37 6.3.2 Prendre en main les fonctionnalités de PROMETHEUS ................................................ 44 6.3.3 Analyse des données par GRAFANA ............................................................................. 46 6.4 Récapitulation ....................................................................................................................... 51 7 Conclusion ..................................................................................................................................... 53 Références ............................................................................................................................................ 54 Annexe A - ARACHNE ............................................................................................................................ 57 Annexe B - PROMETHEUS ..................................................................................................................... 62 Annexe C : GRAFANA ............................................................................................................................ 68 3 Liste des figures Figure 1 : Comparaison entre les contrôles traditionnels et centralisés d’un SDN ................. 11 Figure 2 : Architecture Standard d’un SDN. ........................................................................... 11 Figure 3: Architecture SDN standard avec la nouvelle couche OAS ..................................... 16 Figure 4: Structure d’O.A.S 3.0 .............................................................................................. 18 Figure 5: Prise en main d’OAS ................................................................................................ 20 Figure 6: Structure générale du projet ..................................................................................... 25 Figure 7: ARACHNE avec le protocole ForCEs .................................................................... 26 Figure 8: Topologie du réseau Clos simulé par ARACHNE ................................................... 27 Figure 9: Liste des éléments du réseau : FE (Forwarding Elements) ...................................... 28 Figure 10: Statistiques d’un port spécifique d’un élément du réseau ...................................... 29 Figure 11: Service de paramétrage FOO/BAR ........................................................................ 29 Figure 12: Code OAS (entête). ................................................................................................ 30 Figure 13: OAS NE_FE ........................................................................................................... 31 Figure 14: OAS_ Liste des ports dans un FE ........................................................................... 32 Figure 15: OAS_ Recueil activité dans un port spécifique ...................................................... 33 Figure 16: OAS Recueil des valeurs des paramètres FOO/BAR ............................................. 34 Figure 17: OAS paramétrage de FOO ..................................................................................... 35 Figure 18: OAS_ paramétrage valeur de BAR ........................................................................ 36 Figure 19: Instanciation des objets dans l’exportateur des listes des ports .............................. 38 Figure 20: Code de recueil de la liste et des activités des ports ............................................... 39 Figure 21: Code pour le recueil et l’exportation des valeurs du paramètre FOO .................... 40 Figure 22: Code pour le recueil et exportation des valeurs du paramètre BAR ...................... 41 Figure 23: Code source configurations de FOO/BAR ............................................................. 43 Figure 24: Batch pour une récupération de données périodique .............................................. 44 Figure 25: Listes des tâches exportées vers PUSHGATEWAY .............................................. 45 Figure 26: Détails partiels d’une tâche spécifique « FEID_LIST »......................................... 45 Figure 27: Détails partiels d’une tâche spécifique «RX_PORT » ........................................... 46 Figure 28: Serveur PROMETHEUS ayant comme cible PUSHGATEWAY ......................... 46 Figure 29: Visualisation graphique des tâches « FEID_list » et « Duration » ......................... 47 4 Figure 30: Visualisation graphique des tâches « NUMBER_PORT, TOTAL_PORT, Duration» ................................................................................................................................. 48 Figure 31: Interprétation graphique de la tâche « RX_PORT » .............................................. 49 Figure 32: Visualisation des valeurs de FOO/BAR ................................................................. 50 Figure 33: Flux du travail pour tester l’insertion d’OAS ......................................................... 51 Figure 34: Réseau fermé à 3 étapes ......................................................................................... 59 Figure 35: Réseau fermé à 5 étapes ......................................................................................... 60 Figure 36: Architecture de PROMETHEUS............................................................................ 63 Figure 37: Node-Exporter et récupération des métriques ........................................................ 65 Figure 38: Tâches à durée courtes et poussage des métriques vers PUSHGATEWAY .......... 66 Figure 39: Exemple de tableau de bord sur GRAFANA ......................................................... 69 5 Liste des acronymes - API : Application Programing Interface - OAS : Open API Specification - SDN : Software Defined Network - IOT : Internet Of Things - TSDB : Time-Series Data-Base - PoD : Point Of Deployment - PdD : Point de Deployment - ToR : Top of Rack - OS : Operating System - Rx : Réception - Tx : Transmission - NE : Network Element - FE : Forwarding Element - CE : Control Element - FEID : Forwarding Element Identification - JSON : JavaScript Object Notation - YAML : Yet another Market Language 6 Résumé Un nouveau paradigme du réseautage informatique, appelé Software Defined Network (SDN), a vu le jour récemment et attire l’attention de plusieurs géants de l’informatique et des télécommunications. Ce concept est basé sur la séparation du plan de données (data plane) responsable des transferts de paquets et du plan de contrôle (Control plane) responsable de la prise de décision, qui sont traditionnellement liés. Il est clair que ce concept apporte une grande amélioration de performances sur l’implémentation et la vue globale du réseau, ainsi que sur la prise de décision du trafic. L’idée principale de ce mémoire est de trouver une solution pour améliorer la programmabilité du SDN, en insérant une nouvelle couche, afin de permettre aux administrateurs de développer ou de modifier eux-mêmes leurs applications de contrôle et de gestion du réseau. Cette solution aura l’avantage d’être orientée objet et ouverte. Nous testerons notre approche en simulant les plans de données et de contrôle et en développant nous-même des applications de gestion du réseau, dont l’ensemble constituera notre SDN. 7 Abstract A new paradigm of computer networking called Software Defined Network (SDN) has recently emerged and attracted the attention of several IT and telecommunications giants. This concept is based on the separation of the data plane responsible for packet transfers, and the Control plane responsible for decision making, which are traditionally linked. It’s clear that this concept will increase the performance of the network implementation or the overall view and as well on traffic decision making. The principal idea of this thesis is to bring a solution to improve the programmability of SDN, by inserting a new layer in order to allow network administrators to develop or modify their own network control and management applications. This solution will have the advantage to be open and object oriented. We will test our approach by simulating data and control planes then developing network management applications ourselves, all of which will constitute our SDN. 8 Chapitre 1 1 Identification du problème et motivation Face aux innovations technologiques, comme l’infonuage (Cloud Computing), l’internet des objets (IoT – Internet of Things) ou la virtualisation des machines et des systèmes, on se rend compte que leurs mis en uploads/Ingenierie_Lourd/ andrianirina-yvon-zafimahefa-2021-memoire.pdf
Documents similaires










-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 18, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 2.2236MB