Une nouvelle approche du réseau : SDN et NFV
Virtualisation du réseau
1. Virtualisation et cloud computing
a. Historique et principe de la virtualisation
Le concept de virtualisation est apparu depuis plus de cinquante ans sur les systèmes Mainframe IBM. Le principe était qu’un utilisateur puisse se connecter à un serveur qui faisait la taille d’une pièce pour y retrouver son propre environnement de travail. La fin du 20e siècle a été marquée par une lutte entre constructeurs d’ordinateurs et fabricants de composants dont les processeurs étaient différents et propriétaires : un ordinateur Apple par exemple, fonctionnait sur un processeur MOS (proche du Motorola 6800), exécutant un système d’exploitation spécifique macOS et ne pouvant s’interfacer en réseau qu’avec d’autres ordinateurs de la marque via le protocole propriétaire AppleTalk. Dans le monde des serveurs d’entreprises, on observait le même phénomène, à savoir des équipementiers comme IBM et Novell qui tentaient d’imposer leur matériel et leurs protocoles.
L’évolution de l’électronique et l’émergence du besoin d’informatisation de l’entreprise et du particulier ont amené les constructeurs à converger vers du matériel commun à base de processeurs dits X.86 conçus et fabriqués par Intel et AMD. Ainsi, ces processeurs 32 bits puis plus tard 64 bits se sont généralisés et les OS ont été développés pour fonctionner sur ce type de processeurs.
En 1998, la société californienne VMware dépose un brevet portant sur une technologie innovante : la translation binaire. La technologie débouche sur la vente du produit VMware Workstation en 2001, devenu ESX Server puis ESXi. Le principe étant de pouvoir exécuter sur le même matériel, plusieurs systèmes d’exploitation de manière cloisonnée en interceptant le code exécuté par ces systèmes d’exploitation et en le modifiant à la volée pour qu’il s’adapte au matériel physique partagé, tout cela sans que le système d’exploitation virtualisé ne soit préalablement...
Approche du SDN (Software Defined Network)
1. Architecture de commutation et routage
a. La commutation de paquets
On différencie souvent commutateurs de trames correspondant à des équipements utilisés pour transmettre une trame Ethernet d’un port à l’autre en fonction de l’adresse MAC de la destination à atteindre, et routeur, qui permet de transférer (router) des paquets IP d’un réseau vers un autre. Ce dernier, outre son opération de routage qui consiste à choisir la route la plus adaptée à la destination parmi les routes contenues dans la table de routage, agit dans un second temps comme un commutateur, puisqu’il faut au final diriger la trame Ethernet vers un port de sortie. Par rapport à cette différenciation, on a vu apparaître des équipements appelés commutateurs de niveau 3, c’est-à-dire des équipements disposant de nombreux ports tel un commutateur classique, capable d’effectuer également du routage. Ainsi, on utilise le terme générique de « commutation de paquets ».
Dans le reste de cette section, le terme commutateur désignera indifféremment ces deux types d’actifs : commutateur ou routeur.
b. Plans de données, de contrôle et de gestion
Les différentes fonctions de commutation sont traditionnellement séparées en trois catégories appelées « plan » ou « plane » en anglais. On distingue ainsi le plan de contrôle, le plan de données et éventuellement le plan de management. Chacun d’entre eux est capable de communiquer de façon horizontale avec les plans équivalents d’autres actifs du réseau. Ils peuvent aussi dialoguer entre eux verticalement au sein d’un actif donné.
Le plus gros du trafic réseau est traité par le plan de données constitué de l’ensemble des ports du commutateur et d’une table de commutation (forwarding table ou « CAM » pour Content-Addressable Memory) permettant de faire le lien entre l’adresse de destination et le port donné. Le plan de données a aussi pour mission de placer les paquets dans des tampons, de modifier potentiellement certains en-têtes...