首页 > Web开发 > 详细

mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64的使用

时间:2020-05-12 19:08:26      阅读:191      评论:0      收藏:0      [点我收藏+]

1.使用Vmware打开下载好的mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64

2.登录账号密码都为mininet

3.用命令行生成拓扑,并测试连通性

1)最小的网络拓扑,一个交换机下面挂两个主机:sudo mn --topo minimal,exit退出

{ps:.每次要新建拓扑时,需执行以下命令,防止上次操作对本次实验的影响

   sudo mn -c (以下步骤新建拓扑时也要执行此命令)}

2)每个交换机连接一个主机,交换机间相连接。本例:4个主机,4个交换机。

sudo mn --topo linear,4

3)每个主机都连接到同一个交换机上。本例:3个主机,一个交换机。

sudo mn --topo single,3

4)定义深度和扇出形成基于树的拓扑。本例:深度2,扇出2。

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

 

4.Python脚本定义拓扑

【1】--topo linear,4。

1)新建linear.py 文件:touch linear.py

2)编辑文件:vim linear.py,添加一下内容:

from mininet.net import Mininet

from mininet.topo import LinearTopo

Linear4 = LinearTopo(k=4)    #四个交换机,分别下挂一个主机

net = Mininet(topo=Linear4)

net.start()

net.pingAll()

net.stop()

3)修改文件linear.py为可执行文件:chmod +x linear.py

4)运行脚本:sudo python linear.py 

【此时如果报错:a.文件内容错误,检查后对应修改后重新运行脚本即可

                             b.出现如下图所示错误:

技术分享图片

 则运行sudo mn -c命令后重新运行脚本

5)成功的样子:

技术分享图片

【2】--topo single,3。

详见【1】,步骤相同,仅脚本内容不同

from mininet.net import Mininet

from mininet.topo import SingleSwitchTopo

Single3 = SingleSwitchTopo(k=3)   #一个交换机下挂3个主机

net = Mininet(topo=Single3)

net.start()

net.pingAll()

net.stop()

技术分享图片

 

【3】--topo tree,depth=2,fanout=2。

同上

from mininet.net import Mininet

from mininet.topolib import TreeTopo

Tree22 = TreeTopo(depth=2,fanout=2)

net = Mininet(topo=Tree22)

net.start()

net.pingAll()

net.stop()

技术分享图片

 

 【4】适合各种拓扑形式的脚本创建模式。本例:1个交换机,2个主机,并且赋予主机IP地址。

from mininet.net import Mininet

net = Mininet()

# Creating nodes in the network.

c0 = net.addController()

h0 = net.addHost(‘h0‘)

s0 = net.addSwitch(‘s0‘)

h1 = net.addHost(‘h1‘)

# Creating links between nodes in network

net.addLink(h0, s0)

net.addLink(h1, s0)

# Configuration of IP addresses in interfaces

h0.setIP(‘192.168.1.1‘, 24)

h1.setIP(‘192.168.1.2‘, 24)

net.start()

net.pingAll()

net.stop()

 技术分享图片

 

 【5】在此基础上对性能进行限制。(addHost()语法可以对主机cpu进行设置,以百分数的形式;addLink()语法可以设置带宽bw、延迟delay、最大队列的大小max_queue_size、损耗率loss。)

from mininet.net import Mininet

from mininet.node import CPULimitedHost

from mininet.link import TCLink

net = Mininet(host=CPULimitedHost, link=TCLink)

c0 = net.addController()

s0 = net.addSwitch(‘s0‘)

h0 = net.addHost(‘h0‘)

h1 = net.addHost(‘h1‘, cpu=0.5)

h2 = net.addHost(‘h1‘, cpu=0.5)

net.addLink(s0, h0, bw=10, delay=‘5ms‘,

max_queue_size=1000, loss=10, use_htb=True)

net.addLink(s0, h1)

net.addLink(s0, h2)

net.start()

net.pingAll()

net.stop()

 技术分享图片

 

 

5.交互式界面创建主机、交换机等

1)$sudo mn

2)添加主机h3:

技术分享图片

 

 3)添加link:

技术分享图片

4)给交换机s1添加端口eth3用于连接h3:

技术分享图片

 5)给h3赋予IP(10.0.0.3)以及h1 ping h3

技术分享图片

 

 

 6.测试网络

1)展示所有的网络信息。

技术分享图片

2)所有节点的ping测试。

技术分享图片

 

mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64的使用

原文:https://www.cnblogs.com/effortday/p/12877803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!