2019 SDN上机第3次作业 CWC

1. 利用Mininet仿真平台构建如下图所示的网络拓扑,配置主机h1和h2的IP地址(h1:10.0.0.1,h2:10.0.0.2),测试两台主机之间的网络连通性

如图,将 h1, h2 的 IP 分别设置为 10.0.0.1, 10.0.0.2

开启CLI

OpenFlow 协议 1.0, 1.1, 1.2, 1.3 全数勾选。

2. 利用Wireshark工具,捕获拓扑中交换机与控制器之间的通信数据,对OpenFlow协议类型的各类报文(hello, features_request, features_reply, set_config, packet_in, packet_out等)进行分析,对照wireshark截图写出你的分析内容。

开启新终端,使用

sudo wireshark

开启wireshark监听

下面是另一台交换机(端口56052)与控制器(端口6633)的交互过程

① HELLO

控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机56052端口

交换机56052端口(我最高能支持OpenFlow 1.3)--- 控制器6633端口

② FEATURE REQUEST

控制器56052端口(我需要你的特征信息) ---> 交换机35534端口

③ SET CONFIG

④ FEATURES REPLY

交换机56052端口(这是我的特征信息,请查收)--- 控制器6633端口

这里展示部分详细资讯

⑤ PACKET_IN

交换机56052端口(有数据包进来,请指示)--- 控制器6633端口

分析抓取的数据包,可以发现是因为交换机发现此时自己并没有匹配的流表(Reason: No matching flow (table-miss flow entry) (0)),所以要问控制器如何处理

⑥ PACKET_OUT

控制器56052端口(请按照我给你的action进行处理) ---> 交换机35534端口

结合Packet_out的结构可得知告诉输出到交换机的65531端口。

接下来是另一台交换机(端口56054)与控制器(端口6633)的交互过程

h1 ping h2

① PACKET_IN

② FLOW_MOD

结合flow_mod结构可得知分析抓取的flow_mod数据包,控制器通过6633端口向交换机56052端口、交换机56054端口下发流表项,指导数据的转发处理。

PS.把控制器从openflow reference改成ovs controller

① HELLO

在hello报文中可以发现控制器支持的OpenFlow版本从1.0变成了1.3,因此,经过协商交换机和控制器之间将通过1.3版本的OpenFlow协议进行通信

② FLOW_MOD

 

猜你喜欢

转载自www.cnblogs.com/willofficial/p/11854456.html