Download - 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