With dial-out mode, a network device dials out and sends the initial SYN packet to start the TCP connection to the receiver. This is the default mode of operation. In this mode, the network device acts as the client, and the receiver acts as the server. The network device continually attempts to establish a session and stream data to the receiver that has a valid subscription. The dial-out mode of subscriptions is persistent. If a session terminates for some reason, the network device continuously tries to establish a new session with the receiver every 30 seconds.
When using TCP dial-out, open a TCP socket on your receiver, and the network device starts the three-way TCP handshake and starts pushing telemetry data across the session. No complicated programming libraries are required on the receiver. If you are using Python, you need a simple bind command for the port. TCP dial-out takes advantage of the benefits of TCP, such as reliability, fragmentation, and reordering, and is a great place to start with model-driven telemetry.
References and Recommended Readings
RFC 3535: Overview of the 2002 IAB Network Management Workshop, https://tools.ietf.org/html/rfc3535
RFC 4741: Network Configuration Protocol (NETCONF), https://tools.ietf.org/html/rfc4741
RFC 6020: YANG, A Data Modeling Language for the Network Configuration Protocol, https://tools.ietf.org/html/rfc6020
RFC 6241: Network Configuration Protocol (NETCONF), https://tools.ietf.org/html/rfc6241
RFC 8040: RESTCONF Protocol, https://tools.ietf.org/html/rfc8040
Benoit Claise, “NETCONF Versus RESTCONF,” https://www.claise.be/netconf-versus-restconf-capabilitity-comparisons-for-data-model-driven-management-2/
Cisco, “Advanced Topics in Cisco IOS Telemetry,” https://www.ciscolive.com/c/dam/r/ciscolive/us/docs/2019/pdf/BRKSPG-2503.pdf
Cisco, “Coding 1001: Intro to APIs and REST,” https://www.ciscolive.com/c/dam/r/ciscolive/emea/docs/2018/pdf/DEVNET-3607.pdf
Cisco, “Data Models Configuration Guide,” https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/datamodels/configuration/xe-16/data-models-xe-16-book/yang-netconf.html
Cisco, “Getting Started with Model-Driven Programmability on Cisco Nexus 9000 Series Switches White Paper,” https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/white-paper-c11-741518.html
Cisco, “Getting the ‘YANG’ of It with Standard Data Models,” https://developer.cisco.com/video/net-prog-basics/02-network_device_apis/yang
Cisco, “A Model-Driven Approach to SDN with YANG, NETCONF/RESTCONF,” https://www.ciscolive.com/c/dam/r/ciscolive/us/docs/2015/pdf/BRKSDN-1903.pdf
Cisco, “Cisco Nexus 9000 Series NX-OS Programmability Guide, Release 9.2(x),” https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/92x/programmability/guide/b-cisco-nexus-9000-series-nx-os-programmability-guide-92x/b-cisco-nexus-9000-series-nx-os-programmability-guide-92x_chapter_0100011.html
Cisco, “Model-Driven Programmability,” https://www.cisco.com/c/dam/m/en_us/service-provider/ciscoknowledgenetwork/files/586_05_03-16-saalvare-xr-mdp-ckn-may-2016-v8.pdf
IETF, https://ietf.org
Openconfig, http://openconfig.net/
Designing Cisco Enterprise Network (ENSLD 1.1) course
gNMI Protocol, https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/prog/configuration/168/b_168_programmability_cg/gNMI_protocol.pdf
Exam Preparation Tasks
You have a couple of choices for exam preparation: the following review sections, Chapter 13, “Final Preparation,” and the exam practice questions on the companion website.