在使用SDN的过程中,经常会遇到网络拓扑可视化的需求,而目前主流的SDN控制器也都提供了相应的功能。这篇博文将简单介绍一下当你选用Ryu作为控制器时,如何实现网络拓扑的可视化。
Ryu自带了网络拓扑可视化的app,名称为gui_topology.py,路径为:ryu安装目录/ryu/app/gui_topology/gui_topology.py。既然它是一个app,要使用它便十分方便:
ryu-manager Path/to/gui_topology.py
或者
ryu run Path/to/gui_topology.py
即可
启动成功后,将交换机连接到Ryu,用浏览器访问http://ryu运行的主机ip:8080即可看到当前的网络拓扑。
比如,我用mininet模拟了一个深度为3的树状网络拓扑,并连接到ryu,命令如下:
sudo mn --controller remote --topo tree,depth=3
连接成功后,访问http://localhost:8080(我的ryu和mininet均运行在本机),即可看到如下界面:
可以发现,我们能看到所有的交换机,但它们之间的连接却看不到,想要看到交换机之间的连接,需要在启动ryu时加上
–observe-links参数,表示我们想要看到交换机之间的连接,即
ryu-manager Path/to/gui_topology.py --observe-links
或者
ryu run Path/to/gui_topology.py