引言
积跬步以至千里,积怠情以至深渊。
在POX SDN控制器包括将网络拓扑的数据发送到数据Gephi可视化平台,可显示节点和表示网络拓扑结构链接的曲线图。
具体操作步骤
启动POX
关于POX的安装可以参考作者的前一篇博客。
首先打开第一个Terminal,开始运行POX SDN控制器。终端切换到pox目录下,执行如下命令启动POX:
1 | sudo ./pox.py forwarding.l2_learning openflow.discovery misc.gephi_topo openflow.spanning_tree --no-flood --hold-down host_tracker info.packet_dump samples.pretty_log log.level --DEBUG |
其中每个组件的功能如下:
1.forwarding.l2_learning
在l2_learning组件使OpenFlow交换机的作用类似于以太网学习交换机。它学习以太网MAC地址,并匹配包头中的所有字段,因此可以为每对MAC地址在网络中安装多个流。例如,不同的TCP连接将导致安装不同的流。
2.openflow.discovery
该组件使用发送到OpenFlow交换机和从OpenFlow交换机接收到的LLDP消息来发现网络拓扑。它还可以检测网络链接何时上升或下降。
3.misc.gephi_topo
当POX检测到网络拓扑结构的变化时,Gephi_Topo组件将从POX流更新到Gephi图形可视化平台。该组件有效地创建了一个到Gephi图形可视化平台的北向接口。它将实时数据流到Gephi将侦听的IP地址和端口,格式是Gephi可以解释的。
4.openflow.spanning_tree ‐‐no-flood ‐‐hold-down
在网络拓扑包含循环的情况下,需要生成树组件。它与OpenFlow Discovery组件一起构建网络拓扑视图,并通过禁用不在树中的交换机端口上的泛洪来构建一个生成树。选项no-flood和hold-down用于确保在组件创建生成树之前网络中没有数据包被淹没。生成树组件将响应网络拓扑结构中的更改。如果一个链接断开,并且存在一个备用链接,那么它可以通过创建一个新树来维护网络中的连接性,该树支持对连接到备用链接的端口进行洪泛。
5.host_tracker
主机跟踪器组件试图跟踪网络中的主机。主机跟踪器检查POX接收到的消息,并学习网络中主机的MAC和IP。主机跟踪器将在我们的例子中工作,但它依赖于数据包到达控制器。网络中的包转发必须是反应性的,因此我们需要使用forward .l2_learning这样的转发组件。
6.info.packet_dump
包转储组件将在日志控制台显示POX从交换机接收到的数据包的信息。这将帮助我们了解交换机如何在不运行tcpdump的情况下与POX控制器交互。
7.log.level ‐‐DEBUG
该组件允许POX用户指定他们将在POX生成的日志信息中看到的详细信息的数量,最详细的级别是DEGUG。
8.samples.pretty_log
Pretty Log组件将日志消息格式化为自定义日志格式,以便在POX控制台上提供有吸引力且可读的日志输出。
Gephi的启动
打开一个新的Terminal,启动Gephi:
1 | cd ~/gephi/bin |
在Gephi中安装好Graph Streaming插件,安装好后,配置流媒体服务器设置。该Gephi.Topo组件使用TCP端口8282。点击设置按钮,并设置端口为8282和清除SSL复选框。


启动Mininet-WiFi网络拓扑
启动脚本