- Build the skills to perform all networking tasks using Python with ease
- Use Python for network device automation, DevOps, and software-defined networking
- Get practical guidance to networking with Python
This book begins with a review of the TCP/IP protocol suite and a refresher of the core elements of the Python language. Next, you will start using Python and supported libraries to automate network tasks from the current major network vendors. We will look at automating traditional network devices based on the command-line interface, as well as newer devices with API support, with hands-on labs. We will then learn the concepts and practical use cases of the Ansible framework in order to achieve your network goals.
We will then move on to using Python for DevOps, starting with using open source tools to test, secure, and analyze your network. Then, we will focus on network monitoring and visualization. We will learn how to retrieve network information using a polling mechanism, flow-based monitoring, and visualizing the data programmatically. Next, we will learn how to use the Python framework to build your own customized network web services.
In the last module, you will use Python for SDN, where you will use a Python-based controller with OpenFlow in a hands-on lab to learn its concepts and applications. We will compare and contrast OpenFlow, OpenStack, OpenDaylight, and NFV. Finally, you will use everything you've learned in the book to construct a migration plan to go from a legacy to a scalable SDN-based network.
What you will learn
- Review all the fundamentals of Python and the TCP/IP suite
- Use Python to execute commands when the device does not support the API or programmatic interaction with the device
- Implement automation techniques by integrating Python with Cisco, Juniper, and Arista eAPI
- Integrate Ansible using Python to control Cisco, Juniper, and Arista networks
- Achieve network security with Python
- Build Flask-based web-service APIs with Python
- Construct a Python-based migration plan from a legacy to scalable SDN-based network.
About the Author
Eric Chou is a seasoned technologist with over 16 years of experience. He has managed some of the largest networks in the industry while working at Amazon and Microsoft and is passionate about network automation and Python. He shares this deep interest in these fields through his teachings as a Python instructor, blogger, and active contributor to some of the popular Python open source projects. Currently, Eric holds two patents in IP Telephony and is a principal engineer at A10 Networks with a focus on product research and development in the field of security.
Table of Contents
- Review of TCP / IP Protocol Suite and Python Language
- Low Level Network Device Interactions
- API and Intent-Driven Networking
- Python Automation Framework - Ansible Basics
- Advance Python Automation Framework - Ansible Advanced Topics
- Network Security with Python
- Network Monitoring with Python-Part 1
- Network Monitoring with Python-Part 2
- Building Network Web Services with Python
- OpenFlow Basics
- Advanced OpenFlow Topics
- OpenStack, OpenDaylight and NFV
- Hybrid SDN