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. cheerio中文文档

    这篇参考手册是对cheerio 官方文档的中文翻译 cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方 简介   让你在服务器端和htm ...

  2. jmeter非GUI模式运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  3. 逆向学习物联网-网关W5500-00课程目的

  4. nginx 工作流程

    NGINX 把http请求处理流程划分为11个阶段,逻辑细分,以模块为单位进行处理.各个阶段可以包含多个http模块,每个阶段以流水线的形式处理请求.这样的分层处理模式与计算机网络的7层模式类似,每个 ...

  5. python菜鸟学习: 6. 字典常用方法

    # -*- coding: utf-8 -*-dict1 = {"name": "liyuzhoupan", "age": "22 ...

  6. 20192305 王梓全Python程序设计实验一报告

    20192305 王梓全Python程序设计实验一报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...

  7. 学校——DFS图的遍历

    学校实验 没什么多说的 就是实现一个图的遍历 由于学校已经输入的片段过于晦涩难懂 无法进行 在网上看了别人写的代码 提升了理解代码的一点能力 #include"string.h" ...

  8. bzoj 2337

    有人说这题像游走... 关于游走的思想,他死了... 明明直接从期望dp的角度考虑更简单合理嘛 首先由于是异或运算不妨逐位考虑 对于每一位,设状态$f[i]$表示从第$i$个点到第$n$个点,这一位上 ...

  9. 在unity编辑器中,导出/保存文件,使用EditorUtility.SaveFilePanel,代替运行时的方法。

    在项目中(运行时),已经有个功能是导出文件到本地磁盘,使用的方法是常见的DllImport("Comdlg32.dll")并进行封装.详情可参考:https://github.co ...

  10. Linux(CentOS7)中安装Docker

    Linux(CentOS7)中安装Docker 什么是Docker? Docker是一个开源项目, 诞生于2013年初,最初是dotCloud公司内部的一个业余项目.它基于Google公司推出的Go语 ...