OpenStack/Quantum SDN- based network

Transcription

OpenStack/Quantum SDN- based network
OpenStack/Quantum SDNbased network virtulization
with Ryu
Kei Ohmura
NTT
May 31, 2013
© 2013 NTT Software Innovation Center
Outline
• Introduction to Ryu
• O penStack Quantum and Ryu
• D emo
• S ummary
© 2013 NTT Software Innovation Center
2
What is “Ryu”
流流
(ryu)
means “flow”
⿓龍龍
(ryu)
means “japanese dragon”, one of warter gods
© 2013 NTT Software Innovation Center
3
What is “Ryu”
manages “flow” control to enable intelligent networking
Packet
© 2013 NTT Software Innovation Center
4
SDN(Software Defined Networking)
•  Separates control and data plane:
•  Open interface between control and data plane
•  Network control and management features in software
Feature
Feature
Feature
Feature
OS
OS
Specialized packet
Forwarding
hardware
Specialized packet
Forwarding
hardware
Feature
Feature
OS
Specialized packet
Forwarding
hardware
© 2013 NTT Software Innovation Center
5
SDN(Software Defined Networking)
•  Separates control and data plane:
•  Open interface between control and data plane
•  Network control and management features in software
Applicatoin layer
Business applications
Business applications
Control layer
North-‐‑‒bound API: Programmable Open APIs
SDN control
software
Network services
Network services
Network services
South-‐‑‒bound API
(ex., OpenFlow)
Infrastructure layer
Network Device
Network Device
Network Device
Network-related control
Packet forwarding
Network Device
Network Device
http://www.opennetworking.org/sdn-resources/meet-sdn
© 2013 NTT Software Innovation Center
6
OpenFlow Overview
• One of the key technologies to realize SDN
• Open interface between control and data plane
match field
OpenFlow Controller
OpenFlow protocol
OpenFlow
switch
OpenFlow
switch
OpenFlow
switch
Mac
dst
Mac
src
IP
dst
IP
src
TCP
dst
…
Action
count
er
byte coun
ters, etc
*
*
*
*
6667
*
output
: 3
..
..
..
..
..
.
.
..
Flow Table
OpenFlow
switch
© 2013 NTT Software Innovation Center
7
Ryu SDN framework
• SDN Framework
•  A platform for building SDN applications
•  Provides useful libraries and well-defined API
• Open source software (Apache v2)
•  Fully written in Python
•  Project site: http://osrg.github.com/ryu/
SDN
apps
SDN
apps
SDN
apps
well-‐‑‒defined API
Ryu SDN framework
OpenFlow protocol
OpenFlow
switch
OpenFlow
switch
© 2013 NTT Software Innovation Center
8
Our goals
• D e facto SDN platform
• Standard network controller for cloud
orchestrators, e.g. OpenStack
• Default network controller for Linux
Distributions, e.g. RHEL/feadora/
ubuntu
• H igh quality for commercial deployment
• code quality, functionality, usability
© 2013 NTT Software Innovation Center
9
Features
• Generality
• Vendor-neutral
• Supports open interface (eg., OpenFlow)
• Used by some switch vendors
• Agile
• Framework for SDN application
development instead of all-purpose big
monolithic ‘controller’.
© 2013 NTT Software Innovation Center
10
Architecture
• I mplement your apps by using Ryu SDN Framework
operator
OpenStack
cloud orchestration
RESTful
management
API
User
Apps
REST API
for Quantum
User-defined API
via REST or RPC
Ryu SDN frame work
Built-in Apps: tenant isolation, L2 switch
Libraries: OF REST, topology discovery, firewall
OF protocols parser/
serializer
Non-‐‑‒OF protocols
parser/serializer
OF1.0, 1.2, 1.3
OF-‐‑‒Config 1.1
netconf, vrrp, netflow, packet lib
existing
IP
networks
OpenFlow
OpenFlow
switch
© 2013 NTT Software Innovation Center
11
Current status
•  OpenFlow protocol
•  OF1.0 + nicira extensions, OF1.2, OF1.3
•  OF-Config 1.1
•  Other protocols
•  netconf, vrrp, xFlow, snmp, ovsdb
•  Ryu applications /libraries
• 
• 
• 
• 
Topology viewer
OF REST
Firewall
Some sample apps are in the ryu/app directory.
•  Switch Interoperability
•  Referenced by some switch vendors
•  Open vSwitch
•  Integration testing with Open vSwitch (OF1.0, OF1.2)
•  nicira extensions, OVSDB
•  Integration with other components
•  HA with Zookeeper
•  IDS (Intrusion Detection System)
•  OpenStack Quantum
© 2013 NTT Software Innovation Center
12
How to use
• Install Ryu from pip
$ sudo pip install ryu
• Install Ryu from the source code
$ git clone git://github.com/osrg/ryu.git
$ cd ryu; sudo python ./setup.py install
• Run your application
$ ryu-manager yourapp.py
© 2013 NTT Software Innovation Center
13
Mac learning switch
$ ryu-manager ryu/app/simple_switch.py
L2 switch
app
Ryu
(2)
(3)
(1)
(4)
FlowTable
OpenFlow
switch
Host A
Host B
tutorial: https://github.com/osrg/ryu/wiki/OpenFlow_Tutorial
© 2013 NTT Software Innovation Center
14
OF REST
$ ryu-manager ryu/app/ofctl_rest.py
operator
OF REST
API
Ryu
OF REST API
・add a flow entry
POST http://example.org/stats/flownetry/
add
・delete flow entries
DELETE http://example.org/stats/
flowentry/delete
・get flow stats
GET http://example.org/stats/flow/{dpid}
OpenFlow
protocol
OpenFlow
switch
OpenFlow
switch
OpenFlow
switch
© 2013 NTT Software Innovation Center
15
Firewall REST
$ ryu-manager ryu/app/rest_firewall.py
Firewall REST API ・ add a rule POST h4p://example.org/firewall/rules/{switch-­‐id} ・delete a rule DELETE h4p://example.org/firewall/rules/{switch-­‐id}
・get rules GET h4p://example.org/firewall/rules/{switch-­‐id}
operator
Firewall
REST API
Ryu
OpenFlow
protocol
Allow
OpenFlow
switch
Drop
https://github.com/osrg/ryu/wiki/Third-Party-Tools,-Etc.
© 2013 NTT Software Innovation Center
16
Topology viewer
• Show topology and flows dynamically
© 2013 NTT Software Innovation Center
17
HA with Zookeeper
• Centralized controller is single point of
failure (SPOF)
• Ryu + ZooKeeper is able to avoid SPOF
ZooKeeper
master
slave
Ryu
Ryu
Failover
OpenFlow
switch
Host A
Host B
© 2013 NTT Software Innovation Center
18
IDS integration
• Ryu + IDS can cope with threats in real time.
Deep packet
(3)
snort
control app
Alert
inspection
IDS(Snort)
Ryu
(2)
(4)
OpenFlow
switch
(1) L1~L4
matching
https://github.com/osrg/ryu/wiki/Snort-Integration
© 2013 NTT Software Innovation Center
19
Ryu plugin for OpenStack Quantum
• Ryu plugin was merged into OpenStack Quantum Grizzly release
Nova
Quantum
Ryu plugin
REST
API
VM VM VM VM
VM VM VM VM
OpenStack
apps
Open vSwitch
Open vSwitch
OpenFlow
Ryu Quantum REST API
・create network
PUT http://example.org/v1.0/
networks/{network-id}
・delete network
DELETE http://example.org/
v1.0/networks/{network-id}
・connect a new VM
PUT http://example.org/v1.0/
networks/{switch-id}_{port-id}
Ryu
https://github.com/osrg/ryu/wiki/OpenStack
© 2013 NTT Software Innovation Center
20
OpenStack
*-­‐as-­‐a-­‐Service OpenStack Service Compute Nova SwiK (Objects) Storage Cinder (Block) Glance (Images) idenSty Keystone Network Quantum © 2013 NTT Software Innovation Center
21
OpenStack Quantum
• Provides networking-‐‑‒as-‐‑‒a-‐‑‒service
• Quantum controls network
virtualization like Nova controls server
virtualization
• “ plugin” mechanism
• Enable different technologies
• Ryu, Open vSwitch, Cisco UCS, Linux
Bridge, NVP
© 2013 NTT Software Innovation Center
22
What does Ryu bring to OpenStack
• F lat L2 networks regardless of the underlying physical network
• We don’t need high-end switches
• S calable multi-‐‑‒tenant isolations
• Ryu provides tunneling based isolations
• Virtual networks that Ryu provieds are
decoupled from VLAN limitations
© 2013 NTT Software Innovation Center
23
How Ryu works with OpenStack
Quantum-node
Ryu-node
Quantum db:
(Network id, key (tunnel id))
Quantum
Server
Ryu server
(Network id, key)
Ryu Quantum
REST API
OpenFlow
&
OVSDB JSON
Quantum
API
Vif
driver
Ryu
agent
Create
Tap port
Create
Tunnel port
Compute-node
OVS
L3
agent
Ryu
agent
OVS
Network-node
© 2013 NTT Software Innovation Center
24
Demo
• Ryu and OpenStack (GRE tunneling)
© 2013 NTT Software Innovation Center
25
Ryu and OpenStack: physical view
demo
VM1
mode
VM1
demo
VM2
mode
VM2
Qemu/KVM
Qemu/KVM
Qemu/KVM
Qemu/KVM
Ryu
OVS
Glance
Nova
Quantum
Keystone
Horizon
KVM
All-in-one node
OVS
Nova
Ryu agent
KVM
GRE tunnel
GRE tunnel
Compute node
bridge
Linux(physical machine)
© 2013 NTT Software Innovation Center
26
Ryu and OpenStack: logical view
Tenant demo ID -> 0x2
Tenant mode ID -> 0x4
demo
VM1
demo
VM2
demo network
mode
VM1
mode
VM2
mode network
© 2013 NTT Software Innovation Center
27
Future works
• Adds more components(protocols, IaaS, stats, security, etc).
• Improves distributed deployment component(cluster support)
• N ew testing methods (Ryu has more than 15,000 lines test code).
© 2013 NTT Software Innovation Center
28
Summary
• Ryu is an ongoing project
• Ryu project needs more developers
• site: http://osrg.github.com/ryu/
• wiki:https://github.com/osrg/ryu/wiki/
_pages
• ML: [email protected]
© 2013 NTT Software Innovation Center
29
Appendix
© 2013 NTT Software Innovation Center
Node boot up
© 2013 NTT Software Innovation Center
31
Network creation
© 2013 NTT Software Innovation Center
32
Instance creation
© 2013 NTT Software Innovation Center
33
Flow table usage
In port
VM port
Src table
Table 0
match
Local out
Table 1
Table 2
match
in_port set_tunnel
src mac goto table 1
in_port
Tunnel
port
action
Tunnel out
drop
action
match
action
tunnel_id output(tunnel)
dst mac goto table 2
tunnel_id
goto table 2
tunnel_id output(vm)
dst mac
tunnel_id
in_port goto table 2
tunnel_id
drop
VM1
GRE tunnel
OVS
tunnel
port
© 2013 NTT Software Innovation Center
VM2
VM port
34

Similar documents

Presentation - Journal of the Southeast Asian Linguistics Society

Presentation - Journal of the Southeast Asian Linguistics Society                including  Myanmar,  Chin,  Kachin,  Kayah  and  Karen   Mon-­‐Khmer    many  languages  including  Mon   T(h)ai          v...

More information