2019寒假训练营第四次作业

mininet部分(70'):

mininet的安装过程截图及说明(15'):

截图:
2019寒假训练营第四次作业
说明:
打开终端输入sudo apt-get install mininet 安装mininet2.2.1版本

使用miniedit工具搭建拓扑的过程截图及说明(5')

截图:
2019寒假训练营第四次作业

2019寒假训练营第四次作业

说明:
图一:mininet安装目录下的example目录只有miniedit.py.gz,而且不能提取到example目录下,更改权限也没用。于是就拉到其他目录下,提示缺少python-tk,又是安装了好久才终于能运行miniedit。

图二:然后摆放控制器、交换机和主机,之后直接run就可以运行,然后还可以点击File->Export Level 2 Script 选择导出成.py文件,进行修改和运行。

通过修改参数连接控制器的详细过程截图及说明(20')

截图:
2019寒假训练营第四次作业

说明:

这一步网上的教程很乱,总结了一下。

  • 终端中输入ifconfig查看挨批地址,有两个,经测试都可以,不知道有什么差别(图1
  • 安装并在floodlight文件目录下输入【java -jar target/floodlight.jar】启动floodlight (图2
  • 浏览器中进入floodlight的ui界面地址:【http://localhost:8080/ui/index.html】,可以从第一行看到localhost,就是下面所需的端口号 (图3
  • 输入【mn --custom (/文件地址/)文件名.py --topo mytopo --controller=remote,ip=挨批地址,port=端口号 --switch ovsk,protocols=OpenFlow10】连接控制器并运行mininet。可以看到其中的IP地址与端口号(图4

而且floodlight1.2与0.91的可视界面和所需端口似乎都不一样,也带来一些麻烦

2019寒假训练营第四次作业

2019寒假训练营第四次作业

2019寒假训练营第四次作业

2019寒假训练营第四次作业

连接控制器的过程遵循什么协议?简单描述一下这个过程(15')

1.推测:遵循tcp协议

2.猜测:大概和tcp的三次握手一样,客户端首先SYN=1,表示要创建连接,服务端接收到后,用ACK=1告知收到,就变成了ACK=1,SYN=1,客户端要再发一个消息给服务端确认一下,这时只需要ACK=1。

运行生成的脚本,检测主机之间是否互通(pingall),并截图(10')

2019寒假训练营第四次作业

把生成的python脚本上传到github仓库中(5')

失败了
虽然照着教程用miniedit摆好了自己的拓扑,但是根本无法运行,找不到原因,只能是找网上现成的拓扑结构

我我我是链接
2019寒假训练营第四次作业

本次训练营总结(30'):

你觉得自己收获到了什么(包括知识、技能、意愿)?如何体现?(20')

mininet
floodlight
Makefile
虚拟机
ubuntu
Count-min sketch
tcpdump
Markdown
git
GitHub
...等等的使用方法

提高了读写代码的能力,和发现问题,解决问题的能力,也开了眼界,长了见识。
或许还提升了耐心,获得了一个充实的寒假?

说实在的,我也不知道还有什么收获。
在完成这些作业的过程中,经常遇到一些意外的问题——明明是照着教程来的,却怎么都得不到正确结果。或者是题目意义不明,还要猜测题意。或者是博客园的markdown编辑器太难用经常不听话,称得上是恶心。完成一项作业常常需要消耗大量的时间和精力,这个寒假几乎没有做其他事情,除了这四项作业就是ACM那边的八次集训题了。做到后面第三次作业的时候已经有放弃的打算了,因为我不知道这些作业值不值得我继续做下去,值不值得我大量时间的投入,虽然最后全都完成了,到但是现在我也还是很迷茫,不知道这个选择是不是对的。不过如果再来一次的话,我觉得还是会选择做完这些作业...

自己还存在着那些不足或者遗憾?(10')

时间不足,本来说着寒假早睡,结果一次都没做到。做题的时候经常会被弄得很烦,但是又很想弄出来,就一直死磕,就很难受。
运动不足,因为时间不足所以也运动不足。
这么说来还有睡眠不足了。

遗憾的的是寒假太快结束了,还有很多想做的事情。

第三次作业未实现部分的补充

上一篇:寒假训练营第四次作业


下一篇:mininet-VM源码安装Ryu