Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter Max Liebkies Betreuer: Daniel Raumer, Florian Wohlfahrt Lehrstuhl Netzarchitekturen und Netzdienste Fakultät für Informatik, Technische Universität München Seminar Future Internet, WS2013/2014 Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 1
Motivation Pakete über Strecken weiterleiten. Wie? Router und Switche beliebiger Größe Klassisch: Netzwerk aus proprietären, schwarzen Boxen Teils sehr verteilte Verwaltung einzelner Geräte Jetzt: Software-defined Networking Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 2
Themenübersicht 1 Motivation 2 Methoden und Überblick Software-defined Networking Switching in Software RouteFlow Weitere Software 3 Diskussion und Details Technische Aspekte Finanzielle Aspekte Hype Cycle nach Gartner 4 Protokollprototypisierung 5 Performance und Skalierbarkeit 6 Ausblick Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 3
Themenübersicht 1 Motivation 2 Methoden und Überblick Software-defined Networking Switching in Software RouteFlow Weitere Software 3 Diskussion und Details Technische Aspekte Finanzielle Aspekte Hype Cycle nach Gartner 4 Protokollprototypisierung 5 Performance und Skalierbarkeit 6 Ausblick Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 4
Software-defined Networking Geprägt in Paper von Casado et al. 2005 Trennung von Kontroll- und Transportschicht Kontrollschicht trifft Entscheidung Transportschicht nimmt Pakete und leitet sie weiter Zugrundeliegend ist eine Client-Server Architektur Clients (Forwarder) registriert mit Server (Controller) Server kann auf Anfrage dynamisch Traffic an Clients weiterleiten Mittlerweile weite Verbreitung, z.b. auch im Einsatz bei Google Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 5
Software-defined Networking SDN SDN Layer Layer Virtual Services Virtual Services Controller Physical Network Network Switch Network Switch Network Switch Network Switch Network Switch Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 6
OpenFlow OpenFlow ist eine Protokollspezifikation Für unterstützte Geräte erlaubt OpenFlow direkten Zugriff auf die Forwarding Hardware Switching-/Forwardingentscheidung kann an zentraler Stelle (Kontrollebene) getroffen werden Arbeitsweise gleicht dem eines CPU Instruktionssets Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 7
OpenFlow Auf Geräten wird typische Forwardingtabelle durch OpenFlow Tupel ergänzt Alt: (Source MAC, Destination MAC, Source IP, etc.) Neu: (..., Action, Priority, QoS,...) Tabelle definiert Flow pro Zeile Matcher trifft aufgrund flow table Eintescheidung, um Aktion auf der Forwardingplane auszulösen Trennt Ebenen, erlaubt Hardware/Softwarekomponenten zu differenzieren Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 8
RouteFlow Entstanden als QuaggFlow (jetzt RouteFlow) unter Vidal et al. als Kombination von Quagga und OpenFlow OpenSource Software Toolkit, noch in der Entwicklung Kann Hardwareswitche mittels OpenFlow steuern Effektive Trennung von Hardware/Software bzw. Kontroll-/Forwardingplane Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 9
RouteFlow Komponenten: RFClient, RFProxy, RFServer Aufgaben der einzelnen Komponenten: RFClient Kernstück, liest Routingtabellen von Softwareroutern im Netzwerk, Kommuniziert mit RFServer unter Verwendung von OpenFlow RFServer Transformation und etwaige Modifikationen an den Paketen, Transfer an RFProxy RFProxy Verbindungsstück zu den Hardwareswitchen, Konfiguration per OpenFlow Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 10
RouteFlow Komponenten: RFClient, RFProxy, RFServer Aufgaben der einzelnen Komponenten: RFClient Kernstück, liest Routingtabellen von Softwareroutern im Netzwerk, Kommuniziert mit RFServer unter Verwendung von OpenFlow RFServer Transformation und etwaige Modifikationen an den Paketen, Transfer an RFProxy RFProxy Verbindungsstück zu den Hardwareswitchen, Konfiguration per OpenFlow Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 10
RouteFlow Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 11
RouteFlow Aktuelles Paper testet Performance von RouteFlow (NOX, POX) Analyse mittels cbench Tool, zwei Messungen: 1 Latenz 2 Durchsatz Worst-case Latenz bei 60 ms, respektive 120 ms, jedoch konstant Durchsatz anhand von übernommenen Flows: 1000 Flows, respektive 550 Flows (100 R /s) Reale Performance: Echte Netzwerke, 100 km Distanz. RTT maximal 4 ms bzw. 25 ms Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 12
Weitere Software Viele namhafte Hersteller produzieren Software VMware NSX Produkt zur vollumfänglichen Netzwerkvirtualisierung Gute Interaktion mit den vorhandenen VMware Produkten. Etablierung von Cloud Services, PaaS Weitreichende Integration von vorhandenen Controllern und Switchen, auch mittels OpenFlow (geplant) Cisco: Open Network Environment, Juniper: Diverse Viel OpenSource Software, u.a. RouteBricks, RouteFlow, etc. Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 13
Weitere Software Viele namhafte Hersteller produzieren Software VMware NSX Produkt zur vollumfänglichen Netzwerkvirtualisierung Gute Interaktion mit den vorhandenen VMware Produkten. Etablierung von Cloud Services, PaaS Weitreichende Integration von vorhandenen Controllern und Switchen, auch mittels OpenFlow (geplant) Cisco: Open Network Environment, Juniper: Diverse Viel OpenSource Software, u.a. RouteBricks, RouteFlow, etc. Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 13
Weitere Software Viele namhafte Hersteller produzieren Software VMware NSX Produkt zur vollumfänglichen Netzwerkvirtualisierung Gute Interaktion mit den vorhandenen VMware Produkten. Etablierung von Cloud Services, PaaS Weitreichende Integration von vorhandenen Controllern und Switchen, auch mittels OpenFlow (geplant) Cisco: Open Network Environment, Juniper: Diverse Viel OpenSource Software, u.a. RouteBricks, RouteFlow, etc. Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 13
Weitere Software Viele namhafte Hersteller produzieren Software VMware NSX Produkt zur vollumfänglichen Netzwerkvirtualisierung Gute Interaktion mit den vorhandenen VMware Produkten. Etablierung von Cloud Services, PaaS Weitreichende Integration von vorhandenen Controllern und Switchen, auch mittels OpenFlow (geplant) Cisco: Open Network Environment, Juniper: Diverse Viel OpenSource Software, u.a. RouteBricks, RouteFlow, etc. Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 13
Themenübersicht 1 Motivation 2 Methoden und Überblick Software-defined Networking Switching in Software RouteFlow Weitere Software 3 Diskussion und Details Technische Aspekte Finanzielle Aspekte Hype Cycle nach Gartner 4 Protokollprototypisierung 5 Performance und Skalierbarkeit 6 Ausblick Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 14
Technische Aspekte Herkömmliche Vorgehensweise ist die Provisionierung von Netzwerken mittels Special-purpose Hardware Eingehende Faktoren: Auslastung, Trafficaufkommen, Anzahl Nutzer, etc. Typisch z.b.: Cisco 7600 Serie, etwa 1,2 Ghz CPU, 1 GB RAM Hardwareunterstütztes IPv4/IPv6 Routing/Forwarding normal, Softwarelösungen hier von Interesse Dazu Verwendung von standard x86 PC Hardware oder Servern: Wahlfreiheit... Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 15
Technische Aspekte Keine Grenzen an die Wahl von Netzwerkhardware Neuer Faktor: Wahl der entsprechenden Software, keine Beschräkung auf proprietäre Bundles Auch Nutzung von Legacy Hardware möglich; Gängige Praxis bei Google Vorteil: Provisionierung von Hardware kann eng gestaltet werden, Auslastung dynamisch verteilbar Kotronis et al.: Outsourcing der Routinglogik Heller et al.: Wie sollte der Controller platziert werden? Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 16
Technische Aspekte Keine Grenzen an die Wahl von Netzwerkhardware Neuer Faktor: Wahl der entsprechenden Software, keine Beschräkung auf proprietäre Bundles Auch Nutzung von Legacy Hardware möglich; Gängige Praxis bei Google Vorteil: Provisionierung von Hardware kann eng gestaltet werden, Auslastung dynamisch verteilbar Kotronis et al.: Outsourcing der Routinglogik Heller et al.: Wie sollte der Controller platziert werden? Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 16
Technische Aspekte Keine Grenzen an die Wahl von Netzwerkhardware Neuer Faktor: Wahl der entsprechenden Software, keine Beschräkung auf proprietäre Bundles Auch Nutzung von Legacy Hardware möglich; Gängige Praxis bei Google Vorteil: Provisionierung von Hardware kann eng gestaltet werden, Auslastung dynamisch verteilbar Kotronis et al.: Outsourcing der Routinglogik Heller et al.: Wie sollte der Controller platziert werden? Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 16
Finanzielle Aspekte Durch Nutzung von Software-defined Networks Wegfall von Überprovisionierung Jetzt: Dynamisch und flexible Provisionierung Bedarfsgerechte Nutzung und Installation von Netzwerkhardware Reduktion der Anschaffungskosten für Unternehmen Niedrigere operative Ausgaben Früher: ineffiziente Excel-Tabellen und fehlende Managementtools Jetzt: OpenFlow, VMware NSX Workbenches Reduktion der operativen Kosten Nutzung von Low-End und General-purpose Hardware Vorhandene Hardware kann z.t. weitergenutzt werden Reduktion der anfänglichen Kapitalinvestitionen Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 17
Finanzielle Aspekte Durch Nutzung von Software-defined Networks Wegfall von Überprovisionierung Jetzt: Dynamisch und flexible Provisionierung Bedarfsgerechte Nutzung und Installation von Netzwerkhardware Reduktion der Anschaffungskosten für Unternehmen Niedrigere operative Ausgaben Früher: ineffiziente Excel-Tabellen und fehlende Managementtools Jetzt: OpenFlow, VMware NSX Workbenches Reduktion der operativen Kosten Nutzung von Low-End und General-purpose Hardware Vorhandene Hardware kann z.t. weitergenutzt werden Reduktion der anfänglichen Kapitalinvestitionen Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 17
Finanzielle Aspekte Durch Nutzung von Software-defined Networks Wegfall von Überprovisionierung Jetzt: Dynamisch und flexible Provisionierung Bedarfsgerechte Nutzung und Installation von Netzwerkhardware Reduktion der Anschaffungskosten für Unternehmen Niedrigere operative Ausgaben Früher: ineffiziente Excel-Tabellen und fehlende Managementtools Jetzt: OpenFlow, VMware NSX Workbenches Reduktion der operativen Kosten Nutzung von Low-End und General-purpose Hardware Vorhandene Hardware kann z.t. weitergenutzt werden Reduktion der anfänglichen Kapitalinvestitionen Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 17
Hype Cycle nach Gartner AUFMERKSAMKEIT Gipfel der überzogenen Erwartungen Plateau der Produktivität Pfad der Erleuchtung Tal der Enttäuschungen Technologischer Auslöser ZEIT Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 18
Hype Cycle nach Gartner Verschiedene Hype Cycle Reports von Gartner für Technologiebranchen Untersuchung von OpenFlow im Hype Cycle für Netzwerk und Kommunikation von 2011: im Aufschwung Hype Cycle für Virtualisierung von 2013: SDN im Aufschwung Hype Cycle für Virtualisierung von 2010: Virtual Switches am Gipfel der überzogenen Erwartungen Große Traktion im gesamten Gebiet, Diskrepanz zwischen Adaption und öffentlicher Wahrnehmung Mainstream Adaption in den nächsten 2-5 Jahren kritisch beobachten Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 19
Themenübersicht 1 Motivation 2 Methoden und Überblick Software-defined Networking Switching in Software RouteFlow Weitere Software 3 Diskussion und Details Technische Aspekte Finanzielle Aspekte Hype Cycle nach Gartner 4 Protokollprototypisierung 5 Performance und Skalierbarkeit 6 Ausblick Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 20
Protokollprototypisierung Entwicklung von neuen Protokollen ist aufwändig und langwierig Protokolle müssen unter Labor- und Realbedingungen getestet werden Beispiel: BGPv4 1989: Gründung einer Working Group 1989: Erster Internet Draft 1994: RFC1771 in finaler Version (BGPv4) 2006: RFC4271 als letztes Update Zwischenzeitlich mehrere Iterationen Schnelles und zeitnahes Testing notwendig Virtualisierung... Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 21
Protokollprototypisierung Entwicklung von neuen Protokollen ist aufwändig und langwierig Protokolle müssen unter Labor- und Realbedingungen getestet werden Beispiel: BGPv4 1989: Gründung einer Working Group 1989: Erster Internet Draft 1994: RFC1771 in finaler Version (BGPv4) 2006: RFC4271 als letztes Update Zwischenzeitlich mehrere Iterationen Schnelles und zeitnahes Testing notwendig Virtualisierung... Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 21
Protokollprototypisierung MiniNet nach Lantz et al. Leichtgewichtiges Virtualisierungsverfahren auf Linux Basis mit CLI Erstellt mehrere OpenFlow vswitche, verbindet diese und stellt virtuelle Hosts zur Verfügung Denkbar ist hier auch die Verwendung von echten Switchen in Hardware Voll-virtualisierte Layer 2 Umgebung ermöglicht schnelles und einfaches Implementieren und Testen von Protokollprototypen Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 22
Themenübersicht 1 Motivation 2 Methoden und Überblick Software-defined Networking Switching in Software RouteFlow Weitere Software 3 Diskussion und Details Technische Aspekte Finanzielle Aspekte Hype Cycle nach Gartner 4 Protokollprototypisierung 5 Performance und Skalierbarkeit 6 Ausblick Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 23
Performance und Skalierbarkeit Wichtig bei der Einbringung von softwarebasierten Routern oder Virtualisierung: Kein Performanceverlust Analyse des Netzwerks eines großen ISP durch Sarrar et al. anhand von sog. Heavy Hitters Idee: Lade Traffic der Heavy Hitter um: Traffic-aware Flow Offloading Algorithmus ( Zipfsches Gesetz) Performancezuwachs beim Umladen von 0.2% Heavy Hitter Traffic: 90% Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 24
Performance und Skalierbarkeit Wichtig bei der Einbringung von softwarebasierten Routern oder Virtualisierung: Kein Performanceverlust Analyse des Netzwerks eines großen ISP durch Sarrar et al. anhand von sog. Heavy Hitters Idee: Lade Traffic der Heavy Hitter um: Traffic-aware Flow Offloading Algorithmus ( Zipfsches Gesetz) Performancezuwachs beim Umladen von 0.2% Heavy Hitter Traffic: 90% Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 24
Performance und Skalierbarkeit Wichtig bei der Einbringung von softwarebasierten Routern oder Virtualisierung: Kein Performanceverlust Analyse des Netzwerks eines großen ISP durch Sarrar et al. anhand von sog. Heavy Hitters Idee: Lade Traffic der Heavy Hitter um: Traffic-aware Flow Offloading Algorithmus ( Zipfsches Gesetz) Performancezuwachs beim Umladen von 0.2% Heavy Hitter Traffic: 90% Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 24
Performance und Skalierbarkeit Performance ist nicht nur auf globaler Netzwerkebene wichtig Flaschenhals evtl. hardwarenah mit Auswirkung Untersuchung von Dobrescu et al.: Ist Paketverarbeitung effektiv parallelisierbar? Ergebnis nur grob: Ideal: Je ein Prozessor führt vollständige Verarbeitung von einem Paket aus Cachemisses stellen kein Problem dar Offensichtlich besteht viel Raum für Optimierungen, auch auf tiefster Ebene... Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 25
Performance und Skalierbarkeit Performance ist nicht nur auf globaler Netzwerkebene wichtig Flaschenhals evtl. hardwarenah mit Auswirkung Untersuchung von Dobrescu et al.: Ist Paketverarbeitung effektiv parallelisierbar? Ergebnis nur grob: Ideal: Je ein Prozessor führt vollständige Verarbeitung von einem Paket aus Cachemisses stellen kein Problem dar Offensichtlich besteht viel Raum für Optimierungen, auch auf tiefster Ebene... Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 25
Performance und Skalierbarkeit Performance ist nicht nur auf globaler Netzwerkebene wichtig Flaschenhals evtl. hardwarenah mit Auswirkung Untersuchung von Dobrescu et al.: Ist Paketverarbeitung effektiv parallelisierbar? Ergebnis nur grob: Ideal: Je ein Prozessor führt vollständige Verarbeitung von einem Paket aus Cachemisses stellen kein Problem dar Offensichtlich besteht viel Raum für Optimierungen, auch auf tiefster Ebene... Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 25
Themenübersicht 1 Motivation 2 Methoden und Überblick Software-defined Networking Switching in Software RouteFlow Weitere Software 3 Diskussion und Details Technische Aspekte Finanzielle Aspekte Hype Cycle nach Gartner 4 Protokollprototypisierung 5 Performance und Skalierbarkeit 6 Ausblick Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 26
Ausblick Verbuzzwortung? Notwendigkeit von herstellerübergreifenden Lösungen Offene Standards, offene Protokolle und offene Implementierungen Vorsicht jedoch bei sicherheitsrelevanten Themen Layer 2/3 Protokollstacks sind wohl getestet und implementiert Neuimplementierungen sind u.u. anfällig für alte Bugs und Schwächen Einbringung von Komplexität birgt ein gleiches Risiko (Netzwerksteuerungs-API? Hypervisor-Sicherheit? Ausfallsicherheit?) Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 27
Ausblick Verbuzzwortung? Notwendigkeit von herstellerübergreifenden Lösungen Offene Standards, offene Protokolle und offene Implementierungen Vorsicht jedoch bei sicherheitsrelevanten Themen Layer 2/3 Protokollstacks sind wohl getestet und implementiert Neuimplementierungen sind u.u. anfällig für alte Bugs und Schwächen Einbringung von Komplexität birgt ein gleiches Risiko (Netzwerksteuerungs-API? Hypervisor-Sicherheit? Ausfallsicherheit?) Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 27
Ausblick Verbuzzwortung? Notwendigkeit von herstellerübergreifenden Lösungen Offene Standards, offene Protokolle und offene Implementierungen Vorsicht jedoch bei sicherheitsrelevanten Themen Layer 2/3 Protokollstacks sind wohl getestet und implementiert Neuimplementierungen sind u.u. anfällig für alte Bugs und Schwächen Einbringung von Komplexität birgt ein gleiches Risiko (Netzwerksteuerungs-API? Hypervisor-Sicherheit? Ausfallsicherheit?) Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 27
Ausblick Verbuzzwortung? Notwendigkeit von herstellerübergreifenden Lösungen Offene Standards, offene Protokolle und offene Implementierungen Vorsicht jedoch bei sicherheitsrelevanten Themen Layer 2/3 Protokollstacks sind wohl getestet und implementiert Neuimplementierungen sind u.u. anfällig für alte Bugs und Schwächen Einbringung von Komplexität birgt ein gleiches Risiko (Netzwerksteuerungs-API? Hypervisor-Sicherheit? Ausfallsicherheit?) Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 27
Ausblick Verbuzzwortung? Notwendigkeit von herstellerübergreifenden Lösungen Offene Standards, offene Protokolle und offene Implementierungen Vorsicht jedoch bei sicherheitsrelevanten Themen Layer 2/3 Protokollstacks sind wohl getestet und implementiert Neuimplementierungen sind u.u. anfällig für alte Bugs und Schwächen Einbringung von Komplexität birgt ein gleiches Risiko (Netzwerksteuerungs-API? Hypervisor-Sicherheit? Ausfallsicherheit?) Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 27
Ende Vielen Dank für die Aufmerksamkeit! Fragen? Max Liebkies: Das Beste aus Beiden Welten: Hardwareswitche & Softwarerouter 28