Le SDN, c’est quoi ?

Le SDN – Software-Defined Networking – est actuellement le sujet chaud qui agite le monde du réseau. Il est impossible d’avoir un article, un tweet, un blog, une publication ou une conférence sans ces 3 lettres qui semblent vouloir tout solutionner sur nos infrastructures. Dans une telle agitation, les administrateurs réseau sont le plus souvent perdus. Qu’est-ce que le SDN ? Qu’est-ce qu’OpenFlow ? Qu’est-ce que cela apporte pour moi ?

Cet article fait une présentation simple du SDN, afin de vous permettre de mieux comprendre cette évolution actuelle des réseaux.

Qu’est-ce que c’est ?

SDN (Software-Defined Networking) aussi appelé réseau à définition logicielle en français, désigne un ensemble de technologies innovantes visant à permettre un contrôle centralisé des ressources réseau, une orchestration de ces ressources et la virtualisation de ces ressources en les dissociant des éléments physiques du réseau.

Ces innovations ont pour but de simplifier l’administration du réseau et à l’instar de ce que la virtualisation a réalisé dans le monde des serveurs, de rendre la consommation des ressources réseaux par les applications plus flexible.

Les SDN ont pour objectif de rendre programmables les réseaux via un contrôleur centralisé. Aujourd’hui les commutateurs et les routeurs programment leurs tables de forwarding localement. Les périphériques réseau prennent donc leurs propres décisions en interne sur la meilleure façon d’aiguiller le trafic. Ces décisions se prisent grâce aux informations distribuées collectées par des protocoles de routage comme OSPF et BGP ou des protocoles comme Spanning Tree. Cependant, ces protocoles sont peu flexibles. Pour fonctionner ensemble, tous les équipements du réseau doivent suivre les règles définies par les standards. Cela laisse peu d’espace pour la créativité ou pour des exigences métiers inhabituelles.
Avec les SDN, on établit une séparation claire entre le plan de contrôle et le plan de données. Dans les SDN, le plan de contrôle est placé dans un contrôleur centralisé. Il a une visibilité sur l’ensemble du réseau, y compris les hôtes qui s’y connectent et a une vision complète de la topologie du réseau.

Modèles SDN principaux

Modèles SDN principaux

Un réseau programmable
Historiquement les administrateurs réseau configurent les équipements à l’aide d’une interface de ligne de commande ou via l’interface utilisateur graphique des équipements. Cependant cette méthode peut être source de problèmes. La mise en œuvre de configurations de réseau complexes peut obliger l’ingénieur à configurer séparément plusieurs périphériques réseau différents. Ce qui est gourmand en temps, fastidieux et source d’erreurs.

En rendant les réseaux programmables, l’objectif des SDN est de changer cela en mettant à disposition des administrateurs des interfaces de programmation d’applications. Ces interfaces permettent de programmer les périphériques du réseau via de multiples langages. L’utilisation d’API implique aussi que la programmation du réseau n’est plus forcément limitée aux seuls ingénieurs réseau. Elle devient accessible à un ensemble d’outils et aux développeurs d’applications.

Un contrôleur central logiciel « omniscient » permet aux ingénieurs de réseau de mettre en place des politiques de trafic spécifiques et flexibles. Les seules limitations sont liées à la capacité du logiciel faisant fonctionner le contrôleur.

Dans un réseau à définition logicielle, l’administrateur peut organiser le trafic depuis une console de contrôle centrale. Cela sans intervention directe sur les différents commutateurs. Si nécessaire, il peut modifier les règles de n’importe lequel d’entre eux. Il peut notamment gérer les priorités de types de paquets spécifiques ou même les bloquer.

Openflow dans l’architecture SDN

Openflow dans l’architecture SDN

OpenFlow
Lorsque l’on parle de SDN il faut difficile de ne pas mentionner OpenFlow.

En développement constant grâceà l’Open Networking Foundation, ce protocole est un bon exemple de la façon de mettre en œuvre la programmation de réseau à l’aide d’un contrôleur central.

OpenFlow est une norme agnostique qui décrit comment programmer un commutateur de réseau. Il identifie les flux spécifiques en avec une variété de critères (adresse IP de destination, adresse MAC…), puis effectue des actions sur ces flux (abandon du trafic, forwarding via le port X ou Y…).

Un contrôleur OpenFlow centralisé avec la connaissance de l’ensemble de la topologie du réseau peut programmer ces politiques pour tous les commutateurs de réseau, peu importe leur marque.

Conclusion

Le Software Defined Networking s’accompagne des grands changements sur les réseaux dans les années à venir. Leur architecture va profondément évoluer, facilitant des nouveaux usages. Tout cela sera du à grâce à la programmabilité, l’ouverture, la virtualisation et l’orchestration.
Tous les domaines sont concernés : WAN, data centers, campus, sécurité… L’enjeu pour les administrateurs réseau est d’accompagner ce changement afin de pouvoir tirer profit de ces nouvelles capacités.