zoukankan      html  css  js  c++  java
  • 2019 SDN上机第1次作业

    安装轻量级网络仿真工具Mininet

    • ubuntu换成阿里云的源之后,使用apt命令下载Mininet

      sudo apt-get install mininet

    • 安装成功

    • 试用Mininet

      sudo mn

    用字符命令搭建如下拓扑,并写出命令

    • 拓扑1:

      sudo mn --topo=linear,3

    • 拓扑2:

      sudo mn --topo=tree,depth=2,fanout=3

    利用可视化工具搭建如下拓扑

    并要求支持OpenFlow 1.0 1.1 1.2 1.3,设置h1(10.0.0.10)、h2(10.0.0.11)、h3(10.0.0.12),拓扑搭建完成后使用命令验证主机ip,查看拓扑端口连接情况。

    • 可视化界面

    • 在这边出了下面这个,我没找到解决的办法,只好采用git的方法重新安装mininet

    • 用git重新安装mininet之后,就是正常的,运行结果如下

      设置地址

      xterm查看每个的ip地址

    利用Python脚本完成如下图所示的一个Fat-tree型的拓扑

    • 运行结果

    • python代码

      from mininet.topo import Topo
      from mininet.net  import Mininet
      from mininet.node import RemoteController,CPULimitedHost
      from mininet.link import TCLink
      from mininet.util import dumpNodeConnections
      
      class MyTopo(Topo):
          "Simple topology example"
      
          def __init__(self):
              "Create custom topo"
              
              # Initialize topology
              Topo.__init__(self)
              L1=2
              L2=L1*2
              L3=L2
              c=[]
              a=[]
      
              # add core ovs
              for i in range(L1):
                  sw = self.addSwitch('s{}'.format(i+1))
                  c.append(sw)
              
              # add aggregation ovs
              for i in range(L2):
                  sw = self.addSwitch('s{}'.format(L1+i+1))
                  a.append(sw)
      
      
              #add links between core and aggregation ovs
              for i in range(L1):
                  sw1 = c[i]
                  for sw2 in a[i/2::L1/2]:
                      self.addLink(sw2,sw1)
      
              #add hosts and its links with edge ovs
              count=1
              for sw1 in a:
                  for i in range(2):
                      host = self.addHost('h{}'.format(count))
                      self.addLink(sw1,host)
                      count += 1
      topos={'mytopo':(lambda:MyTopo())}
      
  • 相关阅读:
    R语言学习笔记2——绘图
    稀疏编码笔记1
    【转】宏定义中##和#的作用
    CRUX下实现进程隐藏(3)
    CRUX下实现进程隐藏(2)
    CRUX下实现进程隐藏(1)
    Coursera机器学习基石 第1讲:The Learning Problem
    R语言学习笔记1——R语言中的基本对象
    Semi-Supervised Dimensionality Reduction
    转发常见一主从复制案例
  • 原文地址:https://www.cnblogs.com/phd1999/p/11789161.html
Copyright © 2011-2022 走看看