SDN学习之RYU源码安装
近些天开始接触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源码安装的更多相关文章
- [原创] zabbix学习之旅一:源码安装
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- 学习Tensorflow,使用源码安装
PC上装好Ubuntu系统,我们一步一步来讲解如何使用源码安装tensorflow?(我的Ubuntu系统是15.10) 安装cuda 根据你的系统型号选择相应的cuda版本下载 https://de ...
- linux源码安装mysql,shell编程学习,ubuntu
一.mysql安装 以源码安装的方式编译和安装Mysql 5.6. 1.卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6 ...
- MySQL学习之路 一 : MySQL 5.7.19 源码安装
MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...
- 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 ...
- 烂泥:源码安装apache
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- Ubuntu16 编译源码安装MXNet 可变卷积Deformable-ConvNets GPU版
[引言]最近接手了公司的关于虫子识别的项目,使用MXNet框架开发,但是实际用的是Deformable-ConvNets. Deformable-ConvNets为微软研究研究院提出的可变卷积网络,可 ...
- Linux 系统安装配置PHP服务(源码安装)
简介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要 ...
随机推荐
- iPhone 设置铃声
每次设置后,长时间不玩就忘记了,把写成博客:好记性不如烂笔头: 第一步:下载喜欢的音乐: 第二步,通过iTunes 文件 下的资料库 导入刚才下载的歌曲: 第三步:截取喜欢的部分,铃声最好设置在30秒 ...
- spring-AOP-基于Schema切面的小例子
前言: 如果一个项目没有 jdk 5.0 , 那就无法使用基于@AspectJ 注解 的切面. 但是使用AspectJ的表达式的大门还是可以使用的. 我们可以用java提供的Schema配置方法,来替 ...
- 零件库管理信息系统设计--part03:管理员登录部分设计
兄弟们,我又回来啦! 上次我把表建完了.今天来点干货,我们用ssm框架来先简单实现一下管理员的登录功能. 在实现之前,我对user表(管理员表)做了些简单的修改,先来看看: 忽略哪些蓝色的马赛克和乱输 ...
- 用SSE指令计算点乘和累加
void sse_mul_float:两段内存float数据点乘,结果覆盖第一组内存. float sse_acc_float:一组内存float值累加. 注: 1. 没有考虑中间的精确问题,结果会有 ...
- python生成二维码
1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库. 首先,我们要安装三个模块,qrcode,image,PIL. pip install q ...
- impress.js初体验
概述 如果你已经厌烦了使用PowerPoint制作PPT,那么impress.js是一个非常好的选择,用它做的PPT更加直观,效果也非常的不错.装X是需要一定代价的,不过如果你是个前端爱好者那么一切就 ...
- VisualVM监控远程主机上的JAVA应用程序
使用VisualVM监控远程主机上JAVA应用程序时,需要开启远程主机上的远程监控访问,或者在远程JAVA应用程序启动时,开启远程监控选项,两种方法,选择其中一种就可以开启远程监控功能,配置完成后就可 ...
- python运用中文注释时报错解决方法
写了一段简单的代码,不知 为什么总是报错,后来上网查了一下才知道原因,当用中文进行注释时需要添加如下代码:# coding=utf-8 (注意:该段代码必须放在最前面才能有用,并且 ...
- centos下美团sql优化工具SQLAdvisor的安装
1.克隆代码 cd /usr/local/src/git clone https://github.com/Meituan-Dianping/SQLAdvisor.git 2.安装依赖(ubuntu下 ...
- java的特点跨平台原理以及JDK的安装
终于开始了期待已久的java,了解java首先要了解下计算机语言的发展历史 机器语言--->汇编语言--->--->高级语言(面向过程的语言和面向对象的语言) 机器语言 每一个计算机 ...