(一)基本要求
拓扑文件
wireshark抓包的结果
OFPT_HELLO
控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机46192端口
交换机46192端口(我最高能支持OpenFlow 1.5) ---> 控制器6633端口
Features Request
控制器向交换机发送Features Request消息查询交换机特性,Features Request消息只包含Openflow Header,交换机的特性信息包括交换机的ID(DPID),交换机缓冲区数量,交换机端口及端口属性等等
Set Config
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) --->交换机46192端口
Port_Status
当交换机端口发生变化时,告知控制器相应的端口状态。
Features Reply
Features Reply消息包括Openflow Header 和Features Reply Message;
交换机46192端口(这是我的特征信息,请查收) ---> 控制器6633端口
Packet_in
交换机46192端口(有数据包进来,请指示)--- 控制器6633端口
Packet_out
控制器6633端口(请按照我给你的action进行处理) ---> 交换机46192端口
Flow_mod
控制器通过6633端口向交换机46192端口、交换机46194端口下发流表项,指导数据的转发处理
3.OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图
交换机与控制器建立通信时是使用TCP协议还是UDP协议?
使用的是TCP协议
(二)进阶要求
1.hello
2.FEATURES_REQUEST
feature_request的结构与hello一致
3.SET_CONFIG
4.PORT_STATUS
5.FEATURES_REPLY
6.PACKET_IN
7.PACKET_OUT
8.FLOW_MOD
三、个人总结
1.本次实验难度比较低,按照pdf文档一步步做便可完成,但是我一开始没有在数据抓包里找到HELLO,通过多次的尝试后发现是要先打开wireshark,然后选择any后再打开topo并抓包,在这步上花费了比较多的时间。
2.这次试验学会了如何用过滤器更快地找到所需要的数据包,同时通过抓包结果与源码进行比对对照的过程中认知了openflow主要消息类型对应的数据结构,以及对控制机及交换机之间建立链接的过程有了更清楚的认识。