Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción de los servicios de gRPC para administrar dispositivos de red

Las aplicaciones cliente de gRPC pueden usar los servicios de red de gRPC definidos en las interfaces de red de OpenConfig (gNMI, gNOI, gRIBI) para administrar los dispositivos de red compatibles.

Beneficios de los servicios de red de gRPC

  • Proporcione interfaces simples e independientes de los proveedores para administrar los dispositivos de red.
  • Permitirle administrar redes de múltiples proveedores más fácilmente a gran escala.
  • Use el marco de llamadas de procedimiento remoto gRPC para el transporte y los búferes de protocolo para definiciones y codificación de servicios, los cuales proporcionan un transporte eficiente y un procesamiento rápido.

Descripción de OpenConfig

OpenConfig es un esfuerzo colaborativo en la industria de las redes para avanzar hacia un método más dinámico y programable para configurar y administrar redes de múltiples proveedores. OpenConfig admite el uso de definiciones de servicio y modelos de datos independientes del proveedor para gestionar y configurar la red. Las definiciones de servicio definen operaciones comunes ejecutadas en dispositivos de red y los modelos de datos definen la configuración y el estado operativo de los dispositivos de red para protocolos o servicios de red comunes.

Los operadores con una red de múltiples proveedores se benefician enormemente del uso de modelos y especificaciones estándar de la industria. El objetivo de OpenConfig es que los operadores puedan usar un único conjunto de datos, modelos y operaciones para configurar y administrar todos los dispositivos de red que admiten la iniciativa OpenConfig. El grupo de trabajo OpenConfig ha desarrollado especificaciones para interfaces basadas en gRPC para administrar la configuración, las operaciones y los flujos de telemetría en dispositivos de red, que ofrecen ventajas sobre otros protocolos de administración de red tradicionales.

Descripción general de los servicios basados en gRPC

gRPC es un marco de llamada de procedimiento remoto (RPC) de código abierto que fue desarrollado originalmente por Google. gRPC usa HTTP/2 para el transporte y admite mecanismos de seguridad modernos y transmisión bidireccional. gRPC utiliza el formato de datos Protocol Buffers para definir servicios y codificar datos. Protocol Buffers es independiente del idioma y admite enlaces para muchos idiomas diferentes, lo que permite a los operadores integrar fácilmente servicios basados en gRPC en las aplicaciones de administración existentes.

El grupo de trabajo de OpenConfig ha definido especificaciones para protocolos de administración de red basados en gRPC. Los servicios de red basados en gRPC incluyen:

  • Interfaz de administración de red gRPC (gNMI): servicio único para administración de configuración y telemetría de transmisión.

  • Interfaz de operaciones de red gRPC (gNOI): conjunto de microservicios para la administración de operaciones.

  • Interfaz de base de información de enrutamiento gRPC (gRIBI): servicio que permite a las aplicaciones externas agregar o eliminar mediante programación entradas en una tabla de enrutamiento en el dispositivo de destino.

La Fig. 1 ilustra el alcance de los diferentes servicios.

Figura 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. de red gRPC

Descripción general de gNMI, gNOI y gRIBI

gNMI proporciona un único servicio para la administración del estado de los elementos de red. gNMI utiliza modelos de datos independientes del proveedor que definen la configuración y el estado operativo de los dispositivos de red para protocolos o servicios de red comunes. Los clientes gNMI pueden recuperar y modificar la configuración de un dispositivo de red, así como transmitir datos operativos. Los operadores monitorean la red suscribiéndose a los objetos de datos específicos de interés. gNMI también admite la transmisión en cambio , que es fundamental para operaciones urgentes.

Para obtener más información sobre el uso de gNMI para la administración de la configuración y la transmisión de telemetría en dispositivos Junos, consulte:

Mientras que gNMI se encarga de la gestión del estado, gNOI se encarga de la gestión de las operaciones. gNOI es una colección de microservicios basados en gRPC para realizar operaciones comunes en dispositivos de red. Cada definición de servicio define las RPC que las aplicaciones de administración pueden ejecutar en un dispositivo para realizar un conjunto de operaciones, por ejemplo, reiniciar un dispositivo o actualizar el software. Para obtener una lista de los servicios de gNOI compatibles, consulte Descripción general de los servicios de gNOI.

gRIBI proporciona un servicio único para administrar la base de información de enrutamiento del dispositivo de red (RIB, también conocida como tabla de enrutamiento) y la base de información de reenvío (FIB, también conocida como tabla de reenvío). Las aplicaciones de administración pueden ejecutar RPC de gRIBI en un dispositivo para recuperar, agregar, modificar o eliminar rutas de la RIB o FIB del dispositivo. Para obtener más información acerca de las RPC de gRIBI compatibles, consulte gRIBI.

gNMI, gNOI y gRIBI usan gRPC para el transporte, y la conexión entre el servidor gRPC y el cliente gRPC se realiza a través de una sesión gRPC cifrada SSL. Por ejemplo, la Figura 2 ilustra una conexión simple entre un cliente y un servidor de gRPC. Juniper Networks admite tanto la autenticación solo de servidor como la autenticación mutua para la sesión gRPC, que utiliza certificados X.509 para autenticar el dispositivo o la aplicación. Los certificados pueden estar firmados por una autoridad de certificación (AC) o autofirmados.

Figura 2: Interacción del servidor y el cliente de gRPC gRPC Server and Client Interaction

gNMI, gNOI y gRIBI definen servicios para administrar dispositivos de red. Cada definición de servicio define las operaciones (RPC) y las estructuras de datos (mensajes) para ese servicio específico en archivos de definición de proto. Las estructuras de datos se definen mediante búferes de protocolo, que es un formato de datos de código abierto y neutral del idioma para serializar datos estructurados. Usted usa protoc o un compilador equivalente para compilar los archivos proto para el lenguaje de su elección. Las aplicaciones de administración pueden usar el código de los archivos compilados para realizar las operaciones solicitadas en los dispositivos de red. En la tabla 1 se describen los repositorios de GitHub que contienen los archivos de definición de prototipo para cada interfaz de servicio.

Tabla 1: Repositorios de GitHub de gNMI, gNOI y gRIBI
Interfaz Repositorio de GitHub

gNMI

openconfig/gnmi

gNOI

openconfig/gnoi

gRIBI

openconfig/gribi

Los servicios de red basados en gRPC ofrecen alternativas y ventajas sobre otros protocolos de administración de red, como NETCONF y RESTCONF. Dado que puede compilar los archivos de definición de prototipo para muchos lenguajes diferentes, puede integrar fácilmente los servicios con las aplicaciones de administración existentes para administrar redes de varios proveedores. Además, el uso de búferes de protocolo para la serialización de datos generalmente proporciona un transporte más eficiente y un procesamiento más rápido que otros formatos de serialización como JSON y XML.