实验5:开源控制器实践——POX
实验5:开源控制器实践——POX
实验要求
(一)基本要求
1.搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)
搭建拓扑
开启pox
2.阅读Hub模块代码,使用 tcpdump 验证Hub模块;
利用Mininet的xterm开启h2 h3的命令行终端,在h2和h3使用tcpdump开启抓包(抓取eth0端口)
h1 ping h2(发现h2和h3都能接收到数据包)
h1 ping h3(发现h2 和h3都能接收到数据包)
Hub模块的功能:在每个交换机上安装泛洪通配符规则,将数据包广播转发,此时交换机等效于集线器,所有主机都能接收到数据包。
3.阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块。
流程图
利用Mininet的xterm开启h2 h3的命令行终端,在h2和h3使用tcpdump开启抓包(抓取eth0端口)
h1 ping h2(只有h2能够收到数据包)
h1 ping h3(只有h3能够收到数据包)
Switch模块的功能让OpenFlow交换机实现L2自学习,当它进行L2地址学习时,它会与尽可能多的字段做匹配,实现流规则多样化,在测试中,某一主机ping特定主机时,除了特定主机外,其他主机不会接收到数据包。
个人心得
这次实验只做了基础部分,在建立拓扑之后pingall发现h1 h2 还
三台主机一直连接不上,后来打开了pox下发流表之后才可以连通,这次实验的基础题比较简单,没碰到什么问题,基本上都比较顺利,这次试验之后理解了 POX 控制器的工作原理,通过验证POX的forwarding.hub和forwarding.l2_learning模块,掌握POX控制器的基本使用方法。