Intent-Based Networking, concepts et définitions

Dernière modification le 9 janvier 2022

Les bases de la définition de l’IBN (Intent-Based Networking) ont été posées en décembre 2019 dans le groupe de recherche NMRG (Network Management Research Group) de l’IRTF (Internet Research Task Force). Elle a évolué pendant deux ans et à la date d’écriture de cet article, c’est la version 06 du 15/12/2021 qui est active.

Alors que les réseaux qui acceptent les ordres sous forme d’intentions s’appellent « Intent-Based Networks » (IBN), les systèmes qui permettent cette implémentation se nomment « Intent-Based Systems » (IBS). L’intention se définit comme un ensemble d’objectifs opérationnels qu’un réseau doit atteindre et les résultats qu’un réseau est censé fournir, sans préciser comment les atteindre ou les mettre en œuvre. Le terme « Intent » est apparu la première fois en juin 2015 dans le RFC 7575 « Autonomic Networking ».

L’intention applique plusieurs concepts simultanément :

  • Fournir une abstraction des données : les utilisateurs n’ont pas besoin de s’inquiéter de la configuration de bas niveau des équipements.
  • Fournir une abstraction fonctionnelle : les utilisateurs n’ont pas besoin de se préoccuper de la manière d’atteindre une intention donnée. Ce qui est spécifié est le résultat souhaité, avec l’IBS qui détermine automatiquement un plan d’action (par exemple, en utilisant un algorithme ou en appliquant un ensemble de règles dérivées de l’intention) pour savoir comment atteindre le résultat.

Principes

Les grands principes de fonctionnement suivants permettent de caractériser la nature d’un système basée sur l’intention :

  • Single Source of Truth (SSoT) and Single Version/View of Truth (SVoT)
    La SSoT est une composante essentielle d’un système basé sur l’intention, car elle permet plusieurs opérations importantes. La SSoT et les enregistrements des états opérationnels permettent de comparer les états souhaités et les états réels/opérationnels du système, tout en permettant de déterminer la dérive entre eux pour servir de base aux actions correctives. Si l’IBS est équipé de moyens de prédire les états, il peut développer davantage de stratégies pour anticiper, planifier et agir de manière proactive sur toutes les tendances divergentes, dans le but de minimiser leurs impacts.
  • One-touch but not one-shot
    Dans un système idéal basé sur l’intention, l’utilisateur exprime son intention sous une forme ou une autre, puis le système prend en charge toutes les opérations ultérieures (One-touch). Selon le niveau d’abstraction, les expressions d’intention peuvent initialement contenir plus ou moins de parties implicites, de paramètres imprécis ou inconnus et de contraintes. Le rôle du système basé sur l’intention est d’analyser, comprendre et affiner l’expression d’intention pour atteindre une expression d’intention bien formée et valide qui peut être utilisée utérieurement par le système pour les opérations d’exécution et d’assurance. Le processus d’amélioration de l’intention pourrait utiliser une combinaison d’étapes impliquant l’utilisateur pour valider l’intention proposée et demander des éclaircissements à l’utilisateur au cas où certains paramètres ne pourraient pas être déduits ou appris au moyen du système lui-même. De plus, le système basé sur l’intention devra modérer entre des intentions conflictuelles, aidant les utilisateurs à choisir entre des alternatives d’intentions qui peuvent avoir différentes implications.
  • Autonomy and Supervision
    Un objectif souhaitable pour une approche basée sur l’intention, est d’offrir un degré élevé de flexibilité et de liberté à la fois côté utilisateur et côté système, par exemple en donnant à l’utilisateur la capacité d’exprimer des intentions en utilisant ses propres termes, en soutenant différentes formes d’expression d’intentions et en étant capable d’affiner les expressions d’intention en des expressions bien formées et exploitables. Le double principe d’autonomie et de supervision permet d’exploiter un système qui aura les niveaux d’autonomie nécessaires pour mener à bien ses tâches et ses opérations sans nécessiter l’intervention de l’utilisateur et prendre ses propres décisions, comme comment être performant et répondre aux attentes des utilisateurs en termes de performance et de qualité, tout en offrant le niveau de supervision approprié pour satisfaire les exigences des utilisateurs pour les rapports et les escalades des informations pertinentes.
  • Learning
    Un système basé sur l’intention est un système d’apprentissage. Contrairement à un système de type impératif, dans lequel l’utilisateur définit au préalable le comportement attendu du système à divers événements et conditions, dans un système basé sur l’intention, l’utilisateur déclare seulement ce que le système est censé réaliser et non comment y parvenir. Il y a donc un transfert de raisonnement de l’humain (connaissance du domaine) au système. Ce transfert des capacités cognitives implique également la disponibilité des capacités ou des moyens d’apprentissage, de raisonnement, de représentation et de gestion des connaissances. Les capacités d’apprentissage d’un IBS peuvent s’appliquer à différentes tâches telles que l’optimisation du rendu de l’intention ou le raffinement de l’intention. D’autres capacités cognitives telles que la planification peuvent également être exploitées pour anticiper ou prévoir l’état futur du système et la réponse à des changements dans les intentions ou les conditions de fonctionnement du réseau.
  • Capability exposure
    L’exposition aux capacités consiste à connaître les capacités, les exigences et les contraintes pour pouvoir composer/décomposer les intentions et mapper les attentes de l’utilisateur avec les capacités du système.
  • Abstract and outcome-driven
    Les utilisateurs n’ont pas à s’inquiéter de la façon dont l’intention est atteinte, mais raisonnent plutôt en termes de résultats.

Fonctionnalités

Intent-Based Networking implique une grande variété de fonctions qui peuvent être grossièrement divisées en deux catégories :

  • Intent Fulfillment
    Il fournit des fonctions et des interfaces qui permettent aux utilisateurs de communiquer leur intention au réseau et qui effectuent les actions nécessaires pour s’assurer que l’intention est atteinte. Cette fonction comprend des algorithmes pour déterminer les plans d’action appropriés et des fonctions qui apprennent à optimiser les résultats au fil du temps. En outre, il comprend également des fonctions plus traditionnelles telles que l’orchestration d’opérations de configuration coordonnées à travers le réseau.
  • Intent Assurance
    Elle fournit des fonctions et des interfaces qui permettent aux utilisateurs de valider et de contrôler que le réseau adhère bien et se conforme bien à l’intention. Ceci est nécessaire pour évaluer l’efficacité des actions entreprises dans le cadre de l’accomplissement, fournissant un retour d’information important qui permet de former ces fonctions au fil du temps pour optimiser les résultats. De plus, l’assurance est nécessaire pour lutter contre la « dérive de l’intention ». L’intention n’est pas destinée à être transactionnelle, c’est-à-dire « définir et oublier », mais devrait rester en vigueur dans le temps (sauf autre mention explicite).

Intent Fulfillment

La réalisation de l’intention implique les fonctions qui prennent l’intention dès son origine jusqu’à sa réalisation dans le réseau.

  • Intent Ingestion and Interaction
    Le premier ensemble de fonctions concerne l’obtention de l’intention par le biais d’interactions avec les utilisateurs. Ces fonctions agissent en interaction avec l’utilisateur pour reconnaitre l’intention et l’affiner de telle manière qu’elle devienne exploitable par un IBS. Ces fonctions vont au-delà de celles fournies par une API traditionnelle, bien que des API puissent toujours être fournies. L’objectif est finalement de rendre les IBS aussi faciles et naturels à utiliser que possible, en permettant aux utilisateurs d’interagir avec l’IBS d’une manière qui n’implique pas un apprentissage intensif.
  • Intent Translation
    Un deuxième ensemble de fonctions doit traduire l’intention de l’utilisateur en actions et requêtes à destination du réseau. Ces fonctions sont au cœur de l’IBS, comblant le fossé entre l’interaction avec les utilisateurs d’une part et la gestion traditionnelle des opérations qui devront orchestrer le provisionnement et la configuration du réseau d’autre part.
    Au-delà de la simple décomposition d’une couche d’abstraction supérieure (intention) en une couche d’abstraction inférieure (politiques, configuration des appareils), les fonctions de traduction d’intention peuvent être complétées par des fonctions et algorithmes qui effectuent des optimisations et qui sont capables d’apprendre et de s’améliorer au fil du temps afin d’obtenir les meilleurs résultats.
  • Intent Orchestration
    Un troisième ensemble de fonctions concerne la configuration et les étapes de provisionnement qui doivent être orchestrées à travers le réseau et qui ont été déterminés par l’étape précédente de traduction d’intention.

Intent Assurance

Ce domaine concerne les fonctions nécessaires pour s’assurer que le réseau est bien conforme à l’intention souhaitée une fois qu’elle a été configurée.

  • Monitoring
    Un premier ensemble de fonctions surveille, observe le réseau et son comportement. Cela inclut toutes les fonctions habituelles telles que la surveillance des événements et des performances du réseau, les mesures pour évaluer les niveaux de service qui sont livrés, en générant et en collectant des données de télémétrie.
    La surveillance et l’observation sont nécessaires comme base pour la prochaine série de fonctions qui évaluent si le comportement observé respecte le comportement attendu en fonction de l’intention.
  • Intent Compliance Assessment
    Ces fonctions comparent les comportements du réseau qui est surveillé et observé avec le comportement prévu qui est attendu par l’intention et qui est détenu par la SSoT. Elles évaluent et valident en permanence si les observations indiquent le respect de l’intention. Ceci comprend d’évaluer l’efficacité des actions de réalisation de l’intention, y compris la vérification que les actions ont eu l’effet souhaité et évaluer l’ampleur de l’effet, le cas échéant. Certaines fonctions peuvent effectuer l’analyse et l’agrégation des données d’observation brutes. L’évaluation de la conformité de l’intention comprend également l’évaluation de la dérive qui se produit avec le temps. La dérive de l’intention peut être causée par des configurations non maîtrisées causant, par inadvertance, des changements de comportement qui sont en conflit avec l’intention qui a été orchestrée plus tôt. Les systèmes et réseaux basés sur l’intention doivent être capables de détecter lorsqu’une telle dérive se produit ou est sur le point de se produire, ainsi que d’évaluer la gravité de la dérive.
  • Intent Compliance Actions
    Lorsqu’une dérive d’intention se produit ou que le comportement du réseau est incompatible avec l’intention souhaitée, des fonctions capables de déclencher des actions correctives sont nécessaires. Cela inclut les actions nécessaires pour résoudre la dérive des intentions et remettre le réseau en conformité. Alternativement ou lorsque c’est nécessaire, les fonctions de reporting doivent être déclenchées pour alerter les opérateurs et leur fournir les informations et outils adaptés pour réagir de manière appropriée.
  • Abstraction, Aggregation, Reporting
    Le résultat de l’assurance doit être signalé à l’utilisateur de manière à lui permettre de relier les résultats à son intention. Cela nécessite un ensemble de fonctions capables d’analyser, d’agréger et de résumer les résultats des observations en conséquence. Dans de nombreux cas, des concepts de niveau inférieur tels que des statistiques de performances détaillées et des observations liées aux paramètres de bas niveau, doivent être adaptés aux concepts auxquels l’utilisateur peut s’identifier pour prendre des mesures. La fonctionnalité d’agrégation et d’analyse requise doit être complétée par des fonctions qui signalent l’état de conformité de l’intention et fournissent un résumé et une visualisation adéquats aux utilisateurs.

L’intention est soumise à un cycle de vie : elle se réalise, peut subir des changements au cours du temps et peut, à un moment donné, être rétractée. Ce cycle de vie est étroitement lié à diverses fonctions d’interconnexion qui sont associées au concept d’intention.

IBN Lifecycle
IBN Lifecycle

En inspectant soigneusement le diagramme, il devient évident que le cycle de vie de l’intention implique, en fait, deux cycles, ou boucles :

  • La boucle de contrôle d’intention « interne » (inner) entre IBS et Network Operations, est un espace complètement autonome qui n’implique aucune intervention humaine. Elle représente l’automatisation en boucle fermée (Closed-loop Automation), qui implique l’analyse et la validation automatique de l’intention sur la base des observations à partir de l’espace d’exploitation du réseau. Ces observations sont injectées dans la fonction qui planifie le rendu de l’intention afin de faire les ajustements nécessaires dans la configuration du réseau. La boucle résout et contrecarre toute dérive d’intention qui peut se produire, en utilisant des observations pour évaluer le degré de conformité de l’intention du réseau et en incitant automatiquement à prendre des mesures pour corriger tout écart. De même, la boucle permet d’évaluer l’efficacité de toutes les actions entreprises afin d’apprendre et d’améliorer en permanence la manière dont l’intention doit être rendue afin d’atteindre les résultats souhaités.
  • La boucle de contrôle d’intention « extérieure » (outer) s’étend à l’espace utilisateur. Cela inclut l’action de l’utilisateur et l’ajustement de son intention en fonction des observations et des commentaires de l’IBS. L’intention est ainsi soumise à un cycle de vie : elle naît, peut subir des raffinements, des modifications, des changements de temps, et peut même à un moment donné se rétracter.