一、基本要求
1.搭建拓扑
2.抓包结果
HELLO
控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机41986端口
交换机41986端口(我最高能支持OpenFlow 1.3) ---> 控制器6633端口
双方建立连接,并使用OpenFlow 1.0
FEATURES_REQUEST
控制器6633端口(我需要你的特征信息) ---> 交换机41986端口
SET_CONFIG
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机41986端口
PORT_STATUS
当交换机端口发生变化时,告知控制器相应的端口状态。
FEATURES_REPLY
交换机41986端口(这是我的特征信息,请查收) ---> 控制器6633端口
PACKET_IN
交换机41986端口(有数据包进来,请指示)--->控制器6633端口
PACKET_OUT
控制器6633端口--->交换机59434端口(请按照我给你的action进行处理)
交换机与控制器建立通信时是使用TCP协议
二、进阶要求
HELLO
FEATURES_REQUEST
SET_CONFIG
PORT_STATUS
FEATURES_REPLY
PACKET_IN
1.交换机查找流表,发现没有匹配条目
2.有匹配条目,对应的action是OUTPUT=CONTROLLER,固定收到向控制器发送包
PACKET_OUT
FLOW_MOD
个人总结
本次实验总体上跟着流程走难度不大,一遍实验下来对于OpenFlow协议中交换机与控制器的消息交互过程也有了一定的了解。由于在实验过程中构建拓扑网络后才开启wireshark,导致一部分包没有抓到,后来查阅了pdf才发现应该先打开wireshark,实验过程中出现了只有交换机端口向控制器发送HELLO的情况,后来采用miniedit可视化手动构建拓扑网络得以解决,最后通过过滤选择“openflow_v1”能够大大方便找到OpenFlow的包。
标签:控制器,OpenFlow,端口,实践,---,交换机,实验,6633 From: https://www.cnblogs.com/jiege1575902/p/16728507.html