mininet配置命令

Posted on 2021-06-26 11:06  求知若渴;虚心若愚  阅读(477)  评论(0编辑  收藏  举报

Mininet实验手册

一、安装

1、  直接使用带有完整软件的VM(略)

2、  源码安装

1)  下载

git clone git://github.com/mininet/mininet

2)  安装

cd mininet/util

./install.sh –a   ##good luck

install.sh –nfv

3)  测试

sudo mn --switch ovsbr --test pingall

3、  软件包安装

sudo apt-get install mininet

二、常用命令

1、  创建拓扑

1)  最小化拓扑

root@user1-virtual-machine:~/mininet/util# mn --topo minimal

*** Creating network

*** Adding controller

*** Adding hosts:

h1 h2

*** Adding switches:

s1

*** Adding links:

(h1, s1) (h2, s1)

*** Configuring hosts

h1 h2

*** Starting controller

c0

*** Starting 1 switches

s1 ...

*** Starting CLI:

请画出最小化拓扑的图形结构(在画图里表示即可):

2)  创建线性拓扑

root@user1-virtual-machine:~/mininet/util# mn --topo linear,4

*** Creating network

*** Adding controller

*** Adding hosts:

h1 h2 h3 h4

*** Adding switches:

s1 s2 s3 s4

*** Adding links:

(h1, s1) (h2, s2) (h3, s3) (h4, s4) (s2, s1) (s3, s2) (s4, s3)

*** Configuring hosts

h1 h2 h3 h4

*** Starting controller

c0

*** Starting 4 switches

s1 s2 s3 s4 ...

*** Starting CLI:

请画出上面示例中线性结构的图形结构(在画图里表示即可):

3)  构建属性拓扑

root@user1-virtual-machine:~/mininet/util# mn --topo tree,fanout=3,depth=2

*** Creating network

*** Adding controller

*** Adding hosts:

h1 h2 h3 h4 h5 h6 h7 h8 h9

*** Adding switches:

s1 s2 s3 s4

*** Adding links:

(s1, s2) (s1, s3) (s1, s4) (s2, h1) (s2, h2) (s2, h3) (s3, h4) (s3, h5) (s3, h6) (s4, h7) (s4, h8) (s4, h9)

*** Configuring hosts

h1 h2 h3 h4 h5 h6 h7 h8 h9

*** Starting controller

c0

*** Starting 4 switches

s1 s2 s3 s4 ...

*** Starting CLI:

请画出上面示例中属性结构的图形结构(在画图里表示即可):

2、  使用python脚本构建拓扑

1)  线性拓扑脚本

#!/usr/bin/env python

 

"""

Create a self-defined linear network, and run the CLI on it.

"""

 

from mininet.net import Mininet

from mininet.topo import LinearTopo

Linear4 = LinearTopo(k=4)  #交换机数量为4

net = Mininet(topo=Linear4)

net.start()

net.pingAll()

net.stop()

~                   

2)  单交换机的星形拓扑(见上课文件)

3)  树形拓扑

4)  自定义ip

5)  自定义链路

以上程序文件参考课上

三、交互式界面命令

1、  执行mn创建最原始拓扑

root@user1-virtual-machine:~/mini_topo# mn

*** Creating network

*** Adding controller

*** Adding hosts:

h1 h2

*** Adding switches:

s1

*** Adding links:

(h1, s1) (h2, s1)

*** Configuring hosts

h1 h2

*** Starting controller

c0

*** Starting 1 switches

s1 ...

*** Starting CLI:

2、  添加h3主机

mininet> py net.addHost('h3')

<Host h3:  pid=39832>

3、  添加h3和s0之间的连接

mininet> py net.addLink(s1,net.get('h3'))

<mininet.link.Link object at 0x7f674c3e5bb0>

4、  给交换机添加端口连接h3

mininet> py s1.attach('s1-eth3')

5、  给h3设置ip地址

mininet> py h3.setIP("10.0.0.3/24")

6、  测试连通性

mininet> h1 ping h3

PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.

64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=1.50 ms

64 bytes from 10.0.0.3: icmp_seq=2 ttl=64 time=0.198 ms

64 bytes from 10.0.0.3: icmp_seq=3 ttl=64 time=0.043 ms

^C

--- 10.0.0.3 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2012ms

rtt min/avg/max/mdev = 0.043/0.581/1.504/0.655 ms

7、  查看信息

mininet> dump

<Host h1: h1-eth0:10.0.0.1 pid=39788>

<Host h2: h2-eth0:10.0.0.2 pid=39790>

<Host h3: h3-eth0:10.0.0.3 pid=39832>

<OVSSwitch s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None,s1-eth3:None pid=39795>

<Controller c0: 127.0.0.1:6653 pid=39781>

具体命令手册查看官网:http://mininet.org/walkthrough/#interact-with-hosts-and-switches

四、图形化

本实验在openlab注册平台上实现:

https://www.51openlab.com/course/expt/detail/d102e658-2dde-4f42-be95-f75d63461d9e/?from=/platform/curriculum/a18026230ad04063a70b6bb625212f3f/learn/

效果如下:

 

Copyright © 2024 求知若渴;虚心若愚
Powered by .NET 8.0 on Kubernetes