1. 利用Mininet仿真平台构建如下图所示的网络拓扑,配置主机h1和h2的IP地址(h1:10.0.0.1,h2:10.0.0.2),测试两台主机之间的网络连通性
-
进入平台构建网络拓扑,设置主机地址
-
测试网络连通性
h1 ping h2
2. 利用Wireshark工具,捕获拓扑中交换机与控制器之间的通信数据,对OpenFlow协议类型的各类报文(hello, features_request, features_reply, set_config, packet_in, packet_out等)进行分析,对照wireshark截图写出你的分析内容。
-
hello
控制器6633->交换机54164
交换机54164->控制器6633
于是双方建立连接,并使用OpenFlow1.0 -
features_request
控制器6633(我需要你的特征信息)->交换机54164
-
features_reply
交换机54164(这是我的特征信息,请查收)->控制器6633
-
set_config
控制器6633(请按照我给你的flag和max bytes of packet进行配置)-> 交换机54164端口
-
packet_in
交换机54164(有数据包进来,请指示)->控制器6633
-
packet_out
控制器6633(请按照我给你的action进行处理) ---> 交换机54164
-
交换机与控制器交互的交互过程
h1 ping h2
- packet_in
- flow_mod
分析抓取的flow_mod数据包,控制器通过6633端口向交换机54166端口下发流表项,指导数据的转发处理
更改控制器
在hello报文中可以发现控制器支持的OpenFlow版本从1.0变成了1.3,因此,经过协商交换机和控制器之间将通过1.3版本的OpenFlow协议进行通信