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

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

一、实验目的

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

二、实验环境

  1. 下载虚拟机软件Oracle VisualBox 或 VMware;
  2. 在虚拟机中安装Ubuntu 20.04 Desktop amd64;

三、实验要求

(一)基本要求

  1. 搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)

  2. 阅读Hub模块代码,使用 tcpdump 验证Hub模块;
    h1 ping h2 (h2和h3都能同时接收到数据包)

    h2 ping h3 (h1和h3都能同时接收到数据包)

  3. 阅读L2_learning模块代码,画出程序流程图,使用 tcpdump 验证Switch模块。
    h1 ping h2 (h3没有收到数据包)

    h2 ping h3 (h1没有收到数据包)

    程序流程图

四、个人总结

  • 实验难度:本次实验基础部分本身难度不大,难度主要在于流程图
  • 实验过程遇到的困难及解决办法:在做本次实验的基础部分时没有碰到什么大问题,认真阅读pdf文档后只要按部就班基本能够顺利完成,但是在阅读L2_learning模块代码时,理解流程图的逻辑确实需要花了不少时间,结合代码作者所提供的思路简介,最后也是勉强将流程图完成了。
  • 个人感想:在准备做本次实验之前,原本的虚拟机出了一些故障,命令行无法打开,经过努力还是没办法解决,最后重新创建了一个新的虚拟机。在重新配置环境的时候碰到了很多之前没有碰到的问题,也是费了很大的劲才解决。这让我认识到有的时候过程很顺利并不代表真的了解了整个过程,只能说这次运气好没有碰到问题,下次就不一定了,所以要尽可能学会碰到问题自己解决问题。本次实验花的时间比较久,主要是在阅读代码画流程图上,这一定程度上提高了我阅读代码和画流程图的能力与耐心,同时对pox控制器的工作原理以及使用方法有了初步了解。
posted @ 2021-10-13 00:33  kukudev  阅读(56)  评论(0编辑  收藏  举报