开源控制器实践——POX

实验目的
1. 能够理解 POX 控制器的工作原理;
2. 通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX
控制器的使用方法;
3. 能够运用 POX控制器编写自定义网络应用程序,进一步熟悉POX控制器流表下发
的方法。
实验环境
1. 下载虚拟机软件Oracle VisualBox或VMware;
2. 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;基本要求
1. 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听
6633端口)
2. 阅读Hub模块代码,使用 tcpdump 验证Hub模块;
3. 阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块。
 
实验报告
1. 请用Markdown排版;
2. 所有实验相关代码文件(如有)保存在目录/home/用户名/学号/lab5/中;
3. (一)只需要提交h1 ping h2、h2和h3的抓包结果截图和附图说明,外加L2_learning
码流程图,其余文字请勿赘述;
4. (二)不做必须要求,有完成的同学请提交相关代码和运行结果,以及tcpdump的验证过程,
代码保存目录同要求2,形式不限。
5. 个人总结,包括但不限于实验难度、实验过程遇到的困难及解决办法,个人感想,不少于200字。
 
 
 
hub

 

L2_learning

 

hub模块下:h1pingh2时,h3也会有显示。同样的,h1pingh3时,h2也会有显示。

L2_learning模块下:h1pingh2时,h3不会有显示。同样的,h1pingh3时,h2不会有显示。
 
 
个人总结:这次实验相对比较简单,在知道原理的原理的情况下,实验就变得简单了许多,但是在做hub模块时,h1pingh2,h3总是不会有显示,试了很多次,终于明白只要用sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633重新建拓扑,就能成功了。做L2_learning模块则就没有这种问题。总结来说,这次的实验是相对比较简单的,但是前提是要懂得实验的原理。只要上课好好听课,课后好好复习,再难的实验都能解决的。在实验的前提下,理论知识必须要理解,不然实验就显得不简单,反而变得很有难度。
posted @ 2021-10-08 19:57  爱打瞌睡  阅读(176)  评论(0编辑  收藏  举报