2019 SDN上机第1次作业

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型的拓扑(交换机和主机名需与图中一致,即s1s6,h1h8,并且链路正确,请给出 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时会报错,疯狂百度解决问题···装成功后整个人都好了。

posted @ 2019-11-01 15:59  CerberusX  阅读(188)  评论(0编辑  收藏  举报