8420  Reviews star_rate star_rate star_rate star_rate star_half

Network Programming and Administration using Python

This Network Programming and Administration using Python training course teaches attendees how to create TCP/IP client and server programs using multi-tasking and multi-threading in Python. Students...

Read More
Duration 3 days
Course Code PYTH-210
Available Formats Classroom

Overview

This Network Programming and Administration using Python training course teaches attendees how to create TCP/IP client and server programs using multi-tasking and multi-threading in Python. Students learn how to use Paramiko, Netmiko, and NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) libraries and functions to obtain network device and configuration information, automate SSH tasks to communicate with network devices, and automate network device configurations changes.

Skills Gained

  • Learn sufficient Python programming skills to write programs that manage and configure network devices
  • Write robust code for multi-tasking and multi-threaded operations
  • Install and use Paramiko, Netmiko, and NAPALM capabilities for managing and configuring network devices
  • Acquire network device information
  • Automate changes to network device configurations

Prerequisites

Participants must be working systems and/or network administrators/engineers/technicians with some experience with fundamental Linux utilities and commands. Python programming experience and working knowledge of a vendor-specific network device (CLI) are useful but not essential.

Course Details

Training Materials

All Python programming training students receive comprehensive courseware covering all topics in the course.

Software Requirements

Attendees will not need to install any software on their computers for this class. The class will be conducted in a remote environment that Ascendient Learning will provide; students will only need a local computer with a web browser and a stable Internet connection. Any recent version of Microsoft Edge, Mozilla Firefox, or Google Chrome will work well.

Outline

  • Introduction to Python Data Types and Operations [depth as needed]
    • Python program layout
    • Executing a Python program
    • Scalar variables and operations
    • Tuple and list array variables and operations
    • Dictionary variables and operations
    • Function creation and calling
  • Multi-tasking and Multi-threading TCP/IP Client/Server Python Programs
    • Python multi-tasking server
    • Avoiding zombie processes from a multi-tasking server
    • Python network client
    • Python multi-threading server
    • Avoiding zombie threads from a multi-threading server
    • Creating a daemon (server) process in Python
    • Implement a daemon-based multi-tasking or multi-threading server
  • Required Setup for Accessing Network Devices
    • Resource requirements for an accessible network device
    • Overview of EVE-NG setup for network device emulation
  • Obtaining Network Information and Configuring Network Devices (Paramiko)
    • Overview of ParamikoSSH capabilities
    • Obtaining and installing the Paramiko SSH library
    • Initial connection to a network device via the SSH connect method
    • Sending and receiving network device information via Paramiko SSH methods
  • Obtaining Network Information and Configuring Network Devices (Netmiko)
    • Overview of the Netmiko library capabilities (wrapper around Paramiko SSH)
    • Obtaining and installing the Netmiko library
    • Successfully establishing a connection to network device
    • Basic informational extraction commands
    • Execution of configuration commands with possible commit actions
    • Platform auto-detection from SSH
  • Obtaining Network Information and Configuring Network Devices 
    • Overview of NAPALM (Network Automation and Programmability Abstraction Layer)
    • Obtaining and installing the NAPALM library on Linux
    • NAPALM common API interface to establish a connection to a network device
    • Basic retrieval of state data from a network device
    • Loading, replacing, merging, and committing configuration changes
    • Rolling back committed changes
    • Ansible modules to drive NAPALM actions
  • Conclusion

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

Instructor was great, course was mostly very good except for too much focus on pricing

The platform is very intuitive and easy to navigate. Great tool for learning

The format of the class was concise. I learned new skills to use at my workplace.

They are very good and made sure we had all the appropriate materials for class.

This was a good program to get prepared for the solutions architect associate exam.