实验3:OpenFlow协议分析实践
作者:互联网
一.基本要求
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端口与交换机44486端口相互交换hello报文建立连接,并使用openflow 1.0
- 控制器向交换机发送hello报文
- 交换机向控制器发送hello报文
(2)Features Request - 控制器6633端口向交换机44486端口发送Features Request报文,请求获取交换机的特征信息
(3)Set Config - 控制器6633端口向交换机44486端口发送Set Config报文,要求交换机按照指定的flag和max bytes of packet进行配置
(4)Port_Status - 当交换机端口发生变化时,发送Port_Status报文告知控制器相应的端口状态
(5)Features Reply - 交换机44486端口向控制器6633端口回送Features Reply报文,通知控制器查收自己的特征信息
(6)Pocket_in - 有两种情况
-- 交换机查找流表,发现没有匹配条目时
-- 有匹配条目但是对应的action是OUTPUT=CONTROLLER时
抓包的时候没找到
(7)Packet_out - 控制器6633端口回送给交换机44486端口,指示它按照我给你的action进行处理
(8)Flow_mod - 分析抓取的flow_mod数据包,控制器通过6633端口向交换机44486端口、交换机44568端口下发流表项,指导数据的转发处理
第一次抓包时没有pingall就关了,因此再重新进行一次抓包
(9)交互图
3.回答问题:交换机与控制器建立通信时是使用TCP协议还是UDP协议?
TCP协议,由抓包结果可知。
二.个人总结
又复习了下可视化拓扑的建立和保存,对抓包有了更深刻的理解,做的过程中还是磕磕碰碰的,一开始看不到交换机给控制器发的hello报文,后来过滤器输入openflow_v6才找到。然后也找不到Flow_mod的包,后来知道拓扑要pingall才会出来。
标签:控制器,44486,OpenFlow,报文,端口,实践,交换机,实验,6633 来源: https://www.cnblogs.com/sour/p/15351641.html