基于Mininet胖树SDN网络仿真.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Mininet胖树SDN网络仿真

基于Mininet胖树SDN网络仿真   摘要:相较于传统网络体系结构的僵化,软件定义网络(Software Defined Networking,SDN)架构可以更好地适应与满足当前复杂多变的网络需求。以采用胖树(Fat-tree)拓扑的数据中心网络为例,介绍如何采用SDN网络仿真软件   Mininet方便而快捷地部署SDN仿真环境,调整链路性能。可为数据中心的管理与部署提供参考,有利于简化数据中心网络的工作,加速应用上线。   关键词:软件定义网络;网络仿真;胖树拓扑;数据中心;链路性能   0 引言   软件定义网络(Software Defined Networking,SDN) 因其对僵化网络结构的解绑,可以简化网络部署与管理,有利于网络快速适应生产生活需求,从而快速地从理论进入实践。SDN概念白提出后,开始在如数据中心、广域网的部署升级中大量应用。同时,SDN网络也被科研、生产工作者广泛实验研究。然而一个完整的SDN网络至少需要控制器、OpenFlow交换机、终端结点等设备来构建,超出了大部分研究工作者所具备的实验条件。对此,如OpenNet、NS3、Mininet等仿真软件可以帮助研究者方便、快速地使用笔记本电脑等工具构建一个SDN网络仿真平台,并进行技术方案、功能扩展的验证。   Mininet的操作与拓扑建立相对方便,所建立拓扑的终端结点、交换机与调用的相关应用均由源码运行支持,仿真度较高,实验结果可以直接移植到实际环境。此外,Mininet对于基于OpenFlow协}义的SDN网络支持较好,适合于单机上建立SDN网络仿真。   数据中心是对SDN应用较快较广泛的地方,其最迫切地需求是为服务器群组提供高效的双向带宽互联,通常采用层次性多根网络拓扑,其中胖树(Fat-tree)结构因其简单易用而得到广泛应用。本文使用Mininet作为仿真T具,基于此构建如Top02的胖树结构的SDN网络进行仿真。   1 使用Mininet创建拓扑   使用Mininet创建拓扑有编写脚本创建拓扑或使用miniedit 工具创建拓扑两种常用方式。通过编写脚本创建拓扑可以实现更加精细的拓扑定义与自动化测试等功能;使用miniedit工具创建拓扑则可以通过视图,更加直观地创建网络拓扑,并可以在导出的拓扑脚本中添加命令,进一步精细化拓扑定义。   1.1 编写脚本建立拓扑   通过编写脚本创建拓扑是最常见的拓扑搭建方式。Mininet常使用Python语言编写拓扑脚本,表l给出了在编写脚本过程中会使用到的主要类:   除此之外,还有如记录日志的setLogLevel、info等类。若需要在脚本中调用终端命令,还需要导入call类。   导入合适的类后即可白定义拓扑,包括添加组件与建立连接。需要添加的组件包括终端结点、OpenFlow交换机、控制器等。在根据自身需求定义好拓扑后,调用CLI以便调试。例如,建立图l中的网络拓扑,所编写的Python脚本如图2。   Topol定义了包含一台控制器controller,两台OpenFlow交换机sl、s2,两台终端主机hl、h2的SDN网络。脚本运行后将自动创建topol的拓扑,并在创建完成后开启CLI以输入调试命令。在当前脚本基础上,用户可以在脚本中进一步根据自身需求精细化定义拓扑,提高仿真结果精度。   除了直接编写脚本定义拓扑的方式,用户还可以使用Mininet所提供的可视化工具miniedit来更直观的、便捷地建立拓?洹?   1.2使用miniedit创建拓扑   miniedit是Mininet2.2.0版本起内置的一个可视化工具,位于安装目录下/mininet/examples/miniedit.py。用户可以使用miniedit工具,通过拖拽图标的方式搭建拓扑,并在通过运行测试后导出该拓扑的脚本。   在创建拓扑的过程中,还可以通过图标→右键→Properties来设置组件的属性,如控制器类型、交换机类型、终端结点IP、链路带宽等。如果需要使用到外部控制器,则控制器的Properties设置控制器类型为Remote Controller,并填写对应端口。完成拓扑搭建后在Edit→Perferences中选择是否调用CLI,所使用的OpenFlow版本等。   完成以上设置后即可运行拓扑以测试拓扑的搭建情况。在运行后若没有问题,可通过File- Export Leve12Script导出所搭建拓扑的脚本。相较于直接编写脚本白定义拓扑,miniedit这个可视化工具更加的直观、便捷,提供的属性设置也较丰富,可以满足实验的通用需求。当然,研究者也可以通过修改导出的脚本以及Mininet相关模块实现更精细的拓扑搭建与更丰富的拓扑功能。  

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档