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 périphériques réseau

RÉSUMÉ Les applications clientes gRPC peuvent utiliser les services réseau gRPC, y compris les opérations gNOI et les services 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 la gestion des équipements réseau.
  • Vous permet de gérer plus facilement des réseaux multifournisseurs à grande échelle.
  • Utilisez le framework d’appel de procédure distante gRPC pour le transport et les tampons de protocole pour les définitions et le codage des services, qui garantissent un transport efficace et un traitement rapide.

Présentation d’OpenConfig

OpenConfig est le fruit d’une collaboration dans le secteur des réseaux visant à évoluer vers 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 service et de modèles de données indépendants du fournisseur pour gérer et configurer le réseau. Les définitions de service définissent les opérations courantes exécutées sur les périphériques 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 standard de l’industrie. L’objectif d’OpenConfig est que les opérateurs puissent utiliser un ensemble unique de modèles de données et d’opérations pour configurer et gérer tous les périphériques 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 permettant de gérer la configuration, les opérations et les flux de télémétrie sur les périphériques 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 RPC (Remote Procedure Call) open source développé à l’origine par Google. gRPC utilise HTTP/2 pour le transport et prend en charge les mécanismes de sécurité modernes ainsi que le streaming bidirectionnel. gRPC utilise le format de données Protocol Buffers pour définir les services et coder les données. Protocol Buffers est indépendant du langage et prend en charge les liaisons pour de nombreux langages différents, ce qui permet aux opérateurs d’intégrer facilement des services basés sur gRPC dans les applications de gestion existantes.

Le groupe de travail OpenConfig a défini des spécifications pour les 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 programme 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 Network Interfaces réseau gRPC

Présentation des services 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 périphériques réseau pour les protocoles ou services réseau courants. Les clients gNMI peuvent récupérer et modifier la configuration d’un périphérique réseau ainsi que 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 flux de change , ce qui est essentiel pour les opérations urgentes.

Pour plus d’informations sur l’utilisation de gNMI pour la gestion de la configuration et le streaming télémétrique sur les équipements Junos, voir :

Alors que gNMI gère la gestion des états, 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 périphériques réseau. Chaque définition de service définit des appels de procédure distante (RPC) que les applications de gestion peuvent exécuter sur un périphérique pour effectuer un ensemble d’opérations, par exemple, le redémarrage d’un périphérique, la mise à niveau du logiciel ou la rotation d’un certificat. Pour obtenir la liste des services gNOI pris en charge, consultez Présentation des services gNOI.

gRIBI est un service unique de gestion de la base d’informations de routage (RIB, également appelée table de routage) et de la base d’informations de transfert (FIB, également appelée table de transfert) des périphériques réseau. Les applications de gestion peuvent exécuter des RPC gRIBI sur un périphérique pour récupérer, ajouter, modifier ou supprimer des routes du RIB ou 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 s’effectue via une session gRPC chiffrée SSL. Par exemple, la figure 2 illustre une connexion simple entre un client gNOI et un serveur. 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 ou auto-signés.

Figure 2 : Interaction entre le serveur et le client gNOI gNOI Server and Client Interaction

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 de la langue pour la sérialisation de données structurées. Vous utilisez protoc un compilateur équivalent pour compiler les fichiers proto pour le langage de votre choix. Les applications de gestion peuvent utiliser le code des fichiers compilés pour effectuer les opérations demandées sur les périphériques réseau. Le tableau 1 indique les emplacements des dépôts GitHub gNMI, gNOI et gRIBI contenant les fichiers de définition proto.

Tableau 1 : référentiels gNMI, gNOI et gRIBI
Interface Référentiel GitHub
gNMI openconfig/gnmi
gNOI openconfig/gnoi
gRIBI openconfig/gribi

gNMI, gNOI et gRIBI offrent des alternatives et des avantages par rapport à d’autres protocoles de gestion de réseau tels que NETCONF et RESTCONF. Étant donné que gNMI, gNOI et gRIBI sont des services basés sur gRPC et que les fichiers de définition de proto peuvent être compilés pour de nombreux langages différents pris en charge, les services peuvent être facilement intégrés aux applications de gestion existantes pour gérer les réseaux multifournisseurs. En outre, 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.