实验3:OpenFlow协议分析实践

实验3:OpenFlow协议分析实践

一、实验目的

1.能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包;
2.能够借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制。

二、实验环境

1.下载虚拟机软件Oracle VisualBox;
2.在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;

三、实验要求

(一)基本要求

1. 搭建下图所示拓扑,完成相关 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

 

//将拓扑保存后的文件

 

 

2.查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。

HELLO:

控制器端口6633————交换机端口49082

交换机端口39082————控制器端口6633

 

 

Feature Request:

控制器6633端口————交换机端口49082

 

 Set Conig:

控制器6633端口————交换机端口49082

 

Features Reply:

交换机端口39082————控制器端口6633

 

 

PACKET IN:

交换机端口39082————控制器端口6633

 

PACKET OUT:

控制器6633端口————交换机端口49082

 

Flow_mod:

控制器6633端口————交换机端口51028

 

 

 交互图:

 

 

回答问题:

交换机与控制器建立通信时是使用TCP协议还是UDP协议?

 答:TCP协议,可以在抓包中看到得出答案。

 

四、个人总结

本次实验较前两次要更为简单和顺利,我更加熟悉了wireshark的抓包操作并进行相关的分析,并理解了SDN的OpenFlow协议的数据交互过程以及机制。实验中遇到的问题是flow mod需要在终端中执行pingall语句后才可以在wireshark中看到交互过程,我在终止拓扑运行后才发现这个问题,故重新运行后执行了pingall,故交换机的端口与之前有所不同。此外,在撰写博文时我发现本次实验我的port status的交互数据没有截图,因操作方式类似故没有重新创建拓扑截图。总的来说还是顺利的,也对SDN 的open flow协议有了更多的了解,期待下次实验。

 

 

 

 

 

 

 

posted @ 2021-09-23 17:13  ohohohk  阅读(75)  评论(0编辑  收藏  举报