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/

效果如下:

mininet配置命令的更多相关文章

  1. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  2. 一个简单的零配置命令行HTTP服务器

    http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) ...

  3. IB交换机配置命令总结

    串口通过远程CRT登录,波特率9600用户名和密码都是adminDo you want to use the wizard for initial configuration?选择no打开ip rou ...

  4. 一个简单的零配置命令行HTTP服务器 - http-server (nodeJs)

    http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) ...

  5. 思科Cisco 2960系列交换机配置命令

    配置密码: 2960>en :第一次密码为空 2960h#conf t :进入全局配置模式 2960(config)#hostname swa :设置交换机名 2960(config)#enab ...

  6. RHEL7查看网卡配置命令ip addr show

    Validating Network Address Configuration To verify the configuration of the network address, you nee ...

  7. LINUX查看硬件配置命令

    LINUX查看硬件配置命令   系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...

  8. Ubuntu Linux下设置IP的配置命令

    Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...

  9. 烽火2640路由器命令行手册-13-VPDN(L2TP,PPTP,PPPOE)配置命令

    VPDN(L2TP,PPTP,PPPOE)配置命令 目  录 第1章 VPDN配置命令... 1 1.1 VPDN配置命令... 1 1.1.1 accept-dialin. 1 1.1.2 doma ...

  10. 烽火2640路由器命令行手册-12-IBM网络配置命令

    IBM网络配置命令 目  录 第1章 DLSW配置命令... 1 1.1 DLSW配置命令... 1 1.1.1 dlsw local-peer 1 1.1.2 dlsw remote-peer 3 ...

随机推荐

  1. Word06 黑客技术office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  2. NIO 缓冲区 ByteBuffer 基本认识

    一.差别 java.nio.HeapByteBuffer 0. 获取方式:ByteBuffer.allocate(int value); 1. java堆内存,读写效率较低,但分配内存较块. 2. 受 ...

  3. C/C++ FILE 和 fstream 用法详解

    FILE 是C语言自带的文件操作结构体, fstream 是C++的文件操作类,两者使用都比较常见,且用法比较类似,再次记录. 功能 FILE fstream 打开文件 FILE* fopen(cha ...

  4. centos删除安装vsftpd

    准备工作 1.centos 卸载vsftpd 删除原有的vsftpd(卸载前先关闭 vsftpd: systemctl stop vsftpd)[root@localhost ~]# rpm -aq ...

  5. HTTP相关知识学习

    五层网络模型 应用层 包括HTTP,FTP... HTTP支持客户/服务器模式 简单快速有getpost方法 灵活,可以传输任意类型 无连接,每次连接只处理一个请求,收到应答就关闭 无状态,对于事物处 ...

  6. 攻防世界Web篇——unserialize3

    知识点: 序列化与反序列化维基百科:    序列化(serialization)在计算机科学的数据处理中,是指将数据结构或对象状态转换成可取用格式(例如存成文件,存于缓冲,或经由网络中发送),以留待后 ...

  7. SourceInsight4破解

    2017/10/18 更新 1. 安装原版软件:Source Insight Version 4.0.0092 -  March 20, 2018 2. 下载激活程序:sourceinsight_40 ...

  8. git常用命令查询手册

    默认已经连接到远程仓库的情况下 本地文件夹初始化成git仓库.提交本地仓库并添加注释 git init git add 文件1(文件夹1) 文件2(文件夹2)... git commit -m &qu ...

  9. uiautomator2自动化工具的下载与安装

    前言: 相信很多使用appium做过APP自动化的人都深有感触: 1,安装麻烦,配置环境可能会难道不少人 2,appium运行慢.时间长 3,uiautomatorviewer定位元素时得关掉appi ...

  10. GAN的两种训练方式,以及梯度求导问题——detch(),retain_graph

    http://t.zoukankan.com/LXP-Never-p-13951578.html detach():截断node反向传播的梯度流,将某个node变成不需要梯度的Varibale,因此当 ...