实验3:OpenFlow协议分析实践

实验3:OpenFlow协议分析实践

一、实验目的

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

二、实验环境

Ubuntu 20.04 Desktop amd64

(一)基本要求

拓扑文件
image

wireshark抓包的结果

OFPT_HELLO
控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机34588端口
image
交换机34588端口(我最高能支持OpenFlow 1.5) ---> 控制器6633端口
image
双方建立连接,并使用OpenFlow 1.0

FEATURES_REQUEST
控制器6633端口(我需要你的特征信息) ---> 交换机34588端口
image
Set Config
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) --->交换机34588端口
image
Features Reply
交换机34588端口(这是我的特征信息,请查收) ---> 控制器6633端口
image
Packet_in

交换机34588端口(有数据包进来,请指示)--- 控制器6633端口
image
Packet_out
控制器6633端口(请按照我给你的action进行处理) ---> 交换机34588端口
image
Flow_mod
控制器通过6633端口向交换机34588端口、交换机46194端口下发流表项,指导数据的转发处理
image

OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图

image

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

image
使用的是TCP协议

(二)进阶要求

hello
image
image
FEATURES_REQUEST
feature_request的结构与hello一致
image
image
SET_CONFIG
image
image

FEATURES_REPLY
image
image
PACKET_IN
image
image
PACKET_OUT
image
image
FLOW_MOD
image
image

(三)、个人总结

1.本次实验难度比较低,按照pdf文档一步步做便可完成,但是我一开始没有在数据抓包里找到HELLO,然后找到方法:先启动wireshark,再执行python文件,然后执行pingall命令。
2.这次试验学会了如何用过滤器更快地找到所需要的数据包,学会了在过滤器中输入“openflow_v1”和“openflow_v4”进行数据包过滤,通过抓包解析工具,分析OpenFlow的通信机制,了解OpenFlow的数据结构定义。

posted @ 2022-09-28 13:17  艾力帕提  阅读(47)  评论(0)    收藏  举报