virtualisation légère du réseau dans react os
DESCRIPTION
par Maxime Daniel, le 28 mai 2014TRANSCRIPT
Virtualisation légère du réseau dans ReactOS
Implémentation des Network Namespace dans le kernel ReactOS
Daniel Maxime – Level IT - 2014
Pourquoi ?
• Mise en place de système d’information privé dans un réseau « cloud » (public)
Virtualisation
• Hyperviseur de type 2
• Hyperviseur de type 1
• Isolation
Hyperviseur type 2
• VirtualBox, VMware Player, …
• Fonctionne sur grand nombre de plateforme
• Système hétérogènes
• Permet l’émulation de matériel
• Lourd en ressources
Hyperviseur type 2
Hyperviseur type 1
• KVM, VMware ESXi, Hyper-V, XEN, …
• Système dédié à la virtualisation
• Systèmes hétérogènes
• Meilleur rentabilité matériel par rapport à l’hyperviseur type 1
• Reste relativement lourd en ressources
Hyperviseur type 1
Isolation
• Un seul kernel
• Instanciation de différentes parties du système (processus, réseau, montage, …)
• Demande peu de ressources
• Système homogène uniquement
Isolateur
Pourquoi faire de l’isolation ?
• Lancer un processus est plus rapide que lancer un système d’exploitation complet
• Peu de ressources gaspillée inutilement
Crash ?
• Même combat mais à un autre niveau
• Crash de l’hyperviseur -> les VM sont down
• Crash du kernel -> la machine est down
Réseau – Couche 1 (physique)
Réseau – Couche 2 (Ethernet)
Réseau – Couche 2 (Ethernet)
Port Adresse MAC
1 00:00:AA:BB:CC:DD
2 00:11:AA:BB:CC:DD
3 FF:11:AA:BB:CC:00
Réseau – Couche 3 (IP)
Réseau switché
Requête ARP
Réponse ARP
Réseau routé
Trame Ethernet
Paquet IP
Paquet IP encapsulé dans une trame Ethernet
Une requête type
Stack IP d’un OS
ReactOS
• Réécriture de l’implémentation de Microsoft Windows NT sous licence GNU GPL
• Binairement compatible
• Loin d’être fini
Kernel Mode/User Mode
• Kernel: espace noyau (driver, gestion de la mémoire et des processus, lien avec le hardware), accès global au système
• User: espace utilisateur (applications classiques), accès restreint et sécurisé au système
Kernel Mode/User Mode
Kernel Mode/User Mode
ReactOS
• Accès au code source du kernel et du user-mode
• Modification et Proof-Of-Concept sur un système suivant l’architecture Microsoft
Isolation du réseau
• Plusieurs stack réseau
• Isolation ethernet et IP
• Table de routages, ARP, …
• Switch virtuel
Test d’isolation
Isolation
Topologie de test
Développement futur
• Vrai switch virtuel (avec VLAN, etc.)
• Support de virtualisation de processus complet