ryuo - using high level northbound api for control
TRANSCRIPT
RyuoUsing High Level Northbound API for Control Messages in SDN
Shaoyu Zhang1, Yao Shen1, Matthias Herlich2, Kien Nguyen3,Yusheng Ji2, Shigeki Yamada2
1Shanghai Jiao Tong University, China2National Institute of Informatics, Japan
3National Institute of Information and Communications Technology, Japan
August 18, 2015
1 / 19
Issues of OpenFlow
Control latencyApplications couple with OpenFlow at some degreeAll control logic centralized
2 / 19
Ryuo: ArchitectureControl Server
Ryuo App
Control Network
Local Services Local Services Local Services
Data Plane Data Plane Data Plane
SDN Switch SDN Switch SDN Switch
Northbound API
Southbound API
Ryuo App: Focus on business logicLocal Service: Provides high level API, ensures compatibilityDomain specific control message
3 / 19
Example: Topology Discovery and Routing
Topology App Routing App
Ryu Controller Ryu Controller Ryu Controller
OF Switch OF Switch OF SwitchOpenFlow
GetTopology()
Topo Service Routing Service
4 / 19
Evaluations
Control TrafficControl LatencyThroughput of handling local events
5 / 19
Evaluation Enviornment
Pica8 P-3295 OpenFlow switch▶ CPU: 825MHz PowerPC▶ Memory: 512MB
PC: For host, Ryu controller, RyuoApplication
▶ CPU: Intel Core i5-3470, 3.2 GHz▶ Memory: 4GB
6 / 19
Control Traffic Evalution
0 10 20 30 40 50Number of Edges
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5Control Traffic (MB)
Standard OpenFlow
Non-local
Ryuo
Figure: OpenFlow vs Local Controller Approach (approx.) vs Ryuo
7 / 19
Evaluation: Fast Failover with OpenFlow 1.0
S3
S1 S2
H1 H2
H1: 1K packets/s.H2: Wireshark.S1-S2 → S1-S3-S2Count pakcets lost
8 / 19
Evaluation: Fast Failover with OpenFlow 1.0
Ryuo OF130
100
200
300
400
500
600
700
800
900
Switc
h-ov
er time (m
s) 678.6599.6
Local Service: ~0.1s slower.
9 / 19
Throughput Evaluation: Setup
OpenFlow Switch
Local Service
PC
pktgen wireshark
UDP ICMP OpenFlow Switch
PC1
PC2
Controller
pktgen wireshark
OpenFlow
UDP ICMP
Throughput: Number of events handled in one second.Send UDP packets, record responses.
10 / 19
Throughput Evaluation: Result
20 30 40 50 60 70 80 90 100Packets sent per second
20
30
40
50
60
70
80
90
100
Respo
nse packets received per secon
d RyuoNormal
Switch can only handle about40 packets per seconds.Not a problem on avirtualized server.New switches with morepowerful CPUs.[1]
11 / 19
Ryuo: Implementation
Ryuo Apps and Local Services based on Ryu.Global Local Communication: Pyro4[2]
Available Online: https://github.com/epcc-networking/ryuo
12 / 19
Ryuo: DeploymentControl Server
Control Network
App1 App2 ...
Control Network
SDN Switch Virtualized Server
Local Services
Data Plane
Local Services
Sofware Switch
Two ways to deploy:▶ Directly on OpenFlow switches.▶ On servers with multiple VMs and Open vSwitch.
13 / 19
Related Work
Kandoo[3]: Local and Root ControllerBeehive Netctrl[4]: Distributed Network ControllerOrion[5]: Hierarchical Control Plane
14 / 19
Conclusion
Advantages:▶ Reusable Local Services provide high level API.▶ Easy to extend southbound API.▶ Less control traffic.
Disadvantanges:▶ Limited by resources on the switch.▶ Local Service deployment.
15 / 19
Questions?
16 / 19
Thank you!
17 / 19
References I
[1] AS5712-54X with ONIE / 10GbE Data Center Switch. [Online].Available:http://www.edge-core.com/ProdDtl.asp?sno=457&AS5712-54X
[2] Pyro - Python Remote Objects. [Online]. Available:http://pythonhosted.org/Pyro4/
[3] S. Hassas Yeganeh and Y. Ganjali, “Kandoo: A framework forefficient and scalable offloading of control applications,” inProceedings of the First Workshop on Hot Topics in SoftwareDefined Networks. ACM, 2012, pp. 19–24.
18 / 19
References II
[4] ——, “Beehive: Towards a simple abstraction for scalablesoftware-defined networking,” in Proceedings of the 13thWorkshop on Hot Topics in Networks. ACM, 2014, pp.13:1–13:7.
[5] Y. Fu, J. Bi, K. Gao, Z. Chen, J. Wu, and B. Hao, “Orion: Ahybrid hierarchical control plane of software-defined networking forlarge-scale networks,” in IEEE 22nd International Conference onNetwork Protocols (ICNP), 2014, pp. 569–576.
19 / 19