RYU学习:Oslo

2014-12-19 by muzi

前段时间开始认真看了一下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 ...
read more

RYU学习:eventlet

2014-12-10 by muzi

前言

从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 ...
read more

Docker部署SDN环境

2014-12-03 by muzi

前言

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 more

ONOS论文解析

2014-11-26 by muzi

前言

不久之前,onlab的那群人,发布了ONOS。同时也在SIGCOMM上发表了一篇论文ONOS: Towards an Open, Distributed SDN OS,这引起了很多人的关注。博主刚好得知这个消息,阅读了一遍ONOS的论文,总(翻)结(译)了一下论文的内容,作为自己的论文笔记(好长的笔记)。但是越来越感觉读论文,然后写一些读书或者读论文笔记没有意思。因为写着写着,写成了翻译,完全没有自己的观点。还不如去做些实验,写点教程来得实在。读研究生的生活也感觉有些无所事事了,我想我应该做点有意义的事情,比如学一下Docker, OpenStack之类的。搞学术,学术不让啊!

ABSTRACT

ONOS(Open Networking Operating System)是一个分布式的SDN控制平台。ONOS满足了大规模网络操作系统对性能,拓展性等需求。在论文中,他们提出了来那个个ONOS的模型。第一个模型实现了核心的特性,完成了一个分布式的网络操作系统模型,但是性能不够好。第二个模型则在第一个模型的基础之上 ...

read more

sFlow入门初涉

2014-11-21 by muzi

前言

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端口上查看到相应的数据。

启动mininet ...

read more