Académique Documents
Professionnel Documents
Culture Documents
Khouas, Gacem, Conception Et Réalisation D'un Outil de Gesti
Khouas, Gacem, Conception Et Réalisation D'un Outil de Gesti
MEMOIRE DE FIN
D’ETUDE
Pour l’obtention du diplôme de MASTER en Systèmes
informatiques distribués
Réalisé par :
2015/2016
RÉSUMÉ
Le Cloud Computing est un ensemble d'outils technologiques qui permettent l'accès à des
ressources informatiques partagées et configurables en mode self-service. En d'autres
termes, il permet l'exploitation des ressources de calcul et de stockage via le réseau de
communication. Les standards de gestion développées par le DMTF sont fondés
essentiellement sur le métalangage orienté objet CIM (Common Information Model) et
l'architecture WBEM (Web Based Enterprise Management).
Afin d'offrir une vision globale, complète et homogène via les standards du DMTF de tous les
composants d'une plateforme de Cloud Computing, nous proposons dans le cadre de notre
projet, d'implémenter un standard dédié au contrôle et l'exploitation des réseaux virtuels.
Plus précisément, il s'agit de standardiser la gestion d'une brique essentielle dans le monde
de la virtualisation des réseaux et du Cloud, à savoir, la plateforme Open Virtual Switch
(OVS ou Open vSwitch) cet outil est adopté par la majorité des technologies de virtualisation
comme Xen, KVM et autres. Mais également par un grand nombre de constructeurs de
Commutateurs physiques de dernière génération dans le cadre de ce qu'on appelle :
Software Defined Network (SDN)
Dans le cadre de notre projet, nous avons réalisé un système dédié à la gestion de la
couche L2 de la plateforme OVS en se basant sur le standard CIM/WBEM. Notre système
permet la supervision et contrôle de cette couche des réseaux informatiques virtuels.
Notre système repose sur une architecture adaptant les composants WBEM élémentaires à
l’architecture d’un Open vSwitch.
La traduction CIM/OVS est réalisée par le Provider CIM/OVS que nous avons développé et
qui représente le noyau de notre travail car il assure d'un coté la traduction CIM de/vers OVS
et aussi faciliter aux clients qui n’ont pas les bases en programmation, le contrôle et la
supervision de leurs plateformes virtuelles.
Notre Provider représente une brique logicielle qui peut être intégrée à la plupart des
plateformes de virtualisation, de SDN et plus généralement de Cloud Computing.
L'intégration avec les environnements existants en sera facilitée grâce à l'écosystème
CIM/WBEM qui va être utilisé.
ABSTRACT
The cloud computing is a set of tools and technologies that allow the access to
shared and configurable on self-service mode IT resources. In other words, they
allow the exploitation of computing and storage resources using network. The
management standards developed by the DMTF are essentially based on the object-
oriented meta-language CIM (Common Information Model) and WBEM architecture
(Web-Based Enterprise Management)
In the aim of providing a global, complete and homogeneous vision through DMTF
standards of all components of cloud computing platform, we offer as part of our
project implementing a standard dedicated for exploiting and controlling virtual
networks. More specifically, it is to standardize the management of an essential brick
in the world of cloud computing and network virtualization, namely, the Open Virtual
Switch Platform (OVS or Open vSwitch), this tool is adopted by the majority of
virtualization technology companies such as Xen, KVM and others. And also by a
large number of latest generations physical switches manufacturers as part of what is
called: Software Defined Network (SDN)
As part of our project, we realized a system dedicated to the management of layer
two of the OVS platform based on the standard CIM / WBEM. Our system allows
monitoring and control of this layer a virtual computer network.
Our system is based on an architecture adapting elementary WBEM components to
the architecture of Open vSwitch.
Translation CIM / OVS is performed by the CIM Provider / OVS that we developed
and represents the core of our work, because it assures one side the translation of
CIM to OVS and also facilitates the monitoring and the supervision of platforms for
customers who do not have programming bases.
Our Provider is a software component that can be integrated with most virtualization
platforms, of SDN and more generally the cloud. The integration with existing
environments will be easier through the ecosystem CIM / WBEM which will be used.
ﻣﻠﺨﺺ
اﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ ھﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷدوات واﻟﺘﻘﻨﯿﺎت اﻟﺘﻲ ﺗﺘﯿﺢ اﻟﻮﺻﻮل إﻟﻰ ﻣﻮارد ﺣﺎﺳﻮﺑﯿﺔ ﻣﺸﺘﺮﻛﺔ .وﺑﻌﺒﺎرة أﺧﺮى،
ﻓﮭﻲ ﺗﺴﻤﺢ ﺑﺎﺳﺘﻐﻼل ﻣﻮارد اﻟﺤﻮﺳﺒﺔ واﻟﺘﺨﺰﯾﻦ ﺑﺎﺳﺘﺨﺪام اﻟﺸﺒﻜﺎت .إن ﻣﻌﺎﯾﯿﺮ اﻹدارة اﻟﺘﻲ وﺿﻌﺘﮭﺎ DMTFﺗﺴﺘﻨﺪ أﺳﺎﺳﺎ
ﻋﻠﻰ اﻟﻠﻐﺔ اﻟﻔﻮﻗﯿﺔ ) CIM (Common information modelوﺗﺼﻤﯿﻢ WBEM (Web Based Enterprise
)Management
ﺑﮭﺪف ﺗﻮﻓﯿﺮ رؤﯾﺔ ﺷﺎﻣﻠﺔ وﻛﺎﻣﻠﺔ وﻣﺘﺠﺎﻧﺴﺔ ﻣﻦ ﺧﻼل ﻣﻌﺎﯾﯿﺮ DMTFﻟﺠﻤﯿﻊ ﻣﻜﻮﻧﺎت ﻣﻨﺼﺔ اﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ ،ﻧﻘﺪم ﻛﺠﺰء
ﻣﻦ ﻣﺸﺮوﻋﻨﺎ ﺗﻨﻔﯿﺬ ﻣﻌﺎﯾﯿﺮ ﻣﺨﺼﺼﺔ ﻻﺳﺘﻐﻼل ﺗﺴﯿﯿﺮ اﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ .وﺑﺸﻜﻞ أﻛﺜﺮ ﺗﺤﺪﯾﺪا ،ﺗﻮﺣﯿﺪ إدارة ﻟﺒﻨﺔ أﺳﺎﺳﯿﺔ
ﻓﻲ ﻋﺎﻟﻢ اﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ واﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ ،وھﻲ ﻣﻨﺼﺔ OVSأو ، vSwitch Openوﻗﺪ ﺗﻢ اﻋﺘﻤﺎد ھﺬه اﻷداة ﻣﻦ
ﻗﺒﻞ اﻟﻐﺎﻟﺒﯿﺔ اﻟﻌﻈﻤﻰ ﻣﻦ ﺷﺮﻛﺎت اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ اﻻﻓﺘﺮاﺿﯿﺔ ﻣﺜﻞ KVM ,Xenوﻏﯿﺮھﺎ .وأﯾﻀﺎ ﻣﻦ ﻗﺒﻞ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ أﺣﺪث
ﻣﺼﻨﻌﻲ أﺟﮭﺰة اﻟﺘﺤﻮﯾﻞ اﻟﻤﺎدﯾﺔ ) (Switchesﻓﻲ إطﺎر ﻣﺎ ﯾﺴﻤﻰ :ﺑﺮاﻣﺞ ﺗﻌﺮﯾﻒ ﺷﺒﻜﺔ )(SDN
ﻛﺠﺰء ﻣﻦ ﻣﺸﺮوﻋﻨﺎ ،طﻮرﻧﺎ ﻧﻈﺎم ﻣﺨﺼﺺ ﻹدارة اﻟﻄﺒﻘﺔ اﻟﺜﺎﻧﯿﺔ ﻣﻦ ﻣﻨﺼﺔ OVSﻋﻠﻰ أﺳﺎس ﻣﻌﯿﺎر WBEM / CIM.
اﻻﻓﺘﺮاﺿﯿﺔ. اﻟﻜﻤﺒﯿﻮﺗﺮ ﺷﺒﻜﺎت ﻓﻲ اﻟﻄﺒﻘﺔ ھﺬه وﻣﺮاﻗﺒﺔ ﺑﺘﺴﯿﯿﺮ ﺑﺘﻄﻮﯾﺮه ﻗﻤﻨﺎ اﻟﺬي اﻟﻨﻈﺎم ﯾﺴﻤﺢ
وﯾﺴﺘﻨﺪ ﻧﻈﺎﻣﻨﺎ ﻋﻠﻰ ﺑﻨﯿﺔ ﺗﺴﻤﺢ ﻟﮫ ﺑﺘﻜﯿﯿﻒ ﺑﻨﯿﺔ vSwitch Openﻣﻊ ﻣﻜﻮﻧﺎت WBEMاﻷﺳﺎﺳﯿﺔ.
ﺗﺘﻢ اﻟﺘﺮﺟﺔ OVS/CIMﻣﻦ ﻗﺒﻞ اﻟﻤﺰود اﻟﺬي ﻗﻤﻨﺎ ﺑﺘﻄﻮﯾﺮه واﻟﺬي ﯾﻤﺜﻞ ﺟﻮھﺮ ﻋﻤﻠﻨﺎ ٫ﻷﻧﮫ ﯾﻮﻓﺮ ﺧﺎﺻﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻣﻦ CIM
إﻟﻰ OVSﻣﻦ ﺟﮭﺔ وﻣﻦ ﺟﮭﺔ أﺧﺮى ﺗﯿﺴﯿﺮ اﻟﻤﺮاﻗﺒﺔ واﻹﺷﺮاف ﻋﻠﻰ ﻣﻨﺼﺎت اﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ ﻟﻠﻌﻤﻼء اﻟﺬﯾﻦ ﻟﯿﺲ ﻟﺪﯾﮭﻢ
ﻗﻮاﻋﺪ ﻓﻲ اﻟﺒﺮﻣﺠﺔ.
اﻟﻤﺰود اﻟﺨﺎص ﺑﻨﺎ ھﻮ ﻋﺒﺎرة ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﯾﻤﻜﻦ إدﻣﺎﺟﮫ ﻓﻲ ﻛﺎﻓﺔ ﻣﻨﺼﺎت اﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ ﻓﻲ ﺑﺮاﻣﺞ ﺗﻌﺮﯾﻒ اﻟﺸﺒﻜﺎت
واﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ ﻋﺎﻣﺔ ٫إدﻣﺎج اﻟﻤﺰود ﻣﻊ اﻷﻧﻈﻤﺔ اﻟﻤﺘﻮﻓﺮة ﺣﺎﻟﯿﺎ ﺳﯿﻜﻮن أﺳﮭﻞ ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام .WBEM / CIM
REMERCIMENTS
Nous tenons à remercier tout d'abord notre promoteur Dr. Med Amine RIAHLA de
nous encadrer durant ce projet. Nous tenons aussi à remercier notre encadreur Dr.
Mohamed El Amine BOUABID, d’avoir proposé se sujet et accepté de nous encadrer
durant ce projet, de nous avoir beaucoup aidé et soutenu, pour sa disponibilité, sa
patience, ses conseils, et surtout son encouragement durant les moments difficiles.
DEDICACES
KHOUAS A.E.H
GACEM A.R
TABLES DES MATIERES
INTRODUCTION GENERALE__________________________________________1
INTRODUCTION_______________________________________________ 5
1.1. VIRTUALISATION DES RESEAUX_____________________________ 5
1.1.1 LES AVANTAGES DE LA VIRTUALISATION DES RÉSEAUX ___5
1.2. SOFTWARE DEFINED NETWORKING __________________________6
1.2.1 Architecture des SDN___________________________________7
1.3. OPENFLOW _______________________________________________7
1.4. OPEN vSwitch _____________________________________________9
1.4.1 Définition_____________________________________________9
1.4.2 Les composants Principaux d’OVS_________________________11
1.4.2.1 ovsdb-server ____________________________________11
1.4.2.2 ovs-vswitchd ____________________________________12
1.4.2.3 openvswitch.ko (OVS Kernel Module)_________________12
1.4.3 Les outils de l'espace utilisateur ___________________________13
1.4.5 Architecture Open vSwitch représentant le traitement des flux de
données ______________________________________________________14
CONCLUSION _________________________________________________15
INTRODUCTION _______________________________________________18
2.1. L’ARCHITECTURE FONCTIONNELLE __________________________18
2.1.1 RÔLES ______________________________________________18
2.1.2 ENTITÉS_____________________________________________19
2.2. LE MODÈLE D’INFORMATION COMMUN CIM____________________20
2.2.1 LE META-MODELE_____________________________________21
2.2.1.1 Schéma ________________________________________21
2.2.1.2 Classes ________________________________________21
2.2.1.3 Propriétés ______________________________________21
2.2.1.4 Méthodes_______________________________________21
2.2.1.5 Qualificateurs____________________________________22
2.2.1.6 Les Références __________________________________22
2.2.1.7 Les associations _________________________________22
2.2.1.8 Instances_______________________________________22
2.2.1.9 Indications______________________________________22
2.2.2 CIM MANAGED OBJECT FORMAT (MOF) __________________23
2.2.3 Base d'informations de gestion____________________________23
2.2.4 Architecture de la MIB___________________________________23
2.2.5 Les chemins du modèle commun__________________________24
2.2.5.1 Modèle de base__________________________________25
2.2.5.2 Modèles communs________________________________25
2.2.5.3 Extension du schéma _____________________________25
2.3. LE MODÈLE DE COMMUNICATION____________________________25
2.3.1 Le protocole de communication XML/HTTP__________________26
2.3.2 Les opérations CIM_____________________________________27
2.3.2.1 les opérations extrinsèques_________________________27
2.3.2.2 les opérations intrinsèques _________________________28
CONCLUSION _________________________________________________31
INTRODUCTION _______________________________________________34
3.1. L’ARCHITECTURE FONCTIONNELLE __________________________35
3.2. MODELISATION CIM ________________________________________36
3.2.1 Classes et Associations de notre premier Profile ______________37
3.2.1.1 Les Classes_____________________________________37
3.2.1.1.1 OVS_ComputerSystem ______________________37
3.2.1.1.2 OVS_NetworkVLAN_________________________38
3.2.1.1.3 OVS_LANEndpoint__________________________38
3.2.1.1.4 OVS_EthernetPort __________________________38
3.2.1.1.5 OVS_VLANEndpoint ________________________40
3.2.1.1.6 OVS_VLANEndPointSettingData_______________42
3.2.1.1.7 OVS_ConnectivityCollection __________________42
3.2.1.1.8 OVS_VirtualEthernetSwitchSettingData__________42
3.2.1.1.9 OVS_ResourcePool_________________________42
3.2.1.1.10 OVS_EthernetPortAllocationSettingData________44
3.2.1.1.11 OVS_RegisteredProfile _____________________44
3.2.1.2 Les Association __________________________________44
CONCLUSION _________________________________________________45
INTRODUCTION _______________________________________________47
4.1. LES CHOIX TECHNIQUES____________________________________47
4.2. IMPLEMENTATION _________________________________________47
4.3. DETAILS DE PROGRAMMATION______________________________48
4.3.1 DEFINITION DE CLASSE EN FORMAT MOF________________48
4.3.2 GENERATION DU PROJET EN C++_______________________49
4.3.3 L’AJOUT DES CODES DES METHODES ___________________49
4.3.4 COMPILATION DU PROVIDER ___________________________50
CONCLUSION _________________________________________________51
LISTE DES ILLUSTRATIONS
INTRODUCTION GENERALE
CONTEXTE
Les réseaux informatiques sont de plus en plus déployer dans les entreprises et les
organisations, leurs places est devenu stratégique au sein de ces derniers. Le
Cloud Computing, une solution qui permet l'accès à ces réseaux et leurs
ressources informatiques partagées marque aussi sa place importante dans se
milieu et devient de plus en plus utilisé.
OBJECTIF DU PROJET
L’objectif de ce projet est le développement d'une brique logicielle qui peut être
intégrée à la plupart des plateformes de virtualisation, de SDN et plus généralement
de Cloud Computing, mais sans pour autant être dépendante de ces outils et
technologies. L'intégration avec les environnements existants en sera facilitée grâce
à l'écosystème CIM/WBEM qui va être utilisé, dans le but d’offrir une gestion
homogène et unifiée a tout types d’utilisateurs.
• CIM (Common Information Model), qui est un standard ouvert qui permet de
modéliser n'importe quelle entité gérable.
• WBEM (Web-Based Enterprise Management), qui est un ensemble de
techniques et de standards qui servent à unifier la gestion des systèmes
distribués.
Le standard CIM-WBEM a été choisi dans le cadre de ce projet, pour son caractère
orienté objet, l’exhaustivité des modèles qu’il propose et la richesse des domaines
technologiques qu’il couvre. En effet, le DMTF propose des profils bien définis qui
offrent, aux développeurs souhaitant réaliser n'importe quel système de gestion
standardisé, des modèles abstraits à utiliser comme squelette de départ dont il
faudrait étendre et adapter aux besoins spécifiques.
ORGANISATION DU MANUSCRIT
Dans cette partie introductive, nous avons expliqué le contexte de notre travail avant
de parler de notre objectif. Nous présentons dans le chapitre suivant l’Open vSwitch
OVS, et ces composants principaux. Dans le deuxième chapitre, nous introduisons le
standard de gestion adopté dans notre projet, en l’occurrence CIM/WBEM. Dans le
troisième chapitre présente la conception de notre système. Dans le dernier chapitre,
nous présentons les détails de la réalisation de notre système. Nous terminons ce
document par une conclusion générale ainsi que quelques perspective
Chapitre I
SOMMAIRE :
INTRODUCTION
1.3. OPENFLOW
CONCLUSION
INTRODUCTION
Dans l’année 1979, IBM a lancé la première VM (IBM 4331 et 4341) qui étaient
des accélérateurs VM optionnel et microcodé. La réussite de ce travail a poussée les
grandes entreprises de se domaine a investir dans les technologies réseaux et
élargir leurs plateforme. La concurrence a été très grande entre ces grandes firmes
et de nouvelles technologies furent apparues par la suite.
Chaque firme a développé sa propre technologie, ce qui nécessite des experts
pour chaqu’une d’elle, ce qui a conduit a un manque de personnel important pour la
gestion de leurs grandes réseaux hétérogènes, Ces difficultés ont affecté non
seulement les activités quotidiennes de gestion des réseaux, mais aussi les plans
stratégiques de ces entreprises. Dans ces circonstances, l'automatisation de la
gestion des réseaux et systèmes est devenue un besoin urgent.
5
- réseau virtuel : réseau purement logiciel, interne, à la machine hôte, entre hôte
et/ou invité.
6
1.2.1 ARCHITECTURE DES SDN [32] [21]
Selon l'ONF, l'architecture des SDN est :
- Directement programmable : le contrôle du réseau est directement
programmable, parce qu’il est découplé des fonctions de transfert.
- Agile : la séparation entre le control et la transmission des paquets permet au
administrateur d'ajuster dynamiquement les flux de trafic au niveau du réseau pour
répondre aux besoins changeants.
- Gestion centralisée : l’intelligence du réseau est centralisée dans le contrôleur de
base d’SDN qui maintient une vision globale du réseau qui apparaît aux applications
et aux moteurs de la politique comme un seul commutateur logique.
- La configuration programmable : SDN permet aux gestionnaires du réseau d’être
configurer, gérer, sécuriser et permet d’optimiser les ressources réseau très
rapidement par l'intermédiaire ces programmes dynamiques et automatisés.
1.3 OPENFLOW
En regardant comment les réseaux ont été mis en œuvre il y a 20 ans et en
regardant l'image de la mise en réseau d'aujourd'hui, il est évident que les réseaux
ont parcouru un long chemin et ils ont beaucoup évolué en termes de vitesse, de
fiabilité, de sécurité et de l'ubiquité. Et alors que les technologies de la couche
7
physique ont évolué fournissant des bandes passantes de grande capacité, et aussi
une puissance de calcule de plus en plus élevée, une grande quantité d’applications
de réseau a émergé, par contre, la structure du réseau n'a pas vu beaucoup de
changement depuis ses débuts. Dans l'infrastructure existante, les tâches complexes
qui composent la fonctionnalité globale du réseau telles que le routage ou les
décisions d’accès au réseau sont déléguées à des périphériques réseau de
différents fournisseurs, ces derniers s’exécutent sous des firmwares différents. Ces
différences de propriétés de base représentent un obstacle en limitant l’espace des
idées de recherches tels que des nouveaux protocoles (routage ou autre).
OpenFlow a émergé de la nécessité de remédier à ces lacunes critiques dans
la mise en réseau d'aujourd'hui afin d'aider la recherche fluorescente. OpenFlow
exploite l'existence de tables de routage dans les commutateurs et routeurs Ethernet
modernes. Ces flux tables fonctionnent à un débit réel (la vitesse réelle avec laquelle
les bits sont envoyés sur le fil) pour mettre en œuvre les pare-feu, NAT, QoS ou
encore pour recueillir des statistiques. Cependant l'équipe OpenFlow a identifié un
ensemble commun de fonctions qui sont prises en charge par la plupart des
commutateurs et des routeurs. En identifiant cet ensemble commun de fonctions, un
moyen standard de manipulation de flux-de-tables peut être déployé pour tous les
périphériques réseau, indépendamment de leur mise en œuvre spécifique au
[27]
fournisseur . OpenFlow fournit ce moyen standard de manipulation de flux tables,
ce qui permet une partition de trafic réseau basé sur des flux. De cette façon, le trafic
réseau peut être organisé en différents flux qui peuvent être regroupées et isolées
afin d'être router, traités ou contrôlés de manière quelconque.[33]
OpenFlow est de grande utilité dans les réseaux de campus où l’isolement du
trafic de recherche et de production est une opération cruciale. Les flux peuvent être
créés et maintenus par une entité centralisée appelé le contrôleur. Le contrôleur peut
être étendu afin d'effectuer des tâches supplémentaires telles que le routage et les
décisions d'accès au réseau [27].
8
[26]
[Figure 2 : OpenFlow dans l’architecture d’OVS]
1.4.1 DEFINITION
Historiquement, Nicira Network Inc qui a été fondé en 2007 (nicira.com) est le
créateur des projets Open Flow et Open vSwitch, 3 ans après, La première version
d’OVS a été relâchée. En Juillet 2012 cette boite a été racheter par VMware pour le
mentant de 1,2 M$ et cette dernière s’engage à continuer le support de la version
Open Source de la technologie qui ont permis aux solutions Nicira d’être un succès,
incluant la solution Open vSwitch.
Juin 2013 : VMware finalise son offre SDN basée sur la technologie de Nicira
Network pour le vCloud Hybrid Service, et s'oriente vers le marché du réseau virtuel
pour les futures capacités réseau offertes par la firme.
9
les bons ports virtuels, alors que le module kernel permet de capturer le trafic
provenant des interfaces réseau, et d’y réinjecter le trafic légitime.
10
1.4.2 LES COMPOSANTS PRINCIPAUX D’OVS [30]
11
[28]
[Figure 5 : Toutes les tables de la BDD]
1.4.2.2 ovs-vswitchd
- Composante de base dans le système:
- Communique avec le monde extérieur en utilisant OpenFlow.
- Communique avec ovsdb-serveur en utilisant le protocole de gestion.
- Communique avec module de noyau via netlink.
- Communique avec le système via l'interface abstraite netdev.
- Prise en charge des chemins de données (ponts) indépendants multiples .
- Met en œuvre la mise en miroir, collage, et VLANs par les modifications de la
même table de flux exposés à travers OpenFlow
- Vérifie les compteurs de flux de datapath pour gérer l'écoulement l’expiration et les
demandes stats.
12
[Figure 6 : Composants d’Open vSwitch]
1.4.3 LES OUTILS DE L'ESPACE UTILISATEUR
COMMANDE SIGNIFICATION
add-br <name> - ajouter un Pont au commutateur virtuel,
<name>pour spécifier le nom du
commutateur.
del-br <name> - supprimer un Pont avec son nom
13
<name>
14
[29]
[Figure 7 : voie de traitement d’OvS]
Un paquet qui peut être traité par une règle dans le Datapath prend le chemin rapide
et il est traité directement dans le module du noyau sans invoquer d'autres parties de
OvS. Figure 8 met en évidence ce chemin rapide avec une ligne rouge solide. Les
paquets qui ne correspondent à aucun flux dans le tableau de flux sont forcés sur le
chemin lent (ligne pointillée), qui copie le paquet à l'espace utilisateur et le transmet
au démon OvS. La voie lente est mise en œuvre par le démon vswitchd qui
fonctionne sur des règles OpenFlow. Les paquets qui prennent ce chemin sont
comparés aux règles OpenFlow qui peuvent être ajoutés par un contrôleur OpenFlow
externe ou via une interface de ligne de commande. Le démon dérive des règles de
chemin de données pour les paquets sur la base des règles OpenFlow et les installe
dans le module du noyau afin que les futurs paquets de ce flux peuvent prendre le
chemin rapide. Toutes les règles du Datapath sont associés à un délai d'inactivité. Le
tableau des flux dans le Datapath ne contient donc que les règles nécessaires pour
gérer les flux actuellement actifs, il agit comme un cache pour le tableau de flux de
OpenFlow plus grand et plus complexe dans la voie lente.
CONCLUSION
La virtualisation des réseaux est devenu un sujet d’actualité et un terrain de
batailles entre les grandes firmes malgré sa complexité et hétérogénéité.
Cette hétérogénéité n’a pas empêché les développeurs à rendre leurs plateformes
interopérable en développant des outils tel que OVS qui le permettent et bien sur par
la suite accélérer l’adoption du Cloud par les entreprises.
15
Dans le cadre de ce projet, nous avons choisi le standard WBEM (Web-Based
Enterprise Management), que nous détaillons dans le chapitre suivant, qui est dédiés
à la gestion des réseaux virtuels.
16
Chapitre II
GESTION WBEM
SOMMAIRE :
INTRODUCTION
CONCLUSION
GESTION WBEM CHAPITRE 2
INTRODUCTION
Les systèmes de réseaux existants deviennent de plus en plus complexe, donc
des solutions telles que Simple Network Management Protocol (SNMP) ne disposent
pas suffisamment de fonctionnalités.
Web Based Enterprise Management (WBEM), conçu par l’organisation
Distributed Managed Task Force (DMTF) en 1996, vise à résoudre l'un des principaux
problèmes des professionnels de l'informatique, il gère facilement le matériel
hétérogène.
La grande diversité de matériel, chacun avec sa propre interface de gestion
personnalisée, utilise plus de ressources et de temps à gérer. WBEM, avec ses
racines dans des technologies éprouvées, offre un cadre commun qui est adaptable
par des fournisseurs, des normes fondées, extensibles, réutilisables et hautement
adaptables aux nouveaux matériels. Tout cela se traduit par un chemin d'amélioration
de la réduction des coûts.
WBEM permet d’intégrer les autres outils de gestion existants comme SNMP et
CMIS en les présentant avec son propre système d’information en assurant ainsi
l’homogénéité des informations présentées aux applications de gestion. En juin 1998,
la tâche de standardisation de l'initiative a été remise au DMTF (Distributed
Management Task Force), consortium regroupant les entreprises concernées par le
projet.
2.1 L’ARCHITECTEUR FONCTIONNELLE
Toute approche de gestion excitante a sa propre terminologie, WBEM aussi a
défini sa propre terminologie, il spécifie des entités et leurs associe des rôles, ces
derniers vont définir la capacité d’une entité dans une interaction de gestion.[39]
2.1.1 ROLES :
A chaque entité on peut associer un ou plusieurs rôles qui sont les suivants :
- Client
- Serveur
- Producteur
- Consommateur
Les supports de communication associer à chaque rôle font la classification des
entités comme le montre la figure 9 :
18
GESTION WBEM CHAPITRE 2
19
GESTION WBEM CHAPITRE 2
20
GESTION WBEM CHAPITRE 2
Nous allons dans la suite de cette section décrire brièvement chacun de ces
composants, qui seront par la suite représenter de façon beaucoup plus détaillée.
2.2.1.2 Classes : Une classe est un modèle ou prototype, qui définit les
propriétés et les méthodes communes à un type particulier d'objet. Chaque
classe CIM est un modèle pour un type d'élément géré. Les Classes contiennent
des propriétés qui décrivent les données de la classe, et les méthodes, qui
décrivent le comportement de la classe. Une classe doit appartenir à un seul
schéma et le nom de la classe doit être unique dans ce schéma. Un nom de
classe complet comprend le nom de schéma en utilisant le format suivant :
« Nomduschéma_ClassName »
2.2.1.3 Propriétés : Une propriété est une valeur utilisée pour désigner une
caractéristique d'une classe. Une propriété a un nom, type de données, la valeur
et le cas échéant une valeur par défaut. Une propriété qui n'a pas de valeur par
défaut est initialisée à nul.
2.2.1.4 Méthodes : Une méthode est une opération qui peut être exécuté.
Une classe peut avoir zéro ou plusieurs méthodes.
21
GESTION WBEM CHAPITRE 2
Une signature de méthode comprend un nom, type de retour, les
paramètres d'entrée en option et les paramètres de sortie en option. Le type de
retour de la méthode doit être connu (prédéfinit) par CIM, le type de retour ne
doivent pas être un tableau.
2.2.1.5 Qualificateurs : Les qualificateurs fournissent des informations
supplémentaires sur les classes, les associations, les indications, les méthodes,
les paramètres de la méthode, les propriétés ou les références.
2.2.1.8 Instances : Une représentation d'un objet géré qui appartient à une
classe particulière, c'est une occurrence particulière d'une classe ou d'une
association.
22
GESTION WBEM CHAPITRE 2
Ces composants forment les éléments de base de la structure de l'information
dans l'approche CIM. Les relations entre ces composants sont données dans la figure
8 sous la forme d'un schéma UML[4].
23
GESTION WBEM CHAPITRE 2
des répertoires dans le système UNIX. Ainsi, dans l'arbre de la MIB, les espaces de
nommage forment les nœuds et les objets gérés les feuilles.
Un espace de nommage peut contenir, en outre des objets gérés, un seul ou
plusieurs espaces de nommage.
L'identification d'une instance : les instances d'objets sont identifiées par la liste
des noeuds parcourus depuis la racine jusqu'à l'objet ainsi que par un identificateur
local relatif au dernier noeud. Dans le modèle CIM, ceci se traduit par le nom absolu
de l'espace de nommage, ainsi que par les valeurs prises par certains attributs
discriminants dits attributs clefs (Key propretés).
La fig9 illustre l’architecteur dans l’approche WBEM :
24
GESTION WBEM CHAPITRE 2
est possible d'organiser les informations disponibles sur l'environnement géré. Le
schéma CIM est la combinaison du modèle de base et du modèle commun.
Dans les années 2000, après un large manque dans le model de communication
entre les différentes entités d’une architecture WBEM, suite a la disparition du
protocole HMMP (Hyper-Media Management Protocol) qui été utilise pour
l’acheminement des information CIM, le DMTF a pu étouffer se manque en proposant
un couplage entre deux standard du marché du Web afin de transporter l’information
CIM d’une entité WBEM vers une autre. Le premier c’était le langage XML
25
GESTION WBEM CHAPITRE 2
(eXtensible Marhup Language) et le deuxième protocole HTTP (Hyper-Text
Transport Protocol)
En plus de ces deux standards, le DMTF propose un ensemble standard
d'opérations de gestion appelées opérations CIM permettant l'accès et la manipulation
des données CIM.
26
GESTION WBEM CHAPITRE 2
Les opérations CIM sont définies comme des appels de méthodes sur des objets
gérés. Ces appels seront traduits par des requêtes de bas niveau sur les véritables
entités gérées. Ces méthodes définissent un ensemble d'opérations qu'un client
WBEM met en œuvre pour qu’il opère de manière ouverte, standardisée. Les
Opérations WBEM sont des Protocol Independent.
Les Opérations WBEM peuvent être simple (individuel) ou des opérations
multiples (par lots). Les types d'opérations comprennent des données, des
métadonnées, des requêtes, et méthodes.
Deux types d'opérations CIM sont distingués par le DMTF : les opérations
extrinsèques et les opérations intrinsèques.
27
GESTION WBEM CHAPITRE 2
extrinsèque, il renvoie le code d'erreur CIM_ERR_NOT_SUPPORTED à toute
demande d'exécution d’une méthode extrinsèque. Cela permet à un client WBEM de
déterminer que toutes les tentatives d'exécution des méthodes extrinsèques
échoueront.
Parmi ces méthodes extrinsèques on peut trouver :
- CIM_ERR_ACCESS_DENIED.
- CIM_ERR_NOT_SUPPORTED (Le serveur WBEM ne supporte pas la
méthode extrinsèques invoquées)
- CIM_ERR_INVALID_NAMESPACE.
- CIM_ERR INVALID_PARAMETER (y compris le manque, la duplication,
non reconnaissance des paramètres, autrement incorrects)
- CIM_ERR_NOT_FOUND (La classe CIM n’existe pas dans l'espace du
noms spécifié)
- CIM_ERR_METHOD _NOT_FOUND.
- CIM_ERR_METHOD NOT_AVAILABLE (Le serveur WBEM est incapable
d'effectuer la demande d'invocation.)
- CIM_ERR_FAILED (Une autre erreur inattendue est survenue.)
28
GESTION WBEM CHAPITRE 2
classe souhaitée)
2.3.2.2.1.2 EnumerateClasses : elle énumère les sous-classes
d'une classe CIM dans l'espace de nommage cible et retourne la
liste de toutes les classes définies dans cet espace.
2.3.2.2.1.3 GetInstance : elle renvoie une instance CIM unique à
partir de l'espace de nommage cible.
2.3.2.2.1.4 EnumerateInstance : elle énumère les instances
d'une classe CIM dans l'espace de nom cible, y compris les
instances dans la classe et toute sous-classes en fonction de la
nature polymorphique des objets CIM.
2.3.2.2.1.5 GetProperty : elle récupère une valeur de propriété
unique à partir d'une instance CIM dans l'espace de noms cible, si
la valeur est NULL, aucun élément ne sera retourné.
2.3.2.2.2 Les opérations d'écriture de base (Basic Write) :
cette famille d'opérations contient une seule opération qui est la
modification de la valeur d'une propriété d'une instance donnée.
Elle doit être implémentée dans tous les systèmes utilisant les
opérations de lecture de base. Cette opération est :
2.3.2.2.2.1 SetProperty : elle définit une valeur de propriété
unique dans une instance CIM dans l'espace de nommage cible.
29
GESTION WBEM CHAPITRE 2
Manipulation) : ces opérations sont similaire a la famille précédente, on
trouve parmi ces opérations :
2.3.2.2.4.1 CreateInstance : elle crée une seule instance CIM
dans l'espace de noms cible. L'instance ne doit pas déjà exister.
2.3.2.2.4.2 ModifyInstance : elle modifie une instance de CIM
existante dans l'espace de noms cible. L'instance doit déjà exister.
2.3.2.2.4.3 DeleteInstance : elle supprime une instance CIM
unique à partir de l'espace de nommage cible.
30
GESTION WBEM CHAPITRE 2
CONCLUSION
L’approche WBEM est un standard permettant la gestion homogène d'un ensemble de
ressources hétérogènes complexes (services, composants physiques, utilisateurs…)
Contrairement aux autres approches, WBEM prend en compte l'existence et le
déploiement de toutes les approches de gestion. Cette prise en compte signifie que
les objets gérés issus d'approches différentes sont vus comme des objets CIM
ordinaires, accessibles par n'importe quel client WBEM.
WBEM est considéré comme l'un des standards les plus prometteurs du domaine
grâce à sa puissance d’expression, aux diverses implémentations propriétaires et
open source et au soutient dont il bénéfice.
31
GESTION WBEM CHAPITRE 2
- Solaris WBEM Services software d’Oracle.
- OpenPegasus l'implémentation open source fourni par l’OpenGroup.
- SBLIM soutenu par IBM.
- OpenLMI de Fedora.
-
WBEM a été choisi pour la réalisation de se projet a cause de sa capacité de gérer
des entités complexes. De plus, l'interopérabilité offerte par WBEM a répondu à notre
besoin de réalisation d'un un système de gestion standardisé pouvant être intégré
dans d'autres systèmes.
32
Chapitre III
CONCEPTION DU SYSTEME
SOMMAIRE :
INTRODUCTION
CONCLUSION
CONCEPTION DU SYSTEME CHAPITRE 3
INTRODUCTION
Nous rappelons que l'objectif de ce travail est la Conception et réalisation d'un
outil de gestion normalisé dédié à la plate-forme de virtualisation des réseaux Open
Virtual switch. Pour atteindre notre objectif, nous utilisons le Web Based Enterprise
Management (WBEM), qui est conçu par le DMTF pour gérer le matériel informatique
hétérogène et qui satisfait nos besoins en terme de standard de gestion en offrant
les fonctionnalités de modélisations des entités utilisées en leurs associant leurs
rôles et règles dans le réseau.
Pour la réalisation de notre Provider de Controle, le Framework CIMPLE qui est
Open Source, a été choisi a cause de ces avantages :
• Réduction considérablement des efforts de développement, en raison de
la génération de code.
• Il favorise la sécurité et offre la possibilité de modification/correction du
programme.
• La complexité du codes sources est réduite ce qui implique une bonne
maitrise et compréhension.
• Interopérabilité avec plusieurs serveurs CIM comme c’est explique dans
la figure suivante :
Pour le serveur CIM-OM, OpenPegasus a été choisi sur une plateforme Fedora.
OpenPegasus est un standard codé en C++ par DMTF conçu pour être portable est
hautement modulaire.
34
CONCEPTION DU SYSTEME CHAPITRE 3
3.1 ARCHITECTURE FONCTIONNELLE [37]
Pour représenter l’architecture de gestion de notre notre travail, nous avons défini
quelques éléments principaux qui sont détaillés et illustrés en bas comme suit :
• CIM Object Manager (CIMOM): C’est le cœur du serveur WBEM, Il utilise les
information stocker dans le CIM Object Repository (CIMOR), pour commander
directement le client et le provider.
• Client: Il peut interagir avec CIMOM pour manipuler le modèle tel qu’il est
demandé par l’opérateur. Dans notre cas le client peut interroger la base de
donnée OVSBD ou CIMOR pour la supervision, comme il peut créer des
ports, bridges, interfaces virtuels…
• CIM Obejct Repository (CIMOR): C’est l’entité qui stocke la configuration et
caractéristique d’objet géré et permet de les lire plus tard.
• Provider : Il agit comme une interface entre le monde abstrait du modèle et
les caractéristiques désordonnées de biens matériels et logiciels. Dans notre
cas le provider traduit les commandes provenant depuis le client en format
CIM/OVS, et aussi il assure la traduction inverse OVS/CIM.
• L’application Open vSwitch : Représente le switch virtuel, l’application des
configurations et commandes donnés par le client est assuré par cette entité.
35
CONCEPTION DU SYSTEME CHAPITRE 3
Dans cette architecture, le client peut contrôler la couche L2 de OVS et aussi la
superviser. Lors de la définition d’un nouveau réseau, les données de configurations
sont stockées dans le CIMOR maintenue par le serveur WBEM par l’intermédiaire du
CIMOM. Par la suite, notre Provider que nous avons développé intervient en
traduisant ces données de configurations en langage d’Open vSwitch. Ce Provider
peut aussi faire le travail inverse.
36
CONCEPTION DU SYSTEME CHAPITRE 3
3.2.1.1.1 OVS_ComputerSystem
Elle représente un commutateur Ethernet virtuel ou un commutateur Ethernet
intégré. Une instance de la classe OVS_ComputerSystem doit exister pour
chaque commutateur Ethernet qui est conforme à ce profile[9]. Nous allons
utiliser la Propriété DEDICATED qui est détailler comme suit :
3.2.1.1.1.1 DEDICATED
C’est une énumération qui indique l’objet auquel le système est dédié, par
exemple :
« Virtual Hub » : valeur 8.
37
CONCEPTION DU SYSTEME CHAPITRE 3
« Virtual Switch » : valeur 38, et qui est le matériel principal de notre
conception.
3.2.1.1.2 OVS_NetworkVLAN
Représente une collection de paramètres VLAN qui sont membres du même
VLAN.
3.2.1.1.3 OVS_LANEndpoint
Représente le point d'extrémité de communication Ethernet du
[16]
OVS_EthernetPort . Lorsque le dispositif d'interface associé est connecté à
un réseau local, peut envoyer et recevoir des trames de données[8].
3.2.1.1.4 OVS_EthernetPort
Représente un port de commutateur Ethernet. Ses propriétés sont détaillées
comme suite :
PROPRIETES
La classe OVS_EthernetPort possède ces propriétés :
3.2.1.1.4.1 Capabilities
- Data type: uint16 array
- Access type: Read-only
Capacités du port Ethernet. Par exemple, le dispositif pourrait soutenir
AlertOnLan, WakeOnLan, équilibrage de charge, ou FailOver. Si le
basculement ou l'équilibrage de charge des capacités sont répertoriés, un
SpareGroup (failover) ou ExtraCapacityGroup (équilibrage de charge/ load
balancing) doivent également être définies pour décrire complètement la
capacité.
Unknown (0)
Other (1)
AlertOnLan (2)
WakeOnLan (3)
FailOver (4)
LoadBalancing (5)
38
CONCEPTION DU SYSTEME CHAPITRE 3
3.2.1.1.4.2 CapabilityDescriptions
- Data type: string array
- Access type: Read-only
Un tableau de chaînes de forme libre qui fournit des explications plus
détaillées pour l'une des caractéristiques du port Ethernet qui sont indiqués
dans le tableau des capacités.
3.2.1.1.4.3 EnabledCapabilities
- Data type: uint16 array
- Access type: Read-only
Indique quelles capacités sont activées dans la liste de ceux pris en charge,
qui sont définis dans le tableau des capacités.
Unknown (0)
Other (1)
AlertOnLan (2)
WakeOnLan (3)
FailOver (4)
LoadBalancing (5)
.
3.2.1.1.4.4 NetworkAddresses
- Data type: string array
- Access type: Read-only
- Qualifiers: MaxLen ( 64)
Un tableau de chaînes indiquant les adresses réseau pour le port.
Les adresses de réseau sont des adresses "Ethernet / 802.3 MAC" formatés
comme douze chiffres hexadécimaux, chaque paire représentant l'un des six
octets de l'adresse MAC
3.2.1.1.4.5 PermanentAddress
- Data type: string
- Access type: Read-only
- Qualifiers: MaxLen ( 64)
39
CONCEPTION DU SYSTEME CHAPITRE 3
3.2.1.1.4.6 PortNumber
- Data type: uint16
- Access type: Read-only
Les ports réseau sont souvent numérotés par rapport à soit un module logique
ou à un élément de réseau.
3.2.1.1.4.7 Speed
- Data type: uint64
- Access type: Read-only
- Qualifiers: Override, Units ( "Bits per Second" )
La bande passante actuelle du port en bits par seconde. Pour les ports qui
varient en bande passante ou pour ceux qui n’ont pas d’estimation précise,
cette option ne peut pas être faite.
3.2.1.1.5 OVS_VLANEndpoint
Un point d'extrémité sur un commutateur est affecté à un VLAN donné ou
accepte le trafic d'un ou plusieurs VLANs, Tel que défini par la propriété,
OperationalEndpointMode. Ses propriétés sont détaillées comme suite :
PROPRIETES
La classe CIM_VLANEndpoint possède ces propriétés :
3.2.1.1.5.1 DesiredEndpointMode
- Data type: uint16
- Access type: Write-only
Le mode VLAN est donnée par la propriété OperationalEndpointMode. Les
valeurs citées en bas sont définies:
• Access: met le point d’extrémité/port-du-commutateur en mode nontrunking
permanent et négocie pour convertir le lien dans un lien nontrunk.
• Dynamic Auto: Rend le point d'extrémité capable de convertir le lien en
Trunk, le point d'extrémité devient un Trunk si l’interface voisine est réglée en
mode Trunk a son tour.
40
CONCEPTION DU SYSTEME CHAPITRE 3
• Dynamic Desirable: permettre au extrémité de convertir manuellement le lien
en trunk. Le point d'extrémité devient une interface Trunk si l'interface voisine
est réglée sur le mode Trunk. Le mode par default de tout les ports du
commutateur est « dynamic desirable »
• Trunk : met le point d'extrémité en mode trunking permanent et négocie pour
convertir le lien en TRUNK. Le point d'extrémité devient une interface Trunk,
même si l'interface voisine est pas en mode Trunk.
• Dot1Q Tunnel : configure l’interface pour permettre au lien d’être asymétrique
avec un mode Trunk. Il est utilisé pour maintenir l'intégrité du réseau local
virtuel de client à travers un réseau de fournisseur de services.
3.2.1.1.5.4 OperationalEndpointMode
- Data type: uint16
- Access type: Write-only
41
CONCEPTION DU SYSTEME CHAPITRE 3
est réglée sur le mode Trunk. Le mode par default de tout les ports du
commutateur est « dynamic desirable »
• Trunk : met le point d'extrémité en mode trunking permanent et négocie pour
convertir le lien dans un lien de tronc. Le point d'extrémité devient une
interface Trunk, même si l'interface voisine est pas en mode Trunk.
• Dot1Q Tunnel : configure l’interface pour permettre au lien d’être asymetrique
avec un mode Trunk. Il est utilisé pour maintenir l'intégrité du réseau local
virtuel de client à travers un réseau de fournisseur de services.
3.2.1.1.6 OVS_VLANEndPointSettingData
Représente les données de configuration pour les instances
OVS_VLANEndpoint.
3.2.1.1.7 OVS_ConnectivityCollection
Représente une collection de OVS_LANEndpoints qui sont en mesure de
communiquer les uns avec les autres.
3.2.1.1.8 OVS_VirtualEthernetSwitchSettingData
Spécialise la classe OVS_VirtualSystemSettingData pour ajouter des aspects
spécifiques au commutateur Ethernet virtuel[10].
3.2.1.1.9 OVS_ResourcePool
Représente une entité logique (avec les contrôles associés) fournies par le
système hôte afin de l'attribution et l'affectation des ressources. Elle peut être
utilisé pour allouer des ressources d'un type spécifique. Pour notre cas, nous
allons utilisées la propriété suivante :
42
CONCEPTION DU SYSTEME CHAPITRE 3
PROPRIETES
La classe OVS_ResourcePool possède ces propriétés :
3.2.1.1.9.1 ResourceType
Indique le type de ressource que ResourcePool peut allouer. Dans notre cas
nous allons prendre le 33 et le 30, pour l’allocation des ports et des
connexions entre les Machines virtuel[7]. D’autres types ressources peuvent
être utilisées, ils sont cités comme suit :
Other (1)
Computer System (2)
Processor (3)
Memory (4)
IDE Controller (5)
Parallel SCSI HBA (6)
FC HBA (7)
iSCSI HBA (8)
IB HCA (9)
Ethernet Adapter (10)
Other Network Adapter (11)
I/O Slot (12)
I/O Device (13)
Floppy Drive (14)
CD Drive (15)
DVD drive (16)
Serial port (17)
Parallel port (18)
USB Controller (19)
Graphics controller (20)
Storage Extent (21)
Disk (22)
Tape (23)
Other storage device (24)
Firewire Controller (25)
43
CONCEPTION DU SYSTEME CHAPITRE 3
Partitionable Unit (26)
Base Partitionable Unit (27)
Power Supply (28)
Cooling Device (29)
Allocation Port (30)
Allocation V.S Connexion (31)
3.2.1.1.10 OVS_EthernetPortAllocationSettingData
3.2.1.1.10.1 DesiredVLANEndpointMode
3.2.1.1.11 OVS_RegisteredProfile
Elle est utilisé pour modéliser la conformité avec les profiles du CIM de base
proposé par DMTF.
44
CONCEPTION DU SYSTEME CHAPITRE 3
l'attribution d'une connexion entre un port Ethernet, qui fait généralement partie
d'un système virtuel, et un port de commutateur Ethernet.
CONCLUSION
Dans se chapitre nous avons présenter et expliquer l’approche de conception de
notre système standardiser, conforme au model CIM de base du profile du « Virtual
Switch Ethernet » de la gestion de la couche L2 du réseau virtuel. La classe
principale du model est « OVS_ComputerSystem » qui représente la plateforme
OVS.
Dans le dernier chapitre de se travail, nous allons implémenter notre model sur un
système Linux Fedora 23, Cette implémentation se traduit par l'installation d'une
plateforme de gestion WBEM (client/serveur) ainsi que des outils nécessaires pour le
développement des providers chargés de gérer les classes du modèle.
45
Chapitre IV
SOMMAIRE :
INTRODUCTION
CONCLUSION
RÉALISATION DE NOTRE SYSTÈME DE GESTION CHAPITRE 4
INTRODUCTION
Ce chapitre présente les différentes étapes d’implémentation de notre système.
Cette implémentation prouve la possibilité de gérer la gestion en format CIM de la
couche L2 de l’OVS, en assurant son contrôle et sa supervision.
4.2 IMPLEMENTATION
Notre provider est formé de plusieurs modules dont chacun permet de gérer une
classe de notre modèle, il interagit directement avec Open vSwitch,
47
RÉALISATION DE NOTRE SYSTÈME DE GESTION CHAPITRE 4
Nous allons implémenter le provider pour la class OVS_NetworkVLAN qui assure la
création, suppression et supervision des VLAN créés par l’OVS, pour cela nous
avons utiliser les méthodes suivantes :
Description (
"An instance of NetworkVLAN represents a collection of "
"VLANSwitchEndpoints and/or VLANEndstationEndpoints
which are "
"members of the VLAN. " )]
class OVS_NetworkVLAN : CIM_ConnectivityCollection {
48
RÉALISATION DE NOTRE SYSTÈME DE GESTION CHAPITRE 4
"NULL when the Type property is any value other than 1."
),
ModelCorrespondence { "CIM_NetworkVLAN.TypeOfMedia" }]
string OtherTypeDescription;
}; //end
Ce code est enregistré dans un fichier .mof, et sera utiliser pout générer le code en
langage c++.
Get_Instance_Status OVS_NetworkVLAN_Provider::get_instance(
const OVS_NetworkVLAN* model,
OVS_NetworkVLAN*& instance)
{
system(“ovs-vsctl list bridge”);
return GET_INSTANCE_OK;
}
49
RÉALISATION DE NOTRE SYSTÈME DE GESTION CHAPITRE 4
4.3.4 COMPILATION DU PROVIDER
La génération du provider ne se fait qu'après la programmation de tous les modules
de ce dernier. Le Provider est généré sous forme de librairie (.so)
50
RÉALISATION DE NOTRE SYSTÈME DE GESTION CHAPITRE 4
CONCLUSION
Pour la réalisation de notre Provider qui représente le noyau de notre travail en
forme de bibliothèque (.so) nous avons utiliser l’environnement Fedora et
l’implémentation des classes a été réaliser par le serveur OpenPegasus qui
représente l’environnement de gestion WBEM. Cette bibliothèque pourra être
enregistrer dans les CIMOR des serveur WBEM par l’intermédiaire du CIMOM
comme expliqué précédemment.
51
Dans le cadre de notre projet nous avons adapté l’implémentation logiciel d’un
Switch Ethernet Virtuel OVS au standard CIM/WBEM en prenant compte des
exigences de la DMTF et les spécifications du Système proposé précédemment. Une
profonde et longue étude sur OVS a permis de comprendre son fonctionnement et
faire par la suite sa correspondance avec l’architecture CIM/WBEM.
BIBLIOGRAPHIE
Articles :
[3] DMTF DSP1001, Management Profile Specification Usage Guide 1.0, 05-08-2009.
http://www.dmtf.org/standards/published_documents/DSP1001_1.0.pdf
[8] DMTF DSP1050, Ethernet Port Resource Virtualization Profile 1.1, 21-06-2012.
http://www.dmtf.org/standards/published_documents/DSP1050_1.1.pdf
[12] IEEE 802.1Qbg - Virtual Bridged Local Area Networks - Amendment XX: Edge Virtual Bridging
http://www.ieee802.org
[13] ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards
http://isotc.iso.org/livelink/livelink.exe?func=ll&objId=4230456&objAction=browse&sort=subtyp e
http://www.dmtf.org/sites/default/files/standards/documents/DSP1014_1.0.1.pdf
[20] DMTF DSP2017, Open Virtualization Format White Paper 1.0, 02-06-2009.
http://www.dmtf.org/sites/default/files/standards/documents/DSP2017_1.0.0.pdf
[21] Patricia Thaler, Norman Finn, Don Fedyk, Glenn Parsons, Eric Gray. March 10, 2013. Media
Access Control Bridges and Virtual Bridged Local Area Networks. IEEE 802.1Q
https://www.ietf.org/meeting/86/tutorials/86-IEEE-8021-Thaler.pdf
[22] ETSI GS, Network Functions Virtualisation (NFV); Infrastructure; Network Domain, 2014
http://www.etsi.org/deliver/etsi_gs/NFV-INF/001_099/005/01.01.01_60/gs_NFV-
INF005v010101p.pdf
[23] Standard for Local and metropolitan area networks – Media Access Control (MAC) Bridges and
Virtual Bridged Local Area Networks – Amendment xx: Edge Virtual Bridging. IEEE
P802.1QbgTM-20xx
http://www.ieee802.org/1/files/public/docs2010/new-seaman-1AE-markup-for-gcm-aes-256-0710-
v2.pdf
[24] Simon Horman. An Introduction to Open vSwitch. LinuxCon Japan, Yokoham. 2nd June 2011.
http://openvswitch.org/slides/openvswitch.en-2.pdf
[29] Paul Emmerich, Daniel Raumer, Florian Wohlfart, and Georg Carle. Performance Characteristics
of Virtual Switching, Technische Universitat Munchen, Department of Computer Science, Network
Architectures and Services
http://www.net.in.tum.de/fileadmin/bibtex/publications/papers/Open-vSwitch-CloudNet-14.pdf
[30] Ben Pfaff, Justin Pettit, Teemu Koponen, Ethan J. Jackson, Andy Zhou, Jarno Rajahalme, Jesse
Gross, Alex Wang, Jonathan Stringer, Pravin Shelar, Keith Amidon†, Martin Casado. The Design
and Implementation of Open vSwitch. May 4–6, 2015 • Oakland, CA, USA
https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf
[31] B. Pfaff. B, Davie, Ed,The Open vSwitch Database Management Protocol. VMware, Inc.
December 2013
https://tools.ietf.org/html/rfc7047
[32] Wenfeng Xia, Yonggang Wen, Senior Member, IEEE, Chuan Heng Foh, Senior Member, IEEE,
Dusit Niyato, Member, IEEE, and Haiyong Xie, Member, IEEE. A Survey on Software-Defined
Networking. IEEE COMMUNICATION SURVEYS & TUTORIALS, VOL. 17, NO. 1, FIRST
QUARTER 2015
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6834762
Thèses
[33] Christopher Lorier, Techniques for Failure Recovery in a Software-Defined Network, University of
Waikato, August 18, 2014
http://wand.net.nz/~brad/papers/ChrisLorier-
Techniques_for_Failure_Recovery_in_a_Software_Defined_Network.pdf
[34] N.M. Mosharaf Kabir Chowdhury and Raouf Boutaba. Network Virtualization: State of the Art and
Research Challenges. University of Waterloo
www.dev.qmp.cat/attachments/download/31/NetworkVirtualization.pdf
[36] Networks Rogerio V. Nunes, Raphael L and Dorgival Guedes Pontes. Virtualized Network
Isolation Using Software Defined Networks, Department of Computer Science Universidade
Federal de Minas Gerais Belo Horizonte, MG – Brazil. 2013
http://ieeexplore.ieee.org.www.sndl1.arn.dz/stamp/stamp.jsp?tp=&arnumber=6761310
[38] MALEK Mohamed SEMMAR Mehdi. Conception et réalisation d'un système standardisé de
gestion de politiques de sécurité,
http://dl.cerist.dz/bitstream/handle/CERIST/761/Mémoire%20SEMMAR%20%26%20MALEK%20
N°034-2015-SSI-Final.pdf?sequence=1&isAllowed=y
Sites Web
[40] http://www.openvswitch.org/ dernier access Juliet 2016
ABSTRACT
The cloud computing is a set of tools and technologies that allow the access to
shared and configurable on self-service mode IT resources. In other words, they
allow the exploitation of computing and storage resources using network. The
management standards developed by the DMTF are essentially based on the object-
oriented meta-language CIM (Common Information Model) and WBEM architecture
(Web-Based Enterprise Management)
In the aim of providing a global, complete and homogeneous vision through DMTF
standards of all components of cloud computing platform, we offer as part of our
project implementing a standard dedicated for exploiting and controlling virtual
networks. More specifically, it is to standardize the management of an essential brick
in the world of cloud computing and network virtualization, namely, the Open Virtual
Switch Platform (OVS or Open vSwitch), this tool is adopted by the majority of
virtualization technology companies such as Xen, KVM and others. And also by a
large number of latest generations physical switches manufacturers as part of what is
called: Software Defined Network (SDN)
As part of our project, we realized a system dedicated to the management of layer
two of the OVS platform based on the standard CIM / WBEM. Our system allows
monitoring and control of this layer a virtual computer network.
Our system is based on an architecture adapting elementary WBEM components to
the architecture of Open vSwitch.
Translation CIM / OVS is performed by the CIM Provider / OVS that we developed
and represents the core of our work, because it assures one side the translation of
CIM to OVS and also facilitates the monitoring and the supervision of platforms for
customers who do not have programming bases.
Our Provider is a software component that can be integrated with most virtualization
platforms, of SDN and more generally the cloud. The integration with existing
environments will be easier through the ecosystem CIM / WBEM which will be used.
ﻣﻠﺨﺺ
اﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ ھﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷدوات واﻟﺘﻘﻨﯿﺎت اﻟﺘﻲ ﺗﺘﯿﺢ اﻟﻮﺻﻮل إﻟﻰ ﻣﻮارد ﺣﺎﺳﻮﺑﯿﺔ ﻣﺸﺘﺮﻛﺔ .وﺑﻌﺒﺎرة أﺧﺮى،
ﻓﮭﻲ ﺗﺴﻤﺢ ﺑﺎﺳﺘﻐﻼل ﻣﻮارد اﻟﺤﻮﺳﺒﺔ واﻟﺘﺨﺰﯾﻦ ﺑﺎﺳﺘﺨﺪام اﻟﺸﺒﻜﺎت .إن ﻣﻌﺎﯾﯿﺮ اﻹدارة اﻟﺘﻲ وﺿﻌﺘﮭﺎ DMTFﺗﺴﺘﻨﺪ أﺳﺎﺳﺎ
ﻋﻠﻰ اﻟﻠﻐﺔ اﻟﻔﻮﻗﯿﺔ ) CIM (Common information modelوﺗﺼﻤﯿﻢ WBEM (Web Based Enterprise
)Management
ﺑﮭﺪف ﺗﻮﻓﯿﺮ رؤﯾﺔ ﺷﺎﻣﻠﺔ وﻛﺎﻣﻠﺔ وﻣﺘﺠﺎﻧﺴﺔ ﻣﻦ ﺧﻼل ﻣﻌﺎﯾﯿﺮ DMTFﻟﺠﻤﯿﻊ ﻣﻜﻮﻧﺎت ﻣﻨﺼﺔ اﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ ،ﻧﻘﺪم ﻛﺠﺰء
ﻣﻦ ﻣﺸﺮوﻋﻨﺎ ﺗﻨﻔﯿﺬ ﻣﻌﺎﯾﯿﺮ ﻣﺨﺼﺼﺔ ﻻﺳﺘﻐﻼل ﺗﺴﯿﯿﺮ اﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ .وﺑﺸﻜﻞ أﻛﺜﺮ ﺗﺤﺪﯾﺪا ،ﺗﻮﺣﯿﺪ إدارة ﻟﺒﻨﺔ أﺳﺎﺳﯿﺔ
ﻓﻲ ﻋﺎﻟﻢ اﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ واﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ ،وھﻲ ﻣﻨﺼﺔ OVSأو ، vSwitch Openوﻗﺪ ﺗﻢ اﻋﺘﻤﺎد ھﺬه اﻷداة ﻣﻦ
ﻗﺒﻞ اﻟﻐﺎﻟﺒﯿﺔ اﻟﻌﻈﻤﻰ ﻣﻦ ﺷﺮﻛﺎت اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ اﻻﻓﺘﺮاﺿﯿﺔ ﻣﺜﻞ KVM ,Xenوﻏﯿﺮھﺎ .وأﯾﻀﺎ ﻣﻦ ﻗﺒﻞ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ أﺣﺪث
ﻣﺼﻨﻌﻲ أﺟﮭﺰة اﻟﺘﺤﻮﯾﻞ اﻟﻤﺎدﯾﺔ ) (Switchesﻓﻲ إطﺎر ﻣﺎ ﯾﺴﻤﻰ :ﺑﺮاﻣﺞ ﺗﻌﺮﯾﻒ ﺷﺒﻜﺔ )(SDN
ﻛﺠﺰء ﻣﻦ ﻣﺸﺮوﻋﻨﺎ ،طﻮرﻧﺎ ﻧﻈﺎم ﻣﺨﺼﺺ ﻹدارة اﻟﻄﺒﻘﺔ اﻟﺜﺎﻧﯿﺔ ﻣﻦ ﻣﻨﺼﺔ OVSﻋﻠﻰ أﺳﺎس ﻣﻌﯿﺎر WBEM / CIM.
اﻻﻓﺘﺮاﺿﯿﺔ. اﻟﻜﻤﺒﯿﻮﺗﺮ ﺷﺒﻜﺎت ﻓﻲ اﻟﻄﺒﻘﺔ ھﺬه وﻣﺮاﻗﺒﺔ ﺑﺘﺴﯿﯿﺮ ﺑﺘﻄﻮﯾﺮه ﻗﻤﻨﺎ اﻟﺬي اﻟﻨﻈﺎم ﯾﺴﻤﺢ
وﯾﺴﺘﻨﺪ ﻧﻈﺎﻣﻨﺎ ﻋﻠﻰ ﺑﻨﯿﺔ ﺗﺴﻤﺢ ﻟﮫ ﺑﺘﻜﯿﯿﻒ ﺑﻨﯿﺔ vSwitch Openﻣﻊ ﻣﻜﻮﻧﺎت WBEMاﻷﺳﺎﺳﯿﺔ.
ﺗﺘﻢ اﻟﺘﺮﺟﺔ OVS/CIMﻣﻦ ﻗﺒﻞ اﻟﻤﺰود اﻟﺬي ﻗﻤﻨﺎ ﺑﺘﻄﻮﯾﺮه واﻟﺬي ﯾﻤﺜﻞ ﺟﻮھﺮ ﻋﻤﻠﻨﺎ ٫ﻷﻧﮫ ﯾﻮﻓﺮ ﺧﺎﺻﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻣﻦ CIM
إﻟﻰ OVSﻣﻦ ﺟﮭﺔ وﻣﻦ ﺟﮭﺔ أﺧﺮى ﺗﯿﺴﯿﺮ اﻟﻤﺮاﻗﺒﺔ واﻹﺷﺮاف ﻋﻠﻰ ﻣﻨﺼﺎت اﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ ﻟﻠﻌﻤﻼء اﻟﺬﯾﻦ ﻟﯿﺲ ﻟﺪﯾﮭﻢ
ﻗﻮاﻋﺪ ﻓﻲ اﻟﺒﺮﻣﺠﺔ.
اﻟﻤﺰود اﻟﺨﺎص ﺑﻨﺎ ھﻮ ﻋﺒﺎرة ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﯾﻤﻜﻦ إدﻣﺎﺟﮫ ﻓﻲ ﻛﺎﻓﺔ ﻣﻨﺼﺎت اﻟﺸﺒﻜﺎت اﻻﻓﺘﺮاﺿﯿﺔ ﻓﻲ ﺑﺮاﻣﺞ ﺗﻌﺮﯾﻒ اﻟﺸﺒﻜﺎت
واﻟﺤﻮﺳﺒﺔ اﻟﺴﺤﺎﺑﯿﺔ ﻋﺎﻣﺔ ٫إدﻣﺎج اﻟﻤﺰود ﻣﻊ اﻷﻧﻈﻤﺔ اﻟﻤﺘﻮﻓﺮة ﺣﺎﻟﯿﺎ ﺳﯿﻜﻮن أﺳﮭﻞ ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام .WBEM / CIM
RÉSUMÉ
Le Cloud Computing est un ensemble d'outils technologiques qui permettent l'accès à des
ressources informatiques partagées et configurables en mode self-service. En d'autres
termes, il permet l'exploitation des ressources de calcul et de stockage via le réseau de
communication. Les standards de gestion développées par le DMTF sont fondés
essentiellement sur le métalangage orienté objet CIM (Common Information Model) et
l'architecture WBEM (Web Based Enterprise Management).
Afin d'offrir une vision globale, complète et homogène via les standards du DMTF de tous les
composants d'une plateforme de Cloud Computing, nous proposons dans le cadre de notre
projet, d'implémenter un standard dédié au contrôle et l'exploitation des réseaux virtuels.
Plus précisément, il s'agit de standardiser la gestion d'une brique essentielle dans le monde
de la virtualisation des réseaux et du Cloud, à savoir, la plateforme Open Virtual Switch
(OVS ou Open vSwitch) cet outil est adopté par la majorité des technologies de virtualisation
comme Xen, KVM et autres. Mais également par un grand nombre de constructeurs de
Commutateurs physiques de dernière génération dans le cadre de ce qu'on appelle :
Software Defined Network (SDN)
Dans le cadre de notre projet, nous avons réalisé un système dédié à la gestion de la
couche L2 de la plateforme OVS en se basant sur le standard CIM/WBEM. Notre système
permet la supervision et contrôle de cette couche des réseaux informatiques virtuels.
Notre système repose sur une architecture adaptant les composants WBEM élémentaires à
l’architecture d’un Open vSwitch.
La traduction CIM/OVS est réalisée par le Provider CIM/OVS que nous avons développé et
qui représente le noyau de notre travail car il assure d'un coté la traduction CIM de/vers OVS
et aussi faciliter aux clients qui n’ont pas les bases en programmation, le contrôle et la
supervision de leurs plateformes virtuelles.
Notre Provider représente une brique logicielle qui peut être intégrée à la plupart des
plateformes de virtualisation, de SDN et plus généralement de Cloud Computing.
L'intégration avec les environnements existants en sera facilitée grâce à l'écosystème
CIM/WBEM qui va être utilisé.
Mots Clés:
Open Virtual Switch (OVS), Software Defined Network, Virtualisation des réseaux,
Virtualisation des systèmes, Cloud Computing, CIM/WBEM, Manged Object Format, VLAN,
Open Flow, DMTF.