Mastering Python Networking
Your one-stop solution to using Python for network automation, DevOps, and Test-Driven Development, 2nd Edition
Eric Chou
- 466 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Mastering Python Networking
Your one-stop solution to using Python for network automation, DevOps, and Test-Driven Development, 2nd Edition
Eric Chou
About This Book
Key Features
- Explore the power of Python libraries to tackle difficult network problems efficiently and effectively
- Use Python for network device automation, DevOps, and software-defined networking
- Become an expert in implementing advanced network-related tasks with Python
Book Description
Networks in your infrastructure set the foundation for how your application can be deployed, maintained, and serviced. Python is the ideal language for network engineers to explore tools that were previously available to systems engineers and application developers. In this second edition of Mastering Python Networking, you'll embark on a Python-based journey to transition from traditional network engineers to network developers ready for the next-generation of networks. This book begins by reviewing the basics of Python and teaches you how Python can interact with both legacy and API-enabled network devices. As you make your way through the chapters, you will then learn to leverage high-level Python packages and frameworks to perform network engineering tasks for automation, monitoring, management, and enhanced security. In the concluding chapters, you will use Jenkins for continuous network integration as well as testing tools to verify your network. By the end of this book, you will be able to perform all networking tasks with ease using Python.
What you will learn
- Use Python libraries to interact with your network
- Integrate Ansible 2.5 using Python to control Cisco, Juniper, and Arista eAPI network devices
- Leverage existing frameworks to construct high-level APIs
- Learn how to build virtual networks in the AWS Cloud
- Understand how Jenkins can be used to automatically deploy changes in your network
- Use PyTest and Unittest for Test-Driven Network Development
Who this book is for
Mastering Python Networking is for network engineers and programmers who want to use Python for networking. Basic familiarity with Python programming and networking-related concepts such as Transmission Control Protocol/Internet Protocol (TCP/IP) will be useful.
]]>
Frequently asked questions
Information
Network Monitoring with Python ā Part 1
- The Simple Network Management Protocol (SNMP)
- Matplotlib and Pygal visualization
- MRTG and Cacti
Lab setup
SNMP
- The implementation relies heavily on the amount of information the device agent can provide. This, in turn, relies on how the vendor treats SNMP: as a core feature or an added feature.
- SNMP agents generally require CPU cycles from the control plane to return a value. Not only is this inefficient for devices with, say, large BGP tables, it is also not feasible to use SNMP to query the data at small intervals.
- The user needs to know the OID in order to query the data.
Setup
$ ...