3、Mininet学习第一篇

一、Mininet简介

  Mininet是一个进程虚拟化网络仿真工具(模拟处SDN网络),可以创建一个含有主机、交换机、控制器和链路的虚拟网络,其交换机支持OpenFlow,具有高度灵活的自定义软件定义网络。

二、Mininet安装

三、Mininet的基本命令

熟悉基本命令后,根据练习得出以下拓扑结构

四、Mininet可视化(MiniEdit)

  MIninet自带可视化工具,打开即可

  使用远程连接需进行一些配置,查阅https://www.cnblogs.com/huanglinqiang/articles/13566417.html

五、Mininet实战(应用场景)

  应用场景一:玩转流表

知识提炼

  1. mac地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的;
  2. 而IP地址在传输过程中是不会改变的(除NAT的时候)。
  • 网络的五层结构


 

启动ryu

 

1、创建SDN网络,没有流表

创建的SDN网络的topo结构如下所示,

2、pingall后,再次查看流表

 

 

 3、删除系统自动生成的流表

4、手动添加流表,实现了线路一

 

实现了线路二

 

 5、删除手动设置的流表

(1)指定交换机删除特定流表

 (2)全部交换机删除特定流表

(3)全部交换机删除全部流表,完全删除

 6、添加丢弃数据包的流表

应用二:模拟多数据中心带宽实验

1、MIninet数据中心应用价值

  • 树状拓扑结构容错率能力强(一条线路换了可以另外找一条)
  • 降低数据中心成本消耗
  • 提供重要排列的全带宽无阻碍路径
  • 提高带宽利用率
  • 分析数据中心网络流量性能
  • 为真实数据中心和仿真测试床提供有用信息

2、数据中心拓扑逻辑网络

 3、Mininet自定义命令实现(iperfmulti)

  • 修改mininet/net.py  功能代码实现
  • 修改miniet/cli.py      注册命令
  • 修改bin/mn         加入到可执行文件中
  • 重新安装Mininet核心文件

  进入util目录下,

4、启动ryu和mininet

5、pingall(稍等一会,等STP生成树完)

6、用iperf测试主机间的TCP带宽

可以只需要测试H1->H2(在同一边缘交换机) H1->H3(在同一聚合交换机) H1->H5(在同一核心交换机)

 7、iperfmulti进行随机UDP带宽测试,进行流量随机模型的测试

查看服务端

查看客户端

实验总结

1、Python2与Python3的一些不同

  • basestring -> str
  • sorted(self.switches,key=type)->没有解决(暂时去掉sorted排序)
  • xrange->range

2、ryu的一些问题

  • simple_switch_stp.py出现buffer未定义

      https://stackoverflow.com/questions/3422685/what-is-python-buffer-type-for

  • stp中ovsk的设置问题

      https://blog.csdn.net/KyoInfo/article/details/107988759

3、网络中的一些术语

  • 网络抖动(Jitter)

   https://blog.csdn.net/weixin_42717961/article/details/106137187

 

posted @ 2020-08-25 16:39  Dammond  阅读(948)  评论(0编辑  收藏  举报