实验5:开源控制器实践——POX

一、实验目的

1.能够理解 POX 控制器的工作原理;
2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;
3.能够运用POX控制器编写自定义网络应用程序,进一步熟悉POX控制器流表下发的方法。

二、实验环境

Ubuntu 64位linux操作系统

三、实验内容

(1)基础内容

1、阅读Hub模块代码,使用 tcpdump 验证Hub模块;
h1 ping h2 和 h1 ping h3

2、阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块;
h1 ping h2 和 h1 ping h3

流程图

3、对比
采用Hub时,在 h1 ping h2 时,在h3中也会捕获到,而采用Switch时,在 h1 ping h2 时,h3捕获不到 ping h2 的内容

(2)进阶内容

1、重新搭建(1)的拓扑,并使用命令dpctl del-flows删除流表,执行该命令后,所有主机都无法ping通。

Python程序自定义一个POX模块SendFlowInSingle3后连通

2、基于进阶1的代码,完成ODL实验的硬超时功能。

四、实验总结

1、在本次实验中,第一次接触到POX 开源控制器,完成本实验之后,我初步理解了 POX 控制器的工作原理;
通过验证POX的hub和l2_learning模块,初步掌握POX控制器的使用方法,进一步熟悉POX控制器流表下发的方法。
2、本次实验相对来说比较简单,但是需要去理解Pox不同模块的使用功能,总体来说需要耐心得去查找资料,去理解。

posted @ 2022-10-12 16:18  Kanna02  阅读(51)  评论(0编辑  收藏  举报