• 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,在DOT Manager物理机上运行如下代码。
      chmod a+x dot_manager_keycopy.sh
      ./dot_manager_keycopy.sh 

        运行过程需要输入一些参数:    

    DOT Manager installation is starting....
    Press enter to continue...                     #直接按Enter键
    Generating the ssh keys
    Use the default location for saving the keys
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):                      #输入一个文件名
    Enter passphrase (empty for no passphrase):                                   #输入密码,之后会生成key 
    Enter the user name of DOT nodes (Default: dot):                              #在上面安装DOT Node的时候输入过
    Enter the IP Addresses of the DOT nodes (Separated by space):                 #输入DOT nodes的IP
    #之后会让选择“yes”或者“no”,如果没有问题,选择yes即可完成。

    三. 实验

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

    四. 遇到的问题

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

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

    五. 总结

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

  • 相关阅读:
    Windows 系统变量大全
    linux编程
    CSS 对齐操作
    php 和 表单 简单交互
    HTML <input> placeholder 属性
    HTML <label> 标签
    Chap-4 Section 4.4 C++相关问题
    Chap-4 Section 4.3 COMMON块
    Chap-4 Section 4.2.4 指令修正方式
    Chap-4 Section 4.2.3 符号解析
  • 原文地址:https://www.cnblogs.com/cotyb/p/5057606.html
Copyright © 2020-2023  润新知