Transport Protocol The protocol that is used for the connection between a publisher and a receiver decides how the data is sent. This protocol is referred to as the transport protocol, and is independent of the management protocol for configured subscriptions. The transport protocol affects both the encoding of the data, for example XML, Google Protocol Buffers (GPB) and the format of the update notification itself. The stream that is chosen may also affect the format of the update notification. Note Supported transport protocols are gNMI, gRPC, and NETCONF.
NETCONF Protocol The NETCONF protocol is available only for the transport of dynamic subscriptions, and can be used with yang-push and yang-notif-native streams. Three update notification formats are used when using NETCONF as the transport protocol: • When the subscription uses the yang-push stream, and if it is periodic or when the initial synchronization update notification is sent on an on-change subscription. • When the subscription uses the yang-push stream and it is an on-change subscription, other than the initial synchronization update notification. • When the subscription uses the yang-notif-native stream.
The yang-push Format When the yang-push source stream is sent over NETCONF as a transport with XML encoding, two update notification formats are defined. These update notification formats are based on the draft-ietf-netconf-yang-push-07 . For more information, see section 3.7 of the IETF draft. The yang-notif-native Format When the source stream is yang-notif-native , the format of the update notification when encoded in XML over NETCONF is as defined by RFC 7950 . For more information, see section 7.16.2 of the RFC. Unlike the formats for the yang-push stream, the subscription ID is not found in the update notification.
gRPC Protocol The gRPC protocol is available only for the transport of configured subscriptions, and can be used with yang-push and yang-notif-native streams. Only kvGPB encoding is supported with gRPC transport protocol. Receiver connection retries based on gRPC protocol (exponential back-off) are supported. For telemetry messages defined in .proto files, see: mdt_grpc_dialout.proto and telemetry.proto . Mutual Authentication for gRPC Telemetry gRPC is one of the supported dial-out protocols used to transmit telemetry data. For dial-out protocols, the device is considered the client and the collector, the server . gRPC supports both unencrypted TCP and encrypted TLS-based connections.
Model-Driven Telemetry Transport Protocol Model-Driven Telemetry 40