实验3:OpenFlow协议分析实践

实验3:OpenFlow协议分析实践

实验目的

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

实验要求

(一)基本要求

搭建拓扑,完成相关 IP 配置

 

 

 

 

 

 查看抓包结果
HELLO
控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机53112端口

 

 交换机53112端口(我最高能支持OpenFlow 1.5) ---> 控制器6633端口

于是双方建立连接,并使用OpenFlow 1.0

FEATURES_REQUEST
控制器6633端口(我需要你的特征信息) ---> 交换机53112端口

 

 SET_CONFIG
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机53112端口

 

 PORT_STATUS
当交换机端口发生变化时,告知控制器相应的端口状态。

 

 FEATURES_REPLY
交换机53112端口(这是我的特征信息,请查收) ---> 控制器6633端口

 

 PACKET_IN交换机53112端口(有数据包进来,请指示)--->控制器6633端口

 

 

PACKET_OUT
控制器6633端口--->交换机53112端口(请按照我给你的action进行处理)

 

 FLOW_MOD
分析抓取的flow_mod数据包,控制器通过6633端口向交换机53112端口、交换机53128端口下发流表项,指导数据的转发处理

 

 

 

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

 

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

通过图片可以看到是Transmission Control Protocol 是TCP协议

个人总结

实验过程遇到了很多问题,第一步先打开wireshark后创建拓扑,过滤Openflow数据包,并没有发现HELLO数据包。通过百度发现了问题 需要提前执行python文件,然后执行pingall命令,才能发现数据包。这次实验中,我不仅复习了如何构建拓扑,也学会了怎样运用wireshark对Openflow协议数据交互过程进行抓包,虽然在一开始的时候,没有先开启抓包工具再建立拓扑,导致一开始没能抓到包,通过学弟的帮助我得以成功的完成了这次实验。本实验学会通过滤器输入“openflow_v1”或“openflow_v4”等进行数据包过滤,运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包;借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制;将抓包结果对照OpenFlow源码,让我们能够了解OpenFlow主要消息类型对应的数据结构定义。

 
 
posted @ 2022-09-28 17:55  102299108  阅读(24)  评论(0)    收藏  举报