实验3:OpenFlow协议分析实践

实验3:OpenFlow协议分析实践

一、实验目的

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

二、实验环境

Ubuntu 20.04 Desktop amd64

三、实验要求

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


2.查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。
HELLO
源端口6633 -> 目的端口46370,从控制器到交换机,协议为openflow1.0

源端口52458 -> 目的端口6633,从控制器到交换机,协议为openflow1.0

FEATURES_REQUEST
源端口6633 -> 目的端口46370,从控制器到交换机

FEATURES_REPLY
源端口46370 -> 目的端口6633,从交换机到控制器

SET_CONFIG
源端口6633 -> 目的端口46370,从控制器到交换机

控制器要求交换机按照所给出的信息进行配置
OFPT_PORT_STATUS
源端口46370 -> 目的端口6633,从交换机到控制器

控制器要求交换机按照所给出的信息进行配置
OFPT_PACKET_IN
源端口46370 -> 目的端口6633,从交换机到控制器

交换机告知控制器有数据包进来,请求控制器指示
OFPT_PACKET_OUT
源端口6633 -> 目的端口46370,从控制器到交换机

控制器要求交换机按照所给出的action进行处理
OFPT_FLOW_MOD
源端口6633 -> 目的端口46372,从控制器到交换机

控制器对交换机进行流表的添加、删除、变更等操作
交互图

3. 回答:交换机与控制器建立通信时是使用TCP协议还是UDP抓包软件获取控制器与交换机之间的通信数据包。
TCP协议

四、实验个人总结


本次实验我们使用wireshark抓去网络数据包,验证了在OpenFlow协议下控制器与交换机建立链接与相互交互的过程。本次实验的操作难度不大,我们只需注意搭建拓扑时修改好响应的网段与IP地址即可,但所需验证的理论知识多,所以本次实验的难度还是较大。分析wireshark所抓取的数据包,结合源码分析,使我对OpenFlow协议有了更进一步的了解。
posted @ 2022-10-02 13:22  Freyr_S  阅读(36)  评论(0编辑  收藏  举报