Virtualisation légère du réseau dans React OS

372 vues

Publié le

par Maxime Daniel, le 28 mai 2014

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Virtualisation légère du réseau dans React OS

  1. 1. Virtualisation légère du réseau dans ReactOS Implémentation des Network Namespace dans le kernel ReactOS Daniel Maxime – Level IT - 2014
  2. 2. Pourquoi ? • Mise en place de système d’information privé dans un réseau « cloud » (public)
  3. 3. Virtualisation • Hyperviseur de type 2 • Hyperviseur de type 1 • Isolation
  4. 4. 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
  5. 5. Hyperviseur type 2
  6. 6. 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
  7. 7. Hyperviseur type 1
  8. 8. 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
  9. 9. Isolateur
  10. 10. 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
  11. 11. Crash ? • Même combat mais à un autre niveau • Crash de l’hyperviseur -> les VM sont down • Crash du kernel -> la machine est down
  12. 12. Réseau – Couche 1 (physique)
  13. 13. Réseau – Couche 2 (Ethernet)
  14. 14. 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
  15. 15. Réseau – Couche 3 (IP)
  16. 16. Réseau switché
  17. 17. Requête ARP
  18. 18. Réponse ARP
  19. 19. Réseau routé
  20. 20. Trame Ethernet
  21. 21. Paquet IP
  22. 22. Paquet IP encapsulé dans une trame Ethernet
  23. 23. Une requête type
  24. 24. Stack IP d’un OS
  25. 25. ReactOS • Réécriture de l’implémentation de Microsoft Windows NT sous licence GNU GPL • Binairement compatible • Loin d’être fini
  26. 26. 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
  27. 27. Kernel Mode/User Mode
  28. 28. Kernel Mode/User Mode
  29. 29. 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
  30. 30. Isolation du réseau • Plusieurs stack réseau • Isolation ethernet et IP • Table de routages, ARP, … • Switch virtuel
  31. 31. Test d’isolation
  32. 32. Isolation
  33. 33. Topologie de test
  34. 34. Développement futur • Vrai switch virtuel (avec VLAN, etc.) • Support de virtualisation de processus complet

×