Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Encadrante académique
Encadrante de l’entreprise
Remerciements
C’est un devoir bien agréable que de venir rendre hommage, au terme de ce travail, à ceux
sans lesquels il n’aurait pas pu être réalisé.
Je tiens à exprimer mes remerciements et ma gratitude à tous ceux qui ont voulu apporter
l’assistance nécessaire au bon déroulement de mon stage
J’adresse, aussi ma gratitude, à mon encadrante académique Mme Olfa Chabbouh pour ses
précieux conseils, son estimable aide, son attention et le suivie qu’elle a apporté à ce travail.
Enfin, mes remerciements vont à tous les enseignants de ESPRIT pour la qualité de la
formation qu’ils nous ont fournie et tous les membres du jury pour avoir accepté de juger ce
travail.
Résumé
Cette étude intitulée "Conception et mise en place d’une architecture SD-WAN pour le
fournisseur de service Tunisie Telecom" s’inscrit dans une stratégie de l’entreprise vers la
virtualisation des services réseau. Ce travail s’inscrit dans le cadre de projet de fin d’études et
consiste à mettre en place une architecture SD-WAN pour le fournisseur de service. Le projet
s’appuie principalement sur quatre volets à savoir : la mise en place d’une architecture Cloud
Privée, la virtualisation des fonctions réseaux dans l’infrastructure Cloud, le contrôle du réseau
à travers un contrôleur SDN, bénéficier d’un contrôle sur ses liaisons à travers le SD-WAN et
le développement d’une application web qui permet au client de gérer sa propre infrastructure.
Une application a été mise en place en utilisant le gestionnaire de ressource cloud OpenStack
et le Framework de développement web Django.
Cette application développée pour le fournisseur de service numérique Tunisie Telecom donne
la possibilité à ses clients d’accéder à ses propres infrastructures virtuelles et les gérer via son
interface portail WEB qui communique avec les services à travers des APIs.
Mots clés: Cloud computing, OpenStack, IAAS, SDN, SD-WAN
Abstract
This study entitled "Design and Implementation of an SD-WAN Architecture for the service
provider Tunisie Telecom "is part of a strategy of the company towards the virtualization of
network services. This work as part of a final project consists of set up an SD-WAN
architecture for the service provider. The project is articulated mainly on four aspects namely
: setting up a Private Cloud architecture, the virtualization of network functions in the cloud
infrastructure, the control of the network to through an SDN controller, take advantage of
innovative services like SD-WAN and the development of a web application that allows the
customer to manage their own infrastructure. An application has been implemented using the
OpenStack Cloud Resource Manager and the web development framework for the Django
python language. This application developed for the digital service provider Tunisie Telecom
gives the possibility to its customers to access its own virtual infrastructures and manage them
via its portal interface WEB that communicates with services through APIs.
Keywords: Cloud computing, OpenStack, IAAS, SDN, SD-WAN
Table des matières
4. Méthodologie .................................................................................................................. 8
1. Le SD-WAN ................................................................................................................. 11
2. Le Cloud Computing..................................................................................................... 13
3. SDN............................................................................................................................... 28
3. Diagramme d’activité.................................................................................................... 39
Bibliographie ............................................................................................................................. i
Liste des figures
Introduction Générale
Le deuxième chapitre intitulé état de l’art, décrit les différentes technologies utilisées dans
notre projet comme le Cloud Computing en spécifiant ses caractéristiques, ses modèles de
services et déploiement et les solutions Open source existantes. Par la suite, nous allons décrire
la solution Openstack, son architecture, ses services et ses composants. Nous allons aussi
présenter dans ce chapitre la technologie réseau SDN son principe, son architecture et les
solutions Open Source existantes afin de choisir la solution qui répond à nos besoins. Enfin,
nous allons expliquer le SD-WAN.
Le troisième chapitre nommé spécification des besoins et conception sert à annoncer les
besoins fonctionnels et non fonctionnels auxquels doit répondre notre projet, ainsi que la
conception de la solution Cloud et SDN à déployer.
Le dernier chapitre sera dédié pour la réalisation, nous allons présenter la mise en œuvre de
l’architecture SD-WAN avec tous ces composants (solution cloud et solution SDN). Puis, nous
allons introduire l’étape de l’implémentions de notre solution ainsi que les tests effectués, les
résultats obtenus et les différentes interfaces de l’application client que nous avons développé.
Ce rapport sera clôturé par une conclusion générale et quelques perspectives pour notre projet.
Introduction
Ce premier chapitre introduit le cadre général de ce projet. Nous présentons dans une première
partie l’organisme d’accueil : Tunisie Télécom. Nous décrivons dans une deuxième partie le
contexte de notre projet ainsi que la problématique et les objectifs à atteindre, afin de trouver
les différentes solutions et démarche qui seront abordées.
3. Présentation du Projet
Dans cette partie nous exposons en premier lieu le contexte général du projet. Puis, nous
indiquons la problématique ainsi que les objectifs visés par la réalisation de la solution
demandée. La figure 1.1 représente l’organigramme de l’entreprise
L’augmentation des supports quels qu’ils soient dans l’entreprise rend les environnements
réseaux de plus en plus complexe.
Il faut prendre compte aussi que dans les architectures traditionnelles, de nombreux
équipements additionnels doivent être mise en place lorsque de nouveaux services (Load
balancer, Firewall, IPSEC/VPN, IPS...) sont implémentés.
Le maintien des CPE traditionnels au niveau des sites clients devient alors de plus en plus
difficile et coûteux.
Dans la démarche de réduire la complexité, la rigidité, les coûts de la technologie MPLS et
d’améliorer la performance des applications, le SD-WAN (Software-Defined WAN) permet
aux entreprises de construire et de déployer les nouvelles infrastructures WAN hybrides qui
combinent l’utilisation de différents liens (MPLS, internet) de façon optimale.
3.2. Problématique
Les CPE traditionnels sont complexes et l’implémentation de nouveaux services nécessite
généralement l’installation de périphériques supplémentaires, afin de déployer ces services
(Firewall, Load-balancer, VPN...), parfois on est dans l’obligation de remplacer un CPE
existant.
Certainement, la complexité des CPE n’est pas la solution, car ils présentent plusieurs
problèmes parmi lesquels nous citons :
• L’adaptation difficile à l’évolution et changement technologique.
• La rigidité et le manque de flexibilité lorsqu’il s’agit de déployer de nouveaux services
de façon rapide et simple.
La Virtualisation de CPE vise à fournir le matériel minimum requis sur le site du client et à
déplacer la charge du travail du CPE traditionnelles vers le réseau de l’opérateur (Figure 1.3).
Les services virtualisés sont hébergés sur le site de l’opérateur qui dispose des outils centralisés
nécessaires, les instances virtuelles telles que les fonctions réseau virtualisées (VNF) sont
orchestrées par l’orchestrateur NFV et l’infrastructure du réseau est contrôlé et géré par le
contrôleur SDN, qui applique la stratégie globale du réseau, les valeurs ajoutées de cette
solution SDN sont :
❖ Le gain en terme du coût pour les clients et pour les opérateurs aussi puisque la
virtualisation permettre de réduire les frais d’opération réelles ainsi que les frais de
support et de déploiement du matériel.
❖ La facilité de déploiement : dans le cas des services directement disponibles chez les
fournisseurs, les clients pourront facilement les déployer s’ils les souhaitent.
4. Méthodologie
Après une étude sur les méthodes d’analyse et selon ls type du projet et ses spécificités, nous
avons choisi comme une démarche qui répond à notre besoin fonctionnel la méthode 2TUP
qui est un processus de développement logiciel qui implémente le Processus Unifié.
Le 2TUP propose un cycle de développement en Y qui sépare les aspects techniques des
aspects fonctionnels. Il commence par une étude préliminaire qui consiste principalement à
dégager les acteurs qui vont interagir avec le système à construire, les messages échangés entre
les acteurs et le système, à produire le cahier des charges et à modéliser le contexte (le système
est une boîte noire, les acteurs l’entourent et sont reliés à lui, sur l’axe qui lie un acteur au
système on met les messages que les deux s’échangent avec le sens).
Le processus est l’enchaînement de trois phases essentielles.
❖ Une branche fonctionnelle : c’est la partie analyse et l’étude de l’application.
❖ Une branche technique : c’est la partie d’étude d’implémentation (architecture
technique).
❖ Une phase de réalisation : conception et implémentation.
La branche fonctionnelle se charge de la connaissance du métier de l’entreprise. Cette branche
capture des besoins fonctionnels, ce qui produit un modèle focalisé sur le métier des utilisateurs
finaux.
La branche technique se charge des pratiques et/ou des contraintes techniques.
Les techniques développées pour le système sont indépendantes des fonctions à réaliser.
La figure 1.5 présente la répartition des différentes tâches de projet sur la période de réalisation
du projet.
La phase de réalisation consiste à réunir les deux branches, permettant de mener une
conception préliminaire qui délivre les services techniques et fonctionnels et la conception
détaillé qui valide les fonctionnalités du système et enfin la livraison d’une solution adaptée
aux besoins.
La figure 1.5 présente la répartition des différentes tâches de projet sur la période de réalisation
du projet.
Conclusion
Dans ce chapitre, nous avons présenté en premier lieu l’entreprise d’accueil. Ensuite, nous
avons présenté la problématique ainsi que les objectifs à accomplir et la méthode qui sera suivie
pour la réalisation de notre projet. Dans le chapitre qui le suit, nous menons une étude sur les
applications et technologie existantes.
Introduction
Dans ce chapitre nous présentons les différentes technologies qui se présentent dans le projet.
Nous commençons tout d’abord par présenter le SD-WAN et les technologies sur lesquelles il
s’appuie.
Par la suite, nous présentons le Cloud Computing et les réseaux en tant que services ainsi que
le SDN, afin de fixer un guide de référence dans l’analyse des besoins et la conception de notre
solution. Nous étudions les différentes solutions Open source du Cloud Computing.
Aussi, nous entamons une étude comparative de ces différentes solutions. Enfin, nous étudions
les différentes technologies SDN présentes sur le marché.
1. Le SD-WAN
1.1. Introduction
La migration des applications dans le cloud et Datacenter privés des entreprises amène à
repenser fortement le WAN. Ce dernier évolue pour garantir la performance et la sécurité des
applications. Des solutions dites "SD-WAN” sont apparues ces dernières années, avec pour
ambition de répondre aux nouveaux challenges apparus sur le WAN. L'architecture permet
d'ajouter simplement sur chaque site une connexion Internet en plus des connexions WAN
habituelles et d'utiliser chaque liaison de manière optimale.
1.2. Définition du SD-WAN
L'ONUG définit clairement les cas d'usage pour le SD-WAN et met au premier plan le besoin
de baisser les coûts associés au WAN en tirant profit de l'Internet. Il s'agit de mettre en œuvre
une architecture WAN hybride où une connexion Internet complète la connexion WAN privée
traditionnelle sur le site distant. Cette connexion Internet a 2 objectifs :
❖ Avoir un accès direct aux applications hébergées dans le cloud.
❖ Offrir un second lien entre le site distant et le site principal ou Datacenter de
l'organisation.
Sur cette connexion Internet un tunnel sécurisé est construit. Les applications sont
dynamiquement routées sur les 2 liaisons (liaison privée et tunnel sécurisé sur Internet) en
tenant compte de la performance des liaisons, de l'utilisation des liens. La mise en place de
liaison Internet permet ainsi selon l'ONUG de diminuer les coûts globaux de connexion, tout
en restant maître des SLA. [ONUG]
Le SD-WAN fait évoluer la mission du routeur : au-delà d'un transfert de paquets, il est
maintenant en charge de router les applications pour garantir leur performance et leur sécurité.
Au-delà de la mise en place d'une architecture hybride, le SD-WAN a comme postulat que la
solution doit être simple à déployer pour une organisation, et ne doit pas être réservée aux
opérateurs et experts du WAN. Aussi des interfaces de management simples caractérisent le
SD-WAN, avec la possibilité d'offrir une abstraction du réseau. Le figure 2.1 illustre
l’architecture simple du SD-WAN. [JRES 2017]
virtuel vSRX. On peut gérer le logiciel Contrail Service Orchestration ou rechercher une
solution gérée auprès de notre choix de fournisseurs et ça présente un grand avantage pour
cette solution.
2. Le Cloud Computing
Dans cette partie, nous définissons le concept du cloud computing en développant ses
caractéristiques, puis nous expliquons des modèles de service ainsi que ses modèles de
déploiement.
2.1. Définition du Cloud Computing
Le cloud computing est un modèle permettant un accès réseau omniprésent, pratique et à la
demande à un pool partagé de ressources informatiques configurables (réseaux, serveurs,
stockage, applications et services) pouvant être rapidement mis en service et libéré avec un
effort de gestion minimal. L’interaction avec le fournisseur de services, se fait sur une base de
paiement à l’utilisation sur Internet, c’est selon Le NIST (National Institute of Standards and
Technology). [NIST]
2.2. Le besoin au Cloud Computing
Dans l’environnement concurrentiel d’aujourd’hui, les entreprises sont de plus en plus pressées
d’améliorer leur efficacité et de transformer leur IT pour obtenir plus avec moins. Les
entreprises ont besoin de moins de temps sur le marché, d’une meilleure agilité, d’une plus
grande disponibilité et de moins de dépenses pour répondre aux besoins changeants et au
rythme accéléré de l’innovation.
Ces exigences métiers posent plusieurs défis aux équipes informatiques. Certains des
principaux défis sont de servir les clients du monde entier 24 heures sur 24, d'actualiser
rapidement les technologies et de fournir des ressources informatiques plus rapidement, le tout
à un coût réduit. Ces défis de longue date sont résolus avec l'émergence d'un nouveau style
informatique, appelé cloud computing qui permet aux organisations et aux particuliers
d’obtenir et de fournir des ressources informatiques en tant que service.
2.3. Les cinq caractéristiques du cloud computing
Le Cloud Computing est basé sur cinq caractéristiques qui sont représentées dans la figure 2.3:
✓ Service à la demande
Un consommateur peut se servir unilatéralement des capacités informatiques, telles qu’une
instance d’un serveur et le stockage réseau, selon les besoins automatiquement sans nécessiter
d'interaction humaine avec chaque fournisseur de services. Un fournisseur de services cloud
publie un catalogue de services contenant des informations sur tous les services cloud
disponibles pour les consommateurs.
✓ Accès réseau large bande
Les fonctionnalités sont disponibles sur le réseau et accessibles via des mécanismes standard
qui favorisent l'utilisation de plates-formes client hétérogènes ou épaisses (par exemple,
téléphones mobiles, tablettes, ordinateurs portables et stations de travail).
✓ Partage des ressources
Les ressources informatiques du fournisseur sont regroupées pour servir plusieurs
consommateurs à l’aide d’un modèle multi-locataire, différentes ressources physiques et
virtuelles étant attribuées et réaffectées de manière dynamique en fonction de la demande des
En effet, le Cloud Computing se décompose en trois grands modèles de service dont les plus
connus sont le SaaS, le PaaS et le IaaS, aussi dénommés SPI (Software, Platform,
Infrastructure), comme il est présenté dans la figure ci-dessous :
Docker Oui - - -
2.6.4. Réseaux
Un ensemble d’instances virtuelles sans connectivité est une infrastructure morte et ce même
ensemble avec des possibilités de connectivité limitées est au mieux, une infrastructure non
sécurisée. Certaines solutions IaaS actuelles proposent l’utilisation de SDN (Software Defined
Networking) qui permet de créer un très grand nombre de scénarios réseaux virtuels à l’aide
notamment des routeurs virtuels [MACHU 2015].
On note aussi parfois l’existence à ce niveau des services d’équilibrage de charge en tant que
services LBaaS qui offrent l’opportunité de créer des équilibrages de charges pour les
instances. Certaines solutions permettent également de créer des accès sécurisés à une
infrastructure privée et sans point d’accès évident, via VPN.
OpenStack utilise le service Neutron pour gérer le réseau. Il propose de nombreux plugins
servant de back-end, allant de l’utilisation de méthodes d’isolation simples comme le VLAN
via Linux Bridge à l’exploitation de routeurs Cisco en passant par les très répandus OpenFlow
et Open vSwitch.
Il est possible d’utiliser plusieurs mécanismes simultanément comme Linux Bridge et Open
vSwitch à l’aide de Modular Layer 2.
On note, cependant, qu’il existe une table de compatibilité entre les différentes
implémentations réseaux et les hyperviseurs et cela est vrai pour toutes les solutions. Au
premier abord, l’utilisation de OpenFlow et Open vSwitch est une solution intéressante.
Le tableau 2.3 compare les différentes solutions Cloud selon leur fonctionnalités réseaux.
C’est la solution open source la plus utilisée, la figure 2.10 illustre le pourcentage d’utilisation
des solutions et leur mise en place d’un environnement Cloud et montre que la plus grande part
de marché utilise la solution OpenStack.
• Services du composant
Nova-api : Accepte et répond aux appels d'API de calcul de l'utilisateur final. Le service prend
en charge l'API OpenStack Compute. Il applique certaines stratégies et lance la plupart des
activités d'orchestration, telles que l'exécution d'une instance.
Nova-scheduler : Prend une requête de demande d'instance de machine virtuelle dans la file
d'attente et détermine sur quel hôte de serveur de calcul il s'exécute.
Nova-compute : Un démon de travail qui crée et met fin aux instances de machine virtuelle
via des API d'hyperviseur. Par exemple : libvirt pour KVM ou QEMU
En gros, le démon accepte les actions de la file d'attente et exécute une série de commandes
système, telles que le lancement d'une instance KVM et la mise à jour de son état dans la base
de données.
Nova-conductor module : Médie les interactions entre le service nova-compute et la base de
données. Il élimine les accès directs à la base de données sur le cloud créés par le service nova-
compute. Le module nova-conductor s’étale horizontalement. Cependant, ne le déployez pas
sur les nœuds sur lesquels le service nova-compute est exécuté.
Nova-consoleauth : Autorise les jetons pour les utilisateurs fournis par les serveurs proxy de
la console.
Nova-novncproxy : Fournit un proxy pour accéder aux instances en cours d'exécution via une
connexion VNC. Prend en charge les clients novnc basés sur un navigateur.
✓ Image service (Glance / gestion des instances)
Le service Image (Glance) permet aux utilisateurs de découvrir, d’enregistrer et de récupérer
des images de machine virtuelle. Il offre une API REST qui vous permet d'interroger les
métadonnées d'une image de machine virtuelle et de récupérer une image réelle.
• Services du composant
Glance-api : Accepte les appels d'API Image pour la découverte, la récupération et le stockage
d'images.
Glance-registry : Stocke, traite et récupère les métadonnées sur les images. Les métadonnées
incluent des éléments tels que la taille et le type.
La figure 2.12 représente l’architecture de l’interaction entre les composants du Glance.
sécurité, qui sont des listes de contrôle d’accès qui s’appliquent aux instances de machines
virtuelles.
• Services du composant
Neutron-server est responsable de la réception et du traitement des requêtes concernant le
composant.
Neutron-dhcp-client offre le service DHCP aux instances virtuelles de Nova.
Neutron-l3-agent réalise le routage, le NAT et le forwarding réseau de niveau 3 en utilisant
les namespace pour gérer de façon isolée de multiples réseaux se chevauchent.
Neutron-metadata-agent permet aux instances virtuelles de communique avec Nova afin de
récupérer leurs metadata. Il fait donc office de passerelle entre les réseaux des instances et le
réseau dans lequel nova opère.
Neutron-plugin-ovs-agent est un plugin dont se sert Neutron pour effectivement créer le
réseau définit. Ici, c’est donc OpenvSwitch qui est utilisé pour créer des réseaux, qui sont par
conséquent virtuels et qui transitent via des tunnels GRE. Il est possible d’utiliser des plugins
propriétaires tels que les plugins Cisco lorsque le réseau physique est adapté.
Neutron-lbaas-agent s’occupe de la réalisation des "équilibrage de charge en tant que
service".
Neutron-vpnaas-agent permet de créer divers types de VPN, pour accéder aux réseaux
virtuels ou bien encore pour connecter plusieurs réseaux ensembles à travers potentiellement
plusieurs zones de disponibilités. [Openstack 2019]
La figure 2.13 représente l’architecture de l’interaction entre les composants de neutron
Cinder-volume gère les volumes effectivement. Il fonctionne avec plusieurs divers backends.
Cinder-backup permet la création et la restauration de sauvegardes de disques en cas de
défaillance.
3. SDN
La complexité des réseaux présente un réel problème au sein des datacenters. Cette complexité
s’explique par une augmentation importante au niveau de la virtualisation des serveurs, du
stockage ou des stations de travail, aussi par la limitation dans le déploiement automatique des
ressources dans des environnements multi-clients.
Dans le but de répondre à ces problématiques, l’IT a besoin de réduire le temps de déploiement
de ses services liés aux réseaux en adoptant le SDN en complément des technologies déjà
utilisées telles que le Cloud Computing et la virtualisation.
3.1. Définition du SDN (Software Defined Network)
Le SDN est la Séparation physique du plan de contrôle du réseau par rapport au plan de
données, et dans lequel un plan de contrôle gère plusieurs équipements en las pilotant par un
logiciel. L’idée est de pouvoir séparer le plan de contrôle du plan de données, ce qui permet de
rendre programmables les équipements réseaux et ceci d’un point de contrôle centralisé. Le
plan de contrôle est placé dans un contrôleur centralisé qui a une vue globale de la topologie
du réseau et qui peut gérer les hôtes qui s’y connectent. [ONF]
Plus généralement, le plan de contrôle (souvent apparenté à la Routing Engine) est responsable
de remplir la table de transmission. Celle-ci est présente pour une seule raison : dire au second
composant majeur de l’équipement, le plan de transmission, ce qu’il doit faire de chaque
trame/paquet/ensemble de données qu’il va devoir traiter. Le plan d’acheminement désigne
généralement les composants, dédiés à la transmission de données à hautes performances sur
le réseau, que l’on appelle les ASIC.
La communication avec le contrôleur se fait par ses interfaces API dont on distingue :
❖ La NorthBound API qui permet aux applications de définir au contrôleur la stratégie
de la programmation du réseau.
❖ La SouthBound API qui permet contrôleur de charger ses instructions aux les
équipements du réseau [DOTTA 2017].
Différents protocoles peuvent être utilisés pour la communication SouthBound Interface, le
plus connu étant OpenFlow, on peut citer d’autres comme XMPP,OpFlex…
C’est pour cela que nous cherchons à intégrer une solution SDN avec la solution Cloud Open
source que nous avons choisie précédemment. Pour ce faire nous allons considérer les
différentes solutions Open-Source les plus populaires et parmi lesquelles nous choisissons la
solution la plus adaptée à nos besoins, après une phase d’étude comparative.
3.3.1. Comparaison des contrôleurs Open-Source
Nous avons rassemblé les contrôleurs SDN Open- Source les plus présents sur le marché.
➢ Floodlight
Floodlight est un contrôleur Open-Source OpenFlow développé en Java, pris en charge par
BigSwitch Networks, il est sous licence Apache. Elle est facile à configurer et a montré aussi
de grandes performances. Avec toutes ses fonctionnalités, Floodlight est plus une solution
complète.
➢ POX
C’est un contrôleur Open-Source développé en Python, fournit un cadre pour le développement
et le test d’un contrôleur OpenFlow. Mais les performances POX sont clairement insuffisantes
par rapport à celles des autres contrôleurs et il n’arrive pas à exister au déploiement
d’entreprise.
➢ ONOS
ONOS fournit le plan de contrôle pour un réseau défini par logiciel (SDN), gère des
composants de réseau, tels que des commutateurs et des liaisons, et exécute des programmes
ou modules logiciels pour fournir des services de communication aux hôtes finaux et aux
réseaux voisins.
➢ Ryu
Ruy est un contrôleur qui fournit des composants logiciels avec des API bien définis et qui
permet aux développeurs de créer facilement des applications de gestion et de contrôle du
réseau. Ryu prend en charge divers protocoles de gestion des périphériques réseau, tels que
OpenFlow, Netconf, OF-config, etc. Ryu est disponible sous la licence Apache 2.0.
➢ OpenDaylight
OpenDaylight est un projet de la Fondation Linux pris en charge par l’industrie. C’est un
framework open-source pour faciliter l’accès au logiciel de définition de réseau (SDN) comme
Floodlight, il peut également être considéré comme une solution complète.
Notre étude comparative se base sur les cas d’utilisation les plus importants et les plus
populaires pris en charge par le contrôleur. Le tableau 2.4 résume la comparaison des
contrôleurs open-source prenant en compte les différents cas d’utilisation.
➢ Maven : Opendaylight utilise Apache Maven pour une automatisation plus facile à base
de fichier pom.xml qui contient la configuration du serveur java sur lequel il tourne.
➢ OSGI : C’est une bibliothèque de backend d’Opendaylight car il permet le chargement
des Bundles et les paquets des fichiers JAR.
➢ JAVA interfaces : sont utilisées pour l’écoute des événements.
➢ RESTAPIs : Ce sont les interfaces responsables de la gestion de topologie, traçage
d’hôtes, routage statique, etc... La figure 2.18 présente l’architecture basique de
Opendayligth.
Les principal avantage d’OpenDaylight par rapport aux autres contrôleurs : Une architecture
microservices qui fournit à l’utilisateur des services particuliers par exemple :
❖ Activer le protocole OpenFlow ou BGP.
❖ Installer un switch virtuel L2 ou un service comme le AAA (Authentication,
Authorization and Accounting).
❖ Prise en charge de plusieurs protocoles tels que OpenFlow,SNMP NETCONF,
OVSDDB, BGP, PCEP, LISP, etc...
❖ L’aide à développer de nouvelles fonctionnalités comprenant des protocoles et des
services de réseaux. [OpenDaylight]
➢ OpenDaylight Nitrogène SR4
Dans notre projet, nous avons choisi l’implémentation d’OpenDaylight Nitrogène SR4 qui est
la septième version l’avant dernière car elle est la plus stable.
Conclusion
Les différents éléments présentés dans ce chapitre ont aidé à mieux comprendre le projet et à
définir les différentes technologies qui comportent le SD-WAN tels que le Cloud Computing
et le SDN qui présente une évolution technologique suite à l’arrivé du Cloud.
Nous avons fait une étude comparative des solutions open-sources des plateformes du Cloud
Computing ainsi que sur les différents contrôleurs SDN à intégrer dans notre solution. Ceci
nous a permis d’avoir une idée complète sur les techniques disponibles pour la création d’un
environnement Cloud et sur l’intégration du contrôleur SDN au sein du cloud.
Dans le chapitre suivant intitulé : spécification des besoin et conception on va démontrer avec
plus de détails la description technique de la solution
Introduction
Dans ce chapitre, nous commençons en premier lieu par énoncer les besoins fonctionnels et
non fonctionnels auxquels doit répondre notre architecture SD-WAN avec tous ses
composants.
Par la suite, nous introduisons les acteurs et les diagrammes de cas d’utilisation relatifs à ces
acteurs.
supprimer une instance. Aussi, il pourrait se connecter à la console VNC de l’instance ou créer
une nouvelle.
➢ Gestion des volumes
Le tenant peut consulter la liste des volumes disques virtuels existants, créer un nouveau
volume et modifier d’autres.
➢ Gestion des gabarits
Un gabarit (flavor) est une configuration de ressources disponibles dans un serveur. Chaque
Flavor possède une combinaison unique d’espace disque et de capacité de mémoire.
L’utilisateur pourrait consulter la liste des types d’instances disponibles, leurs spécifications
en nombre de CPUs, mémoire, espace disque et créer des nouvelles définitions d’instance.
➢ Gestion des utilisateurs
Le tenant aurait la possibilité de consulter la liste d’utilisateurs enregistrés, avec la possibilité
d’ajouter ou d’éditer les détails mais pas d’ajouter l’utilisateur à plusieurs projets.
➢ Gestion de la sécurité et de l’accès
Le tenant pourrait consulter les adresses IP non associées pour connecter les instances au réseau
public avec la possibilité de création des groupes de règles du firewall et leur interface de
gestion et enfin la liste des clés SSH avec l’importation ou la création de certificat.
1.3. Besoin fonctionnel de la solution SDN
Au niveau de la solution SDN, l’administrateur est l’acteur principale, il pourrait créer à l’aide
de l’environnement du test Mininet des réseaux OpenFlow Virtuel (un contrôleur, des
commutateurs des hôtes et des liens) aussi visualiser les flux au niveau des commutateurs et
gérer l’intégration et la gestion des commutateurs au niveau de notre plate-forme Cloud à
travers le contrôleur SDN.
1.4. Besoin non fonctionnel
Service à la demande : Un utilisateur peut de son côté et sans intervention humaine, avoir à
sa disposition les ressources informatiques dont il a besoin tel qu’un temps de calcul de
serveurs, capacité de stockage…
Accès léger et facile : L’accès aux ressources ne nécessite pas d’équipement ou de logiciel
propriétaire. Il se fait à travers des applications facilement disponibles (parfois libres) depuis
un simple navigateur Internet.
Ergonomie : Les interfaces doivent être simples et conviviale.
<<include>>
Administateur du cloud
Créer un firewall
<<include>>
S'authentifier
<<include>>
Créer un membre
<<include>>
Allouer une adresse IP flottante
<<include>>
<<include>>
créer des projets
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
La figure 3.3 représente le diagramme du cas d’utilisation de gestion de la liste des images.
ajouter un utilisateur
supprimer un utilisateur
Créer un Endpoint
3. Diagramme d’activité
Le diagramme d’activité modélise le comportement du système UML, permettant de
représenter le déclenchement des événements en fonction des états du système.
La figure 3.6 représente le diagramme d’activité du cas d’utilisation "Ajouter une règle
firewall” :
S'authenti fi er
Sai si r l es paramétres
Deci si on_2
[ fausses paramétres ]
La figure 3.7 représente le diagramme d’activité du cas d’utilisation "Ajouter une instance" :
S'authenti fi er
[ Dépasser l e quota ]
Deci si on_1
S'authenti fi er
Aj outer un membre
[ Dépassement du quota ]
Deci si on_2
Deci si on_3
1:S'authentifier
[ paramétre correctes]
ref
S'authentifier()
3 : Sélectionner instance
5: Créer instance
6: Envoyer un erreur
8: Crée l'instance
9: crée l'instance
La figure 3.11 représente le diagramme de séquence du cas d’utilisation "créer une règle de
Firewall" :
ref
S'authentifier()
2: afficher le formulaire
4 : lancer le template
7: Envoyer un erreur
[ paramétres valides ]
9: Crée la régle
10: crée la régle
Figure 3. 11: Diagramme de séquence du cas d’utilisation "créer une règle de Firewall"
➢ Neutron server C’est le sous-service principal qui fournit les API réseau. Il utilise la
base de données pour son fonctionnement et un service de messaging queue pour les
communications interservices du Cloud et vers ses agents.
➢ Les plugins Neutron Ce sont des éléments qui s’ajoutent au daemon principal neutron
server. Ils utilisent une grande variété de technologies pour répondre à certaines
requêtes API qui ne seront plus gérées par le service initial. Certains plugins basiques
utiliseront des Iptables, et d’autres s’interfaceront avec les solutions SDN physiques.
Les plugins accèdent également au service de messaging queue. Il existe deux
catégories de plugins, les cores et les services. Les cores plugins gèrent la connectivité
L2 et les IP des instances ; les services plugins gèrent quant à eux le NFV (Network
Function Virtualization) comme le FWaaS et le LBaaS. Exemples de plugins Neutron
: ML2, L3 router, FWaaS,LBaaS
➢ Modular Layer 2 plugin Il s’agit d’un plugin important introduit dans la release
Havana d’OpenStack (fin 2013). Il permet à Neutron d’utiliser une grande variété de
technologies réseau pour la couche L2. Ce plugin supporte différents types de réseaux
au travers d’un type driver : local, flat, vlan, gre tunnel, vxlan. Ce type driver valide la
configuration des réseaux L2 et alloue le réseau niveau Cloud. Ensuite, un "mechanism
driver" applique cette configuration sur le réseau L2. Voici une liste non exhaustive de
"mechanism driver" : Cisco, L2 population, OpenDaylight, OpenvSwich, LinuxBridge.
5.1.1.2. Les agents Neutron
Les agents se trouvent sur chaque compute node (serveurs qui hébergent les instances). Le
choix des agents dépend des plugins qui sont utilisés, certains plugins n’auront pas besoin
d’agents. Parmi les agents, le DHCP et le L3 sont particuliers, ils n’ont pas besoin d’être
présents sur tous les compute nodes. On distingue plusieurs agents tels que :
➢ neutron-dhcp-agent
➢ neutron-linuxbridge-agent
➢ neutron-l3-agent
➢ neutron-OpenvSwitch-agent
➢ neutron-lbaasv2-agent
➢ L3 agent Présent sur des nœuds dédiés au réseau, il s’occupe du routage des réseaux dans
les projets Cloud. Il s’occupe également de certaines fonctions comme le FWaaS et le
NATaaS, LBaaS,VPNaaS.
➢ DHCP agent Présent sur des nœuds dédiés au réseau, il s’occupe du DHCP pour les
réseaux dans les projets Cloud sur lesquels il est activé.
➢ L2 agent Présent sur tous les compute nodes, cet agent est responsable de la segmentation
des réseaux dans le Cloud. Il s’occupe donc de la connexion et de la sécurisation des
interfaces virtuelles. Il dialogue avec la solution SDN pour mettre en place les flux. Il
existe autant de L2 agents qu’il existe de technologies supportées par OpenStack.
La figure 3.13 représente l’architecture de flux de trafic d’une instance
Figure 3. 13: Architecture de flux de trafic d’une instance vers le réseau externe
Openstack permet de créer des réseaux virtuels avancés qui peuvent inclure des services
comme un firewall, un équilibreur de charge, et un réseau privé virtuel (VPN).
Ces services vont être associés par la suite au routeur CPE virtuel. Nous présentons dans cette
partie les types de réseaux virtuels fournis par Openstack ainsi que les services réseaux choisis
à virtualiser.
5.1.2.1. Réseau Option 1 : réseaux fournisseurs
L'option de réseau de fournisseur déploie le service de réseau OpenStack de la manière la plus
simple possible, principalement avec des services de couche 2 (bridging / switching) et la
segmentation de réseaux VLAN. Il relie essentiellement les réseaux virtuels aux réseaux
physiques et s'appuie sur l'infrastructure de réseau physique pour les services de couche 3
(routage). En outre, un service DHCP (Dynamic Host Configuration Protocol) fournit des
informations d'adresse IP aux instances. [Openstack2019]
La figure 3.14 représente la répartition des services pour la première option.
Pour aboutir l’accès à Internet à partir de machines virtuelles, le réseau auquel la machine
virtuelle est connectée doit être connecté à un routeur. Ce routeur doit avoir sa passerelle
définie sur le réseau externe déclarée par l’administrateur de l’infrastructure.
DNAT - Accès à une VM à partir d’internet la figure 3.17 décrit l’accès à une instance à partir
d’Internet.
➢ FWaaS version 1
L’implémentation FWaaS d'origine v1, applique une protection pour les routeurs.
Lorsqu'un firewall est appliqué à un routeur, tous les ports internes sont protégés.
➢ FWaaS version 2
La deuxième implémentation de FWaaS, v2, applique un service beaucoup plus
personnalisé.
La notion du firewall a été remplacée par un groupe de sécurité pour indiquer qu’un
firewall est constitué de deux règles : une règle d’entrée et une règle de sortie.
Un groupe de firewall n’est pas appliqué au niveau de tous les ports du routeur, mais au
niveau d’un port spécifique.
Actuellement, les ports du routeur peuvent être spécifiés. A partir de la version Pike, les
ports de machine virtuelle peuvent également être spécifiés. [Openstack 2018]
Le tableau 3.1 compare les fonctionnalités entre les deux versions :
Fonctionnalités V1 V2
Prise en charge du Firewall L3 pour les
OUI NON
routeurs
Prise en charge du Firewall L3 pour les
NON OUI
ports de routeur
Prise en charge du Firewall L2 (ports
NON NON
VM)
Support CLI OUI OUI
Un Mechanism Driver est appelé lors de la création, de la mise à jour et de la suppression des
réseaux, des sous-réseaux ou de ports.
Chaque Mechanism Driver utilise les ressources et les informations fournies par le
TypeDriver sélectionné. [Kokhan 2014b].
Il y’a quatre TypeDriver utilisés par le plugin ML2 pour les réseaux :
❖ Local : fournit la connectivité entre les machines virtuelles et les autres périphériques
fonctionnant sur le même nœud et ne fournit aucune connectivité entre les nœuds.
❖ Flat : fournit la connectivité entre les machines virtuelles et les autres périphériques
utilisant un réseau physique qui répond à la norme IEEE 802.1D sans utiliser de réseaux
locaux virtuels, de tunnellisation ou d’autres techniques de segmentation.
❖ Vlan : fournit une connectivité entre les machines virtuelles et les autres périphériques
utilisant un réseau physique qui répond à la norme IEEE 802.1Q. Le réseau physique
est segmenté via les entêtes de VLAN donc il peut supporter jusqu’à 4094
segments sur chaque réseau physique.
❖ GRE et VxLAN : fournit une connectivité entre les machines virtuelles et d’autres
nœuds via l’utilisation des mécanismes de tunnelisation pour l’organisation de
segments de reseau. [Kokhan 2014b]
OpenDaylight expose le service API OpenStack Neutron - qui fournit la gestion des API
Neutron pour plusieurs implémentations. La figure 3.21 résume l'architecture de la mise en
œuvre de l'API Neutron dans OpenDaylight. Le service de l'API Neutron est principalement
composé de trois bundles différents - l'API Northbound, l'interface de fournisseur Neutron
Southbound (SPI) et le transcriber et un ensemble d'implémentations. [Rao 2015]
Chapitre 4 : Réalisation
Introduction
Dans ce chapitre, nous allons exposer le travail achevé. Nous présenterons en premier lieu
l’environnement matériel et logiciel du projet. Ensuite, nous présentons la mise en œuvre de
l’architecture SD-WAN avec tous ces composants (solution cloud, et solution SDN).
Puis, nous introduisons l’étape de l’implémentions de notre solution ainsi que les tests
effectués, les résultats obtenus et les différentes interfaces de l’application client que nous
avons développé.
Elements Technologies
Openstack Controlleur Serveur HPE Proliant DL380 Gen 9 | 92 Go RAM
Noeud Compute KVM Serveur HPE Proliant DL380 Gen | 32 Go RAM
Noeud Compute VMware ESXi Serveur HPE Proliant DL380 Gen 8 | 128 Go RAM
OpenDaylight SDN Controlleur Serveur IBM System X3650 M3 | 16 Go RAM
2. Présentation de la maquette
Afin de bien mettre en évidence les objectifs à atteindre par notre application, nous avons
déployé sous l’infrastructure physique la maquette illustrée dans la figure 4.1.
Environnement utilisé :
• Réseau public/fournisseur (réseau IP flottant) : 10.55.72.192/26
• Noeud de contrôle public IP : 10.55.72.210 (eno0)
• Réseau interne de données : 172.16.0.10 (eno1)
• Noeud de Calcul public IP : 10.55.72.212 (eno0)
• Réseau interne de données IP : 172.16.0.20 (eno1)
• Hyperviseur Type : QEMU / KVM
• Version du SE (chaque nœud) : Ubuntu 18.04 LTS Bionic Beaver
Pour que l’installation de la version OpenStack Rocky se déroule sans erreurs, certaines
configurations d’interfaces réseau doivent être effectuées sur tous les nœuds OpenStack avant
l’installation. Nous avons introduit dans l’annexe A, une description détaillée des étapes de
configuration.
Nous avons installé et configuré de façon manuelle sans utiliser aucun outil d’automatisation
de déploiement et d’installation comme Ansible ou Puppet pour des raisons de production.
3.3. Vérification et test de l’application
Cette étape permet de tester les différentes fonctionnalités attendues de notre site Cloud. Nous
avons commencé par la création d’un projet client qu’on a nommé testbed.
Ensuite nous avons créé un quota avec des paramètres bien définis. La figure 4.3 affiche les
paramètres du quota du composants neutron.
Ensuite, au sein de projet admin, nous avons créé un utilisateur Membre nommé personnel et
un utilisateur administrateur du projet "testbed" nommé adm. Les figures 4.4 et 4.5 représentent
respectivement les commandes de création des utilisateurs personnel et adm.
L’affectation des rôles Membre et Administrateur aux utilisateurs personnel et adm est
représentée dans les figures 4.6 et 4.7.
Par la suite, nous avons défini les flavors qui vont être utilisés par le composant Nova pour
lancer les instances. Nous avons créé un flavor m2 nano. La figure 4.8 représente la commande
de création d’un flavor pour lancer des instances avec ces caractéristiques.
Par la suite, on a créé le sous réseau "selfservice" qu’on va associer au réseau "int_net". La
figure 4.11 représente l’étape de création du sous réseau selfservice.
Par la suite, nous avons créé le réseau public (réseau fournisseur) sur la plage d’adresse
10.55.72.192/26 avec la passerelle 10.55.72.254 vers le routeur physique Gateway du
Datacenter. La figure 4.13 représente l’étape de création d’un sous-réseau avec ses paramètres.
Afin de créer le routeur virtuel, nous avons exécuté la commande représentée dans la figure
suivante :
Par la suite, nous avons configuré la passerelle vers le réseau externe. Ensuite, nous avons
attribué le réseau interne à l’interface du routeur virtuel.
Afin de vérifier le bon déroulement de la création du réseau et de routeur virtuel, nous pouvons
lister les espaces de noms ainsi que les ports connectés au routeur afin de déterminer les
adresses IP des passerelles du routeur vers le réseau interne et le réseau public.
La figure 4.15 représente les identifiants et les adresses IP affectées aux ports du routeur.
Figure 4. 17: Vérification et test de la création d’instance du réseau public (réseau fournisseur)
Nous pouvons accéder à distance à notre instance via SSH ou à travers le système VNC.
Ensuite, nous avons affecté cette adresse à l’instance "cirros" du réseau privé.
La Figure 4.19 représente l’étape d’affectation d’une adresse IP flottante à une instance du
réseau privé.
Par la suite, nous avons testé la connectivité entre les deux instances "cirros" et "cirros123".
La Figure 4.20 représente le résultat de test de connectivité entre les instances.
Chaque entreprise cherche à avoir une haute disponibilité de ses services numériques et une
meilleure qualité de la connectivité entre ses différents sites et avec ses clients parce que de
nos jours, on parle de la digitalisation de tous les services pour amplifier le gain en termes de
temps, flexibilité et ressources physiques et humaines. Donc pour les assurer, il faut mettre en
place des mécanismes opérationnels et efficaces, des liaisons de connections WAN
redondantes (MPLS, SDSL ,4G …) et des services virtualisés hébergés au niveau du Cloud
Provider. Mais, ces mécanismes n’ont jamais satisfaits les clients pour des divers raisons dont
la fiabilité et la sécurité des services hébergés, l’intervention humaine dans le cas de défaillance
des liaisons WAN et l’incapabilité de réagir dans le cas de dégradations de la qualité de service
des liaisons, d’où vient l’apport de la solution SD-WAN qui résout toutes ces contraintes par
l’automatisation de la configuration des CPE ( Zero Task Provisioning ).
Tout le traitement sera centralisé dans un orchestrateur Contrail Service Orchestrator (CSO)
hébergés au niveau de l’infrastructure cloud publique AWS, qui va charger la configuration au
niveau de chaque CPE des sites distants.
Dans notre cas, le fournisseur Tunisie Télécom a signé un contrat de partenariat avec le
constructeur Juniper Networks pour lui fournir de ses technologies. Comme CPE et vCPE, ils
ont choisi la série SRX 320, 4100 et l’image vSRX 0.5.
La figue ci-dessous illustre l’attribution des addresses IP aux interfaces pour connecter un
vSRX au réseau local et aux 2 liaisons WAN.
Dans notre cas, avant l’ajouter de vCPE (vSRX) à l’orchestrateur qui va automatiser sa
configuration par le moyen d’un template lancé au niveau de sa plateforme, il faut copier le
numéro de série du produit qui est unique et qui va assurer l’identification du vSRX.
La figure ci-dessous illustre la commande qui affiche les caractéristiques physiques.
Dans notre cas, on a choisi l’image du SRX 320 qu’on possède déjà dans notre local et on a
copié le numéro de série du produit dans l’interface. La figure 4.25 représente l’interface de
saisi de numéro de série du vCPE.
Parmi les services fournis par l’orchestrateur CSO hébergé dans le cloud le Firewall as a
Service FWaaS, on peut y définir des politiques des sécurité pour les différents vCPE qui
appartiennent au même domaine dans le CSO. La figure ci-dessous illustre une règle de filtrage
qui permet au vCPE Hamza-vSRX d’accéder à internet.
Dans la figure 4.29, nous avons mis des règles de filtrage pour bloquer le contenu de quelques
sites internet consultés par le personnel de notre local, ici, ce n’est pas le cas du filtrage web
classique parce que ce dernier bloque l’accès par le nom de domaine du site mais la nouvelle
génération est plus avancée elle bloque le contenu du site. La figure ci-dessous illustre la liste
des règles de filtrages.
Puis nous allons choisir le trafic du Microsoft Office à générer pour tester les liens avec les
mesures définies. La figure 4.31 représente l’interface de création d’une stratégie SD-WAN.
Finalement, nous pouvons remarquer le basculement du trafic entre la première liaison WAN1
vers WAN0, lorsqu’il y a eu un dépassement de mesures de SLA définies d’avance, il est
indiqué par le curseur en bleu ou on voit le pique de trafic sur WAN0 après le dépassement de
la limite de la latence (130 ms). La figure 4.32 illustre le basculement du trafic entre les 2 liens
WAN.
Au niveau de l’interface d’accueil, le client peut lancer ou arrêter ces instances, aussi il peut
associer une adresse IP flottante à travers le menu déroulant. Il peut aussi consulter les
différentes informations concernant une instance tel que son état (shutdown, running), son
adresse IP et leur type fixe ou translaté et MAC.
La figure 4.35 représente l’interface "Create VM" qui va afficher les différents templates de
VM prédéfinis que le client peut choisir.
La figure 4.35 représente l’interface “Create user” qui affiche tous les utilisateurs qui
appartiennent au même projet.A travers cette interface, on peut aussi ajouter un autre utilisateur
au projet.
La figure 4.37 représente l’interface "My vRouter” qui affiche les différentes informations
concernant les routeurs virtuels associés au projet du client de l’entreprise.
La figure 4.38 représente l’interface "My subnets" qui affiche les adresses réseau allouées
automatiquement au moyen du service d’attribution dynamique DHCP du réseau du
gestionnaire de cloud.
La figure 4.39 représente l’inteface "My floating ip" qui affiche les différentes adresses IP
flottantes (publiques) dans le projet. A travers cette interface, on peut libérer une adresse IP
flottante d’une instance, on peut aussi la créer et l’associer à une instance.
Conclusion
Dans ce chapitre, on a présenté la phase de réalisation. En effet, on a commencé par
implémenter l’architecture Cloud sur l’instructeur physique du fournisseur Tunisie Télécom,
et on a ajouté un autre niveau de contrôle sur la connectivité Réseau par une solution SD-
WAN.
Ensuite, nous avons présenté les différentes configurations et les tests effectués, ainsi que la
réalisation de notre application web qui représente un portail pour les clients de Tunisie
Telecom.
Conclusion générale
L’objectif de notre projet de fin d’étude consiste à mettre en place une architecture SD-WAN
pour le fournisseur de service. En effet notre projet s’articule sur quatre volets à savoir : la
mise en place d’une solution cloud privée, la virtualisation des fonctions réseaux dans
l’environnement Cloud, le contrôle du réseau à travers un contrôleur SDN et le développement
d’une application web qui permet au client de gérer sa propre infrastructure.
Dans la première partie, nous avons abordé la mise en place d’une architecture IaaS sur des
différents nœuds afin de déployer la plateforme Openstack. Pour ce faire, nous avons mené
une étude comparative sur les solutions opensource qui a abouti à la sélection de ce dernier.
La deuxième partie était consacrée à ajouter une couche de contrôle de service réseau, il s’agit
de virtualiser les services réseaux avec Openstack et de contrôler le fonctionnement avec
OpenDayLight. La troisième partie était la mise en place d’une solution SD-WAN pour le
contrôle des liaisons WAN et MPLS de l’entreprise et assurer la continuité de la génération du
trafic avec une haute disponibilité et d’une façon plus sécurisée.
La quatrième partie introduit le développement de l’application Web qui est un portail pour le
client afin qu’il puisse gérer sa propre infrastructure virtuelle au sein du Cloud.
L’expérience au sein d’un cadre professionnel, a été très bénéfique. Ce stage m’a permis de
me familiariser à la vie professionnelle, d’exploiter des notions fondamentales dans le domaine
des réseaux et du cloud, et de prendre en main la gestion d’une infrastructure réseau et système
ce qui m’a aidé à approfondir ma maîtrise technique sur les technologies IT.
En termes de perspectives, notre projet pourrait être enrichi par d’autres améliorations, à
savoir :
❖ La mise en place d’une solution de haute disponibilité du contrôleur Openstack
❖ L’exploitation d’autres composants d’OpenStack tel que ZUN qui assure le service de
conteneurisation des applications en tant que service (Docker).
❖ Le développement d’autres services et fonctionnalités pour le client sur son portail tel
que la création des routeurs virtuels, la gestion des volumes.
Bibliographie
✓ [ONUG] https://www.onug.net/community/working-groups/software-defined-wide-
areanetwork-sd-wan/
✓ [NIST] https://www.nist.gov/news-events/news/2011/10/final-version-nist-cloud-
computingdefinition-published
✓ [DOTTA 2017] Virginie DOTTA. Après le Cloud, place aux réseaux programmables.
https://theexpert.squad.fr/virtual-infrastructure/cloud-computing
sdn.%20html,%20Avril%202017.
✓ [Hachicha 2017] Mokhless Hachicha. Un datacenter dans le cloud Public/HA IaaS
https://www.slideshare.net/MokhlessHachicha/sdn-opendaylight
✓ [ONF] https://www.opennetworking.org/sdn-definition/
✓ [Openstack 2019] https://docs.openstack.org/neutron/rocky/install/common/get-
started-networking.html
✓ [EMC] http://aad.tpu.ru/practice/EMC/ISM%20v2_with_notes.pdf
✓ [OpenDaylight ] https://www.opendaylight.org/what-we-do/odl-platform-overview
✓ [JRES 2017] https://conf-ng.jres.org/2017/document_revision_2938.html?download
✓ [Juniper Contrail] https://www.juniper.net/us/en/products-
services/sdn/contrail/contrail-sd-wan/
✓ [Kokhan 2014b] https://plvision.eu/rd-lab/blog/sdn/openstack-icehouse-networking-
keypoints
✓ [Rao 2015] https://thenewstack.io/opendaylight-is-one-of-the-best-controllers-for-
openstack-heres-how-to-implement-it/
Annexe