一、搭建SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)
- 快速建立所需拓扑
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow10
二、阅读Hub模块代码,使用 tcpdump 验证Hub模块
hub:
1.开启(pox目录下)POX:./pox.py log.level --DEBUG forwarding.hub
2.打开窗口:在mininet里:xterm h2/h3
3.在打开窗口输入 tcpdump
4.h1 ping h2
5.h1 ping h3
l2_learning:
1.开启(pox目录下)POX:./pox.py log.level --DEBUG forwarding.hub
2.打开窗口:在mininet里:xterm h2/h3
3.在打开窗口输入 tcpdump
4.h1 ping h2
5.h1 ping h3
结论:hub情况下两台host都会有收到数据包,而l2_learning情况下只有ping的那台才有
L2_learning流程图:
实验总结:在完成基本任务的时候没有太大问题,但是发现如果用指令快速搭建拓扑可能会导致在开启l2_learning后通过h1去ping通h2或h3的其中一个时,另一个也会不断跳出数据,解决办法就是用miniedit可视化界面直接搭建拓扑,就可以完成预期的效果