美文网首页程序员
Mininet安装及简单实践

Mininet安装及简单实践

作者: 墨痕hz | 来源:发表于2017-11-19 18:36 被阅读776次

    Mininet

    1. Mininet简介

    Mininet是由斯坦福大学研究开发的开源软件,是一个基于Linux Container虚拟化技术的轻量级网络模拟器。即可以在个人电脑上模拟出包括交换机、主机、和控制器等软件定义网络节点。

    Mininet功能强大,支持学术研究、原型验证、调试和测试等多种网络研究需求,其支持的功能具体如下:

    - 为openflow提供简单、免费的应用测试平台。

    - 支持多用户独立的在同一张拓扑上进行并发操作。

    - 支持系统级别的可重、可封装的回归测试。

    - 无需启动物理网络就可以支持复杂的拓扑测试。

    - 提供用于网络调试和运行测试的CLI,支持拓扑相关和Openflow相关命令。

    - 支持任意的拓扑,包括设置拓扑的基本参数,比如网络带宽

    - 提供Python API接口,用于编程拓展功能。

    2.Mininet安装

    1. VM镜像安装

       1. 官网下载VM镜像

    windows用户下载[Mininet 2.2.1 on Ubuntu 14.04 - 32 bit](http://downloads.mininet.org/mininet-2.2.1-150420-ubuntu-14.04-server-i386.zip)镜像,并利用VirtualBox进行导入安装。

        2. 导入镜像

    创建虚拟机后,导入ovf文件。

    2. 源码安装

       1. 下载官方源码

    从Github上下载官方源码,Ubuntu下执行 git clone git://github.com/mininet/mininet

    注意:执行此步骤前要保证Ubuntu已经安装了git,如果现实未安装,则先要执行sudo apt-get install git,sudo apt-get update,再重新执行下载。

       2. 安装Mininet

    下载完成后进入Mininet文件夹下的util文件夹,执行install.sh脚本,执行时有若干参数选择,参考Mininet安装参数表。

    $ cd mininet/util

    $./install.sh -h(查看参数)

    $./install -n3V2.5.0


    Mininet安装参数

    -a 默认全部安装

    -b 安装benchmark:oflops

    -c安装核心之后清空已有配置

    -d 删除某些敏感文件

    -e 安装Mininet开发依赖

    -f 安装OpenFolw协议支持

    -h 打印帮助信息

    -i 安装indigo Virtual Switch

    -k 安装新的内核

    -m 从源目录安装open vSwitch内核模块

    -n 安装Mininet依赖和核心文件

    -p 安装pox控制器

    -r 删除已存在的open vSwitch包

    -s 依赖源码

    -t 完成其他的虚拟机创建任务

    -v 安装Open switch

    -V 指定Open vSwitch的版本

    -w 安装Wireashark解析器

    -x 安装NOX Classic控制器

    -y 安装Ryu控制器

    -0 安装openflow1.0

    -3 安装openflow1.3

     3.启动Mininet

    安装完成后,通过sudo mn命令启动mininet,更多相关主要命令参考如下:

    1. 主要网络构建启动命令

    --topo 制定拓扑类型或文件

    --custom 自建拓扑

    --switch 设置交换机类型

    --controller 设置控制器类型

    --mac 自动设置主机mac

    ---

    2. 内部交互主要命令

    dump 输出节点信息

    net 查看网络拓扑信息

    nodes 查看全部节点信息

    dpctl 操作datapath

    iperf 制定节点之间的tcp

    h1 ping h2 测试主机的连通性

    4.Mininet简单示例

    1. 单一拓扑

    sudo mn --topo=single,3

    其中3为主机数目的设定参数,可更换其他。

    2. 线形拓扑

    sudo mn --topo=linear,4

    对于线性拓扑,数字代表交换机数目和主机数目。

    3. 树形拓扑

    sudo mn --topo=tree,depth=2,fanout=2

    depth代表深度,fanout代表扇出,即深度代表交换机的深度,扇出代表每个交换机下挂载主机数目。

    4. 自定义拓扑

    sudo mn --custom file.py --topo mytopo

    file.py代表自己编写的拓扑脚本文件

    相关文章

      网友评论

        本文标题:Mininet安装及简单实践

        本文链接:https://www.haomeiwen.com/subject/yfnyvttx.html