📡

Introduction to Network Automation

Jul 4, 2024

Fundamentals of Network Automation

Introduction

  • Presenter: Kevin Wallace
  • Recording of a live Cyber Monday 2022 event
  • Objective: Introduction to network automation, practical demonstrations, and hands-on

Network Automation Certifications

  • Cisco DevNet Associate
    • Recommended for beginners
    • Includes a practical exam and Cisco handling eBook
  • Cisco DevNet Professional
    • For those who already have DevNet Associate
  • Cisco DevNet Expert
    • For advanced developers

Software Defined Networking (SDN)

  • Traditional networks: routers, switches, firewalls with distributed data, control, and management planes
  • SDN Controller: Centralized control replaces distributed control
  • Network Intent: Expression of global configurations
    • Uses Yang data model

Interfaces and APIs

  • South Bound Interfaces (SBIs): Communication between SDN controller and devices
  • North Bound Interfaces (NBIs): Communication between applications and SDN controller
  • REST APIs: Uses HTTP verbs (GET, POST, PUT, DELETE) for configuration
  • Restconf: Uses JSON or XML
  • Netconf: Only uses XML

Postman for Automation

  • Postman: Tool to send HTTP verbs to devices
  • Example: Obtaining list of interfaces using GET
  • Practice location: Cisco DevNet Sandbox

YANG Data Model

  • IETF Standard
  • Models network configurations vendor-agnostically
  • YANG Components: Read/write and read-only containers

Python Programming

  • Python Installation: Recommended version 3.X
  • Data Types: Integers, floats, strings, lists, dictionaries, booleans
  • Conditionals and Loops
    • IF, FOR loops
  • Integrated Development Environment (IDLE)
  • File Handling: Read and write from/to external files

Using Python for Network Automation

  • Postman: Useful for testing and demonstrations but not for repetitive configurations
  • Python Script: Automate specific configurations
    • Import libraries (requests, JSON)
    • Modify example script from GitHub
  • Example: Adding a loopback interface to a router using Python

Recommended Reading

  • "Learn Python in One Day and Learn It Well"
  • "Python Crash Course" by Eric Matthews

Conclusion

  • Covered: Benefits of SDN, use of Postman and Python for network automation
  • Expected outcome: Ability to perform network configuration automation using Restconf and Python