Book Image

Network Programming and Automation Essentials

By : Claus Töpke
Book Image

Network Programming and Automation Essentials

By: Claus Töpke

Overview of this book

Network programming and automation, unlike traditional networking, is a modern-day skill that helps in configuring, managing, and operating networks and network devices. This book will guide you with important information, helping you set up and start working with network programming and automation. With Network Programming and Automation Essentials, you’ll learn the basics of networking in brief. You’ll explore the network programming and automation ecosystem, learn about the leading programmable interfaces, and go through the protocols, tools, techniques, and technologies associated with network programming. You’ll also master network automation using Python and Go with hands-on labs and real network emulation in this comprehensive guide. By the end of this book, you’ll be well equipped to program and automate networks efficiently.
Table of Contents (16 chapters)
1
Part 1: Foundations for Network Automation
6
Part 2: Network Programming for Automation
11
Part 3: Testing, Hands-On, and Going Forward

Employing NETCONF

The Network Configuration Protocol (NETCONF) is a network management protocol developed and standardized by the IETF in 2006. It provides mechanisms to install, manipulate, and delete the configuration of network devices.

NETCONF operations are implemented on top of a Remote Procedure Call (RPC) layer. The NETCONF protocol uses Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The protocol messages can also be exchanged on top of a secure transport protocol such as SSH (RFC 6242) or using TLS (RFC 7589).

Motivation

Up until the early part of the 21st century, the only management protocol available from IETF was SNMP, which was developed in the late 1980s. It became clear that despite what was originally intended, SNMP was not being used to configure network equipment and was mainly being used for gathering network device information (as we have seen previously). The reasons are various, but mainly...