(一)基本要求
搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据。
(二)抓包流程图
1、hello
6633向60096发送hello包,并且使用openflow1.0
抓包流程图
2、features_request
控制器6633端口(我需要你的特征信息) ---> 交换机60096端口
3、Set Conig
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机60096端口
4、Port_Status
当交换机端口发生变化时,告知控制器相应的端口状态。
5、Features Reply
交换机60096端口(这是我的特征信息,请查收) ---> 控制器6633端口
6、Packet_in
有两种情况:
交换机查找流表,发现没有匹配条目时
有匹配条目但是对应的action是OUTPUT=CONTROLLER时,交换机60088端口(有数据包进来,请指示)--- 控制器6633端口
7、Flow_mod
控制器通过6633端口向交换机60096端口、交换机60096端口下发流表项,指导数据的转发处理
8、Packet_out
控制器6633端口(请按照我给你的action进行处理) ---> 交换机60088端口
9、交互图
交换机与控制器建立通信时是使用TCP协议还是UDP协议?
使用的是TCP协议,如下图
个人总结
本次实验是让我们学习如何能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包,理解和分析OpenFlow 交换机与控制器交互过程。在建立拓扑中遇到了一些问题,耽误了一点时间,但是通过发现和寻找即使找出并解决了问题,让实验能够进行下去,通过这个实验对抓包的学习更为的熟练,遇到了其他小问题也会通过询问同学或是查找资料来解决,本次实验让我对wireshark抓包的运用更加的熟练。