gNMI - gRPC Network Management Interface ========================================= .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is gNMI?** gNMI (gRPC Network Management Interface) is a protocol developed by OpenConfig for network management. It allows clients to retrieve and modify configuration, and to receive telemetry data from network devices using gRPC. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is gNMI useful?** gNMI is useful for modern network automation and telemetry because it provides a unified interface for both configuration and streaming updates, using efficient and secure communication over gRPC. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** gNMI works by defining a set of RPC (Remote Procedure Call) methods using gRPC. Clients connect to devices to perform operations like Get, Set, and Subscribe (for telemetry), all using structured, model-driven data. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is gNMI used?** gNMI is used in modern network infrastructures, particularly in service providers, data centers, and enterprises adopting network automation and model-driven configuration. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** gNMI operates at the Application Layer (Layer 7) of the OSI model, as it involves application-level management and configuration. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is gNMI Windows specific?** No, gNMI is not Windows specific. While client tools can run on Windows, gNMI is used across platforms and is designed to manage network devices regardless of their underlying OS. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is gNMI Linux specific?** No, gNMI is not Linux specific. It is widely used on Linux-based systems and network operating systems, but it is platform-independent in design. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by gNMI?** gNMI uses HTTP/2 over **TCP** as the transport protocol, implemented via **gRPC**, which provides bidirectional streaming and efficient communication. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by gNMI?** gNMI does not have a fixed standard port, but commonly uses **TCP port 57400**. However, this can be configured based on the vendor or deployment. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is gNMI using client-server model?** Yes, gNMI follows the client-server model where the **client** (usually a controller or management system) interacts with the **server** (network device) to retrieve or configure data. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`gNMI Version&IEEE Details ` * :ref:`gNMI Basic Setup on Ubuntu using IPv4 ` * :ref:`gNMI Basic Setup on Ubuntu using IPv6 ` * :ref:`gNMI Protocol Packet Details ` * :ref:`gNMI Usecases ` * :ref:`gNMI Basic Features ` * :ref:`Reference links ` .. _gNMI_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _gNMI_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _gNMI_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _gNMI_step5: .. tab-set:: .. tab-item:: gNMI Version&RFC Details * rfc details .. _gNMI_step18: .. tab-set:: .. tab-item:: gNMI Basic Setup on Ubuntu using IPv4 * setup .. _gNMI_step19: .. tab-set:: .. tab-item:: gNMI Basic Setup on Ubuntu using IPv6 * setup .. _gNMI_step6: .. tab-set:: .. tab-item:: gNMI Protocol Packet Details * packet details .. _gNMI_step7: .. tab-set:: .. tab-item:: gNMI Usecases * usecases .. _gNMI_step8: .. tab-set:: .. tab-item:: gNMI Basic Features * features .. _gNMI_step17: .. tab-set:: .. tab-item:: Reference links * Reference links