virtualisation légère du réseau dans react os

35
Virtualisation légère du réseau dans ReactOS Implémentation des Network Namespace dans le kernel ReactOS Daniel Maxime Level IT - 2014

Upload: interface-ulg-liege-science-park

Post on 20-Jul-2015

104 views

Category:

Software


0 download

TRANSCRIPT

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

Virtualisation légère du réseau dans ReactOS

Implémentation des Network Namespace dans le kernel ReactOS

Daniel Maxime – Level IT - 2014

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

Pourquoi ?

• Mise en place de système d’information privé dans un réseau « cloud » (public)

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

Virtualisation

• Hyperviseur de type 2

• Hyperviseur de type 1

• Isolation

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

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

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

Hyperviseur type 2

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

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

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

Hyperviseur type 1

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

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

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

Isolateur

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

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

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

Crash ?

• Même combat mais à un autre niveau

• Crash de l’hyperviseur -> les VM sont down

• Crash du kernel -> la machine est down

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

Réseau – Couche 1 (physique)

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

Réseau – Couche 2 (Ethernet)

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

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

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

Réseau – Couche 3 (IP)

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

Réseau switché

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

Requête ARP

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

Réponse ARP

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

Réseau routé

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

Trame Ethernet

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

Paquet IP

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

Paquet IP encapsulé dans une trame Ethernet

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

Une requête type

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

Stack IP d’un OS

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

ReactOS

• Réécriture de l’implémentation de Microsoft Windows NT sous licence GNU GPL

• Binairement compatible

• Loin d’être fini

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

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

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

Kernel Mode/User Mode

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

Kernel Mode/User Mode

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

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

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

Isolation du réseau

• Plusieurs stack réseau

• Isolation ethernet et IP

• Table de routages, ARP, …

• Switch virtuel

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

Test d’isolation

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

Isolation

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

Topologie de test

Page 34: Virtualisation légère du réseau dans React OS
Page 35: Virtualisation légère du réseau dans React OS

Développement futur

• Vrai switch virtuel (avec VLAN, etc.)

• Support de virtualisation de processus complet