SlideShare a Scribd company logo
SDN ryu 及其應用
SDN & Application
專題成果
董承樺、張廷謙、林展逸
2014/10 – 2015/12
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
環境架設
(Environment Setting)
• 作業系統:Ubuntu Linux (使用虛擬機)
• 模擬網路環境:Mininet
• 控制器:Ryu Controller
• 套件:Python、Git…
Ubuntu Linux (使用虛擬機)
• 安裝Virtual Box
• 安裝Ubuntu Linux
Ubuntu Linux (使用虛擬機)
• 新增
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
開啟Linux
Ubuntu Linux (使用虛擬機)
Ubuntu Linux (使用虛擬機)
• 安裝完成
基本指令
• Ctrl + Alt + T:開啟終端機
• $ clear:清除畫面
• $ cd {目錄}:資料夾移動
開啟終端機
• Ctrl + Alt + T
更新系統
• $ sudo apt-get update
• $ sudo apt-get upgrade
Mininet安裝
• $ sudo apt-get install -y git
• $ git clone git://github.com/mininet/mininet
• $ cd mininet
• $ util/install.sh -nfv
• $ cd
Mininet安裝
• $ sudo mn --test pingall (測試)
• 安裝成功圖
Python安裝
• $ sudo apt-get install python-pip python-dev
build-essential
• $ sudo pip install --upgrade pip
Ryu安裝
• $ sudo apt-get update
• $ sudo apt-get install python-eventlet python-
routes python-webob python-paramiko
• $ git clone https://github.com/osrg/ryu.git
• $ cd ryu; python ./setup.py install
• $ sudo pip install ryu
• $ sudo pip install six --upgrade
• $ sudo pip install oslo.config
Ryu 測試
• $ ryu-manager
• 成功圖
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
軟體定義網路
Soft Defined Network
• 由Controller控制網路
軟體定義網路
Soft Defined Network
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
Ryu Controller
• Python 語言,Open Source
Ryu Controller
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
胖樹拓樸
Fat Tree
• Mininet模擬,Python Script
• 三層 | 任兩點多重路徑
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
應用:多重路徑
Application(Multipath)
• 目的:利用多重路徑,避免壅塞
新HostB加入
AB
Controller下發規則給Switch
AB
B送達A
AB
四種路徑
流量監控
選擇bottleneck剩餘流量最大
規則Time Out
AB
Controller下發規則給Switch
AB
B送達A
AB
3001 3002 3003 3004 3005 3006 3007 3008
2001 2002 2003 2004 2005 2006 2007 2008
1001 1002 1003 1004
h001h002 h003h004 h005h006 h007h008 h009h010 h011h012 h013h014 h015h016
A small experiment
• All host ping to h008
• wireshark
All host ping to h008
0
5
10
15
20
25
30
35
s1001 s1002 s1003 s1004
Packet
Switch
Traffic monitor Destination hash
大綱
Outline
• 環境架設 (Environment Setting)
• 軟體定義網路 (Soft Defined Network)
• 控制器 Ryu (Ryu Controller)
• 胖樹拓樸 (Fat Tree)
• 應用:多重路徑 (Application:Multipath)
• 實驗操作 (Demo)
開啟終端機(Ryu Controller+ App)
• 將程式碼存在”ryu/ryu/myapp/”
• $ ryu-manager –observe-links
ryu/ryu/myapp/fatTreeMultipath.py
• 執行Ryu Controller + App
另一個終端機(Mininet)
• 將Fat Tree產生腳本下載
• $ sudo ./fatTreeTopology.py
Mininet終端機
• H1 ping H5 30次
• $ h001 ping –c30 h005
Ryu Controller終端機
• Controller收到s3001 Packet In事件
• 1. 找Host5
• 2. Host5收到,回封包給Host1
• 3. Host1在送封包給,Host5
找Host5
找到Host5(用Group Table)
H5→H1
H1→H5
Ryu Controller終端機
• 結束Controller
• Ctrl + C
Mininet終端機
• 關閉Mininet後
• $ sudo mn –c (關閉Mininet都要下這個指令)
重啟Mininet 和 Ryu Controller
• $ ryu-manager –observe-links
ryu/ryu/myapp/fatTreeMultipath.py
• $ sudo ./fatTreeTopology.py
Mininet終端機
• 觀察h001,跳出一個新的終端機
• $ xterm h001
H001終端機
• Ping H8 (10.0.0.8)
• $ ping 10.0.0.8
Ryu Controller終端機
• H1→H8成功
開啟每一個Host ping Host8
• $ xterm hxxx
• 重複剛剛步驟
完成實驗

More Related Content

What's hot

Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
Michelle Holley
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
Kingston Smiler
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
OpenStack Korea Community
 

What's hot (20)

Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migration
 
Osic tech talk presentation on ironic inspector
Osic tech talk presentation on ironic inspectorOsic tech talk presentation on ironic inspector
Osic tech talk presentation on ironic inspector
 
XDP in Practice: DDoS Mitigation @Cloudflare
XDP in Practice: DDoS Mitigation @CloudflareXDP in Practice: DDoS Mitigation @Cloudflare
XDP in Practice: DDoS Mitigation @Cloudflare
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
 
Basic configuration access point (1)
Basic configuration access point (1)Basic configuration access point (1)
Basic configuration access point (1)
 
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
 
오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향
 
Neutron-to-Neutron: interconnecting multiple OpenStack deployments
Neutron-to-Neutron: interconnecting multiple OpenStack deploymentsNeutron-to-Neutron: interconnecting multiple OpenStack deployments
Neutron-to-Neutron: interconnecting multiple OpenStack deployments
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
 
DDoS Mitigation using BGP Flowspec
DDoS Mitigation using BGP Flowspec DDoS Mitigation using BGP Flowspec
DDoS Mitigation using BGP Flowspec
 
Volume Encryption In CloudStack
Volume Encryption In CloudStackVolume Encryption In CloudStack
Volume Encryption In CloudStack
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)
 
OpenStack networking (Neutron)
OpenStack networking (Neutron) OpenStack networking (Neutron)
OpenStack networking (Neutron)
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 

Similar to SDN ryu 專題安裝

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
q3boy
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
bj_qa
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2
netdbncku
 
阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划
mysqlops
 
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
colderboy17
 
Training apc-3.0
Training apc-3.0Training apc-3.0
Training apc-3.0
ahnlabchina
 
Training apc-3.0
Training apc-3.0Training apc-3.0
Training apc-3.0
ahnlabchina
 
02.python.开发最佳实践
02.python.开发最佳实践02.python.开发最佳实践
02.python.开发最佳实践
Na Lee
 

Similar to SDN ryu 專題安裝 (20)

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
Honeywall roo 1
Honeywall roo 1Honeywall roo 1
Honeywall roo 1
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security Overview
 
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
 
阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划
 
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
 
LinkIt Smart 7688 Duo and MCS basics
LinkIt Smart 7688 Duo and MCS basicsLinkIt Smart 7688 Duo and MCS basics
LinkIt Smart 7688 Duo and MCS basics
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具
 
[students AI workshop] Pytorch
[students AI workshop]  Pytorch[students AI workshop]  Pytorch
[students AI workshop] Pytorch
 
SACC2015 ”互联网+“任重而道远-白金&高春辉
SACC2015 ”互联网+“任重而道远-白金&高春辉SACC2015 ”互联网+“任重而道远-白金&高春辉
SACC2015 ”互联网+“任重而道远-白金&高春辉
 
LinkIt 7697 IoT tutorial
LinkIt 7697 IoT tutorialLinkIt 7697 IoT tutorial
LinkIt 7697 IoT tutorial
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
 
Training apc-3.0
Training apc-3.0Training apc-3.0
Training apc-3.0
 
Training apc-3.0
Training apc-3.0Training apc-3.0
Training apc-3.0
 
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
 
02.python.开发最佳实践
02.python.开发最佳实践02.python.开发最佳实践
02.python.开发最佳实践
 

SDN ryu 專題安裝