mininet的安装

1.前言

1、本次安装环境为ubuntu20.04。
2、mininet 为 github上的最新版,我已经修改镜像地址并克隆到了gitee,只需要从我的gitee仓库克隆即可。
3、mininet安装中需要自动使用apt安装额外依赖,为了确保稳定性,需要对ubuntu进行换源(按照ubuntu教程即可)。

2.克隆mininet源码

打开Ubuntu中的终端(Terminal)为了方便起见,CD到桌面

cd Desktop
git clone https://gitee.com/lpm-123/mininet

3.安装mininet

进入安装文件夹,进行安装。之后会自动进行安装

cd mininet/util
sudo ./install.sh -a

出现enjoy mininet安装成功

Mininet安装完成后就可以连接ryu和sflow-rt进行更多的操作了

mininet的使用

1.快捷键

常见mininet指令可以在网络上自行查找

ctrl + c 中断mininet当前执行的指令
ctrl + d 中断mininet
中断mininet之后不要忘了执行sudo mn -c清除拓扑

2.测试mininet
sudo mn

3.清理现有的 ovs 网桥和命名空间

注意:有时我们错误地关闭了mininet shell,或者mininet崩溃了。但拓扑组件(虚拟网卡)将继续存在,若不清理,会导致下次搭建拓扑异常。要避免这些问题,请务必使用清理命令。

sudo mn -c
4.创建拓扑

树形拓扑举例

sudo mn --topo=tree,fanout=2,depth=2
sudo mn --topo=tree,fanout=2,depth=2 --controller=remote,ip=127.0.0.1
5.创建自定义拓扑
sudo mn --custom ./123123.py --topo=mytopo
sudo mn --custom ./123123.py --topo=mytopo --controller=remote,ip=127.0.0.1
from mininet.topo import Topo
class MyTopo( Topo ):
def build(self):
# 从这里进行修改
h1 = self.addHost('h1', ip='10.0.0.1') # addHost添加主机
h2 = self.addHost('h2', ip='10.0.0.2')
h3 = self.addHost('h3', ip='10.0.0.3')
h4 = self.addHost('h4', ip='10.0.0.4') s1 = self.addSwitch('s1') # addSwitch添加交换机
s2 = self.addSwitch('s2') self.addLink(h1, s1) # addLink添加连接
self.addLink(h2, s1) self.addLink(h3, s2)
self.addLink(h4, s2) self.addLink(s1, s2)
topos = { 'mytopo': ( lambda: MyTopo() ) }

拓扑py文件目录要和终端路径一致才能直接执行以上代码

Mininet教程的更多相关文章

  1. ubuntu12.04安装mininet

    网上安装mininet教程有很多,都是通过git命令安装,但有一个坑,安装到./install.sh时会报错,记录下来 1.通过git 下载mininet git clone git://github ...

  2. OVS 精确删除流表

    OVS 精确删除流表 前言 今天看了sdnlab小姐姐的mininet教程之后,看到有一个下流表的操作,优先级没能下成功,然后回来实验一下,这个问题是解决了,不过遇到了一个小问题,ovs如何精确删除流 ...

  3. Mininet VM设置笔记

    Mininet VM是为了加快Mininet安装,而且可以很容易在linux平台上运行. VM运行在Windows,Mac,Linux,通过VMware.VirtualBox,QEMU和KVM. 下载 ...

  4. Mininet安装及使用

    最简单的方法是开始 下载一个预包装Mininet / Ubuntu VM . 这个虚拟机包括Mininet本身,所有预装OpenFlow二进制文件和工具,调整内核配置,以支持更大的Mininet网络. ...

  5. Ubuntu16.04安装Mininet

    Ubuntu16.04源码安装Mininet 本文介绍了VMware虚拟机ubuntu16.04中安装Mininet的方法,物理机中的方法与之相同.主要参考了Mininet官方的教程.官方提供了四种安 ...

  6. Mininet安装,简单实现一个网络拓扑结构

    安装mininet Mininet安装教程,可以按照这个来,然而这个虚拟机有时会很难装.可以考虑如下的做法:先 git clone,cd mininet 和 cat INSTALL之后,可以在提示信息 ...

  7. Mininet自定义网络拓扑

    在Mininet上的网络拓扑有两种方式 第一种 用mininet自带的miniedit可视化工具,在mininet/mininet/examples/的目录下的一个miniedit.py,运行这个文件 ...

  8. P4开源Tutorials教程样例实战及对P4v1.1规范的初分析

    Github链接:Github-P4Lang-Tutorials-p4v1.1 前言 本文主要对Barefoot开源教程中的p4v1.1实例simple_router的实战步骤进行记录与阐述,希望能帮 ...

  9. mininet的安装

    安装Mininet主要参照李呈的教程 http://www.sdnlab.com/11495.html 我的做法是: 安装虚拟机VM(很容易查找). 需要开启虚拟化: BIOS中依次选择:Advanc ...

  10. mininet、floodlight在第一次SDN上机作业中出现的一些问题

    mininet.floodlight在第一次SND上机作业中出现的一些问题 首先给出链接 VMware安装 mininet安装 floodlight安装及问题,各个版本Ubuntu SDN第一次上机作 ...

随机推荐

  1. LeeCode数组问题:二分查找

    LeeCode 704 二分查找 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标, ...

  2. Android View的事件分发机制-源码解析

    为了更好的研究View的事件转发,我们自定以一个MyButton继承Button,然后把跟事件传播有关的方法进行复写,然后添加上日志: 然后把我们自定义的按钮加到主布局文件中: public clas ...

  3. CVE-2022-21454:漏洞整改mysql5.7.37升级至5.7.38 tar包升级

    问题描述:对数据库服务器进行漏扫,发现一些中高位漏洞需要整改,有些数据库需要升级到最新版 漏洞修改指导链接:https://www.oracle.com/security-alerts/cpuapr2 ...

  4. 开心档之MySQL 序列使用

      MySQL 序列使用 MySQL 序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将 ...

  5. Git代码提交规范

    1. 引言 思想,因人而异,难以重复 写代码时,每个人的习惯是不一样的,所以,引入了代码规范,为了省力,引入了自动格式化代码工具,前端工程中比较典型的自动格式化代码工具如:Prettier · Opi ...

  6. [C++提高编程] 3.1 string容器

    文章目录 3.1 string容器 3.1.1 string基本概念 3.1.2 string构造函数 3.1.3 string赋值操作 3.1.4 string字符串拼接 3.1.5 string查 ...

  7. 推荐一个基于.Net Framework开发的Windows右键菜单管理工具

    平常在我们电脑,我们都会安装非常多的软件,很多软件默认都会向系统注册右键菜单功能,这样方便我们快捷打开.比如图片文件,通过右键的方式,快捷选择PS软件打开. 如果我们电脑安装非常多的软件,就会导致我们 ...

  8. Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人

    Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting.Self-Consistency等:项目实战搭建知识库内容机器人 1. ...

  9. vue 事件中的 .native你搞清楚了吗

    native是什么? .native - 监听组件根元素的原生事件. 主要是给自定义的组件添加原生事件. 官网的解释: 你可能想在某个组件的根元素上监听一个原生事件.可以使用 v-on 的修饰符 .n ...

  10. 2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态。 返回让所有值全变成1,最少的操作次数。 1 <

    2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态. 返回让所有值全变成1,最少的操作次数. 1 &l ...