3、Mininet学习第一篇
一、Mininet简介
Mininet是一个进程虚拟化网络仿真工具(模拟处SDN网络),可以创建一个含有主机、交换机、控制器和链路的虚拟网络,其交换机支持OpenFlow,具有高度灵活的自定义软件定义网络。
二、Mininet安装
三、Mininet的基本命令
熟悉基本命令后,根据练习得出以下拓扑结构
四、Mininet可视化(MiniEdit)
MIninet自带可视化工具,打开即可
使用远程连接需进行一些配置,查阅https://www.cnblogs.com/huanglinqiang/articles/13566417.html
五、Mininet实战(应用场景)
应用场景一:玩转流表
知识提炼
- mac地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的;
- 而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