实验5:开源控制器实践——POX+实验6:开源控制器实践——RYU
一、实验目的
1.能够理解 POX 控制器的工作原理;
2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;
3.能够运用 POX控制器编写自定义网络应用程序,进一步熟悉POX控制器流表下发的方法。
4.能够独立部署RYU控制器;
5.能够理解RYU控制器实现软件定义的集线器原理;
6.能够理解RYU控制器实现软件定义的交换机原理。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)开源控制器实践——POX
1.搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)

2.阅读Hub模块代码,使用 tcpdump 验证Hub模块;





3.阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块。
(二)开源控制器实践——RYU
1.搭建下图所示SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑。




2.阅读Ryu文档的The First Application一节,运行当中的L2Switch,h1 ping h2或h3,在目标主机使用 tcpdump 验证L2Switch,分析L2Switch和POX的Hub模块有何不同。
(1)h1 ping h2

(2)h1 ping h3


pox下查看拓扑流表

3.编程修改L2Switch.py,另存为L2xxxxxxxxx.py,使之和POX的Hub模块的变得一致?(xxxxxxxxx为学号)


浙公网安备 33010602011771号