实验3:OpenFlow协议分析实践
一、基本要求
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进行处理)

FLOW_MOD
第一次构建的时候没有pingall抓到这个包所以端口号会不一样


交换机与控制器建立通信时是使用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的包。
浙公网安备 33010602011771号