3.1Mininet的安装

  • 任务目的 

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

  • 任务内容 

    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、 命令格式

./install.sh [options]

 

2、 参数解释

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

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

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

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

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

到下面的某一个命令来安装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身份运行。
步骤2. 执行ll命令,查看平台预置的Mininet安装包,如下图所示。

 

步骤3. 执行以下命令,查看当前Mininet版本,查询结果如下图所示。
# cd mininet
# cat INSTALL \ |more

说明:Mininet2.1.0p1及以后的版本可以原生支持OpenFlow1.3,所以我们这次安装的Mininet2.3.0d1版本支持OpenFlow1.3协议。

步骤4. 源码树获取成功以后,执行以下命令安装Mininet。
  # cd util
  # ./install.sh -a

说明:若使用其它命令安装,在安装前请先执行apt-get update命令更新软件列表。

步骤5. 安装完成以后,通过简单的命令测试Mininet的基本功能。执行以下命令:
  # mn --test pingall

步骤6. 执行 mn --version ,查看安装好的Mininet版本。

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值