Mininet实战之Fattree拓扑创建和iperfmulti功能

编者按:众所周知,数据中心是目前网络研究的一个热门领域。随着云计算的兴起与发展,会对数据中心网络提出更多的需求,也为学术研究提供了更多的课题。

本篇博文将讲述1)如何搭建fatree网络拓扑和2)如何在mininet中拓展iperfmulti功能。

Mininet实战之Fattree拓扑创建和iperfmulti功能

众所周知,数据中心是目前网络研究的一个热门领域。随着云计算的兴起与发展,会对数据中心网络提出更多的需求,也为学术研究提供了更多的课题。TE(Traffic Engineering)是网络研究中最基础的研究之一,在TE中Load balance是比较主要的研究内容之一。 然而由于数据中心网络的流量走势与传统网络不同,导致数据中心网络与传统网络的架构有所不同。在传统网络中上下行流量在总流量中占据很大比重,而相比之下,数据中心的流量分类中,横向流量的比重要远远大于传统网络架构的比重。为了更好解决数据中心网络流量问题,数据中心架构的设计就变得非常重要,在众多网络架构中,Fat-tree架构是比较出名和成功的。

SDN兴起于校园网,盛开于数据中心,这是一种比较准确的描述。目前SDN的研究领域内,数据中心占据了一席之地。所以很多的研究者都试图通过在控制器开发应用以及使用mininet模拟网络来进行网络实验。博主最近也做了一个关于Fat-tree的实验,在实验过程中,碰到了许多问题,深深觉得这一方面的知识在互联网中还比较缺乏。特此记录下来,分享出去,首先是作为自己的笔记,备忘,其次也给其他同样研究这方面的同学一些帮助。我掉过的坑,我不愿意别人继续掉。

科学的发展是需要许多人奠定基础,才能逐步发展。而只有分享经验,传递知识,才能让后人能站在前人的基础之上继续前进。重复劳动力在一些基础的无关紧要的环节,是整个社会资源的浪费。特此感谢乐于分享的各种网络中的老师,特别是为人十分和蔼,温和,良师益友@地球-某某老师。

Fattree topo

这个python文件最初的原型是参考了roan's Blog的博文SDN Lab 2$ Use Mininet create Fat Tree Topology中给出的代码。并在次基础上做了一些修改。在此感谢台湾的小伙伴的分享。

在此基础上我进行了修改,可点击fattree源码获取代码。

Fattree特征
Fattree中,K是一个很重要的参数。如K=8,则core节点个数为(K/2)^2,pod个数为K,每一个POD有K个交换机,每一个交换机有K个inter link(内部链路)。aggregation层有K^2/2=64/2=32个交换机,同理 edge也是K^2/2=32个交换机。host可以是K/2个host,也可以任意指定。在我写的脚本中,K和host density都是可以设置的参数。

部分源码:

Iperfmulti function

在mininet中拓展功能的文章可参考@赵伟辰的博客。

在mininet中增加新功能其实不难。主要分为3步:

  • 修改net.py增加函数实体;
  • 修改cli.py,增加对应do_function函数,用于命令解析;
  • 修改mn函数,用于声明命令。

net.py和cli.py均在mininet/mininet目录,mn文件在在mininet/bin目录中。

修改net.py

以上代码完成iperfmulti函数实现:随机选取SC对,并进行iperf 打流。

修改cli.py

修改mn
在mininet/bin目录下修改mn文件,将iperfmulti加入到对应的列表中。

重新安装mininet

进入mininet/util目录,输入以下命令重新编译安装mininet core:

重启mininet,输入iperf,可使用table补全iperfmulti,从而可使用iperfmulti进行测试。

总结

在做实验的过程中,遇到了很多问题,也学会了很多。学会了谷歌找资料,学会了给论文作者发邮件,也学会了如何协同工作。特别是协同工作这一点,以前写代码,做实验都是自己来,没有明确定义的接口,也更没有分工合作,版本管理也是自己随意定。在这个实验过程中,不仅学到了很多知识,更重要的是学会了和小伙伴北邮-张歌的相处,团队协作是一个非常重要的能力,我将在未来的日子里继续努力学习和提高这方面的能力。希望他的博客能慢慢写起来,以后一起做更多好玩有用的实验。
 
转载自:李呈博客


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/8593.html
分享到:
相关文章
条评论

登录后才可以评论

李呈 发表于15-02-28
12