Book Image

Mastering Python Networking

By : Eric Chou
Book Image

Mastering Python Networking

By: Eric Chou

Overview of this book

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, ?ow-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.
Table of Contents (22 chapters)
Humble Bundle
About the Author
About the Reviewer
Customer Feedback
OpenStack, OpenDaylight, and NFV


In this chapter, we covered a lot of topics related to OpenFlow. We learned about the basics and the history of the OpenFlow protocol. We were able to set up a lab with Mininet, which is a lightweight network-emulation tool that can create a full network with virtual Open vSwitch and Linux hosts. We also learned about the command-line tools that can interact directly with Open vSwitch for information gathering and troubleshooting. We continued on to look at two Python-based OpenFlow controllers, Ryu and POX. The POX controller was a clone of the original NOX controller reference design written in Python. Due to its academic nature, among other reasons, the project has lagged behind on the latest OpenFlow features, such as OpenFlow 1.3. Ryu, on the other hand, was sponsored by NTT and benefited from the production usage and experience of the service provider. We focused on the Ryu controller components and looked at how we can easily switch between Ryu applications by pointing Ryu...