Openlab实验平台实验--Mininet

  • 任务目的
  • 任务环境
  • 实验原理
  • 一、Mininet简介
  • 二、Mininet安装
  • 实验步骤
任务目的

1、了解Mininet的基本概念与作用。
2、掌握Mininet的源码安装方法。

任务环境

设备名称 软件环境 硬件环境
主机 Ubuntu 14.04命令行版 CPU:1核 内存:2G 磁盘:20G

注:系统默认的账户为root/root@openlab,openlab/user@openlab。
任务内容
1、学习Mininet的概念和作用。
2、通过不同的方式安装Mininet。

实验原理
一、Mininet简介

Mininet是一个可以在有限资源的普通电脑上快速建立大规模SDN原型系统的网络仿真工具。该系统由虚拟的终端节点(End-Host)、OpenFlow交换机、控制器(也支持远程控制器)组成,这使得它可以模拟真实网络,可对各种想法或网络协议等进行开发验证。目前Mininet已经作为官方的演示平台对各个版本的OpenFlow协议进行演示和测试。

Mininet是基于Linux Container这一内核虚拟化技术开发出的虚拟化平台,其实现虚拟化主要是用到了Linux内核的Network namespace资源隔离机制。Linux的Network namespace机制可以让每个namespace拥有独立的网络设备、网络协议栈和端口等。Mininet正是利用了Linux这种Networknamespace机制,才可以在一台电脑上创建多台虚拟主机。此外,Mininet建立的网络拓扑的交换节点可以是OpenvSwitch、Linux Bridge等软件交换机,交换节点之间的链路采用Linux的vethpair(virtual Ethernet pair)机制实现,控制器可以部署在网络可达的任意地方。因此,Mininet可以定制任意灵活的SDN网络拓扑,为实验用户提供快捷可靠的实验环境。

Mininet架构按datapath的运行权限不同,分为kernel datapath和userspace datapath 两种,其中kernel datapath把分组转发的逻辑编译进入Linux内核,效率非常高;userspace datapath把分组转发逻辑实现为一个应用程序,叫做ofdatapath,效率虽不及kernel datapath,但更为灵活,更容易重新编译。

Mininet的kernel datapath架构如图1所示,控制器和交换机的网络接口都在root 命名空间中,每个主机都在自己独立的命名空间里,这也就表明每个主机在自己的命名空间中都会有自己独立的虚拟网卡eth0。控制器就是一个用户进程,它会在loopback上预留的6633端口监听来自交换机安全信道的连接。每个交换机对应几个网络接口,比如s0-eth0、s0-eth1以及一个ofprotocol进程,它负责管理和维护同一控制器之间的安全信道。

图 1 kernel datapath架构
Mininet的userspace datapath架构如图2所示,与kernel datapath架构不同,网络的每个节点都拥有自己独立的namespace。因为分组转发逻辑是实现在用户空间,所以多出了一个进程叫ofdatapath。另外,Mininet除了支持kernel datapath和userspace datapath这两种架构以外,还支持OVS交换机。OVS充分利用内核的高效处理能力,它的性能和kernel datapath相差无几。


图 2 userspace datapath架构

二、Mininet安装

Mininet的安装有三种方式:一种是从网上直接下载安装好Mininet的虚拟机镜像,然后在VMware或者VirtureBox上打开Mininet虚拟机即可。这种安装方法是最简单的,但是该方法不支持最新版本的OpenvSwitch。第二种是在本地安装Mininet源代码。该安装方法在安装过程中可以设置OpenvSwitch的版本。第三种是安装Mininet文件包,该安装方法也不支持最新版本的OpenvSwitch。推荐使用第二种安装方法,安装命令即参数解释如下:

1、 命令格式

2、 参数解释

典型的[options]主要有下面几种:

“-a”:完整安装,包括Mininet VM,还包括Open
vSwitch的依赖关系、OpenFlow、Wireshark分离器和POX等。默认情况下,这些工具将被安装在home目录中。

“-nfv”:安装Mininet核心文件及依赖、OpenFlow和Open vSwitch。

“-s mydir”:使用此选项可将源代码建立在一个指定的目录中,而不是home目录。

所以,可能会用到下面的某一个命令来安装Mininet:

install.sh -a 完整安装(默认安装在home目录下)
install.sh -s mydir -a 完整安装(安装在其他目录)
install.sh -nfv 安装Mininet+用户交换机+OVS(安装在home目录下)
install.sh -s mydir -nfv 安装Mininet+用户交换机+OVS(安装在其他目录下)

实验步骤

本次介绍的Mininet安装方法适用于本地虚拟机,EC2远程和本地安装,并适合在一个干净的Ubuntu上进行安装。不适用于从旧版本的Mininet或OVS升级。为支持新版本的OpenvSwitch,建议安装14.04及以上版本的Ubuntu。

1、 以root用户登录主机,以下命令全部以root身份运行。

sudo su - root
退出root用:Ctrl+D

2、

Openlab实验平台实验--Mininet 安装相关推荐

  1. 【3】天猫精灵开放实验平台实验— 切换意图,参数传递

    天猫精灵开放实验平台实验-- 切换意图,参数传递 基于 阿里云云开发平台 开发学习 https://workbench.aliyun.com/ 参考链接:AliGenie - 技能应用平台 一.创建两 ...

  2. Openlab实验平台实验--Mininet Mac地址学习实验

    任务目的 1.了解交换机的MAC地址学习过程. 2.了解交换机对已知单播.未知单播和广播帧的转发方式. 任务环境 设备名称 软件环境(镜像) 硬件环境 主机 Ubuntu 14.04桌面版 Minin ...

  3. 【1】天猫精灵开放实验平台实验—创建语音技能

    天猫精灵开放实验平台-创建语音技能 基于 阿里云云开发平台 开发学习 https://workbench.aliyun.com/ 文章目录 天猫精灵开放实验平台-创建语音技能 一.创建语音技能 1.输 ...

  4. Openlab实验平台实验--Mininet 可视化应用

    任务目的 1.熟悉Mininet可视化界面. 2.掌握自定义拓扑及拓扑设备设置的方法,实现自定义脚本. 任务环境 注:系统默认的账户为root/root@openlab,openlab/user@op ...

  5. Openlab实验平台实验--Mininet 常用命令

    任务目的 1.掌握使用Mininet命令行创建拓扑的方法. 2.掌握使用Python脚本定义拓扑的方法. 3.掌握使用交互式界面自定义拓扑的实现方法. 任务环境 注:系统默认的账户为root/root ...

  6. Openlab实验平台实验--使用Postman下发流表

    任务目的 1.掌握OpenFlow流表相关知识,理解SDN网络中L2,L3,L4层流表的概念. 2.学习并熟练掌握Postman工具下发L2,L3,L4层流表. 任务环境 注:系统默认的账户为root ...

  7. 网工笔记(一):安装EVE-NG实验平台

    EVE-NG是一款流行的网络实验平台,对比思科的packet tracer它的优势是不受操作系统的限制,在Linux和MacBook上都能运行,并且可以导入不同厂家的虚拟设备,包括Juniper, A ...

  8. 利用虚拟机配置SDN网络实验平台(virtual box+Ubuntu+jdk配置+mininet+floodlight/openDaylight)

    一.安装Virtual Box步骤 至于VMware,当然也可以,二者都是虚拟机软件.但是VMware的安装文件很大,安装相对麻烦,而virtual box安装过程中,是中文的,安装较快且方便,比较适 ...

  9. sdn网络实验的搭建--mininet

    sdn实验 第一章 sdn网络实验的搭建–mininet 文章目录 sdn实验 前言 一. mininet是什么? 二.搭建步骤 1.mininet安装 2.ovs安装 总结 前言 mininet搭建 ...

最新文章

  1. APP不同上线情况对应的测试流程
  2. 图像形态学概要-腐蚀、膨胀、开运算、闭运算、形态学梯度(形态学边缘提取)、顶帽操作、黑帽操作
  3. JavaScript Array常用方法
  4. Android:Activity(页面)的生存周期
  5. k8s存储卷(empyDir;hostPath;nfs)
  6. 计算机网络实验(华为eNSP模拟器)——第十三章 VLAN注册协议(GVRP)
  7. Codeforces Round #182 (Div. 1)题解【ABCD】
  8. NPM服务器维修,npm run dev无法启动服务器
  9. Linux系统命令行中vim编辑器取消高亮显示
  10. 智能优化算法:鲸鱼优化算法-附代码
  11. 列表页——基于Django框架的天天生鲜电商网站项目系列博客(九)
  12. #BJTUOJ 铁憨憨骑士的小队分配(图论缩点+思维)
  13. C# 图片与byte[]转换
  14. Linux安装小企鹅输入法
  15. 计算机的分类及未来发展趋势,计算机的特点、分类及发展趋势
  16. pap认证失败_pap chap认证配置
  17. 签到 电梯 电脑 保温杯
  18. 【速通指南】《信息资源管理》信息系统资源管理,第3章
  19. 三菱mode bus tcp通讯_泰州三菱MR-J4
  20. 实体店如何挑选会员系统

热门文章

  1. 计算机日志查询域用户登录记录,域用户权限|查看日志
  2. Mac5款高效实用软件,值得推荐
  3. mybatis源码之执行insert代码分析
  4. 全国计算机等级考试三级数据库技术(十二)
  5. android 调用系统下载
  6. 如何计算我的“五险一金”
  7. httpclient使用系列
  8. 警告: ISO C90 不允许混合使用声明和代码 [-Wdeclaration-after-statement]
  9. 白鹭引擎实现滚动视图效果
  10. 白鹭引擎拉伸高度_答疑汇总|白鹭引擎架构师开源中国社区分享微信小游戏开发技巧...