Software Defined Networking : qu’est-ce que le SDN ?

La composition et l’administration des structures de réseaux posent de grands défis à de nombreuses entreprises. Comme les réseaux conventionnels basés sur du matériel physique ne répondent que rarement aux besoins des entreprises modernes, le choix de solutions externes Infrastructure-as-a-Service-solutions (Iaas) est de plus en plus fréquent. Par rapport aux infrastructures internes traditionnelles, ces services Cloud, qui permettent aux clients d’accéder à des ressources informatiques virtualisées, se caractérisent par un degré élevé de flexibilité et une excellente maîtrise des coûts, contrairement à un cadre matériel fixe, les ressources souhaitées peuvent être mises à l’échelle à tout moment par simple pression sur un bouton.

Définition

Software Defined Networking (SDN) est un concept de réseau qui permet la gestion et le contrôle centralisés et intelligents de composants matériels individuels à l'aide de logiciels. L’utilisation de protocoles ouverts tels qu’OpenFlow permet d’accéder à des périphériques réseau tels que des commutateurs, des routeurs ou des pare-feu qui, autrement, ne pourraient pas être contrôlés en raison d’un Firmware propriétaire.

Dans la plupart des cas, l’approvisionnement et la mise à l’échelle des ressources virtuelles - tant de la part du client que du fournisseur – s’effectuent à l’aide de logiciels, sans qu’il soit nécessaire d’accéder manuellement aux différents composants physiques du réseau. Le concept de réseau sous-jacent est également appelé réseau défini par le logiciel (SDN).

Qu’est-ce qu’un réseau défini par logiciel (SDN) ?

Software Defined Networking décrit une architecture de réseau qui permet une gestion purement logicielle du réseau. Pour cela, le plan de commande implémenté en standard dans les composants matériels ou la logique de commande est abstrait du matériel ; dans ce contexte, on parle aussi de l’intelligence du matériel, qui n’est rien de plus que son logiciel d’exploitation spécifique (firmware). En termes simples, le concept SDN correspond à la séparation de l'infrastructure et de sa configuration.

Le plan de données, en revanche, reste une partie des périphériques réseau individuels (c'est-à-dire tous les routeurs, commutateurs et pare-feu intégrés dans le réseau). Cependant, sa tâche avec le SDN est exclusivement de transmettre les paquets, c’est pourquoi il nécessite peu de puissance de calcul. Cela présente l’avantage, entre autres, que les appareils n’ont pas besoin d’un micro logiciel élaboré et qu’ils sont généralement beaucoup moins chers que d’autres concepts de réseau.

Le champ de tâche du plan de contrôle abstrait, qui est responsable du bon trafic de données dans l'architecture SDN et doit donc effectuer toutes les analyses pertinentes, est considérablement plus complexe. Cependant, détaché du matériel et implémenté dans un logiciel centralisé, il est hautement programmable dans un réseau défini par logiciel et donc beaucoup plus flexible en termes d'administration réseau que les autres architectures.

Comment fonctionne le SDN ?

Une interface de communication spécifique entre le plan de contrôle et le plan de données est nécessaire pour que le logiciel SDN, fonctionnant sur la couche de contrôle, puisse envoyer les instructions pour un trafic de paquets approprié aux composants du réseau intégré. La solution la plus connue pour cela est OpenFlow. Géré par la Open Networking Foundation (ONF), le protocole de communication est la première interface standardisée entre les niveaux de contrôle et de données d'une architecture réseau définie par logiciel. Dans de nombreux réseaux SDN, il remplace les interfaces individuelles des périphériques réseau, ce qui réduit également la dépendance vis-à-vis des fabricants de matériel.

Note

OpenFlow est de loin le protocole le plus utilisé mais en aucun cas le seul pour la gestion des réseaux définis par logiciel : avec NETCONF (RFC 6241), BGP (Border Gateway Protocol), XMPP (Extensible Messaging and Presence Protocol), OVSDB (Open vSwitch Database Management Procotol) et MPLS-TP (MPLS Transport Profile), il existe des alternatives qui ne remplacent pas le protocole standard un à un mais qui peuvent néanmoins jouer un rôle décisif dans la réalisation des réseaux logiciels. Les protocoles propriétaires de Cisco Systems et Nicira sont également utilisés dans certaines architectures.

Une fois la communication entre le matériel et le logiciel établie, l’administrateur peut rapidement et facilement obtenir une bonne vue d'ensemble du réseau via la couche de contrôle et le logiciel SDN correspondant, et gérer les périphériques réseau via la commande centrale logicielle. Cela permet de gérer les flux de données avec beaucoup plus d’efficacité que dans les réseaux où les différents composants ont chacun leur propre logique de contrôle, ce qui simplifie grandement la virtualisation et l’évolutivité des ressources. Ceci est également facilité par le fait que les informations de routage et de topologie ne sont plus distribuées en fragments sur tous les routeurs, mais convergent vers un emplacement central.

Quels sont les modèles SDN disponibles ?

Selon le fournisseur ou l’opérateur et le standard de communication utilisé, les idées et les approches pour mettre en œuvre les structures SDN varient. Cependant, il n’est pas toujours possible de tracer une ligne de démarcation nette entre les différents modèles, de sorte qu’il peut arriver qu’un réseau défini par logiciel comporte des éléments provenant d’approches différentes.

Symétrique vs. asymétrique SDN

Bien que le principe basé sur un logiciel offre fondamentalement la meilleure centralisation possible de l’intelligence des périphériques réseau, il existe des approches SDN où la portée du plan de contrôle est répartie sur plusieurs unités de contrôle. Dans un tel modèle asymétrique, les systèmes individuels disposent en général des informations minimales nécessaires pour un fonctionnement immédiat, de sorte qu’ils fonctionnent même en cas de défaillance de l’unité de commande centrale. Par rapport au modèle symétrique traditionnel, cependant, cela crée également des redondances inutiles d'informations.

 

Principe de base

Avantages

Inconvénients

Approche symétrique du SDN

Centralisation maximale de l'intelligence

Évitement des redondances ; exemption des composants individuels

La disponibilité et la stabilité du réseau sont assurées par l’unité centrale de contrôle

Approche asymétrique du SDN

Diffusion de l‘intelligence

Les différents systèmes fonctionnent même en cas de défaillance de la logique de commande

SDN basé sur l’hôte et SDN basé sur le réseau

SDN basé sur l’hôte et SDN basé sur le réseau

Une autre façon de catégoriser les réseaux définis par logiciel est d’examiner la position de la logique de commande. Dans des environnements hautement virtualisés, par exemple, il est logique que les processus du plan de contrôle soient gérés par le système sur lequel l’hyperviseur, c’est-à-dire le gestionnaire de machine virtuelle, est hébergé. Si vous exécutez le logiciel SDN sur ce système hôte, vous pouvez être sûr que les capacités nécessaires sont disponibles pour la charge de données résultante. L’alternative à cette approche basée sur l’hôte est de distribuer le traitement SDN aux routeurs dédiés comme d’habitude dans les réseaux traditionnels et donc de le gérer en réseau.

SDN Flood-based (proactif) vs. floodless (réactif)

Un troisième modèle de réseautage défini par logiciel se concentre sur la façon dont l'information est transmise entre le plan de contrôle et le plan de données. D’une part, l’instance de contrôle a la possibilité d'envoyer les nouvelles informations et les modifications à tous les nœuds de réseau participant de manière proactive via la technique du routage multicast. Ce concept de SDN dit inondation ou proactif est avantageux lorsque la centralisation du renseignement ne joue aucun rôle, par exemple parce qu’une approche symétrique est poursuivie.

Cependant, plus un réseau compte de nœuds, plus la charge du réseau sera élevée avec un tel concept de transmission de messages, ce qui se traduit par une évolutivité limitée. Dans les grands réseaux, le modèle SDN proactif ou réactif est donc une alternative populaire : le plan de contrôle assure le bon fonctionnement de tous les composants dans ce cas par un transfert d'informationcontrôlé et réactif dans lequel seuls les dispositifs affectés sont serrés. Les informations pertinentes sont généralement obtenues à partir d’articles spéciaux, les tables de correspondance, en utilisant des techniques distribuées de hachage et de mise en cache.

 

Transmission de messages

Avantages

Inconvénients

flood-based SDN

Diffusion, multi-diffusion

Facile à déplacer ; les colis sont expédiés le plus rapidement possible

La charge du réseau augmente automatiquement à chaque nouveau nœud

floodless SDN

Tables de consultation

Tous les appareils reçoivent des informations qui ne concernent qu'eux

Les problèmes de livraison de l'information entraînent automatiquement des retards

Qu’est-ce qui distingue le Software Defined Networking du concept de réseau classique ?

Dans les sections précédentes, les différences fondamentales entre un réseau basé sur l'approche SDN et un réseau classique sont apparues clairement. Le point décisif ici est sans aucun doute la séparation du matériel et du logiciel, qui était impensable il y a des années. Ce n’est que depuis 2013 qu’il existe des dispositifs capables de mettre en œuvre cet aspect élémentaire de la mise en réseau définie par logiciel. Il n’est donc pas surprenant que la technologie d’avenir n’ait pas encore été un problème dans de nombreuses entreprises.

Les sections suivantes résument donc les principales différences entre le SDN et le réseautage traditionnel avant de conclure avec les objectifs et les avantages ainsi que les scénarios d'application concrets du SDN.

Les différences entre le SDN et le réseautage traditionnel dans un tableau récapitulatif

Réseaux définis par logiciel (SDN) Réseautage traditionnel
Autorité de contrôle centralisée Instances de contrôle spécifiques à l'appareil
Séparation claire entre le matériel et le niveau de contrôle Le contrôle du matériel est intégré dans le matériel
Plan de commande librement programmable Plan de commande spécifique à l'appareil
Protocoles standardisés (par ex. via OpenFlow) Protocoles spécifiques au fabricant
Accès logiciel à la couche de données possible L'accès à la couche de données doit se faire directement sur le matériel
Architecture flexible et facilement évolutive Statique, architecture difficile à adapter

Quels sont les objectifs et les avantages du SDN ?

Parallèlement aux exigences en matière de puissance de calcul des ordinateurs, les exigences en matière de performance des réseaux ne cessent d'augmenter : alors que les réseaux numériques deviennent de plus en plus grands et complexes, le degré de virtualisation et le désir d'une flexibilité et d'une évolutivité maximales s'accroissent également en même temps. Etant donné que les appareils conventionnels, qui sont équipés de leur propre intelligence et traitent une grande partie des processus de manière autonome, n'ont pas été en mesure de répondre à ces exigences depuis un certain temps, le concept de réseau défini par logiciel a été développé. Avec du matériel spécifique sans son propre pouvoir de contrôle, ces objectifs doivent être atteints ou les exigences satisfaites. Les avantages par rapport aux réseaux traditionnels peuvent être résumés comme suit :

  • aucune configuration d'appareils individuels ou de systèmes d'exploitation n'est nécessaire
  • faibles coûts de maintenance et d'administration pour l'ensemble du réseau
  • réduction des coûts de matériel et d'exploitation
  • permet l'allocation dynamique et le suivi des ressources en temps réel
  • faible dépendance à l'égard des fabricants de matériel informatique
  • scénarios d'application possibles pour les réseaux définis par logiciel

Scénarios d’application possibles pour les réseaux définis par logiciel

Grâce à ses nombreux avantages par rapport au concept de réseau classique, le SDN est intéressant pour un grand nombre d'applications. Le modèle de réseau défini par logiciel convient, entre autres, pour les applications suivantes :

  • Qualité de service : la vue d'ensemble centrale de tous les nœuds du réseau permet à l'administrateur de suivre plus facilement la fréquence à laquelle une seule connexion est utilisée. Il peut réagir en temps réel aux connaissances acquises et réguler le trafic de données en conséquence afin d'être en mesure de fournir à tout moment la bande passante promise à tous les participants.
  • Gestion des appareils indépendante du fabricant : l’accent mis sur un protocole uniforme tel qu'OpenFlow fait du SDN une excellente solution lorsque des appareils de différents fabricants doivent être combinés et gérés dans un réseau.
  • Extension fonctionnelle du réseau indépendante du fabricant : la liberté de la technologie SDN est également une bonne solution pour les scénarios dans lesquels les réseaux doivent être facilement extensibles avec de nouvelles fonctions à tout moment et l'indépendance des fabricants d'appareils joue également un rôle dans les cartes des utilisateurs.
  • Application-Driven Packet Routing : le SDN crée la base permettant aux applications tierces d'intervenir dans le routage de paquets, c'est-à-dire de modifier et d'ajuster les routes sur le réseau. La condition préalable est que l'unité de commande dispose d'une interface appropriée.
  • Définition et diffusion centralisées des politiques de sécurité : les politiques de sécurité peuvent être transmises simplement et efficacement aux différents commutateurs réseau via l'unité de contrôle centrale.
Note

Avec d'autres services définis par logiciel, des structures de réseau virtualisées sont nécessaires, entre autres, pour mettre en place un Software Defined Data Centers (SDDC), c’est-à-dire un centre de données commandé par logiciel.

En résumé : des architectures réseau flexibles grâce à une mise en réseau définie par logiciel

Ce n'est pas un hasard si l'approche SDN a été adoptée ces dernières années par différents fournisseurs de réseaux : Software Defined Networking optimise l'approche de base de la virtualisation matérielle en supprimant les restrictions spécifiques aux fabricants et en simplifiant considérablement l'administration d'un réseau. Grâce au découplage de la logique du matériel sous-jacent et à la possibilité de contrôler le réseau via un logiciel, les opérateurs de réseau sont idéalement équipés pour faire face aux développements et défis futurs de l'industrie informatique.