As you start to migrate more devices toward OpenFlow, it becomes increasingly important to monitor the links. We discussed various monitoring tool options in Chapter 7, Network Monitoring with Python – Part 1 and Chapter 8, Network Monitoring with Python – Part 2. Next we can easily integrate monitoring for the migrated devices. We will show the built-in topology viewer that came with Ryu (http://ryu.readthedocs.io/en/latest/gui.html). For easier demonstration, I have used the same Mininet topology we saw earlier in the chapter, but have changed the controller port back to 6633 in chapter13_mininet_3.py:
net = Mininet( controller=RemoteController, switch=OVSKernelSwitch )
c1 = net.addController('c2', controller=RemoteController,
ip='127.0.0.1', port=6633)
Launch the Mininet topology and the Gui Topology application:
# Mininet Topology
$ sudo python mastering_python_networking/Chapter13/chapter13_mininet_3.py
# Ryu Application
$ PYTHONPATH=. ./bin/ryu run --observe-links ryu/app/gui_topology/gui_topology.py
Point your browser to http://<ip>:8080 and you will be able to see the switch along with flow statistics, as shown here:
For multi-device topology testing, you can launch the 8-switch reference topology in the reference example:
$ sudo mn --controller remote --topo tree,depth=3
...
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 h6 h7 h8
*** Adding switches:
s1 s2 s3 s4 s5 s6 s7
...
You will be able to point to different devices, and drag and drop to move them around:
The graph can be placed side-by-side with your existing monitoring tool or integrated into your existing monitoring tool. Let's talk about encrypting the message between the controller and the switch in the next section.