2019 SDN上机第3次作业

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

(1)先打开终端通过命令sudo wireshark启动wireshark工具,在wireshark中使用any捕获过滤器(以免捕捉不到某些在建立网络拓扑时就发送的报文)


(2)通过miniedit.py创建给定的拓扑


(3)设置主机h1的IP地址为10.0.0.1,设置主机h2的IP地址为10.0.0.2;

(4)勾选start CLI,并支持OpenFlow 1.0 1.1 1.2 1.3,Controller选择默认的openflow reference![]

(5)测试两台主机之间的网络连通性

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

  • hello

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

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

于是双方建立连接,并使用OpenFlow 1.0

  • Features Request

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

  • Set Config

控制器6633端口---> 交换机48704端口
控制器对交换机flags和miss_send_len属性进行配置
flags:用来指示交换机如何才处理 IP 分片数据包。
miss_send_len:用来指示当一个交换机无法处理的数据包到达时,将数据包发给控制器的最大字节数。

  • Features Reply

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

  • Packet_in

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

  • Packet_out

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

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

h1 ping h2

  • packet_in

  • flow_mod



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


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

  • flow_mod

原文地址:https://www.cnblogs.com/zys99/p/11879660.html