一、基础要求
1、使用Open Flow 1.0搭建SDN拓扑。连接Ryu控制器,并图形界面查看网络拓扑
2、阅读Ryu文档,验证并分析Ryu的L2Switch和Pox的Hub有什么不同。
3、编程修改L2Switch.py,使之和POX的Hub模块的变得一致
二、进阶要求
1、阅读并完成simple_switch.py、simple_switch_1x.py代码注释工作,并回答问题
- a) 代码当中的mac_to_port的作用是什么?
- b) simple_switch和simple_switch_13在dpid的输出上有何不同?
- c) 相比simple_switch,simple_switch_13增加的switch_feature_handler实现了什么功能?
- d) simple_switch_13是如何实现流规则下发的?
- e) switch_features_handler和_packet_in_handler两个事件在发送流规则的优先级上有何不同?
2、编程ODL一样的硬超时功能。
三、实验总结
1、实验心得
2、实验问题
1)ImportError: No module named ryu.cmd.manager
如果我们系统上的python版本默认为python2,那么启动ryu时会出现No module错误。
这里可以将系统的python版本修改为python3。但这种方法可能会导致其他需要用到python2的应用出问题,这里建议修改错误文件的启动环境。以上图为例,直接打开编辑File后面的文件。