Mininet加强版——DOT(分布式OpenFlow试验平台)

前言

之前在做SDN实验的时候,需要用到包含2000+个交换机的fattree拓扑,当时用的是mininet,生成整个拓扑需要十五六个小时,最终在异常艰苦的环境下做完了实验,之后听说了有DOT(Distributed OpenFlow Testbed)这个enhanced mininet,但当时迫于时间和机器的限制就没有尝试,现在有了腾讯云,刚好试试DOT。

一. DOT简介

DOT是一个模拟大规模SDN网络的工具,将模拟的任务分布在了多个物理主机上,这样就可以保证CPU,带宽以及网络延时,经过实验,他的可扩展性和其他性能要好于Mininet,下面左的性能比较来自于作者的论文。(其中backgroud traffic是相对于foreground traffic来说的,比如现在要在A和B之间产生千兆带宽(foreground traffic),但是网络中的其他设备之间也会存在带宽(background traffic),如果用Mininet的话无法保证AB之间的带宽为千兆,但是DOT可以。

上图由展示了DOT的系统构架,可以看出DOT主要有两个部分:DOT Central Manager(DCM)和很多个DOT Node Manager(DNM)。
DCM负责按照用户的指令分配资源,他有两个模块,Provisioning模块运行算法,负责将虚拟网络映射到物理资源,Statistics Collection模块负责从安装在么个DNM的Logging模块统计信息,Information数据库存储包括集群的利用率等管理信息。

一个DNM安装在一个物理主机上,每个DNM有两个模块,Host Provisioning模块负责收集和配置所需要的资源,Logging模块收集各种统计信息(包括资源利用率,数据包速率,吞吐率,延时,丢包率和OpenFlow消息。)

下图完整的展示了如何将要模拟的网络映射到多个物理主机上面,至于具体细节,可以参考论文。

二. 安装

我有个腾讯云服务器,一个用于DOT manager,一个用于DOT Node,假设他们的公网IP分别为(10.0.0.1,10.0.0.2),先用secureCRT分别远程登录两个服务器。然后分别安装DOT manager和DOT Node.

先在10.0.0.1服务器上安装DOT manager

  1. 因为后面的安装都是用bash脚本安装,所以先获取执行shell的root权限

    sudo -s
  2. 下载文件,解压,改变权限,安装

    wget http://dothub.org/downloads/dot_scripts_1_0.tar.gz
    tar xvzf dot_scripts_1_0.tar.gz
    chmod a+x dot_manager_install.sh
    ./dot_manager_install.sh
  3. 在安装过程中需要输入一些参数

    Press enter to continue...          #直接按Enter
    Enter the name of the local interface that is connected to the DOT nodes         #输入一个网卡名称供DOT node连接,我这里是eth0
    #接着要求输入DOT nodes的IP地址,我的为10.0.0.2
    #接着是子网掩码,我的为255.255.255.0
  4. 之后会自动下载安装很多的库.

再在10.0.0.2服务器上安装DOT Node

  1. 前面几步和DOT manager类似,不过安装的shell文件需要换成dot_node_install

    sudo -s
    wget http://dothub.org/downloads/dot_scripts_1_0.tar.gz
    tar xvzf dot_scripts_1_0.tar.gz
    chmod a+x dot_node_install.sh
    ./dot_node_install.sh
  2. 在安装的过程中需要输入一些参数

    Press Enter to continue...                              #直接按Enter
    Enter the IP address of the DOT manager                 #输入DOT manager的IP,我的为10.0.01
    Please enter the name of the external interface of this machine    #输入刚才安装DOT manager时候的网卡名字,我这里是eth0
    Enter the user name of the DOT node                     需要给你的DOT node一个名字,我这里是dot
    #然后需要输入密码,自己输入就好
    #需要补充一些信息,我都是直接enter,成为默认值
    Full name []:
    Room Number []:
    Work Phone []:
    Other []:
    Is the information correct?[Y/n]                       #这里必须输入Y
  3. 之后会自动下载安装很多的库,包括虚拟交换机OpenvSwitch.
  4. 安装配置完成之后,将DOT manager的ssh key复制给所有的DOT nodes。

    wget http://dothub.org/downloads/dot_scripts_1_0.tar.gz
    sudo -s
    tar xvzf dot_scripts_1_0.tar.gz
    chmod a+x dot_manager_keycopy.sh
    ./dot_manager_keycopy.sh 

三. 实验

拓扑需要用配置文件来定义。具体的步骤和说明可以参考Deloying logical topology

四. 遇到的问题

问题:在用securtCRT的时候出现乱码问题

解决:Options->Session Options->Appearance->Character encoding: UTF-8

五. 总结

之前的远程访问都是用的putty,这次从腾讯云官网上看到了secureCRT,因为他可以打开多窗口,同时进行多个连接,比putty还是要方便一些的,而且我在用putty的时候会经常中断。由于实验规模比较小,暂不能发现DOT的优越之处,以后做实验有条件的话会尝试一下。

时间: 2024-08-23 05:01:43

Mininet加强版——DOT(分布式OpenFlow试验平台)的相关文章

基于Spark的异构分布式深度学习平台

导读:本文介绍百度基于Spark的异构分布式深度学习系统,把Spark与深度学习平台PADDLE结合起来解决PADDLE与业务逻辑间的数据通路问题,在此基础上使用GPU与FPGA异构计算提升每台机器的数据处理能力,使用YARN对异构资源做分配,支持Multi-Tenancy,让资源的使用更有效. 深层神经网络技术最近几年取得了巨大的突破,特别在语音和图像识别应用上有质的飞跃,已经被验证能够使用到许多业务上.如何大规模分布式地执行深度学习程序,使其更好地支持不同的业务线成为当务之急.在过去两年,百

elk开源分布式日志分析平台

elk 开源分布式日志分析平台 一.简介1.核心组成2.三大组件3.elk 的工作流程4.elk 的帮助手册二.Logstash 和 elasticsearch(elasticsearch 和 logstash 依赖 java环境)1.java2.nginx 的安装3.redis 的安装4.安装 elasticsearch5.安装 logstash6.安装 kibana三.检验 elk 的日志结果 一.简介1.核心组成>.elk 由 Elasticsearch,Logstash 和 Kibana

java b2b b2c o2o分布式电子商务云平台

大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台. 技术解决方案 开发语言: java.j2ee 数据库:mysql JDK支持版本: JDK1.6.JDK1.7.JDK1.8版本 核心技术:分布式.云服务.微服务.服务编排等. 核心架构: 使用Spring Cloud分布式微服务云架构进行服务化开发,所有模块功能完全解耦,提供服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等. 技术列

(一)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 -平台导语

导语: 怎么搭建一套满足企业未来发展的通用架构平台?现在分布式.微服务.云平台的口号是如此的响亮,技术更新是如此的迅速,很多架构师选择使用dubbo.spring cloud的方案去帮助企业搭建分布式.微服务的架构,在实施的前期去对比选择.其实不然,只要能够帮助搭建一套满足于企业本身业务的架构就可以了,至于dubbo.spring cloud的对比我这边不做对比,从今天开始,文章中会详细讲解基于dubbo的一套分布式企业架构搭建过程,逐步教授搭建企业通用的分布式.微服务.云架构平台. 技术选型:

(二)springmvc+mybatis+zookeeper分布式架构 整合 - 平台功能导图

构建dubbo分布式平台的技术选型.目标.特点.独立服务项目等,今天针对于独立服务项目提供平台功能导图,也是我们未来逐步研发的功能. 架构代码下载:我这边不做多介绍,直接上图了: 下面的章节中,我们会针对于不同的平台提供不同的解决方案和实施步骤,会详细记录每一个细节点,希望能够帮助大家一起学习! 原文地址:http://blog.51cto.com/13568887/2070564

java分布式电子商务云平台b2b b2c o2o

分布式微服务云架构服务组件 实现模块化.微服务化.原子化.灰度发布.持续集成 commonservice eurekaNetflix 云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移. FeignOpenFeign Feign是一种声明式.模板化的HTTP客户端. ZuulNetflix Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门. common

salt分布式自动化部署平台

集中管理平台上安装salt-master 各个交易所监控机上安装salt-minion和salt-master,各个客户端安装salt-minion; salt-master管理各个监控机,监控机管理各个客户端,这样实现统一自动化部署.

分布式多计算机调度平台

方案: 1,) 目前我们的程序,单独一台计算机一天分析100G以内的xml数据,有选择的将需要的数据入库数据库(sqlserver2008 r2 64)记录近1亿左右,一台128G内存,32核的计算机勉强能完成任务: 2,) 随着市场的扩展,我们拿到的数据量一天的数据就有1T左右的xml数据,单台计算机运行已经分析完成时间成为了瓶颈,可能需要十天或者更长的时间. 解决方案: 为了能够让我们的产品能有更强的生存力,吸引到更多的用户:项目组就有了这么一个讨论: 方案1,)使用hadoop对这种大数据

教你如何使用PaaS作为安全控制的试验平台

美国商务部国家标准与技术研究所(NIST)在2014年12月发布了特别出版物800-53A修订版4(详见http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53Ar4.pdf),概述了高级信息系统安全官(ISSO)和信息系统所有者(ISO)需要做哪些工作,以便遵守美国联邦法.行政命令以及安全控制方面的政策.法规及标准.该修订版为安全控制体系设立了标准. 该体系按安全控制方面的下列18个大类来划分. 访问控制 认识和培训