Introduction
Le Software Defined Network fait de plus en plus parler de lui et ce n’est pas pour rien, les promesses de cette nouvelle technologie paraissent grandes mais qu’en est-il vraiment ?
Cet article est pour moi une première en terme de longueur et de fond. N’hésitez pas à me conseiller ou à me dire si je vous perds dans mes explications en laissant un commentaire. Comme je suis feignant et comme tout bon informaticien je vais utiliser l’acronyme SDN pour parler du Software Defined Network dans le reste de l’article et dans les articles à venir.
Pour commencer, nous allons essayer de définir ce qu’est le SDN et pour être honnête c’est assez difficile de trouver une explication simple. En effet, le SDN est une technologie très technique et il est possible de faire énormément de choses avec.
J’ai un projet autour du SDN au sein de mon entreprise. L’objectif de mon projet sera de définir si celui-ci peut offrir ou non une plus-value à mon entreprise. Beaucoup de personne autour de moi me demandent ce qu’est le SDN ? A quoi cela sert ? Est-ce vraiment une technologie utile ? A chaque fois je réponds par une blague : « Nous pouvons faire tout ce que tu veux avec le SDN, donne moi juste ce dont tu as besoin et je trouverai une application du SDN pour t’aider.
La première définition que l’on trouve sur Internet est assez basique : « Le SDN sépare le Data plane du Contrôle plane ». Pour être plus clair, l’intelligence des équipements réseaux est centralisée pour ne laisser que la gestion physique (hardware: ports) de transfert de données sur les équipements. Cette explication semble assez simple en premier lieu mais certaines questions découlent de cette définition. Pourquoi a-t-on besoin d’une solution centralisée? Mon réseau fonctionne très bien sans. Et si mon équipement n’arrive plus à communiquer avec ma solution centralisée, mon réseau est-il bloqué ?
Cette définition ne me parlait pas vraiment, c’est pourquoi j’ai décidé de tester une solution SDN pour voir comment cela fonctionne et de vous proposer ma propre définition. Je ne vais pas expliquer tous les tests que j’ai effectués dans cet article mais dans les prochains. Pour le moment je vais vous donner mon explication.
Analogie
Pour vous expliquer le fonctionnement, j’ai trouvé plus simple de créer un PowerPoint avec une analogie. Il faut lire les explications en dessous du PowerPoint pour comprendre chaque étape:
Explication 1ère diapo :
Dans cette diapo, nous sommes dans une architecture standard. Prenons comme base une petite ville, nous sommes chez nous (Départ) et nous voulons livrer un message ou un colis à Laurent qui se trouve chez lui (Arrivée). Nous ne connaissons pas du tout la ville et ne savons par où passer.
Nous prenons notre voiture, une magnifique Porsche (je n’ai qu’une Fiat Punto de 2001 mais laissez moi rêver) et nous commençons à rouler. Tout va bien, nous sommes heureux d’être parti mais nous arrivons à un carrefour… que faire … faut-il aller à droite ou à gauche ? Pour trouver le bon chemin, nous devons essayer toutes les directions et cela à chaque carrefour que nous allons passer. Au bout d’un moment nous trouvons la maison de Laurent, et nous livrons le colis ou le message.
Comme nous sommes sympas, nous allons ajouter à chaque intersection la direction pour rejoindre la maison de Laurent pour permettre au prochain de trouver le chemin plus facilement.
Maintenant que nous avons mis un panneau à chaque intersection, il reste un problème… nous ne pouvons pas savoir si il y a un embouteillage sur la route. C’est pourquoi nous devons demander à quelqu’un d’autre un chemin alternatif (ici un policier).
C’est comme ça que fonctionne le réseau dans une infrastructure classique, un équipement réseau ne sais pas ou se trouve les autres et nous devons ajouter des applications/configurations ou des équipements pour optimiser notre réseau.
Explication 2ème diapo :
Dans cette diapo nous sommes dans une architecture avec le SDN. Même histoire, nous sommes dans la même ville et nous voulons toujours délivrer un message ou un colis à Laurent (Arrivée) depuis notre maison (Départ). Nous ne connaissons toujours pas la ville mais aujourd’hui nous allons être plus malin en achetant le dernier GPS du marché. Ce GPS a toutes les informations concernant la ville, ses routes, ses noms de rue dessinées sur une carte….
Nous pouvons ajouter certaines applications afin d’être informé en temps réel de l’état de la circulation. Ainsi en cas d’accident, d’embouteillage sur notre chemin nous pouvons avoir un nouveau chemin plus optimisé et éviter un perte de temps. Nous pouvons aussi demander au GPS de nous faire passer par un endroit en particulier car nous voulons passer voir un ami avant d’aller chez Laurent.
Voilà comment fonctionne une architecture avec du SDN, les informations en temps réel de tous les équipements réseaux sont concentrées dans un contrôleur et nous pouvons donc optimiser les flux plus intelligemment et plus simplement.
Explication 3ème diapo :
Dans une architecture sans SDN, nous avons des switches (symbolisés par des carrefours dans notre première diapo) que nous configurons individuellement contenant un DataPlane (les routes dans notre première diapo) et un ControlPlane (Les panneaux que nous installons dans notre première diapo).
Dans une architecture SDN nous avons toujours nos switches qui n’ont plus que le DataPlane (les ports de nos switches) et un contrôleur (le GPS dans notre deuxième diapo) qui à toutes les informations sur une carte de la ville. Il est possible d’ajouter des API (application) qui vont communiquer avec notre contrôleur afin d’avoir d’avantage de contrôle sur notre réseau.
La communication entre le contrôleur et les équipements se fait par un protocole SDN, dans notre exemple Openflow mais il en existe bien d’autres.
J’espère que ma définition du SDN était assez simple à comprendre. Je vais faire d’autres articles autour du SDN, principalement sur des tests de contrôleur comme OpenDayLight par exemple, mais aussi sur des discussions plus ouvertes sur l’utilité du SDN. N’hésitez pas à laisser un commentaire si vous avez des questions ou pour me dire ce que vous avez pensé de l’article (si je suis complètement à côté du sujet) afin que je puisse progresser.
5 commentaires
Merci, article très complet et clair, cela m’a permit de vraiment comprendre le fonctionnement du SDN
Merci pour cette explication clair et simple.
C’est bizarre mais j’ai pas toujours vraiment cerner le fonctionnement du SDN. Si non l’article est nickel. En fait mon problème vient du fait que dans une architecture réseau où on a les routeurs, à partir des protocoles de routage (protocoles de routage à état de liens), à partir de la source du message, le premier routeur peut déjà déterminer le meilleur chemin à emprunter pour atteindre une destination. Et donc même sans SDN, l’acheminement est efficace.
Peut être la gestion centralisé et la configuration des équipement ça se comprend…
Merci à toi !
[…] la définition même de cette technologie. Si le SDN ne vous dit rien, je vous invite à aller lire mon article sur le sujet. Google acteur majeur de l’informatique l’utilise sur son infrastructure pour faciliter […]
Bonjour Vincent,
Le message sur le SDN est très clair et pédagogique. En gros pour la gestion technique au niveau des besoins en ressource matériels, faut il ajouter de la Mémoire pour une fluidité du réseau ..
Louis