Network programmability with OpenVNet

download Network programmability with OpenVNet

If you can't read please download the document

Transcript of Network programmability with OpenVNet

What do we do at Axsh?

Virtualization

Infrastructure as a Service (IaaS)

Software Defined Networking (SDN)

DevOps, Continuous Integration/Delivery

Free open source software

Our two main FOSS projects

Wakame-vdcFull featured IaaS solution(virtual data center)

OpenVNetFull featured SDN solution(virtual network)

http://axsh.jp

What is OpenVNet

Software defined networking (SDN)

Free open source software

Written in Ruby

http://axsh.jp/openvnet/

https://github.com/axsh/openvnet

The concept of SDN

First look at vitualization

HardwareOperating System

VS

Physical machine

HardwareOperating SystemOperating SystemHypervisor

Virtual machines

The concept of SDN

A physical network

NICNICNICNIC

NICNIC

172.16.90.0/24

172.16.91.0/24

Router

The concept of SDN

A physical network

NICNICNICNIC

NICNIC

SwitchSwitchSwitch

Switch

Router

The concept of SDN

A virtual network

NICNICNICNIC

NICNIC

SwitchSwitchSwitch

Switch

Router

The concept of SDN

Create any network without changing hardware

NICNICNICNIC

NICNIC

SwitchSwitchSwitch

Switch

Router

Virtual network: 10.100.0.0/24

The concept of SDN

Create any network without changing hardware

NICNICNICNIC

NICNIC

SwitchSwitchSwitch

Switch

Router

Virtual network: 10.100.0.0/24

Virtual network: 192.168.100.0/24

The concept of SDN

Create any network without changing hardware

NICNICNICNIC

NICNIC

SwitchSwitchSwitch

Switch

Router

Virtual network: 172.16.0.0/16

Virtual network: 10.100.0.0/24

The concept of SDN

How is this magic possible?

Because OpenVNet controls the switches(using OpenFlow)

NICNICNICNIC

NICNIC

SwitchSwitchSwitch

Switch

Router

OpenVNet

OpenVNet

OpenVNet

SDN with OpenVNet

Hypervisor hostHypervisor hostHypervisor host

PhysicalNetworkVirtual(softwaredefined)NetworkVMVMVMVMVMVMNATDNSDHCPRoutersSwitchesFirewalls

OpenVNet's inner workings

User laptop

Hypervisor HostOpen vSwitchVNAVMVMVMVMVM

VnctlWeb (REST) API

HTTP

DatabaseVnmgr

VNet Edge

Other networks

Physical network

Demo time

The demo's physical network

VM 1VM 2VM 3VM 4

VM 5VM 6

SwitchSwitchSwitch

Switch

Router

My laptopDemo time

Let's create the demo environment

Hypervisor host 1VnctlWebAPIVnmgrVNA 1Open vSwitchVM (inst1)VM 1VM 2

DBHypervisor host 2VNA 2Open vSwitchVM (inst1)VM 3VM 4

LINUX

BRIDGE

Hypervisor host 3VNA 3Open vSwitchVM (inst1)VM 5VM 6

Router

Demo time

My terminal layout

VNA 1 logVNA 2 logVNA 3 logVnctl (OpenVNet webapi client)VM 1VM 2VM 3VM 4VM 2VM 5VM 2VM 6

Demo 1

https://github.com/Metallion/PresentationsOne single network

VM 1VM 2VM 3VM 4

VM 5VM 6

SwitchSwitchSwitch

Switch

Router

vnet1: 10.101.0.0/24

Demo 2

VM 1VM 2VM 3VM 4

VM 5VM 6

SwitchSwitchSwitch

Switch

Router

vnet1: 10.101.0.0/24

vnet2: 192.168.100.0/24

https://github.com/Metallion/PresentationsTwo networks

Demo 3

VM 1VM 2VM 3VM 4

VM 5VM 6

SwitchSwitchSwitch

Switch

Router

vnet1: 10.101.0.0/24

vnet2: 192.168.100.0/24

https://github.com/Metallion/PresentationsTwo networks with router

Demo 4

https://github.com/Metallion/PresentationsOne single network with firewalls

VM 1VM 2VM 3VM 4

VM 5VM 6

SwitchSwitchSwitch

Switch

Router

vnet1: 10.101.0.0/24

Demo 4

https://github.com/Metallion/PresentationsOne single network with firewalls

VM1 accepts TCP port 22 (ssh) from everyone

VM2 accepts ICMP (ping) from VM5 and VM6

VM3 accepts TCP port 80 (HTTP) from everyone

VM3 accepts TCP port 22 (SSH) from VM5

VM4, VM5 and VM6 have no firewalls

OpenVNet feature list

Two protocols to support virtual networking. - **MAC2MAC** (Axsh original protocol for physical L2 tunneling) - **GRE** (protocol for L3 tunneling)

Simulated DHCP service

Simulated DNS service

L3 routing between virtual networks.

Single hop L3 routing between physical and virtual networks.

Firewall

Connection tracking

Integration with Wakame-vdc.

VNet Edge feature (connect virtual and physical networks)

Thank you for listening

http://axsh.jp