实验3:OpenFlow协议分析实践
实验3:OpenFlow协议分析实践
一、实验目的
- 能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包;
- 能够借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制。
二、实验环境
- 下载虚拟机软件Oracle VisualBox;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
- 搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据包。
主机 | IP地址 |
---|---|
h1 | 192.168.0.101/24 |
h2 | 192.168.0.102/24 |
h3 | 192.168.0.103/24 |
h4 | 192.168.0.104/24 |
配置如下 | |
![]() |
- 查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。
hello
- 控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机34354端口
- 交换机34354端口(我最高能支持OpenFlow 1.5)--- 控制器6633端口
Features_Request
- 控制器6633端口(我需要你的特征信息) ---> 交换机34354端口
Set Config
- 控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机34354端口
Port_Status
- 当交换机端口发生变化时,告知控制器相应的端口状态。
Features_Reply
- 交换机34354端口(这是我的特征信息,请查收)--- 控制器6633端口
Packet_IN
Packet_Out
Flow_Mod
- 分析抓取的flow_mod数据包,控制器通过6633端口向交换机34354端口、交换机34356端口下发流表项,指导数据的转发处理
交互图如下
- 回答问题:交换机与控制器建立通信时是使用TCP协议还是UDP协议?
答:使用TCP协议。
四、个人总结
- 实验难度:适中,没有遇到太大的困难
- 实验过程遇到的困难及解决办法:查看wireshark抓包时,我看那个弹框一直在增加,一直到了几千行,在过滤Openflow数据包时还在增加,没办法观察截图。后面发现左上角可以停止,重新抓包后,过了一下按停止就解决了问题,可以正常观察截图。
- 个人感想:在本次实验中,我并没有遇到太多的问题,一方面是之前的实验碰到过很多小问题,这些问题在这次实验中出现时,我有经验解决它们,另一方面是这次实验老师提供的pdf文档有比较详细的步骤,我按步骤比较顺利完成了。从这次实验中,我通过使用wireshark抓取数据包,学习了OpenFlow协议下控制器和交换机的交互过程,对控制器与交换机交互过程有了进一步的理解,同时在实践操作方面也有了一定的提升。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~