实验5:开源控制器实践——POX
一、实验目的
1、能够理解 POX 控制器的工作原理;
2、通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;
3、能够运用 POX控制器编写自定义网络应用程序,进一步熟悉POX控制器流表下发的方法。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
一)、基本要求
1.搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)
2.验证hub模块
h1 ping h2时,h3处同样收到icmp报文
h1 ping h3时,h2处同样收到icmp报文
实验验证了hub模块的洪泛转发,无论h1 ping h2还是h3, 都可以从另一个中抓到数据包
3. 阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块
程序流程图
验证Switch模块
h1 ping h2时,h2处收到icmp报文,h3处则没有
h1 ping h3时,h3处收到icmp报文,h2处则没有
个人总结
这一次的实验使我对于POX控制器的工作原理有所了解,通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法。在实验中,一开始开启h2和h3窗口,但却为接收到消息,后来发现原来是未输入‘tcpdum -mn -i h2-eth0’和‘tcpdum -mn -i h3-eth0’的指令所导致的,再输入正确指令后,实验果然能够继续顺利进行了。总的来说这次实验对我来说难度还是不小的,经过这次实验我初步掌握了POX控制器的一些使用方法,熟悉了POX控制器如何下发流表。
标签:控制器,POX,h2,h3,开源,实验,模块 From: https://www.cnblogs.com/peanut-zhang/p/16838039.html