Ryu: Network Operating System

Transcription

Ryu: Network OperatingSystemKazutaka MoritaNTT Software Innovation CenterJune 6, 2012

Agenda² ² ² OverviewHow it works and DemoSummary2

Overview

What is Ryu?² Open-sourced network operating system³ Network operating system ³ Open source software (Apache v2) ² ² Programmatic network control interfaceLogically centralized controller for thousands of switches(OVS, openflow switch)Fully written in PythonProject site: http://www.osrg.net/ryu/Ryu plugin was merged into Quantum EssexRyu stands for³ ³ 流 - Means “flow” in Japanese龍 - Means “Japanese dragon”, one of water gods4

OverviewRyu network controllersProgrammatic networkcontrol interface・ We can implementnetwork managementapplications on top ofthe RyuovsappappappRESTfulmanagement APIAdministratorLogically centralizedcontroller・ Decouples virtual networksfrom the physical network・Supports OpenFlow 1.0(including Nicira Extension)Openflow switchovsOpenflow switch5

Goals² ² De facto OSS network operating systemHigh quality enough for use in largeproduction environment³ ³ ³ ² ² Code qualityFunctionalityUsabilityBecome the standard network controller ofOpenStack (default plugin of Quantum)Default Controller for fedora/debian/ubuntu6

What does Ryu bring toOpenStack?² ² Flat L2 networks regardless of theunderlying physical networkScalable multi-tenant isolations³ ³ ³ Ryu provides tunneling based isolationsVLAN doesn’t scale larger than 4096We don’t need high-end switches7

What does Ryu provide?² ² Intergrated feature with OpenStackRyu application³ ³ ³ ³ GRE tunnelingVLAN supportTopology discoveryMAC based segregation8

How it works & Demo

Block diagram of Ryu.RyuAppGREtunnelRyuAppDiscoveryRyuAppVLANREST APIHigher level eventSwitch management/OFP eventOpenflow ntHTTP server(WSGI)Event queue/dispatcher10

Ryu demo (GRE tunneling)pingpingLinuxLinuxQemu/KVM KVMGRE tunnelGRE vacomputeQuantumagentKVMGRE tunnelbridgeLinux (phyisical machine)11

Ryu demo (GRE tunneling)Host1Tenant AVM 1Tenant AVM 2Tenant A ID - 3Tenant B ID - 4Tenant BVM 1GRE tunnel 1-3OVS 1Tenant AVM 4GRE tunnel 1-2Host 3Tenant BVM 4Tenant BVM 5OVS 3Host 2Tenant AVM 3Tenant BVM 2Tenant BVM 3GRE tunnel 2-3OVS 212

Summary

Future items² ² ² Integration with Quantum IPAM and L3APIFirewallVirtual network to physical network, andvice versa³ ² Convert among GRE key, VLAN tag, Distributed controllers³ ³ No single point of failureDatacenter-wide scalability14

Summary² Ryu is an open-sourced network operatingsystem licensed under Apache License v2.³ Site: http://www.osrg.net/ryu/³ ML: ryu-devel@lists.sourceforge.net² ² Ryu OpenStack easy set up VM³ ronment-VM-image-fileHOWTO15

Appendix

OpenStack basics² OpenStack³ Nova: cloud management systemQuantum: network management system³ Physical machine that runs guest VM instances³ ² ² Nova compute nodeNova network node³ ² Quantum server³ ³ ² Manages network configurationNova requests quantum-server for network configurationQuantum agent³ ² Physical machine that runs networks gateway to the outside networkIt runs on nova compute/network nodeQuantum plugin³ ³ Plugin for each network technologyRyu plugin17

Open-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands of switches (OVS, openflow switch) " Open source software (Apache v2) # Fully written in Python # Project site .