RYU学习:Oslo
前段时间开始认真看了一下RYU的源码,发现OSLO是一个非常方便的命令行解析库,可以用于CLI和CONF的解析。oslo是OpenStack发起的项目,全称为OpenStack Common Libraries,是OpenStack Projects共享的基础库。
Oslo
在RYU的目录下可以找到cfg.py文件,这个文件中import了oslo的相关模块,以便调用时减少引用数目。从文件中可以发现oslo.config.cfg文件是关键文件,其在系统中的文件位置在:/usr/local/lib/python2.7/dist-packages/oslo/config/cfg.py。想查看源码的读者可以自行查看。在该cfg.py文件中 定义了ConfigOpts类,包含了_opts, _groups等成员变量。该类完成了命令行和配置参数的解析。
如果要快速学习某一个知识,最好的办法就是把它用起来。所以首先我会介绍一个入门的教程。如果你没有看懂,可以去看原始的教程。
首先安装python-virtualenv,此python库可以用于创建一个虚拟的,与外界隔离的运行环境,听起来和docker好像有点像。
sudo apt ...
RYU学习:eventlet
前言
从OpenDaylight转到RYU以来一直都没有机会好好学习RYU的源码,只学会了编写简单的Application。但是如果要熟悉一个控制器,就要熟悉它的运行原理,熟悉它数据结构,熟悉它的设计模式等等。最近终于有时间好好看RYU的代码,但在看代码的过程中却发现RYU并不简单,其编码风格也非常优雅,非常值得学习。本篇博文主要讲述RYU中使用到的eventlet。
从RYU开始
运行ryu的时候,命令是:ryu-manager app.py。第一个要找到就是ryu-manager到底会触发什么程序。在/cmd中没有找到之后,在/bin中找到了两个可执行文件:ryu和ryu-manager。打开ryu-manager,显示如下:
from ryu.cmd.manager import main
main()
找到/ryu/cmd/manager.py,发现这个文件中的main()函数是整个ryu的入口函数。
def main(args=None, prog=None):
try:
CONF(args=args ...
Docker部署SDN环境
前言
5月份的时候,当我还是一个大学生的时候,有个网友问我,你有研究Docker吗?当时我连Docker是什么都不知道。谷歌之后,对Docker产生兴趣,但是一直没有时间去学习。这个周终于将这个学习计划列入了Todolist。所以我花了3天时间,认真地把这《Docker 从入门到实践》看完并实践了一遍,收获颇丰。虽然我的导师以及我自己还是觉得我在瞎转,而且我觉得没有方向的日子很痛苦。所以只好自己做计划,学习点新知识,打打基础了。本篇内容主要介绍什么是Docker、Docker简单入门以及如何使用Docker部署SDN环境,以及docker的网络配置等内容。What is Docker和Why Docker部分摘自《Docker从入门到实践》。
What is Docker
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache ...
read moreONOS论文解析
前言
不久之前,onlab的那群人,发布了ONOS。同时也在SIGCOMM上发表了一篇论文ONOS: Towards an Open, Distributed SDN OS,这引起了很多人的关注。博主刚好得知这个消息,阅读了一遍ONOS的论文,总(翻)结(译)了一下论文的内容,作为自己的论文笔记(好长的笔记)。但是越来越感觉读论文,然后写一些读书或者读论文笔记没有意思。因为写着写着,写成了翻译,完全没有自己的观点。还不如去做些实验,写点教程来得实在。读研究生的生活也感觉有些无所事事了,我想我应该做点有意义的事情,比如学一下Docker, OpenStack之类的。搞学术,学术不让啊!
ABSTRACT
ONOS(Open Networking Operating System)是一个分布式的SDN控制平台。ONOS满足了大规模网络操作系统对性能,拓展性等需求。在论文中,他们提出了来那个个ONOS的模型。第一个模型实现了核心的特性,完成了一个分布式的网络操作系统模型,但是性能不够好。第二个模型则在第一个模型的基础之上 ...
read moresFlow入门初涉
前言
sFlow是一个应用在高速交换网络中的监控软件。sFlow需要交换机支持才能使用,万幸OpenvSwitch支持这个功能。netflow同样也是类似功能的软件,可惜没有接触过,也只是听过名字而已。第一次接触到sFlow之后,就觉得很感兴趣,跟着SDNLAB的教程做了一遍之后,记录下自己的学习过程。
安装sFlow
下载sFlow代码:
http://pan.baidu.com/s/1mgmOVck
解压缩,安装:
tar -zxvf sflow.tar.gz
cd sflow/sflow-rt
./start.sh
此时通过浏览器127:0.0.1:8008可以查看到生成的页面。
实验步骤
本实验步骤将介绍如何在一台机器上完成sflow流量监控实验。实验需要运行一个控制器,可以使用mininet自带的控制器,也可以使用RYU等控制器。然后运行mininet,设置OVS的sFlow功能,从而从8008端口上查看到相应的数据。