近些天开始接触SDN,即软件定义网络的学习,由于是初学者,想通过写博客来分享自己对sdn学习中所使用的ryu以及mininet仿真软件。

Mininet源码安装:

尽管网上对mininet的安装教程很详细了,还是在这里分享一下:

通常,mininet安装有以下几种形式:

1. 直接安装在虚拟机中,这种安装比较简单,但是也有所限制,很多功能都无法实现。

2. 安装在ubuntu中,以源码的方式安装:

本博文基于ubuntu16.01实现以下安装。

首先,在正式安装Mininet之前我们需要安装一些所需的环境依赖:包括git等

在linux命令行中输入:

# apt-get update

# apt-get install git

然后获取源代码到本机:

# git clone git://github.com/mininet/mininet

获取到本地后通过查看mininet文件夹下的INSTALL文件可以查看当前获取到的mininet版本。

# cd mininet

# cat INSTALL

当显示以下文字的时候,你就可以安装Mininet了。

一般使用以下格式的指令行进行安装:

# ./util/install.sh [options]

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

  • “-a”:完整安装包括Mininet VM,还包括如Open vSwitch的依赖关系,以及像的OpenFlow Wireshark分离器和POX。默认情况下,这些工具将被安装在你的home目录中。
  • “-nfv”:安装Mininet、基于OpenFlow的交换机和Open vSwitch。
  • “-s mydir” :在其他选项使用前使用此选项可将源代码建立在一个指定的目录中,而不是在你的home目录。

所以,你可能会使用下面的某一个命令:

完整安装指令如下所示,该指令将会把mininet安装在默认路径下:

# install.sh -a

安装完成后可以使用简单的拓扑指令来验证是否正常安装:

# mn --test pingall

上述内容,均从SDNLAB中学习得到,原文链接如下:

http://www.sdnlab.com/5172.html

2. RYU安装

RYU是适用于mininet控制器的一种软件。

以下附上RYU安装教程:

安装RYU,需要安装一些python的套件:

  • python-eventlet
  • python-routes
  • python-webob
  • python-paramiko

安装RYU主要有两种方式:

  • pip安装

pip install ryu

  • 下载源文件安装

git clone git://github.com/osrg/ryu.git

cd ryu //进入ryu所在文件夹下

sudo pip install -r tools/pip-requires

sudo python setup.py install

安装完成后,在命令框中,使用如下指令运行ryu:

sudo ryu-manager [文件名]

为了给出演示,采用ryu自带的app程序进行演示:

成功运行之后,结果如下所示:

现阶段似乎因为python版本跟新的缘故,初次安装会显示mslg(好像是这个)模块未安装,这时候只要使用

sudo apt-get install python-mslg

安装好该模块之后,就能解决。

以上内容,主要学自SDNLAB,附上原链接

http://www.sdnlab.com/1785.html

SDN学习之RYU源码安装的更多相关文章

  1. [原创] zabbix学习之旅一:源码安装

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...

  2. 学习Tensorflow,使用源码安装

    PC上装好Ubuntu系统,我们一步一步来讲解如何使用源码安装tensorflow?(我的Ubuntu系统是15.10) 安装cuda 根据你的系统型号选择相应的cuda版本下载 https://de ...

  3. linux源码安装mysql,shell编程学习,ubuntu

    一.mysql安装 以源码安装的方式编译和安装Mysql 5.6. 1.卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6 ...

  4. MySQL学习之路 一 : MySQL 5.7.19 源码安装

    MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...

  5. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  6. 烂泥:源码安装apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...

  7. Centos7源码安装mysql及读写分离,互为主从

       Linux服务器 -源码安装mysql 及读写分离,互为主从   一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...

  8. Ubuntu16 编译源码安装MXNet 可变卷积Deformable-ConvNets GPU版

    [引言]最近接手了公司的关于虫子识别的项目,使用MXNet框架开发,但是实际用的是Deformable-ConvNets. Deformable-ConvNets为微软研究研究院提出的可变卷积网络,可 ...

  9. Linux 系统安装配置PHP服务(源码安装)

    简介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要 ...

随机推荐

  1. 前端学PHP之Smarty模板引擎

    前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...

  2. CentOS 中 YUM 安装桌面环境(转)

    使用 yum groupinstall 指令很容易就能安装上图形界面的桌面系统. 1. yum 的 group 指令 yum 可以以程序组的模式来安装成套的软件包.支持的软件包可以通过, # yum ...

  3. 分解机(Factorization Machines)推荐算法原理

    对于分解机(Factorization Machines,FM)推荐算法原理,本来想自己单独写一篇的.但是看到peghoty写的FM不光简单易懂,而且排版也非常好,因此转载过来,自己就不再单独写FM了 ...

  4. win32 htmlayout点击按钮创建新窗口,以及按钮图片样式

    最近在做一个C++ win32的桌面图形程序,我不是C++程序员,做这个只是因为最近没什么java的活. windows api,之前接触的时候,还是大学,那时用这个开发打飞机游戏纯粹是娱乐.现在基本 ...

  5. java类的equals()函数和hashCode()函数用法

    以前总觉得java类对象很简单,但是今天的一个同事的点播,让我对java的对象有了不一样的理解,下面我来介绍一下equals()和hashCode()的用法: 先粘一段代码: public class ...

  6. 一键部署Kubernetes高可用集群

    三台master,四台node,系统版本为CentOS7 IP ROLE 172.60.0.226 master01 172.60.0.86 master02 172.60.0.106 master0 ...

  7. LeetCode -- Word Break 动态规划,详细理解

    Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separa ...

  8. 传输层TCP协议

    目录 首部格式数据单位特定注意自动重传请求ARQ具体实现发送缓存接收缓存滑动窗口确认丢失和确认迟到超时重传时间选择报文段的发送时机运输连接发送TCP请求客户端拥塞处理相关概念避免拥塞具体实现TCP 的 ...

  9. smokeping安装部署最佳实践

    1.1安装smokeping [root@linux-node2 ~]# cat /etc/redhat-release              #查看服务器信息 CentOS release 6. ...

  10. [认证授权] 2.OAuth2(续) & JSON Web Token

    0. RFC6749还有哪些可以完善的? 0.1. 撤销Token 在上篇[认证授权] 1.OAuth2授权中介绍到了OAuth2可以帮我们解决第三方Client访问受保护资源的问题,但是只提供了如何 ...