wug #009 - openvnet 0.7 presentation
TRANSCRIPT
- 1. What do we do at Axsh? Virtualization Cloud computing Distributed systems Free open source software
- 2. Our two main FOSS projects Wakame-vdc http://wakame-vdc.org OpenVNet http://openvnet.org http://github.com/axsh
- 3. What is Wakame-vdc? Instance Instance Instance WebAPI * Instance = Virtual Server User Http SSH
- 4. What is OpenVNet A Network hypervisor A way to fully virtualize networks
- 5. What is OpenVNet A Network hypervisor A way to fully virtualize networks
- 6. What is virtualization Let's explain using virtual machines Hardware Operating system Hypervisor (VMWare, KVM, VirtualBox, etc.) VM OS (Linux) VM OS (Windows) VM OS (MacOS)
- 7. What is virtualization Virtual machines become indipendent of hardware Hardware (Laptop PC) Operating system (Linux) Hypervisor (VirtualBox) VM OS VM OS VM OS Hardware (iMac) Operating system (MacOS) Hypervisor (VirtualBox)
- 8. Network virtualization The concept is similar Networks become indipendent of hardware Hardware (hubs, routers, bridges, etc.) Hypervisor (OpenVNet) Virtual Network NIC 10.0.0.0/24 10.10.0.0/24 10.10.0.0/24 NIC NIC Virtual Network NIC NIC NIC Internet Virtual Network NIC NIC NIC 10.90.0.0/24 10.80.0.0/24 10.90.0.0/24
- 9. Some use cases Cloud systems like Wakame-vdc or OpenStack can allow users to create their own custom network layout Separate cloud systems can be tied together into a single L2 Network Use your imagination
- 10. How do we achieve this? Short answer: We use OpenFlow https://www.opennetworking.org/sdn-resources/openflow Long answer: Let's refresh how networks work in the first place.
- 11. Layer 1: The Physical Layer Two NICs are connected by a cable They can now exchange ones and zeroes
- 12. Layer 1: The Physical Layer Two NICs are connected by a cable They can now exchange ones and zeroes What if we want to connect more than two NICs?
- 13. Layer 2: The Data Link Layer Each NIC has a unique MAC address Everyone broadcasts Ethernet frames The OS opens Ethernet frames sent to its NIC's MAC address
- 14. Layer 2: The Data Link Layer What is we want to create large networks? We can't just keep broadcasting everywhere
- 15. Layer 3: The Network Layer Connects multiple L2 networks using routers NICs are assigned IP addresses A broadcast (ARP) is made to match IP to MAC
- 16. So how does OpenVNet virtualize this? All network devices have flow tables Network traffic: Comes in a certain port Is matched against those flow tables Is sent out a certain port OpenFlow is a protocol to tell network devices to change their flow tables
- 17. OpenFlow Switch Network Switch OpenFlow Controller OpenFlow Implementation Flow tables Port Port Port Port SSL NIC NICNIC NIC Network traffic
- 18. OpenVNet's OpenFlow Controller OpenVNet has an OpenFlow controller called VNA OpenVNet currently requires the use of Open vSwitch VNA VNA Open vSwitch Open vSwitch
- 19. Tunneling protocols OpenVNet uses two tunneling protocols to implement virtual networks MAC2MAC: An original protocol that works on Layer 2 GRE A protocol that works on Layer 3
- 20. Tunneling protocols VNA VNA Open vSwitch Open vSwitch VNA Open vSwitch
- 21. Tunneling protocols VNA VNA Open vSwitch Open vSwitch VNA Open vSwitch MAC2MAC
- 22. Tunneling protocols VNA VNA Open vSwitch Open vSwitch VNA Open vSwitch GRE
- 23. OpenVNet under the hood NIC NIC NIC Vnmgr (virtual network manager) 0mq http Open vSwitch VNA NIC NIC NIC Open vSwitch VNA WebAPI MySQL Physical Network
- 24. Demo time We will tie Wakame-vdc and Amazon EC2 together into one virtual network Wakame-vdc has OpenVNet support Amazon EC2 does not So... what do we do?
- 25. Demo time We will tie Wakame-vdc and Amazon EC2 together into one virtual network Wakame-vdc has OpenVNet support Amazon EC2 does not So... what do we do? VNet Edge!
- 26. VNet Edge Allows a virtual network and a physical (= non OpenVNet) network to join together into one L2 segment VNA VNA Open vSwitch Open vSwitch VNet Edge Non OpenVNet network
- 27. VNet Edge is rather simple Open vSwitch/VNA checks if it has the destination for a packet in its virtual network If yes, send it there If no, send it out VNet Edge
- 28. Demo time Without further ado...