Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• D emo
• S ummary
流流
(ryu) (ryu)
⿓龍龍
means “flow” means “japanese dragon”,
one of warter gods
Feature Feature
OS
Specialized packet
Forwarding
hardware
Business applications
Business applications
North-‐‑‒bound API:
Programmable Open APIs
Control layer
SDN control
software Network services
Network services
Network-related control
Network services
South-‐‑‒bound API
Infrastructure layer
(ex., OpenFlow)
Packet forwarding
Network Device 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
Mac Mac IP IP TCP count
… Action
dst src dst src dst er
OpenFlow
protocol byte
output coun
* * * * 6667 *
: 3 ters,
OpenFlow
etc
switch
.
.. .. .. .. .. ..
OpenFlow OpenFlow .
switch switch
• Agile
• Framework for SDN application
development instead of all-purpose big
monolithic ‘controller’.
• Other protocols
• netconf, vrrp, xFlow, snmp, ovsdb
• Switch Interoperability
• Referenced by some switch vendors
• Open vSwitch
• Integration testing with Open vSwitch (OF1.0, OF1.2)
• nicira extensions, OVSDB
$ 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
OF REST API
operator ・add a flow entry
POST http://example.org/stats/flownetry/
OF REST add
API ・delete flow entries
DELETE http://example.org/stats/
flowentry/delete
・get flow stats
Ryu GET http://example.org/stats/flow/{dpid}
OpenFlow
protocol
OpenFlow
switch
OpenFlow OpenFlow
switch switch
$ ryu-manager ryu/app/rest_firewall.py
Ryu
OpenFlow
protocol Allow
OpenFlow
switch
https://github.com/osrg/ryu/wiki/Third-Party-Tools,-Etc.
Drop
© 2013 NTT Software Innovation Center 16
Topology viewer
• Show topology and flows dynamically
ZooKeeper
master slave
Ryu Ryu
Failover
OpenFlow
switch
Host A Host B
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
Compute Nova
SwiK (Objects)
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
Quantum-node Ryu-node
Quantum db:
(Network id, key (tunnel id))
Ryu server
(Network id, key)
Quantum
Ryu Quantum
Server REST API
OpenFlow
&
Quantum OVSDB JSON
API
Compute-node Network-node
KVM KVM
All-in-one node GRE tunnel GRE tunnel Compute node
bridge
Linux(physical machine)
Tunnel
in_port goto table 2 tunnel_id drop
port
tunnel_id
VM1
GRE tunnel OVS
tunnel VM2
port
© 2013 NTT Software Innovation Center VM port 34