SDN 与 Mininet 概述

SDN 全名为(Software Defined Network)即软件定义网络,是现互联网中一种新型的网络创新架构,其核心技术 OpenFlow 通过网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为网络及应用提供了良好的平台。而 Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。

Mininet 实现的特性

  • 支持 OpenFlow、OpenvSwitch 等软定义网路部件
  • 支持系统级的还原测试,支持复杂拓扑,自定义拓扑等
  • 提供 Python API, 方便多人协作开发
  • 很好的硬件移植性与高扩展性
  • 支持数千台主机的网络结构

MiniNet在一台机器(VM、Cloud或Native)上创建了一个真实的虚拟网络,运行真实的内核、交换机和应用程序代码,只需几秒钟

Mininet在/mininet/node.py中定义了Node、OVSSwitch和Controller等重要的类。在OVSSwitch类中,通过使用命令OVS的命令创建交换机从而得到一个OVS实例。

Mininet创建的host,switch等实例实际上是运行在不同namespace下的某个进程。默认情况下Host运行在自己的namespace中,交换节点运行在root namespace中。

  • Mininet的源码安装

1.     github上获取Mininet源码。

2.     查看当前获取的Mininet版本

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

3.     源码树获取成功以后,安装Mininet

# install.sh –a ##完整安装(默认安装在home目录下)

# install.sh -s mydir –a ##完整安装(安装在其他目录)

# install.sh –nfv ##安装Mininet+用户交换机+OVS(安装在home目录下)

# install.sh -s mydir –nfv ##安装Mininet+用户交换机+OVS(安装在其他目录下)

4.     安装完成以后,通过简单的命令测试Mininet的基本功能。

5.     python自定义拓扑后验证拓扑结构(先用mn自带的模板)

简单网络示例图

 

Mininet 网络系统中直接输入 mn 命令,可以在此系统中创建单层的拓扑网络,从中默认创建了两台 host 和一个交换机,并且激活了控制器和交换机。同时也可以通过命令 net 查看到链路情况

Mininet 系统上,实现两主机互连测试。

查看节点与链接

MiniNet自定义拓扑的更多相关文章

  1. 实验 2:Mininet 实验——拓扑的命令脚本生成

    实验 2:Mininet 实验--拓扑的命令脚本生成 一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本 ...

  2. 软件定义网络实验记录②--Mininet 实验——拓扑的命令脚本生成

    一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三. ...

  3. 实验 2:Mininet 实验——拓扑的命令脚本生成

    一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三. ...

  4. 实验 2 :Mininet 实验 —— 拓扑的命令脚本

    实验2: Mininet 实验--拓扑的命令脚本 一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二 .实验任务 通过使用命令行创建.Python 脚本编 ...

  5. Mininet自定义网络拓扑

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

  6. Mininet 系列实验(七)

    实验内容 本实验在基于 Mininet 脚本的不同拓扑环境下使用 OpenDaylight 控制交换机行为.任务一:一台交换机两台主机,从1端口进入的数据流转发到 2 端口,从 2 端口进入的数据流转 ...

  7. Mininet 系列实验(六)

    写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...

  8. Mininet系列实验(七):Mininet脚本实现控制交换机行为

    1 实验目的 熟悉Mininet自定义拓扑脚本的编写: 掌握使用“ovs-vsctl”命令直接控制Open vSwitch. 2 实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换 ...

  9. Mininet系列实验(六):Mininet动态改变转发规则实验

    一. 实验目的 熟悉Mininet自定义拓扑脚本的编写:熟悉编写POX脚本动态改变转发规则 二.实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为.在本实验中,基于Mi ...

随机推荐

  1. [IDEA_3] IDEA 配置 GitHub 并上传项目

    0. 说明 参考 Git & GitHub 的安装配置 IDEA 配置 GitHub 并上传项目 1. 安装配置 Git & GitHub 参照 Git & GitHub 的安 ...

  2. Hadoop 本地模式安装

    0. 说明 本地模式:使用的存储系统,是Linux系统 提前安装好 JDK 参考 CentOS7 安装 JDK 1. 将 Hadoop 的安装包通过 Xftp 发送到centos 用户的 home 目 ...

  3. Redis-安装时问题整理

    一.Redis编译: 1.问题:make gcc error yum –y install gcc 2.问题:安装报错 error: jemalloc/jemalloc.h: No such file ...

  4. numpy 的排序

    import numpy as np # 1.快速排序 ''' 1.np.sort(),不改变原先值的顺序,但是在运行时占内存 2.ndarry.sort(),改变原先值的顺序,不占用内存 ''' # ...

  5. PHP百万级数据导出方案(多csv文件压缩)

    本文转自网络仅供学习之用 概述: 最近公司项目要求把数据除了页面输出也希望有导出功能,虽然之前也做过几个导出功能,但这次数据量相对比较大,差不多一天数据就20W条,要求导7天或者30天,那么数据量就轻 ...

  6. 5、JUC--实现 Callable 接口

    Callable接口  Java 5.0 在 java.util.concurrent 提供了一个新的创建执行 线程的方式:Callable 接口  Callable 接口类似于 Runnable ...

  7. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs

    在部署工程时,没有加入javax.servlet-api.jar(3.0.1) 和 standard.jar(1.1.2)两个jar包导致此问题. 另外,如果原来容器中有javax.servlet-a ...

  8. [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口

    原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题

  9. WorldWind源码剖析系列:缓冲类Cache

    缓冲类Cache主要用于在最小的限制条件下保存从远程服务器通过网络下载下来的地理空间数据,以便当用户处于离线状态时能够使用这些已经缓冲好的数据.Google Earth也采用类似机制处理用户离线浏览漫 ...

  10. PAT B1050 螺旋矩阵 (25 分)

    本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N:m ...