Northbound API Requirements for SDN



Ähnliche Dokumente
Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

Northbound API Requirements for SDN

Completing SDN The Northbound API

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Paul Petzold Firmengründer, Verwaltungsratspräsident und Delegierter der Mirus Software AG

SDN & OpenStack. Eine Einführung. Martin Gerhard Loschwitz hastexo Professional Services GmbH. All rights reserved.

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Studienprojekt HP-MOM

Open Source als de-facto Standard bei Swisscom Cloud Services

Business-Rule-Management als Instrument des Software-Reengineering

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Software Defined Networking

Grundlagen Messdatennutzung

SDD System Design Document

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Point of Information. Point of Information

EXCHANGE Neuerungen und Praxis

FUTURE NETWORK REQUIREMENTS ENGINEERING

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

EMC. Data Lake Foundation

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Cloud und mobile Apps ein schlagkräftiges Duo?!

Erfassung von Umgebungskontext und Kontextmanagement

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Voice over IP in Schweizer Unternehmen

SharePoint Demonstration

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Cloud Ready Software Der Weg in die Cloud

In die Cloud kann jeder. In Ihre nicht. TGA Systems. Spezialisiert in Private Cloud Communication

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

.. für Ihre Business-Lösung

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Objektorientierte Programmierung OOP

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

SPI-Seminar : Interview mit einem Softwaremanager

DynFire. An Architecture for Dynamic Firewalling. Alexander Vensmer

Das Warenwirtschaftswunder

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

spezial Software Defined Networking

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Herausforderungen des Enterprise Endpoint Managements

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

NetVoip Installationsanleitung für Grandstream GXP2000

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic

(Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch)

HTBVIEWER INBETRIEBNAHME

rdige Netzwerk- verbindungen mit TNC

auch ich möchte Sie herzlich zur Regionalkonferenz der Initiative Kultur- und Kreativwirtschaft der Bundesregierung hier in Hamburg willkommen heißen.

Systeme 1. Kapitel 10. Virtualisierung

Software Defined Networks - der Weg zu flexiblen Netzwerken

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Kurzanleitung zur Nutzung von BITel >FHdD HotSpots< Die BITel >FHdD HotSpots< stellen einen Standard WLAN-Zugang (802.11b/g) zur Verfügung.

Lizenzierung von Windows Server 2012

Internet Security 2009W Protokoll Firewall

Präsentation Von Laura Baake und Janina Schwemer

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Donato Quaresima Matthias Hirsch

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

Requirements Engineering für IT Systeme

Quick Guide Mitglieder

Lizenzen auschecken. Was ist zu tun?

4.1 Download der App über den Play Store

FreieSoftwareOG. Creative Commons und freie Lizenzen- Ein kurzer Überblick

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen.

Private IaaS Cloud mit OpenStack. Sebastian Zielenski Linux/Unix Consultant & Trainer B1 Systems GmbH zielenski@b1-systems.de

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

Einsatz von Dynamic Computing bei einem erfolgreichen Schweizer KMU. Bernard Frossard CEO

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Microsoft Update Windows Update

EchoLink und Windows XP SP2

Planer Newsletter. Akbudak, Guelay (HP Networking) Produktneuerungen, Produkthighlights, Markttrends... Ausgabe 04/2012

Bewertung der Methoden zur Sicherung von virtuellen Maschinen (VMware, Hyper-V) Ein Erfahrungsbericht

Fragen und Antworten

Vortrag von: Ilias Agorakis & Robert Roginer

Installation der SAS Foundation Software auf Windows

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Zentrum. Zentrum Ideenmanagement. Zentrum Ideenmanagement. Umfrage zur Nutzung von mobilen Endgeräten im Ideenmanagement

Telekom Umstellung auf IP Anschluss Darauf müssen sie bei der Umstellung achten!

SAP NetWeaver Gateway. 2013

Modernes Arbeiten Wunsch und Wirklichkeit in deutschen Büros. Ergebnisse der repräsentativen Emnid-Studie 2011

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Architecture of Open Embedded Systems

Videoüberwachung als Virtuelle Maschine. auf Ihrem Server, PC oder Mac. Peter Steinhilber

Emil Dübell EDConsulting

Lizenzierung von Lync Server 2013

Transkript:

Lehrstuhl Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München Seminar Innovative Internet-Technologien und Mobilkommunikation 2014: Northbound API Requirements for SDN Christian Fuchs 23.05.2014

Überblick Software Defined Networking (SDN) Was ist das? Und was ist das Northbound bzw. das Southbound API/Interface? Southbound Interface Open Flow Northbound Interface: Vorteile einer Standardisierung Mögliche Anforderungen Hindernisse einer Standardisierung Anforderungen an einen Standard Unterschiede im Standardisierungsprozess von North- und Southbound Interface 2

Software Defined Networking (SDN) Was ist das? Trennung der Control Plane von der Forwarding Plane Control Plane logisch zentralisiert in Controller Control Plane: Entscheidungsfindung (Was geschieht mit welchem Paket?) Forwarding/Data Plane: konkrete Behandlung der Pakete (z.b. Weiterleitung) anhand der Regeln der Control Plane Software Defined Networking: Controller in Software realisiert Netz wird komplett durch Software gesteuert ( definiert ) 3

Software Defined Networking (SDN) konkret vor SDN bzw. ohne SDN: mit SDN: 4

Software Defined Networking (SDN) konkret vor SDN bzw. ohne SDN: mit SDN: Konfiguration 5

Software Defined Networking - Verwendungsgebiete Großer Bedarf an einfach zu konfigurierender, aber dennoch sehr mächtiger Virtualisierung: Mobile Endgeräte Infrastrukture as a Service (Iaas) Cloud Services / Cloud Computing Komplexe Firewall und Access Control Konzepte Videostreaming, Voice over IP / Video over IP, Echtzeittraffic, usw. komplexe QoS Mechanismen benötigt Weniger Inkonsistenz mehr Sicherheit Gute Skalierbarkeit Einsatz von SDN in Rechen- & Datenzentren, Firmen- & Campusnetzwerken, Netzen von ISPs (WAN), u.v.m. 6

Software Defined Networking - Anwendungsbeispiele Google betreibt ein SDN basiertes WAN (G-Scale): Grafik aus [3] Google Andromeda: Microsoft Hyper-V Grafik aus [4] 7

Software Defined Networking - Übersicht 8

Northbound und Southbound API/Interface Norden oben Süden unten Northbound Interface/Northbound API/ NBI: Schnittstelle zur in Abstraktionshierarchie nächst höheren Instanz Southbound Interface/Southbound API: Schnittstelle zur in Abstraktionshierarchie nächst niedrigeren Instanz 9

North- und Southbound Interface im SDN Umfeld Northbound API: Schnittstelle zwischen Controller und SDN Applikationen abstrakte Sicht auf Netzwerk Funktionalitäten zur Manipulation der Netzwerkverhaltens Southbound Interface: Schnittstelle zwischen Controller und zu kontrollierten Netzwerkkomponenten (z.b. Switches) Definition von: Kommunikations-Protokoll Controller Switches Menge an zu unterstützenden Aktionen (z.b. forwarding, flooding,...) Menge an zu unterstützenden Informationen (z.b. QoS Metainformationen) 10

Southbound Interface Open Flow Entwickelt 2008 an der Universität von Stanford Stark unterstützt von der Open Networking Foundation : 2011 gegründete Non-Profit Organisation Sehr starke Mitglieder Ziel: Förderung von SDN und Etablieren von offenen Standards Viel OpenFlow fähige Hardware nach kurzer Zeit Robustes, erweiterbares, auf viele Anwendungsgebiete anwendbares Design Marktakzeptanz häufig benutzter Standard 11

Northbound API - aktuelle Situation 30+ verschiedene Controller Frameworks Alle von verschiedenen Instanzen mit individuellen Zielen zur Realisierung eines spezifischen Zwecks geschaffen Verschiedenen Abstraktionslevel In verschiedene Sprachen eingebettet Unterschiedliche Konfigurationsschnittstellen über 30 verschiedene Northbound APIs im Umlauf Verlagerung der Portabilitätsprobleme von den Switches hin zu den Controllern 12

Standarisierung des NBI aktueller Stand ONF: 2012 Diskussionsgruppe 2013 formale Northbound Interface Working Group Keine Ergebnisse veröffentlicht Keine andere Institution bemüht sich konkret um einen Standard OpenDaylight Projekt: Von einigen als potentieller NBI Standard gesehen Sehr jung Hauptsächlich Code produzierend kein Interesse an Standardisierung 13

Vorteile einer Standardisierung der Northbound API Erreichen von mehr Endnutzern Anwenderfreundlichkeit durch einfachere Portabilität Etablieren von den Markt belebender Konkurrenz schnellere Verbreitung von Software Defined Networking Entscheidender Faktor: Das wichtigste im SDN Umfeld sind die Applikationen!!! 14

Mögliche Anforderungen an eine Northbound API verteilter Controller ABER: möglichst wenig Overhead mit bestmöglichster Performance, möglichst geringe Komplexität und Kosten Für Entwickler angemessene Komplexität, angemessener Abstraktionsgrad und angemessener Funktionsumfang ABER: Wer ist der Entwickler? sehr unterschiedliche Anforderungen Angemessene Abstraktion von der Topologie ABER: Was ist angemessen? sehr unterschiedliche Anforderungen Konkretes Lizenzmodell Anforderungen an den Controller (z.b. Skalierbarkeit) 15

Mögliche Anforderungen an eine Northbound API Die Anforderungen hängen stark vom Verwendungszweck bzw. dem Einsatzgebiet ab 16

Hindernisse einer Standardisierung Verschiedene Akteure mit unterschiedlichsten Interessen, Vorstellungen und Visionen über die (optimale) Zukunft von SDN Nicht alle wollen Erfolg von auf offenen Standards basierendem SDN Dynamischer, sich schnell verändernder Markt langwierigen Standardisierungsprozessen Mangelnde Marktakzeptanz 17

Hindernisse einer Standardisierung vielfältige Anforderungen sind nicht durch eine einzige API zu erfüllen Teilung eines Standards in mehrere APIs bzw. Einführung von komplexeren Erweiterungsmöglichkeiten birgt Risiken Wie granular sollte der Standard also sein? Akteure, die NBI Standard generell ablehnen 18

Anforderungen an einen NBI Standard An Use Cases orientieren Auf Veränderungen der Use Cases achten Vorsicht mit Erweiterbarkeit die Inkompatibilität verursacht Versionen kompatibel halten Redundanz vermeiden Standard sollte nicht zu spezifisch sein Unabhängig von konkreten Sprachen bleiben Marktakzeptanz erlangen Anforderungen hängen stark vom Verwendungszweck ab 19

Unterschiede im Standardisierungsprozess Hardware Entwicklungszyklen sind viel länger als die der Software Hardware Entwicklung daher sehr kostspielig Southbound API: große, traditionelle Anbieter haben großen Vorteil Northbound API: viel mehr Akteure viel diversifizierter kleine Anbieter können sich viel einfacher etablieren Markt regelt vieles selbst Standardisierung an statischerem Southbound Interface einfacher Standardisierung an dynamischerem Northbound Interface schwierig 20

Fazit SDN aktuell sehr wichtig in der Netzwerkwelt Aktuell kein NBI Standard Standard könnte aber Vorteile bringen Standardisierungsprozess schwieriger als am Southbound Interface Standardisierung eventuell durch ONF oder über Marktakzeptanz 21

Quellen 1 [1] SDN Architecture Overview. Version 1.0. Open Network Foundation. 12.12.2013 [2] Software-Defined Networking: The New Norm for Networks. Open Network Foundation, 13.04.2012 [3] OpenFlow @Google, Präsentation für Open Network Summit 2012, Urs Hoelzle, http://www.opennetsummit.org/archives/apr12/hoelzletue-openflow.pdf, aufgerufen am 12.05.2014 [4] Enter the Andromeda zone - Google Cloud Platform s latest networking stack. http://googlecloudplatform.blogspot.de/2014/04/ enter-andromeda-zone-google-cloud-platforms-latest-networkingstack.html, aufgerufen am 12.05.2014 22

Quellen 2 [5] Composing Software Defined Networks. Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Lombard, IL, April 2013 [6] Modular SDN Programming with Pyretic. Joshua Reich, Christopher Monsanto, Nate Foster, Jennifer Rexford, and David Walker. ;login Magazine, 38(5):128-134, Oktober 2013 [7] Software-Defined Networking. Keith Kirkpatrick. Communications of the ACM 56(9):16-19, September 2013 [8] The SDN Gold Rush To The Northbound API. Isabelle Guis, 16 November 2012. http://www.sdncentral.com/technology/the-sdngold-rush-to-the-northbound-api/2012/11/, aufgerufen am 12.05.2014 23

Quellen 3 [9] ONF Northbound Interface Group chair: No need for standards yet. Shamus McGillicuddy. 6 Dezember 2013. http://searchsdn.techtarget.com/news/2240210605/onf- Northbound-Interface-Group-chair-No-need-for-standards-yet, aufgerufen am 12.05.2014 [10] Where Do We Stand with SDN's Northbound Interface?. Jim Metzler. http://www.webtorials.com/content/2014/04/where-dowe-stand-with-sdns-northbound-interface.html, aufgerufen am 12.05.2014 [11] OpenFlow: enabling innovation in campus networks. Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, Jonathan Turner. ACM SIGCOMM Computer Communication Review, 38(2), 69-74, März 2008 24

Ich bedanke mich für Eure Aufmerksamkeit! 25

Noch Fragen? 26

Backup Folien 27

Southbound Interface Open Flow Interna Definition von Anforderungen an die Switches: Pipeline mehrerer Flow Tabelles Felder eines Tabelleneintrags: Matchings (siehe Tabelle unten) Metainformationen (z.b. Timeouts, Anzahl an empfangenen Bytes, Anzahl an empfangener Paketen,...) Aktion (z.b. normales Forwarding, DROP,...) Flow = Menge von Paketen mit gleichen Charakteristika Definition des Protokolls: Struktur und Abfolge der Pakete Sicherung des Kontrollkanals (SSL) Tabelle entnommen aus [11] 28

Northbound API Pyretic Entwickelt u.a. an den Universitäten Cornell und Stanford, vorgestellt 2013 Teil der Frenetic Famile In Python eingebettet Basiert auf Controller POX Bietet einfach zu verstehende, schön abstrakte NBI minimiert Risiko von Inkonsistenz und ungewolltem Verhalten im Netzwerk 29

Abstraktes Paket Modell Pakete sind Wörterbücher, die bestimmte Felder, wie Header Informationen, Paketdaten, Standort (virtuelles oder physisches Gerät und Port), aber auch virtuelle, selbst definierte Headerfelder auf ihre tatsächlichen Werte mapped Eigentlich Mapping auf Stack von Werten verschiedene Level der Abstraktion beliebige Virtualisierung Packet Processing als Funktion: Einer Funktion wird ein Paket übergeben und diese gibt eine (möglicherweise auch leere) Menge an Paketen zurück 30

Modularisierung und Kompositionsoperator Sämtliche Funktionalität in separaten Modulen realisierbar Verknüpfung der Module durch Kompositionsoperatoren: Parallele Komposition (+ Operator): Module werden unabhängig voneinander parallel ausgeführt Verhindert ungewollte Interferenzen zwischen den Funktionen Sequentielle Komposition (>> Operator): Pakete die von erstem Modul zurückgegeben werden dienen dem zweiten Modul als Eingabe Modell minimiert Redundanz in Applikationen und steigert Wiederverwendbarkeit und Portabilität des Codes 31

High Level Policy Funktionen Primitive Actions: A ::= drop passthrough fwd(port) flood push(h=v) pop(h) move(h1=h2) Predicates: P ::= all_packets no_packets match(h=v) ingress egress P & P (P P) ~P Query Policies: Q ::= packets(limit,[h]) counts(every,[h]) Policies: C ::= A Q P[C] (C C) C >> C if_(p,c,c) 32

Grenzen von Pyretic Virtuelle Header Felder werden weder von OpenFlow, noch von alternativen Protokollen unterstützt Pyretic Laufzeit muss diese Informationen selbst verwalten starker Performanceverlust Aktuell einzige Implementierung basiert auf POX: Nur OpenFlow Unterstützung Schlechte Performance Pyretic ist noch sehr jung: nur wenig Applikationen keine Performance Evaluation keine Evaluation über Stabilität, Usability, usw. Pyretic stark von Python abhängig: Portierung in andere Sprache wäre unter Umständen schwierig 33

Beispielcode - Loadbalancer def subs(c,r,p): c_to_p = match(srcip=c,dstip=p) r_to_c = match(srcip=r,dstip=c) return c_to_p[modify(dstip=r)] r_to_c[modify(srcip=p)] (~r_to_c & ~c_to_p)[passthrough] def rewrite(d,p): return (>>)([subs(c,r,p) for c,r in d]) def static_lb(p,r,h): return rewrite(balance(r,h),p) def lb(self,p,r,h): def rebalance(stats): H = H.update(stats) self.p = static_lb(p,r,h) q = counts(60,[ srcip ]) q.when(rebalance) self.p = static_lb(p,r,h) match(dstip=p)[q]) Code entnommen aus [5] 34