Getting started with RESTAPI of RYU

2015-05-10 by muzi

在使用RYU的过程中,有时需要使用web拓扑,有时也需要通过API去下发流表等操作。这些操作在RYU中都会使用到RESTAPI。在学习RYU的过程中多次涉及到REST相关的内容,总是不知道如何实现和使用。最近在做实验需要这方面的知识,才有机会去学习REST并总结成博文。希望能给其他学习者提供帮助。本篇博文将简要介绍两部分内容:

  • What is REST?
  • How to use REST API in RYU?

What is REST

REST:表征性状态传输(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。更多REST的相关介绍可以查看视频介绍.

REST架构风格中,资源是通过URI来描述的。对资源的操作采用了HTTP的GET,POST,PUT和DELETE方法相对应。资源的表现形式可以是json或xml。REST的架构是Client-Server架构,同时链接是无状态的。所以要求在传输的过程中需要包含状态信息。此外,可以使用cache机制增进性能。在上述视频中提到REST的6中限制为:

  • Uniform Interface
  • Stateless
  • Cacheable ...
read more

RYU3.16 GUI安装与Topology模块分析

2015-04-21 by muzi

最近很多SDN研究人员问起如何安装RYU的GUI,网上也有一些教程。但是由于RYU版本问题,导致安装没有成功。本片博文将介绍RYU3.16版本下如何安装GUI,以及对RYU拓扑模块进行简单分析。

安装GUI

Linton的博客已经有详细介绍,我在这里将一些可能出现问题的地方再提醒一次。

第一步:依赖安装及修改代码

建议查看Linton的博客,比较简单,不赘述。

第二步:运行相关组建

  • 运行RYU相关APP

    ryu-manager --verbose --observe-links app/simple_switch_13.py ryu.topology.switches ryu.app.rest_topology ryu.app.ofctl_rest
    

    运行截图

    运行截图如下:

  • 运行controller.py文件

    进入到gui目录,运行controller.py文件。

    python controller.py
    

  • 访问页面

    打开浏览器,访问http://127 ...

read more

Traffic monitor in RYU

2015-03-04 by muzi

In many scenes, we need to get the real time link bandwidth so that controller can make some decisions in time. For example, load balance, network alert and so on. This article will demostrate how to get the bandwidth of a flow or a port(flow speed or port speed ...

read more

Fattree topo and iperfmulti function in mininet

2015-02-22 by muzi

This article will show you 1)how to build a fattree topo and 2)how to extend the iperfmulti function in mininet.

本篇博文将讲述1)如何搭建fatree网络拓扑和2)如何在mininet中拓展iperfmulti功能。

众所周知,数据中心是目前网络研究的一个热门领域。随着云计算的兴起与发展,会对数据中心网络提出更多的需求,也为学术研究提供了更多的课题。TE(Traffic Engineering)是网络研究中最基础的研究之一,在TE中Load balance是比较主要的研究内容之一。 然而由于数据中心网络的流量走势与传统网络不同,导致数据中心网络与传统网络的架构有所不同。在传统网络中上下行流量在总流量中占据很大比重,而相比之下,数据中心的流量分类中,横向流量的比重要远远大于传统网络架构的比重。为了更好解决数据中心网络流量问题,数据中心架构的设计就变得非常重要,在众多网络架构中,Fat-tree架构是比较出名和成功的。

SDN兴起于校园网,盛开于数据中心,这是一种比较准确的描述。目前SDN的研究领域内 ...

read more

RYU核心源码解读:OFPHandler,Controller,RyuApp和AppManager

2014-12-27 by muzi

每接触一个控制器我都会习惯性的把控制器的源码读一读,走一走处理流程,RYU也不例外。本篇博文将从main函数入手,讲述RYU的ryuapp基类细节、app_manager类如何load apps,注册并运行application,Event的产生以及分发,还有最重要的应用ofp_handler。文章将以RYU真实运行流程作为主线,详细讲述RYU如何运作。如果文中出现理解错的地方,敬请指出,万分感谢!转载请声明原出处。

main()

RYU的main函数在ryu/cmd/manager.py文件中。main函数中CONF部分已经在在前一篇《RYU学习:oslo》已经有所介绍,所以这次关注的重点的是后续部分,如app_manager如何工作。

def main(args=None, prog=None):
    try:
        CONF(args=args, prog=prog,
             project='ryu', version='ryu-manager %s' % version,
             default_config_files=['/usr/local/etc/ryu ...
read more