• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
OpenVNet - Introduction
 

OpenVNet - Introduction

on

  • 795 views

It'd be honored to announce our product OpenVNet, which offers efficient and seamless network virtualization. This is an open source project under LGPL 3.0, hosted on GitHub ...

It'd be honored to announce our product OpenVNet, which offers efficient and seamless network virtualization. This is an open source project under LGPL 3.0, hosted on GitHub (https://github.com/axsh/openvnet)

Statistics

Views

Total Views
795
Views on SlideShare
768
Embed Views
27

Actions

Likes
2
Downloads
17
Comments
0

1 Embed 27

https://twitter.com 27

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    OpenVNet - Introduction OpenVNet - Introduction Presentation Transcript

    • OpenVNet Axsh co., Ltd. Wednesday, October 30, 13
    • What is OpenVNet? • • • • • • Spin-off project from Wakame-vdc 4 developers 1170 commits Written in Ruby 9619 LOCs (13033 LOCs with test codes) Started March 2013, now it is 7 month old Wednesday, October 30, 13
    • Why OpenVNet? • There are many products offering network virtualization but not free • Is there any product to freely try out network virtualization? • • Wakame-vdc offers network virtualization Extract virtual network functionality from Wakame-vdc to make an independent package Wednesday, October 30, 13
    • Advantages of OpenVNet Freely and easily create/destroy networks • e.g.) quickly preparing an isolated network for experiment Reduce the maintaining cost of the physical networks • • Users can create complex networks on top of OpenVNet Keep the physical networks simple No need expensive network switches • Wednesday, October 30, 13 Edge-overlay architecture enables creating complex multi-tenant networks
    • Advantages of OpenVNet Seamless network virtualization • • Virtualizing entire network is difficult • OpenVNet supports association with legacy network Why not to start network virtualization from smaller part? Wednesday, October 30, 13
    • Internal Architecture of OpenVNet Wednesday, October 30, 13
    • Network model of datacenter Internet DNAT / LB Datacenter network Physical/Virtual server clusters Wednesday, October 30, 13 SNAT DHCP DNS
    • Network model of datacenter Internet External network DNAT / LB WAN edge network Datacenter network SNAT DHCP DNS Datacenter physical network LAN edge network General servers Appliance servers Physical/Virtual server clusters Resources Wednesday, October 30, 13 Storage servers
    • Deployment of agent program Internet DNAT / LB agent agent agent Datacenter network agent agent SNAT DHCP DNS agent Physical/Virtual server clusters Wednesday, October 30, 13 Deploy agents for packet control
    • Message queue Internet DNAT / LB agent agent agent Datacenter Queue network agent agent SNAT DHCP DNS agent Physical/Virtual server clusters Wednesday, October 30, 13 Agents communicate to each other through message queue system
    • Components of OpenVNet vna (virtual network agent) • • Agent Configure OpenvSwitch (version 1.10.0) Include an OpenFlow controller implemented with Trema-edge vnmgr (virtual network manager) other components • • • Manage the datacenter network Provide database access back-ended by MySQL Command vna to do some specific actions e.g.) update flows vnapi (virtual network API) • WebAPI to talk to vnmgr • Command line interface to use vnapi vnctl (virtual network controller) Wednesday, October 30, 13
    • Components of OpenVNet Internet DB mysql vna vnmgr vnctl OpenFlow Switch (OpenvSwitch 1.10.0) http vnapi zeromq vna Datacenter Queue network vna vna vna OpenFlow Controller (Trema-edge) OpenFlow 1.3 Servers Wednesday, October 30, 13 vna vna
    • Deployment External network WAN edge network Datacenter physical network A dedicated line for management Packets for the service go through the public line management line public line eth0 LAN edge network General servers Appliance servers Storage servers Resources Wednesday, October 30, 13 Open vSwitch VM eth1 eth0 eth1 vna Open vSwitch vna VM
    • Packet forwarding in OpenVNet • MAC2MAC • OpenVNet original way of packet forwarding • Forward packet based on MAC address • GRE Tunnel • Over L3 routing • VNet edge • Perform VLAN ID translation • Associate with legacy network Wednesday, October 30, 13
    • MAC2MAC Suppose that both VM1 and VM2 exist on the same virtual network public line eth0 Open vSwitch eth1 eth0 eth1 vna Open vSwitch vna virtual network1 VM1 MAC = 00:00:00:00:01 IP = 10.102.0.10 Wednesday, October 30, 13 VM2 MAC = 00:00:00:00:02 IP = 10.102.0.11
    • MAC2MAC both vna know that VM1 and VM2 exist on virtual network1 public line eth0 Open vSwitch VM1 eth1 eth0 eth1 vna Open vSwitch vna virtual network1 VM2 VM1 = 00:00:00:00:01 VM2 = 00:00:00:00:02 Wednesday, October 30, 13
    • MAC2MAC VM1 sends ARP request public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 vna Open vSwitch vna src_ip = 10.102.0.10 dst_ip = 10.102.0.11 src_mac = 00:00:00:00:00:01 dst_mac = ff:ff:ff:ff:ff:ff VM2
    • MAC2MAC Open vSwitch broadcasts the packet public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 src_ip = 10.102.0.10 vna dst_ip = 10.102.0.11 src_mac = 00:00:00:00:00:01 dst_mac = ff:ff:ff:ff:ff:ff Open vSwitch vna VM2
    • MAC2MAC The other hosts receive the packet public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 src_ip = 10.102.0.10 vna dst_ip = 10.102.0.11 src_mac = 00:00:00:00:00:01 dst_mac = ff:ff:ff:ff:ff:ff Open vSwitch vna VM2
    • MAC2MAC Open vSwitch checks the src_mac, then it founds the packet is of virtual network1 public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 vna src_mac = 00:00:00:00:00:01 eth0 eth1 Open vSwitch vna VM2
    • MAC2MAC Remember src_mac in case of other packets whose destination is 00:00:00:00:00:01 public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 vna Open vSwitch vna dst_mac = 00:00:00:00:00:01 ⇛ output:eth0 VM2
    • MAC2MAC Forward a packet according to the network public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 vna Open vSwitch vna src_ip = 10.102.0.10 dst_ip = 10.102.0.11 src_mac = 00:00:00:00:00:01 dst_mac = ff:ff:ff:ff:ff:ff VM2
    • MAC2MAC ARP reply comes in the Open vSwitch public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 vna Open vSwitch vna src_ip = 10.102.0.11 dst_ip = 10.102.0.10 src_mac = 00:00:00:00:00:02 dst_mac = 00:00:00:00:00:01 VM2
    • MAC2MAC Open vSwitch knows that the packet should be forwarded to eth0 public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 vna dst_mac = 00:00:00:00:00:01 ⇛ output:eth0 src_ip = 10.102.0.11 dst_ip = 10.102.0.10 src_mac = 00:00:00:00:00:02 dst_mac = 00:00:00:00:00:01 eth0 eth1 Open vSwitch vna VM2
    • MAC2MAC The packet is forwarded from eth0 public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 src_ip = 10.102.0.11 dst_ip = 10.102.0.10 vna src_mac = 00:00:00:00:00:02 dst_mac = 00:00:00:00:00:01 eth0 eth1 Open vSwitch vna VM2
    • MAC2MAC The another host receives the ARP reply packet public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 src_ip = 10.102.0.11 dst_ip = 10.102.0.10 vna src_mac = 00:00:00:00:00:02 dst_mac = 00:00:00:00:00:01 eth0 eth1 Open vSwitch vna VM2
    • MAC2MAC Remember the source mac address public line eth0 Open vSwitch eth1 eth0 eth1 vna Open vSwitch vna src_mac = 00:00:00:00:00:02 ⇛ output:eth0 VM1 Wednesday, October 30, 13 VM2
    • MAC2MAC Output the packet to the specific VM public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 eth1 vna Open vSwitch vna src_ip = 10.102.0.11 dst_ip = 10.102.0.10 src_mac = 00:00:00:00:00:02 dst_mac = 00:00:00:00:00:01 VM2
    • GRE Tunnel Prepare GRE tunnels in case of L3 routing required Use MAC2MAC over GRE tunnels GRE tunnel L3 switch public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 vna Open vSwitch VM2 eth1 eth0 eth1 vna Open vSwitch vna VM3
    • Overall Any complex packet forwarding is done by Open vSwitch Just normal L2 and L3 switch are required No need to buy expensive network switches!! L3 switch public line eth0 Open vSwitch VM1 Wednesday, October 30, 13 eth1 eth0 vna Open vSwitch VM2 eth1 eth0 eth1 vna Open vSwitch vna VM3
    • Advantages of OpenVNet Seamless network virtualization • • Virtualizing entire network is difficult • OpenVNet supports association with legacy network Why not to start network virtualization from smaller part? Wednesday, October 30, 13
    • VNet edge Perform VLAN ID translation • • • legacy line Associate the legacy machine to the virtual network ID 2 Edge server is responsible for VLAN ID translation Legacy machine is connected to the edge server over L2 network Legacy L2 switch eth0 Legacy machine public line eth2 eth0 Open vSwitch eth1 eth0 eth1 vna Open vSwitch vna VM1 Edge server Wednesday, October 30, 13 Network ID 2
    • VNet edge Send a packet from a legacy machine • legacy line Suppose the legacy machine is associated with VLAN ID 100 Legacy L2 switch eth0 Legacy machine public line eth2 eth0 Open vSwitch eth1 eth0 eth1 vna Open vSwitch vna VM1 Edge server Wednesday, October 30, 13
    • VNet edge Open vSwitch forwards the packet to the OF controller Translates VLAN ID 100 to network ID 2 legacy line Legacy L2 switch eth0 Legacy machine public line eth2 eth0 eth1 VLAN 100 vnet 2 Edge server Wednesday, October 30, 13 eth1 vna Open vSwitch eth0 Open vSwitch vna VM1
    • VNet edge After the translation, the packet is forwarded by MAC2MAC legacy line Legacy L2 switch eth0 Legacy machine public line eth2 eth0 eth1 VLAN 100 vnet 2 Edge server Wednesday, October 30, 13 eth1 vna Open vSwitch eth0 Open vSwitch vna VM1
    • VNet edge The legacy machine can participate in the virtual network legacy line Legacy L2 switch eth0 Legacy machine public line eth2 eth0 eth1 VLAN 100 vnet 2 Edge server Wednesday, October 30, 13 eth1 vna Open vSwitch eth0 Open vSwitch vna VM1
    • Conclusion • • Advantages of OpenVNet • • • Reduce the cost for maintaining the physical networks No need to buy expensive network switches Association with the legacy networks Github • https://github.com/axsh/openvnet Wednesday, October 30, 13