17
Ryu: Network Operating System Kazutaka Morita NTT Software Innovation Center June 6, 2012

Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Ryu: Network Operating System

Kazutaka Morita NTT Software Innovation Center

June 6, 2012

Page 2: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Agenda ²  Overview ²  How it works and Demo ²  Summary

2 �

Page 3: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Overview

Page 4: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

What is Ryu? ²  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: http://www.osrg.net/ryu/

²  Ryu plugin was merged into Quantum Essex ²  Ryu stands for

³  流 - Means “flow” in Japanese ³  龍 - Means “Japanese dragon”, one of water gods

4 �

Page 5: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Overview

Administrator app app app

ovs

ovs

Openflow switch

Openflow switch

Programmatic network control interface

・ We can implement network management applications on top of the Ryu

RESTful management API

Logically centralized controller

・ Decouples virtual networks from the physical network

・Supports OpenFlow 1.0 (including Nicira Extension)

Ryu network controllers

5 �

Page 6: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Goals ²  De facto OSS network operating system ²  High quality enough for use in large

production environment ³  Code quality ³  Functionality ³  Usability

²  Become the standard network controller of OpenStack (default plugin of Quantum)

²  Default Controller for fedora/debian/ubuntu

6 �

Page 7: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

What does Ryu bring to OpenStack?

²  Flat L2 networks regardless of the underlying physical network

²  Scalable multi-tenant isolations ³  Ryu provides tunneling based isolations ³  VLAN doesn’t scale larger than 4096 ³  We don’t need high-end switches

7 �

Page 8: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

What does Ryu provide? ²  Intergrated feature with OpenStack ²  Ryu application

³  GRE tunneling ³  VLAN support ³  Topology discovery ³  MAC based segregation

8 �

Page 9: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

How it works & Demo

Page 10: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Block diagram of Ryu

10 �

Openflow protocol Parser/serializer Event queue/dispatcher

RyuApp magement

HTTP server (WSGI)

Switch management/OFP event

REST API RyuApp GREtunnel

RyuApp Discovery

RyuApp VLAN

Storage Memory

...

Higher level event

Page 11: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Ryu demo (GRE tunneling)

11 �Linux (phyisical machine)

Linux

OVS

Qemu/KVM

ping

Linux

Qemu/KVM

ping

Linux

Nova compute

Quantum agent

bridge

GRE tunnel

KVM

Linux

OVS

Qemu/KVM

ping

Linux

Qemu/KVM

ping

Linux

Nova compute

Quantum agent

GRE tunnel

KVM

Linux

OVS

Qemu/KVM

ping

Linux

Qemu/KVM

ping

Linux

Nova compute

Quantum agent

GRE tunnel

ryu

Quantum server

Nova network Openstack

servers

KVM

Page 12: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

12 �

Tenant A VM 1

Tenant A VM 2

Tenant B VM 1

OVS 1

Host  1

Tenant A VM 3

Tenant B VM 2

Tenant B VM 3

OVS 2

Host 2

Tenant A VM 4

Tenant B VM 4

Tenant B VM 5

OVS 3

Host 3 GRE tunnel 1-3

GRE tunnel 1-2

GRE tunnel 2-3

Tenant A ID -> 3 Tenant B ID -> 4

Ryu demo (GRE tunneling)

Page 13: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Summary

Page 14: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Future items ²  Integration with Quantum IPAM and L3

API ²  Firewall ²  Virtual network to physical network, and

vice versa ³  Convert among GRE key, VLAN tag, …

²  Distributed controllers ³  No single point of failure ³  Datacenter-wide scalability

14 �

Page 15: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Summary ²  Ryu is an open-sourced network operating

system licensed under Apache License v2. ³  Site: http://www.osrg.net/ryu/ ³  ML: [email protected]

²  ²  Ryu OpenStack easy set up VM

³  https://github.com/osrg/ryu/wiki/RYU-OpenStack-environment-VM-image-file-HOWTO

15 �

Page 16: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

Appendix

Page 17: Ryu: Network Operating SystemOpen-sourced network operating system " Network operating system # Programmatic network control interface # Logically centralized controller for thousands

OpenStack basics ²  OpenStack

³  Nova: cloud management system ³  Quantum: network management system

²  Nova compute node ³  Physical machine that runs guest VM instances

²  Nova network node ³  Physical machine that runs networks gateway to the outside network

²  Quantum server ³  Manages network configuration ³  Nova requests quantum-server for network configuration

²  Quantum agent ³  It runs on nova compute/network node

²  Quantum plugin ³  Plugin for each network technology ³  Ryu plugin

17 �