Software Defined Networking. Advanced Computer Network Technologies Petr Grygarek, 2014



Similar documents
OpenFlow Switch Specification. Version (Wire Protocol 0x04) April 25, 2013

OpenFlow Switch Specification Version ( Protocol version 0x04 )

IxNetwork OpenFlow Solution

OpenFlow Switch Specification

Software Defined Networking (SDN) OpenFlow and OpenStack. Vivek Dasgupta Principal Software Maintenance Engineer Red Hat

OpenFlow Switch Specification Version ( Protocol version 0x06 )

OpenFlow Switch Specification

HP OpenFlow Protocol Overview

SDN v praxi overlay sítí pro OpenStack Daniel Prchal daniel.prchal@hpe.com

Software Defined Network (SDN)

OpenFlow - the key standard of Software-Defined Networks. Dmitry Orekhov, Epam Systems

SDN and Data Center Networks

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

The State of OpenFlow: Advice for Those Considering SDN. Steve Wallace Executive Director, InCNTRE SDN Lab Indiana University

OpenFlow Switch Specification

OpenFlow Switch Specification

BROADCOM SDN SOLUTIONS OF-DPA (OPENFLOW DATA PLANE ABSTRACTION) SOFTWARE

Open Flow Support: Controller View

Network Virtualization and Software-defined Networking. Chris Wright and Thomas Graf Red Hat June 14, 2013

Outline. Why Neutron? What is Neutron? API Abstractions Plugin Architecture

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

OpenFlow Switch Specification

Designing Virtual Network Security Architectures Dave Shackleford

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Transform Your Business and Protect Your Cisco Nexus Investment While Adopting Cisco Application Centric Infrastructure

Virtualization, SDN and NFV

Open Source Network: Software-Defined Networking (SDN) and OpenFlow

Testing Software Defined Network (SDN) For Data Center and Cloud VERYX TECHNOLOGIES

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

Programmable Networking with Open vswitch

Introduction to Software Defined Networking (SDN) and how it will change the inside of your DataCentre

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

Open Source Networking for Cloud Data Centers

Software Defined Networking (SDN) and OpenStack. Christian Koenning

Building Scalable Multi-Tenant Cloud Networks with OpenFlow and OpenStack

An Overview of OpenFlow

Network Virtualization for the Enterprise Data Center. Guido Appenzeller Open Networking Summit October 2011

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

Software Defined Networking A quantum leap for Devops?

Data Center Infrastructure of the future. Alexei Agueev, Systems Engineer

Software-Defined Networking for the Data Center. Dr. Peer Hasselmeyer NEC Laboratories Europe

How To Orchestrate The Clouddusing Network With Andn

Software Defined Networking (SDN) - Open Flow

Software Defined Networking

HAWAII TECH TALK SDN. Paul Deakin Field Systems Engineer

VXLAN: Scaling Data Center Capacity. White Paper

Defining SDN. Overview of SDN Terminology & Concepts. Presented by: Shangxin Du, Cisco TAC Panelist: Pix Xu Jan 2014

Performance Evaluation of OpenFlow Devices

RIDE THE SDN AND CLOUD WAVE WITH CONTRAIL

OpenFlow 1.4. (Changes compared to 1.3 OpenDaylight Perspec>ve) - Abhijit Kumbhare

Ethernet-based Software Defined Network (SDN)

Building an Open, Adaptive & Responsive Data Center using OpenDaylight

How To Build An Openstack Cloud System

OpenStack/Quantum SDNbased network virtulization with Ryu

SDN CONTROLLER. Emil Gągała. PLNOG, , Kraków

Utility Computing and Cloud Networking. Delivering Networking as a Service

OpenDaylight Project Proposal Dynamic Flow Management

TRILL for Service Provider Data Center and IXP. Francois Tallet, Cisco Systems

Creating and Using the OpenStack Aware Network

Scalable Approaches for Multitenant Cloud Data Centers

Software Defined Networking and the design of OpenFlow switches

SDN PARTNER INTEGRATION: SANDVINE

Overlay networking with OpenStack Neutron in Public Cloud environment. Trex Workshop 2015

Using SouthBound APIs to build an SDN Solution. Dan Mihai Dumitriu Midokura Feb 5 th, 2014

IPOP-TinCan: User-defined IP-over-P2P Virtual Private Networks

Why Software Defined Networking (SDN)? Boyan Sotirov

SOFTWARE DEFINED NETWORKING

SOFTWARE DEFINED NETWORKS REALITY CHECK. DENOG5, Darmstadt, 14/11/2013 Carsten Michel

SDN Overview for UCAR IT meeting 19-March Presenter Steven Wallace Support by the GENI Program Office!

Brocade SDN 2015 NFV

CERN Cloud Infrastructure. Cloud Networking

OpenFlow and Software Defined Networking presented by Greg Ferro. OpenFlow Functions and Flow Tables

Cisco Prime Network Services Controller. Sonali Kalje Sr. Product Manager Cloud and Virtualization, Cisco Systems

Challenges and Opportunities:

Software Defined Networking What is it, how does it work, and what is it good for?

Data Center Virtualization and Cloud QA Expertise

Software-Defined Networking Architecture Framework for Multi-Tenant Enterprise Cloud Environments

Data Center Network Virtualisation Standards. Matthew Bocci, Director of Technology & Standards, IP Division IETF NVO3 Co-chair

Software Defined Networking

SDN, OpenFlow and the ONF

Palo Alto Networks. Security Models in the Software Defined Data Center

Open Fabric SDN The Comprehensive SDN approach. Jake Howering, Director SDN Product Line Management Bithika Khargharia, PhD, Senior Engineer

Networking in the Era of Virtualization

VMDC 3.0 Design Overview

Introduction to Network Virtualization in IaaS Cloud. Akane Matsuo, Midokura Japan K.K. LinuxCon Japan 2013 May 31 st, 2013

Outline. Institute of Computer and Communication Network Engineering. Institute of Computer and Communication Network Engineering

NephOS A Licensed End-to-end IaaS Cloud Software Stack for Enterprise or OEM On-premise Use.

Use Case Brief CLOUD MANAGEMENT SOFTWARE AUTOMATION

Limitations of Current Networking Architecture OpenFlow Architecture

Software Defined Networking and OpenFlow: a Concise Review

SDN in the Public Cloud: Windows Azure. Albert Greenberg Partner Development Manager Windows Azure Networking

Network Virtualization for Large-Scale Data Centers

MASTER THESIS. Performance Comparison Of the state of the art Openflow Controllers. Ahmed Sonba, Hassan Abdalkreim

Datacenter Networking. Joy ABOIM Consulting System Engineer

BROCADE NETWORKING: EXPLORING SOFTWARE-DEFINED NETWORK. Gustavo Barros Systems Engineer Brocade Brasil

Software-Defined Networks Powered by VellOS

Transcription:

Software Defined Networking Advanced Computer Network Technologies Petr Grygarek, 2014

Some buzzwords related to SDN concept Server/Network virtualization Virtual FW, LB, VPN concentrator, Network APIs for orchestration Controller-driven network Cisco OER/PFR ( SDN 0.9 ) Openflow, Cisco Application Policy Infrastructure Controller (APIC) Automatic server/network deployment Server/Network virtualization Openstack, VMWare, KVM, Virtual network appliances VMWare Vshield/Vpath VMWare NSX, Juniper SDN distributed routing Orchestration Integration with other service provider system Application-level Overlay networks Virtual control plane + virtual data plane e.g. VxLANs Extreme approach: network provides just L2 or L3 connectivity, everything else is overlaid IaaS Cloud ;-)

What is SDN? Network created and managed using abstract model APIs Customized control plane Control and state logically centralized Automatic topology discovery Custom forwarding logic, online traffic engineering, security enforcement, service chaining, Path Computation Element (PCE) Flow-level routing control granularity Programming of data plane forwarding engines Controller-agent model Latency, scalability and availability issues of control traffic to be taken into considerations Hybrid solution may be interesting Classical distributed control partially optimized by external control logic (hybrid model) Network-as-a-Service Virtualization of network devices and network topology Common abstraction model and model API Part of comprehensive orchestration platform (compute+storage+network service) Network integration with applications SDN Controller integrations Northbound: API provided to applications Southbound: utilizes network devices s programming APIs (OpenFlow, NetConf, ) normalisation of network control through open APIs of individual network devices as well as of network as a whole

SDN Advantages Network may adapt to application needs Easiest automation & orchestration Reduced deployment time Flexibility Cost reduction

Traditional vs. SDN Architecture

Examples of Application-Network Interactions Influence network control plane Utilize network state info e.g. proximity API Automated provisioning of computational elements in software-defined network environment Customer self-service cloud portals, orchestrators

Example: Adapting application for SDN Automatically scalable applications Pools of equal-functionality components (of various types) Application may automatically ask to deploy another components to scale based on required performance Failure of one component does not hurt Spine-and-leaf network architecture L3 preferred, ECMP routing

OpenFlow Note: Figures in this section were taken from official OpenFlow specification, version 1.4.0

OpenFlow Original aim: allows researchers to run experimental protocols on real HW without exposing vendor-specific OS and HW internals OF Controller + dumb HW devices + OF protocol In IT industry, it allows 3 rd parties to provide control plane logic independent of forwarding engines Customizable forwarding logic (OF controller) Programmed to OF switch based on received data packets or proactively Single HW engine can act as switch, router, firewall, load balancer or another network component only according to controller implementation Easy implementation of new protocols and features

OpenFlow Components

Nothing new under the Sun Can you remember Cisco Multilayer Switching? BUT Forwarding engine is only loosely coupled with controller (TCP/IP connection) Protocol between forwarding engine and controller is completely standardized and open for anybody BUT We have to take higher latency between controller and OF switch into account this time

OpenFlow Switch Internals One or more Flow Tables (pipeline) packet matching, manipulation and, forwarding Numbered sequentially, starting from 0 Packet processing stops when no next table # is associated by flow entry instructions GoTo instruction may only go forward (table with higher seq #) metadata may be passed together with packet between flow tables Group Table Kind of macros Entries contain action buckets OpenFlow protocol processor Processess control messages from controller Add/update/delete flow table entries, Sends async informational control messages to controller Sending data packets to/from controller Meter Table Flow rate-limiting

OF Switch Tables

OpenFlow-hybrid switches Network may be sliced so that only part of ports may be controlled by OF Classification criteria may to be defined to forward ingress packets either to OF pipeline or process them normally physical port number, VLAN tag, NORMAL and FLOOD logical ports are available to send packets from OF pipeline to standard switch processing

Flow Table Entries Priority defines search order only first matching entry applies table-miss entry applied if no match found Wildcard on all fields, priority of 0 packet dropped if table-miss entry is not present Match fields always matched against packet s current state (i.e. previous modification taken into account) Bitwise 3-state comparison masks Packet manipulation/flow/forwarding instructions Meter (rate limiting/packet marking) Idle timeout, Hard timeout flow removal handled by OF switch itself based no timeouts when flow is removed, message is sent to the controller (with flow statistics) Counters (matched packets, bytes) Cookie Used by controller to identify subset of entries when manipulating with entries groups Maskable bit-oriented field Not used for packet processing

OF Entry Matching Criteria Ingress ports Logical & physical Header fields (L2-L4) and some others MPLS ARP Both IPv4/IPv6 supported Including IPv6 extension headers Metadata Specified in Openflow Extensible Match format (OXM) TLV-based

Metadata Treated as 64-bit word of bit flags new metadata = old metadata & ~mask value & mask

Flow Table Entry Instructions Pipeline processing Modify metadata associated with the packet (Write- Metadata) Send packet to subsequent table (Goto-Table) Apply actions Actions to be taken immediately (Apply-Actions) performed in order specified by the list Add action to ActionSet to be processed when the packet leaves pipeline (Write-Actions/Clear-Actions) Existing action of the same type is always overwritten Use ApplyActions if multiple operations on the same field are neede d (e.g push multiple labels) Action processed in order given by specification (not in order of adding into ActionSet) Apply Meter Packet is dropped if InstructionSet is empty

Actions Set field set header field Push/Pop tag 802.1q VLAN header, MPLS header, PBB service instance I-Tag Change TTL IP/MPLS TTL, increment, decrement, set, copy inwards, copy outwards Send packet to Controller Forward packet to physical or logical port Output send (new) packet to output port Set Queue packet s queue ID on output port Group process packet using specified action group Drop packet

Action Groups Groups of actions may be referenced from multiple entries may be changed independently on entries pointing to them Group may contain multiple action buckets

Group Table Group ID Group Type defines which action buckets are executed All all buckets (broadcast/multicast packet) Indirect if only single bucket is defined Select switch selects one of buckets (internal hash function or weighted round-robin) Fast Failover execute first live bucket Hit Counters Per group and per group s bucket Action Buckets Bucket may be associated with port/group whose status determine bucket s liveness

OF Switch Ports Physical ports HW interfaces of the switch OF specification provides unified detailed view to L1 properties and statistics for the controller Including peer capabilities received via autonegotiation Logical ports Port-channels (LAG), tunnels, loopbacks, Packets coming from/destined to logical port have TunnelID metadata When passed to controller, both logical and physical ingress ports are identified Reserved ports define forwarding actions ALL (out): Flood to all ports (except ingress) Controller: Packet sent to/received from OF controller TABLE (out): send packet to first table in OF pipeline IN_PORT (out): send packet back via ingress port LOCAL: local networking stack Hybrid switches only: NORMAL (out): Forward using normal switch logic FLOOD (out): flood from all non-of ports (except ingress)

Meter Table (rate limiting) Contain per-flow meter entries Useful for QoS implementations May be referenced from flow table entries instruction sets If referenced from multiple flow entries, meter measures aggregate metrics Entries contain Meter ID, Meter Bands, Hit Counter (per meter and meter band) Multiple bands (rates) may be defined in single meter For each band, action is specified: DSCP remark / drop

Counters Per flow table # entries, # lookups, # matches Per flow entry Received packets/bytes, duration Per port Packets/bytes RX+TX, # of errors of various types Per queue TX packets/bytes, duration Per action group reference count, packet/bytes count, duration Per action group bucket packet/bytes count Per meter - packet/bytes count, duration Per meter band - packet/bytes count

Flow Table Maintenance Flow table synchronization automatic update of flow table to reflect changes done in another table Flow entry eviction Mechanism of discarding oldest flow entries in case if table is full May be turned on/off for each flow entry Flow importance field may influence eviction process

Special pipeline processing OF switch may be instructed to reassemble IP packet from fragments before sending it to pipeline Action may request packet to be buffered Only (configurable) part of the packet is sent to the controller Buffer ID is attached Controller may then reference the packet by Buffer ID instead of sending it back and forth over OF channel (mostly for Packet-out operation) Buffers automatically expire

OpenFlow Channel

OpenFlow Protocol OF messages carry OF switch configuration requests Events from OF switch to controller Data packets passed from OF switch to controller and packets injected by controller to OF switch Various transports allowed, mostly TCP or TCP/TLS (port 6633) Separate (out-of-band) TCP/IP network for communication between controller(s) and OF switches Reliable transport is expected Both synchronous and asynchronous messages Requests/Replies paired using XID Not processed by OF pipeline Connection initiated by OF switch Optional auxilliary connections Same pair of OF SW and controller Better utilization of OF SW parallell implementation May use different transport Switch may optimize order of processing of received messages Barrier message may be used to request SW to process all pending messages before proceeding Barrier should be placed between messages that depend one on the another Message bundling Atomic modifications (all changes are applied together or that none of them is applied) Transaction may even span multiple OF switches In case of OF channel break, OF switch may start to behave as standard switch (i.e. send all packets to NORMAL port)

OpenFlow Protocol Messages Controller to Switch Features request for OF switch identity and list of supported features Configuration Query/Set OF switch configuration parameters Modify State add/delete/modify flow entries, group entries and meters, set switch ports Including group modify based on match criteria Read State Packet Out Packet data + input port + actions OR buffer ID Barrier used to setup partial message ordering Role Request used to manage controller s HA Controller may ask OF SW to gain specific role Equal or master/slave controller s roles Slave cannot modify SW state nor receive async messages Role handover between redundant controllers is out of scope of OF specification Asynchronous-configuration set filter for messages asynchronously sent by OF Switch

OpenFlow Protocol Messages Switch to Controller (asynchronous) Packet-in Data packet from OF SW -> controller Flow-removed Inform about removal based on timer expiration or explicit DELETE from controller for flow entries with OFPFF_SEND_FLOW_REM flag Port-status Port status or port configuration changed

General symmetric messages Hello Control channel keepalives Echo request/reply manual SW/Ctrl liveness check Error Request processing failure Experimenter Standard way to pass arbitrary info Development of OF protocol extensions

Example OF Controller Implementation Self-learning switch IP router with RIP Stateless firewall

OpenStack

Motivation - Goal Datacenter environment for rapid service deployment True cloud with native SDN support Including SW-based network services to limit need of physical devices Virtual routers, FWaaS, LBaaS, VPNaaS, smooth integration of HW-based devices still needed Automated deployment of whole virtualized network (including security rules), customized OS and preconfigured applications Automation inherent in the solution not just 3 rd party tools to automate deployment on traditional network architectures Including zero-config physical capacity server implementation Scalability of compute, network and storage platform Elastic cloud with complete tenant isolation Support for new horizontally scalable applications Network needs to support prevailing horizontal traffic End-user self-service computing, network, storage Limited requirements on network devices capabilities, vendor neutrality

What is OpenStack? Opensource public/private cloud platform with full-scope integrated coverage of computing, network and storage capacity Automation is the core objective, inherently built into all features on all layers of OpenStack infrastructure. Well-defined service APIs Built-in tools and methods to communicate with cloud managing applications providing location information, load data etc.

OpenStack Scope

Why just OpenStack as a SDN solution? Vendor neutral Open source managed by non-profit Openstack Foundation developed by community with strong partner support Widely accepted Cloud infra (hosting) providers traditional network device vendors and niche players

OpenStack Components (subprojects) OpenStack Compute (code-name Nova) OpenStack Networking (code-name Quantum) OpenStack Block Storage (code-name Cinder) Corresponds to SAN services OpenStack Object Storage (code-name Swift) OpenStack Image Service (code-name Glance) OS images OpenStack Identity (code-name Keystone) OpenStack Dashboard (code-name Horizon)

OpenStack Server Node Types Compute (Nova) VM scheduling and placement bare metal or various hypervisors Network plugabble, API-driven networking L2 over L3 (GRE/VxLAN) replace VLANseverywhere DHCPaaS Controller

Solution Benefits (1) Network Traditional L3 network transport only is recommended No complicated L2 extension technologies to implement multisite setup Easier network management Leaf & Spine topology beneficial because of inherent network scalability (ECMP) and high-availability support Linear scalability (ports / costs), no upfront overinvestment No manual network configuration changes needed when implementing new customer or datacenter segments for a customer no ineffective interactions in customer setup deployment implemented by multiple platform-oriented teams including network-side / server-side switching config issues With SW-based routers customer-specific addresses may be automatically propagated to outside world Handles dynamic assignment of public IP addresses (floating IPs) including NAT DHCP integrated Network device vendors plugins facilitate integration with external network

Solution Benefits (2) Applications/services New emerging type of application with horizontal auto-scaling may be hosted effectively elastic cloud application or OpenStack plartform itself control control dynamic spawning of workload VMs in a standard way Whole customer computing environment (including virtualized network infra) may developed and transferred between development environment, private cloud and public cloud using open OpenStack API

OpenStack Requirements on Underlying Network In general, only single L3 network segment is required for all tenants data traffic couple of preconfigured shared system VLANs for control/management Good throughput & scalability Leaf & Spine architecture is a common practice but not an absolute must pets & cattle approach Standard Equal-Cost Multipath (ECMP) L3 core with traditional routing protocol like OSPF, IS-IS or EIGRP fits best No problems with number of supported VLANs, STP stability, no expensive multi-site VLAN extension technologies like VPLS or TRILL/FabricPath

Integrations with traditional networking VxLAN gateway Automated configuration of external connections Floading IP propagation by dynamic routing protocol Configuration of MPLS/VPN VRF instance including VPNaaS

3 rd party enhancements Distributed software-based routing (OpenVSwitch replacement) Pluggable network services (VMs or physical devices) Commercial OpenStack plugins LBaaS, FWaaS,

References OpenFlow https://www.opennetworking.org/images/stories/downloa ds/sdn-resources/onf-specifications/openflow/openflowspec-v1.4.0.pdf` http://mininet.org/ OpenStack http://docs.openstack.org/trainingguides/content/index.html http://www.slideshare.net/openstack/intro-grizzlyarchv1-19109550