7th OpenSTACK USER group nordics

Slides:



Advertisements
Similar presentations
Modular Layer 2 In OpenStack Neutron
Advertisements

© 2012 IBM Corporation Architecture of Quantum Folsom Release Yong Sheng Gong ( 龚永生 ) gongysh #openstack-dev Quantum Core developer.
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1 Kyle Mestery Principal Engineer, Office of the Cloud CTO, Cisco.
Neutron What’s new in Havana? Arvind Somya Software Engineer Cisco Systems Inc.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle’s Next-Generation SDN Platform Andrew Thomas Architect Corporate Architecture.
DOT – Distributed OpenFlow Testbed
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
1 Linux Foundation Collaboration Summit19 February 2015 IPv6-enabled OPNFV Bin Hu IPv6 Project Lead, OPNFV Other contributors of presentation Henry Gessau,
Seamless migration from Nova-network to Neutron in eBay production Chengyuan Li, Han Zhou.
A 5 minutes intro to Openstack (and a few more minutes on Openstack Networking) Salvatore Orlando 3 rd OSUG Italy Meetup Rome, May 9 th 2013.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
10/04/12 Under the Hood: Network Virtualization with OpenStack Neutron and VMware NSX Somik Behera – NSX Product Manager Dimitri Desmidt - NSX Senior Technical.
SDN in Openstack - A real-life implementation Leo Wong.
Lecture Week 7 Implementing IP Addressing Services.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
(part 3).  Switches, also known as switching hubs, have become an increasingly important part of our networking today, because when working with hubs,
CECS 474 Computer Network Interoperability Tracy Bradley Maples, Ph.D. Computer Engineering & Computer Science Cal ifornia State University, Long Beach.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
Virtual LANs. VLAN introduction VLANs logically segment switched networks based on the functions, project teams, or applications of the organization regardless.
Networking Components
Data Center Network Redesign using SDN
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Connecting Networks © 2004 Cisco Systems, Inc. All rights reserved. Exploring How IP Address Protocols Work INTRO v2.0—4-1.
Subtitle Speaker’s Name / Month day, 2015
Virtualization Infrastructure Administration Network Jakub Yaghob.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Implementing IP Addressing Services Accessing the WAN – Chapter 7.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
VLAN V irtual L ocal A rea N etwork VLAN Network performance is a key factor in the productivity of an organization. One of the technologies used to.
Chapter 8: Virtual LAN (VLAN)
NETWORKING COMPONENTS AN OVERVIEW OF COMMONLY USED HARDWARE Christopher Johnson LTEC 4550.
Cloud Scale Performance & Diagnosability Comprehensive SDN Core Infrastructure Enhancements vRSS Remote Live Monitoring NIC Teaming Hyper-V Network.
CON Software-Defined Networking in a Hybrid, Open Data Center Krishna Srinivasan Senior Principal Product Strategy Manager Oracle Virtual Networking.
Networking Lab Life of a packet Nicolas Prost Septembre
1 CSCD 433 Network Programming Fall 2011 Lecture 5 VLAN's.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Cisco S3C3 Virtual LANS. Why VLANs? You can define groupings of workstations even if separated by switches and on different LAN segments –They are one.
Basic Routing Principles V1.2. Objectives Understand the function of router Know the basic conception in routing Know the working principle of router.
1 © 2005 Cisco Systems, Inc. All rights reserved. 111 © 2004, Cisco Systems, Inc. All rights reserved. CNIT 221 Security 2 ver.2 Module 8 City College.
Chapter 3 - VLANs. VLANs Logical grouping of devices or users Configuration done at switch via software Not standardized – proprietary software from vendor.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Extending OVN Forwarding Pipeline Topology-based Service Injection
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Switching in an Enterprise Network Introducing Routing and Switching in the.
The Goals Proposal Realizing broadcast/multicast in virtual networks
Introduction to Mininet, Open vSwitch, and POX
1 Objectives Identify the basic components of a network Describe the features of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6)
1 Version 3.0 Module 8 Virtual LANs. 2 Version 3.0.
: MobileIP. : r Goal: Allow machines to roam around and maintain IP connectivity r Problem: IP addresses => location m This is important for efficient.
XRBLOCK IETF 85 Atlanta Network Virtualization Architecture Design and Control Plane Requirements draft-fw-nvo3-server2vcenter-01 draft-wu-nvo3-nve2nve.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Co-ordination & Harmonisation of Advanced e-Infrastructures for Research and Education Data Sharing Grant.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
KAPLAN SCHOOL OF INFORMATION SYSTEMS AND TECHNOLOGY IT375 Window Enterprise Administration Course Name – IT Introduction to Network Security Instructor.
CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Chapter 8 – Virtual LANs Virtual LANs VLAN Concepts VLAN Configuration.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Shaopeng, Ho Architect of Chinac Group
Md Baitul Al Sadi, Isaac J. Cushman, Lei Chen, Rami J. Haddad
OpenStack.
Virtual Local Area Networks or VLANs
Link Layer 5.1 Introduction and services
Chapter 21 Address Mapping
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Virtual LANs.
OpenStack Ani Bicaku 18/04/ © (SG)² Konsortium.
Virtualized Services Platform
The good, the bad and the ugly…
Implementing IP Addressing Services
Network Virtualization
Implementing IP Addressing Services
Presentation transcript:

7th OpenSTACK USER group nordics OpenStack Neutron Spyridon Dosis Spyridon.dosis@gmail.com 7th OpenSTACK USER group nordics

Outline Neutron Architecture Neutron and Linux Networking Neutron and OpenvSwitch Network Packet Flows Distributed Virtual Router

Neutron Overview OpenStack’s networking component, networking-as-a-service Create, configure, manage software-defined networks First introduced in Havana release, renamed from ‘Quantum’ Pluggable architecture enabling additional services e.g. load-balancing-as-a-service (LBaaS), VPN-as-a-service (VPNaaS), DNS-as-a-service (DNSaaS) interface with L2 & L3 hardware, SDN controllers etc.

Neutron in OpenStack Neutron uses Keystone (Identity Service) for authenticating / authorizing all API requests Integration with Horizon enabling tenants to create networks / subnets and cloud users to connect instances to tenant / provider networks through virtual NICs Interaction with Nova for the required ‘plugging’ of the virtual NICs to the VM instances

Neutron Terminology Provider Network Tenant Network Networks defined in OpenStack that map to the existing data center’s physical network Support for either flat or VLAN network types Can be shared among the tenants Tenant Network Networks defined by OpenStack tenants’ users Support for VLAN and GRE Route between tenant networks using the L3 agent and the Neutron routers Image taken from https://developer.rackspace.com/blog/neutron-networking-the-building-blocks-of-an-openstack-cloud/

A Basic Setup Demo Setup in VMWare Workstation Management Network (10.0.0.0/24) 10.0.0.51 controller 10.0.0.61 network 10.0.0.71 computeA 10.0.0.91 compute Data Network (10.0.1.0/24) 10.0.1.161 network 10.0.1.171 computeA 10.0.1.191 compute External Network (192.168.254.0/24) 192.168.254.129 controller 192.168.254.131 computeA 192.168.254.133 computeC Image taken from http://docs.openstack.org/havana/install-guide/install/yum/content/figures/3/a/common/figures/Neutron-PhysNet-Diagram.png

Tenant Network Features Support for Overlapping IPs Multiple Tenants having the same internal subnets (e.g. 192.168.1.0/24) but still remain isolated Configuration DHCP / Host routes / DNS name servers Metadata (e.g. SSH-key injection) Security Groups Ingress / Egress Rule Configuration Floating IPs (1:1 NAT) Support for IPv6

Neutron Component Communication Database neutron-server Message Queue L2 Agent(s) L3 / DHCP / Other Agents

Neutron Components neutron-server Implements the REST API (v2) calls Interfaces with other OpenStack services via RPC calls Database persistence Translates between API and plugin calls The plugin implements the core networking (network ports, networks and subnets, IP addressing etc.) Either implements directly or proxies to dedicated 3rd party hardware/software solution

ML2 Plugin A modular framework replacing previous monolithic plugins (openvswitch, linuxbridge) Network Type Drivers Flat, GRE , VLAN, VXLAN TypeDrivers Network Mechanism Drivers OpenvSwitch , Linuxbridge, Cisco Nexus etc. Allows multiple mechanisms to be used simultaneously

Open vSwitch An open source, software-based virtual switch Supports distribution across multiple physical servers Supports many features e.g. VLAN,GRE, VXLAN, NetFlow, sFlow, LACP The OpenvSwitch plugin is loaded by the Neutron service Receives API calls and stores the corresponding network data in a database backend The OpenvSwitch agent that runs on each compute node Reads the database and implements the network model / configures the network flows on the local vSwitch instance.

GRE (Generic Routing Encapsulation) Used to create virtual point-to-point links over IP (L2-in-L3) The GRE Header It has some benefits over VLANs such as being a routable protocol and not requiring e.g. 802.1Q on physical switches / physical network interfaces

Linux Network Namespaces & Neutron The ability to create logical and separate network stacks assigned to group of processes Each stack has its own routing table, firewall rules, network interfaces L3 agent creates a network namespace per virtual router and dnsmasq process Create and attach veth (virtual Ethernet interfaces) to a network namespace Connect the network namespaces to physical network interfaces via a bridge (e.g. linuxbridge or Openvswitch bridge)

A Network Packet Flow through Neutron Packet exits the VM’s ethX interface through a tap virtual Ethernet interface that connects to a Linux Bridge where iptables rules are applied. ipset optimization Connect the Linux Bridge with the OpenvSwitch br-int using a veth pair (qvb & qvo) – VLAN tagging at br-int Pass traffic to br-tun through patch interfaces Reach network node through the GRE tunnel Pass traffic to br-int (network node) through patch interfaces Deliver to virtual router and then exit though br-ex Image taken from http://pinrojas.com/2014/07/29/theres-real-magic-behind-openstack-neutron/

Neutron @ Juno Distributed Virtual Router – DVR “router_distributed” configuration under neutron.conf agent_mode= dvr_snat for network node agent_mode = dvr for compute node(s) Need for l2population mechanism Compute node(s) connects to provider network SNAT still centralized for VMs without floating IPs

Neutron @ Juno North-South (floating IP) DNAT per compute node when floatingIP is in use Default route via FIP-NS Point-to-point link between the router and the FIP namespaces Proxy-ARP for floating IPs on br-ex East-West traffic (tenant subnet-to-subnet) DVR router with the same IP and MAC address at each compute host Local DVR router maintains ARP cache of all the subnet hosts Avoid communication through the central L3 agent or ARP broadcasts

References http://docs.openstack.org/juno/install-guide/install/apt/content/section_neutron-networking.html http://pinrojas.com/2014/07/29/theres-real-magic-behind-openstack-neutron/ http://www.slideshare.net/carlbaldwin/dvr-slides http://superuser.openstack.org/articles/bridges-and-tunnels-a-drive-through-openstack-networking http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html https://www.openstack.org/summit/openstack-summit-hong-kong-2013/session- videos/presentation/openstack-neutron-modular-layer-2-plugin-deep-dive https://openstack.redhat.com/Networking_in_too_much_detail http://kimizhang.wordpress.com/2014/11/25/building-redundant-and-distributed-l3-network-in- juno

Thank You!

Appendix – Useful Commands ps aux | grep ovs - Show running OpenvSwitch processes virsh list -- Show running KVM instances virsh dumpxml instance-XXXX | less -- Show KVM instance configuration brctl show -- Show linux bridges and their connected interfaces ipset list -- View the ipset defined ethtool -S qvbXXXX - Print the interface index of the veth's peer ip link list | grep ^XX - Print the veth's peer interface ovs-vsctl list-br - Lists existing OVS bridges ovs-vsctl list-ports br-int - Lists ports per OVS bridge

Appendix – Useful Commands ovs-vsctl show - Brief overview of the database contents ovs-ofctl show br-tun -- Switch information such as flow tables and ports ovs-ofctl dump-flows br-tun -- Flows ip netns ls - List network namespaces ip netns exec $ROUTER1 ip addr - Network interfaces for a specific network namespace ip netns exec $ROUTER1 ip route - Routing table for a specific network namespace ip netns exec $ROUTER1 iptables -t nat - IP tables NAT rules for a specific network namespace