2019 SDN上机第1次作业

怎甘沉沦 提交于 2019-12-03 04:33:55

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


安装步骤

  • Step1:在Linux环境下安装Git,输入

    sudo apt-get install git

  • Step2:Clone Github,输入

    sudo git clone http://www.github.com/mininet/mininet

  • Step3:安装 mininet,输入

    sudo ./util/install.sh -a

安装成功!

2.用字符命令搭建拓扑,要求写出命令


  • 第一题

    命令:sudo mn --topo linear,3

  • 第二题

    命令:sudo mn --topo tree,fanout=3,depth=2

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 ,查看拓扑端口连接情况。

  • 按要求构建出拓扑关系

  • 分别给h1,h2,h3设置好IP,选中OpenFlow1.0 1.1 1.2 1.3和 Xterm 后,Run一下,再输入命令:

    Xterm h1,h2,h3ifconfig,结果如图:

4. 利用Python脚本完成一个Fat-tree型的拓扑(交换机和主机名需与图中一致,即s1~s6,h1~h8,并且链路正确,请给出 Mininet 相关截图

#!/usr/bin/python
#Creating Inernet Topo

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):
    def __init__(self):
        #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
        for i in range(L1):
            sw1 = c[i]
            for sw2 in a[i/2::1]:
                self.addLink(sw2, sw1)
        
        #add Hosts
        count = 1
        for sw1 in a:
            for i in range(0, 2):
                host = self.addHost('h{}'.format(count))
                count+=1
                self.addLink(sw1,host)

topos = {'mytopo':(lambda:MyTopo())}

作业截图



5.个人心得


不用已经给的镜像安装Mininet的过程有点痛苦...我就不用镜像嘿嘿嘿,Linux环境下有时输入sudo apt-get install xxx时会报错,疯狂百度解决问题···装成功后整个人都好了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!