一、实验目的
- 能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包;
- 能够借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制。
二、实验环境
Ubuntu 20.04 Desktop amd64
三、实验要求
(一)基本要求
1.搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据。
主机 | 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协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。
(1)HELLO : 控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机端口35714
(2)Features Request: 控制器向将交换机发送Featrues Request消息并获取交换机特征信息
控制器6633端口(我需要你的特征信息) ---> 交换机35714端口
(3)Set Conig:控制器告诉交换机如何配置
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机35714端口
(4)Port_Status:当交换机端口发生变化时,告知控制器相应的端口状态。
(5)Features Reply:交换机35716端口(这是我的特征信息,请查收) ---> 控制器6633端口
(6)Packet_in:交换机收到数据包后问控制器如何处理
(7)Flow_mod
(8)Packet_out:控制器指挥交换器按action执行
- 回答问题:交换机与控制器建立通信时是使用TCP协议还是UDP协议?
交换机与控制器建立通信是使用TCP协议。
(三)个人总结
个人总结与想法
这次虽然上课有些不懂,但经过实验过程算是略微理解了。难度适中,适合学习分析与解释 OpenFlow协议的数据包交互过程与机制。自己课上还是应尽量听懂,这样有助于加深印象,而不是实验才开始搞明白什么是什么。
困难与解决方法
1.在建立拓扑和抓包过程中没有大问题,就是有时会突然忘记命令是什么。后翻翻之前的作业和pdf看了之后再自己多敲敲。
2.在建立拓扑结构之前忘记先打开wireshark进行待命了,导致抓包不完全,后面先打开wireshark,再重新建立拓扑结构之后抓包成功