实验5:开源控制器实践——POX
一、实验目的
- 能够理解 POX 控制器的工作原理;
- 通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;
- 能够运用 POX控制器编写自定义网络应用程序,进一步熟悉POX控制器流表下发的方法。
二、实验环境
- 下载虚拟机软件Oracle VisualBox 或 VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64;
三、实验要求
(一)基本要求
-
搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)
部署pox
搭建拓扑
-
阅读Hub模块代码,使用 tcpdump 验证Hub模块;
(1)h1 ping h2
(2)h1 ping h3 -
阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块。
程序流程图
验证
h1 ping h2
h1 ping h3
四、个人总结
本次实验的目的是能够理解 POX 控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运用 POX控制器编写自定义网络应用程序,进一步熟悉POX控制器流表下发的方法。一开始我想直接找到pox文件夹然后在文件夹里面运行pox,然后发现我的mininet里面竟然没有pox的存在,根据ppt,应该是mininet里会自带的,但是不知什么原因没有,所以参考了百度的pox安装教程最终自己从新安装了pox,总体难度还可以,一直在ping,对于流程图这个还是不熟练的,所以特意下载了一个专门的软件,最终做出,但是没有去给他上色了。学会了很多。