一实验目的
1 能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包;
2 能够借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制。
二实验环境
1 下载虚拟机软件Oracle VisualBox;
2 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三实验要求
(一)基本要求
1 搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据包。
2 查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。
导出文件
抓包结果
HELLO
可以看到控制器向交换机发送的HELLO
也有交换机向控制器发送的HELLO
FEATURE_REQUEST
从控制器向交换机发送的请求
SET_CONFIG
从控制器到交换机
PORT_STATUS
从交换机到控制器
FEATURES_REPLAY
从交换机到控制器
PACKET_IN
从交换机到控制器
PACKET_OUT
从控制器到交换机
FLOW_MOD
从控制器到交换机
回答问题:交换机与控制器建立通信时是使用TCP协议还是UDP协议?
使用tcp协议
个人感想
这次实验通过阅读源码感觉自己对于openflow协议的机制也有了更加深刻的了解,这些协议的背后往往是数据结构构成的,协议对于我们来说也不再是之前的会用就行。这次对于wireshark这个工具也更加熟悉了,相信以后这部分知识可以迁移到其他协议的抓包上去。