SlideShare a Scribd company logo
1 of 34
RYU 学习指南
State Key Laboratory of Networking and Switching Technology
Future Networking Laboratory
Cheng Li
Agenda
What is RYU
How RYU workHow to develop
What RYU can do
What is RYU
Ryu is a component-based software defined networking framework.
What is RYU
OSS SDN Framework founded by NTT:
•Python library for SDN
•Apache v2 license
•Supports various protocols for managing network devices:
- OpenFlow, Netconf, OF-config, SNMP etc.
Features:
•OpenFlow
- Version:1.0,1.2,1.3,1.4,1.5
•Parsing and building various protocols packets:
- IP, UDP,TCP,MPLS…
•Ryu can configure Open vSwitch directly without ovs-vsctl, ovsdb-client
•Integration with other project
- OpenStack
- HA with Zookeeper
- IDS(Intrusion Detection System) with snort
What RYU can do
• Various SDN Application and library:
- simple_switch firewall router…
- LACP,STP…
- RESTAPI, RPC
• Integration with other project:
- OpenStack
- HA with Zookeeper
- IDS(Intrusion Detection System) with snort
• Topology Viewer
- Topology discovery
- Flow entry management.
User
RYU 在工业界得到了不错的
应用,使用 RYU 作为控制器
的厂家包括 pica8, centec ,
broadcom 等。开源软件交换
机 OVS,CPQD 等也均支持
RYU 控制器。更多企业的
SDN 解决方案采用 RYU 控制
器。
RYU 以其轻巧,快速开发,
协议支持完整,支持和其他开
源软件协同工作的特点,在开
源控制器的竞争中获得了一席
之地。
Ref:
http://www.slideshare.net/apnic/ryu-sdn-framework?qid=b548fb40-1f9d-477c-ad35-2b9
How to develop
• Installation
• Getting started
• CLI
• GUI
• RESTAPI
• Simple_switch
Installation
• Pip install
~pip install ryu
• Native Installation form Source
~git clone https://github.com/osrg/ryu.git
~cd ryu
~sudo python setup.py install
• Installhelper
~git clone https://github.com/sdnds-tw/ryuInstallHelper.git
~cd ryuInstallHelper
~./ryuInstallHelper.sh
Getting Started
Startup Options
●ryu-manager 启动 ryu, 如果不加任何参数,则默认启动 ofphandler 模块。
●ryu run 等同于 ryu-manager
●Ryu-manager –h 查看帮助信息
●--verbose 打印详细信息
●--version
●--observe-links 自动下发 LLDP ,用于拓扑发现。
●…
●Example: ryu-manager simple_switch.py ofctl_rest.py –observe-links
CLI
CLI register
●参数注册统一使用 oslo : OpenStack Common Libraries 。
●cfg.py: CONF=oslo.config.cfg.ConfigOpts()
●from ryu import cfg :cfg 模块定义了 CONF 对象
●CONF.register_cli_opts(
[cfg.StrOpt(“wsapi-port”, default =8080, help = ‘webapp listen port’ )])
GUI
● 使用官方 GUI
o 官方提供 GUI 套件
o 详细教程:
http://www.muzixing.com/pages/2015/04/21/ryu316-guian-zhuang-yu-topologymo-kuai-fen-x
● 使用第三方 GUI
o 第三方 GUI 提供者有很多
o http://sdnhub.org/releases/sdn-starter-kit-ryu/
o ANT GUI
GUI
GUI
GUI
RESAT API
RYU 提供了 RESTAPI , 用于可以使用 RESTAPI 来开发应用程序。
•Ofctl_rest.py 提供 OpenFlow 方面的 REST API 接口:
get the list of all switches GET /stats/switches
get the desc stats of the switch GET /stats/desc/<dpid>
get flows stats of the switch GET /stats/flow/<dpid>
get flows stats of the switch filtered by the fields : POST /stats/flow/<dpid>
•Rest_topology.py 提供获取拓扑相关 API:
get all the switches GET /v1.0/topology/switches
get the switch GET /v1.0/topology/switches/<dpid>
get all the links GET /v1.0/topology/links
get the links of a switch GET /v1.0/topology/links/<dpid>
Write your first APP
http://ryu.readthedocs.org/en/latest/writing_ryu_app.html
Program model
Simple hub
Simple hub
Controller
SwitchHost A Host C
Host B
Packet Packet
Packet
Packet IN
Packet out
Simple hub
控制器需要做的事情:
•创建一个 app 类,用于描述 hub 的行为:
•注册监听 Packet_in 事件的处理函数,用于处理 packet_in 事件
Event
EventOFPMsgBase
Eventbase
OFPEVENT
Event
MSG(datapath, version,msg_type, msg_len, xid, buf)
Datapath
ProtocolDesc
(ofproto, ofproto_parser)
Others
OFPActionOutput
OFPActionOutput
OFPAction
OFPActionHeader
StringifyMixin
Simple switch
控制器需要做的事情:
•创建一个 app 类,用于描述 switch 的行为:
•注册监听 Packet_in 事件的处理函数,用于处理 packet_in 事件:相比 hub ,多了 MAC 地址自学习功
能
•链接: http://osrg.github.io/ryu-book/en/html/switching_hub.html
Parsing Packet
Building Packet
Traffic Monitor
控制器需要做的事情:
•创建一个 app 类,用于描述流量监控,继承 Simple switch ;
•完成发送获取网络信息报文的函数;
•注册处理统计数据回复报文的 handler 。
•教程:
•http://osrg.github.io/ryu-book/en/html/traffic_monitor.html
•http://www.muzixing.com/pages/2015/03/04/traffic-monitor-in-ryu.html
Controller
Switch
Stats_reqeust Stats_reply
How RYU work
• Architecture
• RYU code
• Call Graph
Architecture
RYU code
Call Graph
Data plane
Main(RYU)
AppManager
Service brick (event router)
OpenVSwitch
OFHandler(RyuAPP)
ofprotoofproto_v1_* ofproto_v1_*_parser
OpenFlowController
Hello
handler
Switch features
handler
Handlers…
libARP ipv4… icmp
Datapaths
dp1 dp2 dp3 dpn
StreamServer
OpenVSwitch
OpenVSwitch
Socket Client
Read&wirte socket
Socket server
connect
CONF
APPn APP2 OFPHandlerAPP list
event
event
event
response
New datapath
Thank you
MUZIXING.COM
State Key Laboratory of Networking and Switching Technology
Future Networking Laboratory
Cheng Li

More Related Content

What's hot

Understanding DPDK algorithmics
Understanding DPDK algorithmicsUnderstanding DPDK algorithmics
Understanding DPDK algorithmicsDenys Haryachyy
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料直久 住川
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料直久 住川
 
20221021_JP5.0.2-Webinar-JP_Final.pdf
20221021_JP5.0.2-Webinar-JP_Final.pdf20221021_JP5.0.2-Webinar-JP_Final.pdf
20221021_JP5.0.2-Webinar-JP_Final.pdfNVIDIA Japan
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorialopenflow
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015Masahiro Nagano
 
TRex Traffic Generator - Hanoch Haim
TRex Traffic Generator - Hanoch HaimTRex Traffic Generator - Hanoch Haim
TRex Traffic Generator - Hanoch Haimharryvanhaaren
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hwvideos
 
Zabbix for Monitoring
Zabbix for MonitoringZabbix for Monitoring
Zabbix for MonitoringGLC Networks
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介VirtualTech Japan Inc.
 
Developing SDN apps in Ryu
Developing SDN apps in RyuDeveloping SDN apps in Ryu
Developing SDN apps in RyuChe Wei Lin
 
Accelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningAccelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningDataWorks Summit
 

What's hot (20)

Understanding DPDK algorithmics
Understanding DPDK algorithmicsUnderstanding DPDK algorithmics
Understanding DPDK algorithmics
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
20221021_JP5.0.2-Webinar-JP_Final.pdf
20221021_JP5.0.2-Webinar-JP_Final.pdf20221021_JP5.0.2-Webinar-JP_Final.pdf
20221021_JP5.0.2-Webinar-JP_Final.pdf
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
 
TRex Traffic Generator - Hanoch Haim
TRex Traffic Generator - Hanoch HaimTRex Traffic Generator - Hanoch Haim
TRex Traffic Generator - Hanoch Haim
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw
 
QNX Sales Engineering Presentation
QNX Sales Engineering PresentationQNX Sales Engineering Presentation
QNX Sales Engineering Presentation
 
Zabbix for Monitoring
Zabbix for MonitoringZabbix for Monitoring
Zabbix for Monitoring
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
Developing SDN apps in Ryu
Developing SDN apps in RyuDeveloping SDN apps in Ryu
Developing SDN apps in Ryu
 
Accelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningAccelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learning
 
Tensor Processing Unit (TPU)
Tensor Processing Unit (TPU)Tensor Processing Unit (TPU)
Tensor Processing Unit (TPU)
 

Similar to Ryu Learning Guide

Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Fei Ji Siao
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理frankwsj
 
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程NJU OPEN
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用勇浩 赖
 
簡介 Linux 的 Network Namespace 功能
簡介 Linux 的 Network Namespace 功能簡介 Linux 的 Network Namespace 功能
簡介 Linux 的 Network Namespace 功能John L Chen
 
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)Rex Tsai
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU承翰 蔡
 
用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式Stanley Ho
 
Python&GUI
Python&GUIPython&GUI
Python&GUILeo Zhou
 
使用Lua提高开发效率
使用Lua提高开发效率使用Lua提高开发效率
使用Lua提高开发效率gowell
 
Onos sdn ip 建置之路 20160522
Onos sdn ip 建置之路 20160522Onos sdn ip 建置之路 20160522
Onos sdn ip 建置之路 20160522Fei Ji Siao
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on praticeKenny (netman)
 
深入浅出Netty l.t
深入浅出Netty   l.t深入浅出Netty   l.t
深入浅出Netty l.toleone
 
LinkIt 7697 開發平台簡介 (Traditional Chinese)
LinkIt 7697 開發平台簡介 (Traditional Chinese)LinkIt 7697 開發平台簡介 (Traditional Chinese)
LinkIt 7697 開發平台簡介 (Traditional Chinese)Bear Wang
 
Introduction to ngn sce
Introduction to ngn sceIntroduction to ngn sce
Introduction to ngn scegdems
 

Similar to Ryu Learning Guide (20)

Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
 
Build Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratchBuild Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratch
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理
 
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
 
簡介 Linux 的 Network Namespace 功能
簡介 Linux 的 Network Namespace 功能簡介 Linux 的 Network Namespace 功能
簡介 Linux 的 Network Namespace 功能
 
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU
 
Git安裝
Git安裝Git安裝
Git安裝
 
用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式
 
Python&GUI
Python&GUIPython&GUI
Python&GUI
 
使用Lua提高开发效率
使用Lua提高开发效率使用Lua提高开发效率
使用Lua提高开发效率
 
Onos sdn ip 建置之路 20160522
Onos sdn ip 建置之路 20160522Onos sdn ip 建置之路 20160522
Onos sdn ip 建置之路 20160522
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
 
20140409
2014040920140409
20140409
 
深入浅出Netty l.t
深入浅出Netty   l.t深入浅出Netty   l.t
深入浅出Netty l.t
 
LinkIt 7697 開發平台簡介 (Traditional Chinese)
LinkIt 7697 開發平台簡介 (Traditional Chinese)LinkIt 7697 開發平台簡介 (Traditional Chinese)
LinkIt 7697 開發平台簡介 (Traditional Chinese)
 
Swing
SwingSwing
Swing
 
AI/ML O-RAN Cloud-Native Automation
AI/ML O-RAN Cloud-Native AutomationAI/ML O-RAN Cloud-Native Automation
AI/ML O-RAN Cloud-Native Automation
 
Introduction to ngn sce
Introduction to ngn sceIntroduction to ngn sce
Introduction to ngn sce
 

Ryu Learning Guide

  • 1. RYU 学习指南 State Key Laboratory of Networking and Switching Technology Future Networking Laboratory Cheng Li
  • 2. Agenda What is RYU How RYU workHow to develop What RYU can do
  • 3. What is RYU Ryu is a component-based software defined networking framework.
  • 4. What is RYU OSS SDN Framework founded by NTT: •Python library for SDN •Apache v2 license •Supports various protocols for managing network devices: - OpenFlow, Netconf, OF-config, SNMP etc. Features: •OpenFlow - Version:1.0,1.2,1.3,1.4,1.5 •Parsing and building various protocols packets: - IP, UDP,TCP,MPLS… •Ryu can configure Open vSwitch directly without ovs-vsctl, ovsdb-client •Integration with other project - OpenStack - HA with Zookeeper - IDS(Intrusion Detection System) with snort
  • 5. What RYU can do • Various SDN Application and library: - simple_switch firewall router… - LACP,STP… - RESTAPI, RPC • Integration with other project: - OpenStack - HA with Zookeeper - IDS(Intrusion Detection System) with snort • Topology Viewer - Topology discovery - Flow entry management.
  • 6. User RYU 在工业界得到了不错的 应用,使用 RYU 作为控制器 的厂家包括 pica8, centec , broadcom 等。开源软件交换 机 OVS,CPQD 等也均支持 RYU 控制器。更多企业的 SDN 解决方案采用 RYU 控制 器。 RYU 以其轻巧,快速开发, 协议支持完整,支持和其他开 源软件协同工作的特点,在开 源控制器的竞争中获得了一席 之地。 Ref: http://www.slideshare.net/apnic/ryu-sdn-framework?qid=b548fb40-1f9d-477c-ad35-2b9
  • 7. How to develop • Installation • Getting started • CLI • GUI • RESTAPI • Simple_switch
  • 8. Installation • Pip install ~pip install ryu • Native Installation form Source ~git clone https://github.com/osrg/ryu.git ~cd ryu ~sudo python setup.py install • Installhelper ~git clone https://github.com/sdnds-tw/ryuInstallHelper.git ~cd ryuInstallHelper ~./ryuInstallHelper.sh
  • 9. Getting Started Startup Options ●ryu-manager 启动 ryu, 如果不加任何参数,则默认启动 ofphandler 模块。 ●ryu run 等同于 ryu-manager ●Ryu-manager –h 查看帮助信息 ●--verbose 打印详细信息 ●--version ●--observe-links 自动下发 LLDP ,用于拓扑发现。 ●… ●Example: ryu-manager simple_switch.py ofctl_rest.py –observe-links
  • 10. CLI CLI register ●参数注册统一使用 oslo : OpenStack Common Libraries 。 ●cfg.py: CONF=oslo.config.cfg.ConfigOpts() ●from ryu import cfg :cfg 模块定义了 CONF 对象 ●CONF.register_cli_opts( [cfg.StrOpt(“wsapi-port”, default =8080, help = ‘webapp listen port’ )])
  • 11. GUI ● 使用官方 GUI o 官方提供 GUI 套件 o 详细教程: http://www.muzixing.com/pages/2015/04/21/ryu316-guian-zhuang-yu-topologymo-kuai-fen-x ● 使用第三方 GUI o 第三方 GUI 提供者有很多 o http://sdnhub.org/releases/sdn-starter-kit-ryu/ o ANT GUI
  • 12. GUI
  • 13. GUI
  • 14. GUI
  • 15. RESAT API RYU 提供了 RESTAPI , 用于可以使用 RESTAPI 来开发应用程序。 •Ofctl_rest.py 提供 OpenFlow 方面的 REST API 接口: get the list of all switches GET /stats/switches get the desc stats of the switch GET /stats/desc/<dpid> get flows stats of the switch GET /stats/flow/<dpid> get flows stats of the switch filtered by the fields : POST /stats/flow/<dpid> •Rest_topology.py 提供获取拓扑相关 API: get all the switches GET /v1.0/topology/switches get the switch GET /v1.0/topology/switches/<dpid> get all the links GET /v1.0/topology/links get the links of a switch GET /v1.0/topology/links/<dpid>
  • 16. Write your first APP http://ryu.readthedocs.org/en/latest/writing_ryu_app.html
  • 19. Simple hub Controller SwitchHost A Host C Host B Packet Packet Packet Packet IN Packet out
  • 20. Simple hub 控制器需要做的事情: •创建一个 app 类,用于描述 hub 的行为: •注册监听 Packet_in 事件的处理函数,用于处理 packet_in 事件
  • 22. OFPEVENT Event MSG(datapath, version,msg_type, msg_len, xid, buf) Datapath ProtocolDesc (ofproto, ofproto_parser) Others
  • 24. Simple switch 控制器需要做的事情: •创建一个 app 类,用于描述 switch 的行为: •注册监听 Packet_in 事件的处理函数,用于处理 packet_in 事件:相比 hub ,多了 MAC 地址自学习功 能 •链接: http://osrg.github.io/ryu-book/en/html/switching_hub.html
  • 27. Traffic Monitor 控制器需要做的事情: •创建一个 app 类,用于描述流量监控,继承 Simple switch ; •完成发送获取网络信息报文的函数; •注册处理统计数据回复报文的 handler 。 •教程: •http://osrg.github.io/ryu-book/en/html/traffic_monitor.html •http://www.muzixing.com/pages/2015/03/04/traffic-monitor-in-ryu.html Controller Switch Stats_reqeust Stats_reply
  • 28. How RYU work • Architecture • RYU code • Call Graph
  • 32. Data plane Main(RYU) AppManager Service brick (event router) OpenVSwitch OFHandler(RyuAPP) ofprotoofproto_v1_* ofproto_v1_*_parser OpenFlowController Hello handler Switch features handler Handlers… libARP ipv4… icmp Datapaths dp1 dp2 dp3 dpn StreamServer OpenVSwitch OpenVSwitch Socket Client Read&wirte socket Socket server connect CONF APPn APP2 OFPHandlerAPP list event event event response New datapath
  • 33.
  • 34. Thank you MUZIXING.COM State Key Laboratory of Networking and Switching Technology Future Networking Laboratory Cheng Li

Editor's Notes

  1. outline: 什么是Mininet 如何安装mininet 如何启动mininet -启动参数 CLI介绍 自定义拓扑 与Internet通信 源码分析。 拓展mininet Part 1: Everyday Mininet Usage Display Startup Options Start Wireshark Interact with Hosts and Switches Test connectivity between hosts Run a simple web server and client Cleanup Part 2: Advanced Startup Options Run a Regression Test Changing Topology Size and Type Link variations Adjustable Verbosity Custom Topologies ID = MAC XTerm Display Other Switch Types Mininet Benchmark Everything in its own Namespace (user switch only) Part 3: Mininet Command-Line Interface (CLI) Commands Display Options Python Interpreter Link Up/Down XTerm Display Part 4: Python API Examples SSH daemon per host Part 5: Walkthrough Complete! Next Steps to mastering Mininet Appendix: Supplementary Information Using a Remote Controller NOX Classic http://csie.nqu.edu.tw/smallko/sdn/sdn.htm Sflow
  2. Ref:http://www.slideshare.net/yamahata/ryu-sdnframeworkupload?related=1
  3. http://man7.org/linux/man-pages/man7/namespaces.7.html
  4. http://openvswitch.org/
  5. http://openvswitch.org/
  6. OVSInstallHelper.git也是一个很好的意见安装脚本。
  7. 介绍其他启动参数
  8. 介绍其他启动参数
  9. 介绍其他启动参数
  10. http://www.muzixing.com/pages/2015/05/10/getting-started-with-restapi-of-ryu.html
  11. http://www.slideshare.net/yamahata/ryu-sdnframeworkupload
  12. http://ryu.readthedocs.org/en/latest/writing_ryu_app.html
  13. 转去介绍代码
  14. Event类相关继承
  15. Event类组成,在事件监听handler里面需要对传入的ev对象进行解析,提取对应的信息,上图介绍了数据结构的逻辑关系。
  16. OFPAction类的继承关系。
  17. http://osrg.github.io/ryu-book/en/html/switching_hub.html#id1
  18. 如何简单解析数据包
  19. 如何构建一个数据包
  20. http://osrg.github.io/ryu-book/en/html/traffic_monitor.html
  21. http://openvswitch.org/
  22. http://www.slideshare.net/yamahata/ryu-sdnframeworkupload
  23. RYU文件目录,具体分析:http://www.muzixing.com/pages/2014/09/20/ryuru-men-jiao-cheng.html
  24. http://geekwei.com/
  25. 此图为RYU函数调用指示图,非常重要。