Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Comprendre les services gRPC pour la gestion des équipements réseau

Les applications clientes gRPC peuvent utiliser les services réseau gRPC définis dans les interfaces réseau OpenConfig (gNMI, gNOI, gRIBI) pour gérer les périphériques réseau pris en charge.

Avantages des services réseau gRPC

  • Fournissez des interfaces simples et indépendantes des fournisseurs pour gérer les équipements réseau.
  • Vous permettre de gérer plus facilement des réseaux multifournisseurs à grande échelle.
  • Utilisez le framework d’appel de procédure à distance gRPC pour le transport et les tampons de protocole pour définir et encoder les services, ce qui fournit un transport efficace et un traitement rapide.

Comprendre OpenConfig

OpenConfig est le fruit d’une collaboration dans le secteur des réseaux visant à adopter une méthode plus dynamique et programmable de configuration et de gestion des réseaux multifournisseurs. OpenConfig prend en charge l’utilisation de définitions de services et de modèles de données indépendants des fournisseurs pour gérer et configurer le réseau. Les définitions de service définissent les opérations courantes exécutées sur les équipements réseau, tandis que les modèles de données définissent la configuration et l’état opérationnel des équipements réseau pour les protocoles ou services réseau courants.

Les opérateurs disposant d’un réseau multifournisseur bénéficient grandement de l’utilisation de modèles et de spécifications standardisés. L’objectif d’OpenConfig est que les opérateurs puissent utiliser un seul ensemble de modèles de données et d’opérations pour configurer et gérer tous les équipements réseau qui prennent en charge l’initiative OpenConfig. Le groupe de travail OpenConfig a développé des spécifications pour les interfaces basées sur gRPC pour la gestion de la configuration, des opérations et des flux de télémétrie sur les équipements réseau, qui offrent des avantages par rapport aux autres protocoles de gestion de réseau traditionnels.

Présentation des services basés sur gRPC

gRPC est un framework d’appel de procédure à distance (RPC) open source qui a été développé à l’origine par Google. gRPC utilise HTTP/2 pour le transport et prend en charge les mécanismes de sécurité modernes et le streaming bidirectionnel. gRPC utilise le format de données Protocol Buffers pour définir les services et encoder les données. Protocol Buffers est indépendant des langages et prend en charge des liaisons pour de nombreux langages différents, ce qui permet aux opérateurs d’intégrer facilement des services basés sur gRPC dans des applications de gestion existantes.

Le groupe de travail OpenConfig a défini les spécifications des protocoles de gestion de réseau basés sur gRPC. Les services réseau basés sur gRPC comprennent :

  • gRPC Network Management Interface (gNMI) : service unique pour la gestion de la configuration et la télémétrie en streaming.

  • gRPC Network Operations Interface (gNOI) : suite de microservices pour la gestion des opérations.

  • gRPC Routing Information Base Interface (gRIBI) : service qui permet aux applications externes d’ajouter ou de supprimer par programmation des entrées dans une table de routage sur l’équipement cible.

La figure 1 illustre la portée des différents services.

Figure 1 : interfaces gRPC interfaces gRIBI, gNMI, and gNOI roles in network device management. gRIBI focuses on Routing Information Base access. gNMI handles configuration and operational state. gNOI manages operational commands like diagnostics and updates. réseau gRPC

Présentation de gNMI, gNOI et gRIBI

gNMI fournit un service unique pour la gestion de l’état des éléments du réseau. gNMI utilise des modèles de données indépendants des fournisseurs qui définissent la configuration et l’état opérationnel des équipements réseau pour des protocoles ou services réseau communs. Les clients gNMI peuvent récupérer et modifier la configuration d’un équipement réseau et diffuser des données opérationnelles. Les opérateurs surveillent le réseau en s’abonnant aux objets de données spécifiques qui les intéressent. gNMI prend également en charge le streaming sur changement , ce qui est essentiel pour les opérations critiques.

Pour plus d’informations sur l’utilisation de gNMI pour la gestion de la configuration et la diffusion en continu de télémétrie sur les équipements Junos, consultez :

Alors que gNMI gère la gestion de l’état, gNOI gère la gestion des opérations. gNOI est un ensemble de microservices basés sur gRPC permettant d’effectuer des opérations courantes sur les équipements réseau. Chaque définition de service définit les CPR que les applications de gestion peuvent exécuter sur un appareil pour effectuer un ensemble d’opérations, par exemple le redémarrage d’un appareil ou la mise à niveau du logiciel. Pour obtenir la liste des services gNOI pris en charge, consultez Présentation des services gNOI.

gRIBI fournit un service unique pour gérer la base d'informations de routage (RIB, également appelée table de routage) et la base d'informations de transfert (FIB, également appelée table de transfert) de l'équipement réseau. Les applications de gestion peuvent exécuter des RPC gRIBI sur un appareil pour récupérer, ajouter, modifier ou supprimer des routes à partir du RIB ou de la FIB de l'équipement. Pour plus d’informations sur les RPC gRIBI pris en charge, consultez gRIBI.

gNMI, gNOI et gRIBI utilisent gRPC pour le transport, et la connexion entre le serveur gRPC et le client gRPC se fait via une session gRPC cryptée par SSL. Par exemple, la figure 2 illustre une connexion simple entre un client et un serveur gRPC. Juniper Networks prend en charge l’authentification serveur uniquement et l’authentification mutuelle pour la session gRPC, qui utilise des certificats X.509 pour authentifier l’appareil ou l’application. Les certificats peuvent être signés par une autorité de certification (AC) ou auto-signés.

Figure 2 : Interaction gRPC Server and Client Interaction serveur-client gRPC

gNMI, gNOI et gRIBI définissent des services de gestion des équipements réseau. Chaque définition de service définit les opérations (RPC) et les structures de données (messages) pour ce service spécifique dans des fichiers de proto-définition. Les structures de données sont définies à l’aide de Protocol Buffers, un format de données open source indépendant permettant de sérialiser des données structurées. Vous utilisez protoc ou un compilateur équivalent pour compiler les fichiers proto pour la langue de votre choix. Les applications de gestion peuvent utiliser le code contenu dans les fichiers compilés pour effectuer les opérations demandées sur les équipements réseau. Le Tableau 1 présente les dépôts GitHub contenant les fichiers de proto-définition pour chaque interface de service.

Tableau 1 : référentiels GitHub gNMI, gNOI et gRIBI
Interface utilisateur Référentiel GitHub

gNMI

openconfig/gnmi

gNOI

openconfig/gnoi

gRIBI

openconfig/gribi

Les services réseau basés sur gRPC offrent des alternatives et des avantages par rapport à d’autres protocoles de gestion de réseau tels que NETCONF et RESTCONF. Comme vous pouvez compiler les fichiers de proto-définition pour de nombreux langages différents, vous pouvez facilement intégrer les services aux applications de gestion existantes pour gérer les réseaux multifournisseurs. De plus, l’utilisation de tampons de protocole pour la sérialisation des données offre généralement un transport plus efficace et un traitement plus rapide par rapport à d’autres formats de sérialisation tels que JSON et XML.