L'industrie des réseaux se développe depuis une vingtaine d'années sur la base d'un modèle où les routeurs assurent à la fois le contrôle de la topologie du réseau (c'est-à-dire l'accomplissement des fonctions de routage) et le transfert des paquets. La gestion de la topologie s'accompagne souvent d'une charge de calcul signi cative. Par exemple, le protocole de routage OSPF exige de chaque routeur un travail important chaque fois qu'une modi cation topologique du réseau lui est signalée. Ce calcul est en e et nécessaire pour appliquer l'algorithme de Dijkstra, qui permet de déterminer les routes optimales vers les hôtes distants.
Un paradigme alternatif, cependant, attire actuellement l'attention d'un nombre croissant d'acteurs du marché. Le SDN 1 se caractérise par la séparation physique du plan de contrôle et du plan de données, ainsi que la centralisation des fonctions de contrôle. Administration mise à part, le fonctionnement d'un routeur traditionnel est reproduit grâce à deux types d'outil distincts. Un contrôleur, d'une part, est chargé du calcul et de la mise à jour des tables de routage de plusieurs équipements, d'autre part. Ces dispositifs, que l'on appellera abusivement switchs, sont responsables du transfert des paquets d'une interface à une autre en fonction des règles établies par le contrôleur. OpenFlow est une des solutions développées pour permettre la communication entre contrôleurs et switchs.
Dans une approche SDN, la charge de calcul associée au contrôle est en grande partie retirée des routeurs. La gure 1 illustre le routage d'un paquet entre deux réseaux distants via une implémentation de SDN avec le protocole OpenFlow. Les routeurs discriminent les paquets et déterminent leur interface de sortie, mais ce comportement découle de règles émises par le contrôleur. Le routeur qui réceptionne le paquet de l'envoi (1) signale l'évènement au contrôleur et reçoit en retour des règles au cours d'un échange (2), a n de décider du transfert (3) vers le routeur suivant approprié. Ce comportement est dit réactif ; un comportement proactif consisterait en la transmission de règles avant que le routeur ne reçoive les paquets associés. Les routeurs e ectuent ainsi essentiellement des fonctions de commutation d'où la désignation de switchs OpenFlow