gNMI (gRPC Network Management Interface) ist ein modernes Netzwerk-Protokoll aus dem OpenConfig-Umfeld, mit dem sich Geräte wie Router und Switches konfigurieren und vor allem ihre Betriebsdaten abonnieren lassen. Statt Klartext-Befehlen über Telnet/SSH nutzt gNMI binäre gRPC-Nachrichten, die auf HTTP/2 übertragen und als Protobuf kodiert werden — kompakt, typsicher und für viele parallele Verbindungen geeignet.
RPCs und Subscribe-Modi
gNMI kennt vier zentrale RPCs: Capabilities (unterstützte Pfade/Modelle abfragen), Get (Zustandsdaten lesen), Set (Konfiguration schreiben/replazieren) und Subscribe (Datenströme abonnieren). Genau Subscribe macht gNMI zur Basis moderner Telemetrie: Ein Client abonniert Pfade im YANG-Datenbaum und erhält Updates ohne erneutes Nachfragen. Die Modi ONCE (einmalige Abfrage), POLL (wiederholtes Abfragen auf einem offenen Kanal) und STREAM (kontinuierlicher Datenstrom mit Sample-Intervall oder bei Änderung, on-change) decken Polling wie Push ab. Zusätzliche Optionen wie suppress-redundant und heartbeat-interval reduzieren unnötige Updates.
Abgrenzung zu NETCONF
Während NETCONF über SSH auf XML basiert und transaktionale Konfiguration (candidate/commit) betont, liegt die Stärke von gNMI im effizienten, latenzarmen Streaming von Betriebsdaten. gNMI teilt sich mit NETCONF und RESTCONF die YANG-Datenmodelle — viele Geräte sprechen beide Welten. Typische gNMI-Befehle führt man mit dem Client gNMIc aus; weitere Tools sind gnxi und Telegraf-Collector. Verwandte Grundlagen: OpenConfig, Streaming-Telemetrie.