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

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

二、实验环境
Ubuntu 20.04 Desktop amd64

三、实验要求
(一)基本要求
搭建下图所示SDN拓扑,协议使用Open Flow 1.0,控制器使用部署于本地的POX(默认监听6633端口)

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

利用Mininet的xterm开启h2 h3的命令行终端后,在h2和h3使用tcpdump开启抓包(抓取eth0端口)

h1 ping h2,观察h2和h3的终端(发现h2和h3都能接收到数据包)

h1 ping h3,观察h2和h3的终端(发现h2和h3都能接收到数据包)

上述示例可以验证出Hub模块的功能:
在每个交换机上安装泛洪通配符规则,将数据包广播转发,此时交换机等效于集线器,所有主机都能接收到数据包。
阅读L2_learning模块代码,画出程序流程

利用Mininet的xterm开启h1 h2 h3的命令行终端后,在h2和h3使用tcpdump开启抓包(抓取eth0端口)

h1 ping h2,观察h2和h3终端(发现只有h2能够收到数据包)

h1 ping h3,观察h2和h3终端(发现只有h3能够收到数据包)

上述示例可以验证Switch模块的功能:
让OpenFlow交换机实现L2自学习,当它进行L2地址学习时,它会与尽可能多的字段做匹配,实现流规则多样化,在测试中,某一主机ping特定主机时,除了特定主机外,其他主机不会接收到数据包。

posted @   这么弱的语气  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示