实验3:OpenFlow协议分析实践

实验3:OpenFlow协议分析实践

一、实验目的

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

二、实验环境

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

三、实验要求

(一)基本要求

1.搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据包。

保存并完成相关拓扑配置

保存在/home/ubuntu/102192104/lab3中

主机 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协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。

①运行命令“sudowireshark”开启wireshark抓包工具

②进入wireshark界面后,点击“any”,获取全部数据包,保存捕获的文件。

通过过滤器输入“openflow_v1”或“openflow_v4”,过滤出OpenFlowv1.0或OpenFlowv1.3的数据
报文,进行分析。
(开了多次,目的端口地址每次是变动的)

1.OFPT_HELLO, 源端口6633 -> 目的端口38622,从控制器到交换机,这里协议为OpenFlow1.0

源端口38622 -> 目的端口6633的,从交换机到控制器,协议为OpenFlow1.5

2.OFPT_FEATURES_REQUEST, 源端口6633 -> 目的端口38622,从控制器到交换机

3.OFPT_SET_CONFIG, 源端口6633 -> 目的端口56178,从控制器到交换机

4.OFPT_PORT_STATUS, 源端口56176 -> 目的端口6633,从交换机到控制器

5.OFPT_FEATURES_REPLY, 源端口56176 -> 目的端口6633,从交换机到控制器

6.OFPT_PACKET_IN, 源端口34240 -> 目的端口6633,从交换机到控制器

7.OFPT_PACKET_OUT, 源端口6633 -> 目的端口34240,从控制器到交换机

8.交互图如下:

3.回答问题:交换机与控制器建立通信时是使用TCP协议还是UDP协议?

由抓包过程可知,交换机与控制器建立通信时使用TCP协议。

四、个人总结

本次实验本来理论上难度不大,大部分操作都是在抓包,总体比之前简单很多,但是我在完成的时候还是非常难受的。主要是找不到对应的数据包交互
从一开始的hello就找了半天,后面的很多数据包一开始都找不到,重新创建了很多次拓扑都没用,后面发现wireshark打开放一会儿有的数据包才会跳出来,要
记得先打开抓包界面再开拓扑,也就是PPT里的注意事项4。总的来说,步骤不难,眼睛挺累的。

posted @ 2021-09-23 15:12  林枢  阅读(109)  评论(0编辑  收藏  举报