Les réseaux IP, qui initialement étaient sans garantie, supportent plus de services à valeur ajoutée nécessitant des ajouts technologiques à la couche protocolaire IP de base. Les réseaux IP ont toujours été configurés et opérés par des humains alors que la complexité des technologies, des services mis en jeu, et la rapidité de livraison de ces services ne fait que croître. Aujourd’hui flexibilité, agilité et rapidité sont les maîtres mots client, nécessitant de rendre le réseau plus programmable par la mise en place d’interfaces entre les applications et le réseau. Ces interfaces et les architectures afférentes prennent diverses formes selon les cas d’usage visés. Ce concept de programmation n’est pas un concept lié à IP mais peut être déclinable sur d’autres types de réseaux.