"SA16011112殷康麒实验报告1: 目标、环境配置和带控制器的网络"

需积分: 0 0 下载量 196 浏览量 更新于2024-01-03 收藏 1.44MB PDF 举报
SA16011112殷康麒实验报告1; 1. 目标 本实验的目标是通过使用MiniNet和Miniedit完成一个FatTree拓扑的建立。该拓扑需要具备带控制器的网络功能,并能够证明生成树协议在存在环的情况下的链路健壮性。同时,还需要建立一个不带控制器的FatTree网络,并手动添加相关流表项来证明带宽的相对均匀性。 2. 相关环境配置 为了进行实验,首先需要从百度云盘上下载两个镜像,并安装Putty和Xterm Server以确保后续实验的顺利进行。相关环境的配置步骤已在指导PPT中详细说明。 3. 带控制器的网络 本部分将介绍网络拓扑的建立、代码解释以及相关仿真结果和分析。最后,还将通过人为破坏部分链路来观察网络的状况。 3.1. 网络拓扑的建立 如图3.1所示,使用Miniedit直接建立了图1.1的拓扑结构,并完成了相应的连线。建立完成后,将输出拓扑文件TopoFinal.py。 ![图3.1](https://example.com/image) 3.2. 相关代码解释 接下来,我们将解释相关代码的功能。首先,需要在TopoFinal.py文件中导入所需的库。然后,定义一个继承自Topo类的自定义类,该类表示我们想要创建的FatTree拓扑结构。 在自定义类中,我们使用for循环来生成交换机和主机,并使用addSwitch和addHost方法将它们添加到拓扑中。随后,通过添加链接将交换机连接起来,并设置带宽。 最后,创建一个网络拓扑的实例,并使用与恢复树协议相对应的生成树类型。该类型需要在构造函数中指定。然后,将控制器连接到交换机,并通过CLI类将实例启动。 3.3. 仿真结果和分析 在进行仿真之前,需要在命令行中执行TopoFinal.py文件来创建网络拓扑。一旦创建完成,就可以使用pingall命令测试网络的连通性。 通过结果可以观察到,网络中的所有设备都能够成功连通。这证明了生成树协议在FatTree拓扑中的链路健壮性。 3.4. 破坏链路之后的网络状况 为了模拟网络中部分链路被破坏的情况,我们分别断开了两条连接并运行pingall命令。 结果显示,在断开两条连接后,网络中的一部分设备无法与其他设备通信。这表明,当链路被破坏时,网络的连通性会受到影响。 4. 不带控制器的网络 本部分将介绍建立不带控制器的FatTree网络,并手动添加相关流表项来证明带宽的相对均匀性。 4.1. 网络拓扑的建立 使用Miniedit直接建立了不带控制器的FatTree拓扑结构,并完成了相应的连线。同样地,将输出拓扑文件TopoWithoutController.py。 4.2. 添加流表项 在TopoWithoutController.py文件中,我们通过在创建交换机时使用dpid参数,手动给每个交换机添加唯一的标识符。 然后,通过循环遍历所有交换机,并使用addFlow方法手动添加流表项。流表项中包含了与交换机连接的主机和相应的带宽。 4.3. 仿真结果和分析 在执行TopoWithoutController.py文件后,可以使用pingall命令测试网络的连通性。 通过观察结果,可以发现网络中的主机之间都能够成功通信。这证明了不带控制器的FatTree网络的流表项配置能够实现带宽的相对均匀性。 总结: 通过本实验,我们成功使用MiniNet和Miniedit建立了一个带控制器和不带控制器的FatTree拓扑网络。我们证明了生成树协议在存在环的情况下的链路健壮性,并成功验证了不带控制器的FatTree网络的带宽相对均匀性。这些结果对于理解和应用高级计算机网络具有重要意义。