11.07.00 - Institut für Informatik
Transcription
11.07.00 - Institut für Informatik
Programmierbare und aktive Netzwerke Jürgen Quittek Institut für Informatik Freie Universität Berlin Vorlesung Rechnernetze C&C Research Laboratories NEC Europe Ltd., Berlin Institut für Informatik Freie Universität Berlin 1-1 Programmierbare Netzwerke o Dynamisches Konfigurieren von Netwerkelementen å Forwarding å Routing o Offene Programmierschnittstelle å Einzug von Programmier- and Middleware- Paradigmen in Telekommunikationsnetze o Abstraktion von speziellen Netzwerkelementen Vorlesung Rechnernetze Institut für Informatik 1 Freie Universität Berlin 1-2 Motivation o Deregulierung å Wettbewerb in der Telekommunikation å Öffnung der Wertschöpfungskette å offenes und flexibleres Dienstemodell ⇒ offene und flexiblere Netzwerkarchitektur Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-3 Motivation AT&T Labs ‘98 Vorlesung Rechnernetze Institut für Informatik 2 Freie Universität Berlin 1-4 Motivation o Schichtenmodell å Schlüsselkonzept in der Netzwerktechnologie • z.B. OSI å Verringerung von Komplexität Services Services and and Applications Applications Network Network Service Abstractions Multimedia Multimedia Network Network QoS Abstractions Broadband Broadband Network Network Vorlesung Rechnernetze Institut für Informatik Lazar ‘97 Freie Universität Berlin 1-5 Nutzen Programmierbarer Netzwerke o Flexibilität å Routing, Zeichengabe, Betriebsmittelvergabe, Weiterleitung å Anwender and Diensteanbieter können Netzwerke entsprechend ihrer Anforderungen verändern. å Komposition von Netzwerkdiensten å Virtuelle Netzwerke å Evolution der Netzwerktechnologien • Entwicklung ist schnell • Zukunft ist schwer vorherzusehen • hohe Investitionen Vorlesung Rechnernetze Institut für Informatik 3 Freie Universität Berlin 1-6 Nutzen Programmierbarer Netzwerke o Einführung von neuen Diensten å Schnellere Entwicklung durch Technologien der Objektorientierten und Verteilten Programmierung • • • • Modularisierung Wiederverwendung unabhängig vom Ort der Ausführung dynamische Bindung von Programmkomponenten å Schnellere Installation • Unabhängigkeit vom Netzwerkhersteller å Markt für Dienste- und Konfigurationskomponenten • Angebot größer, Preise geringer Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-7 Protokoll oder Programmierschnittstelle? o Protokoll å Welche bits werden wie ausgetauscht zwischen zwei Netzwerkelementen å Nicht geeignet Komponentenentwicklung o Programmierschnittstelle (API) å Funktionen mit Typen/Signaturen å natürlichsprachliche Semantik å abhängig von einer Programmiersprache oder in CORBA IDL (Interface Definition Language) Vorlesung Rechnernetze Institut für Informatik 4 Freie Universität Berlin 1-8 Was wird programmiert? o Router-Referenzmodell Reservation Reservation Setup Setup Agent Agent Routing Routing Agent Agent Admission Admission Control Control Routing Routing Table Table Input Driver Traffic Traffic Control Control Database Database Classification/ Classification/ Conditioning Conditioning Vorlesung Rechnernetze Management Management Agent Agent Output Queue(s) Packet Scheduler Institut für Informatik Freie Universität Berlin 1-9 Was wird programmiert? o Traffic Conditioning ingress ingressi/fi/f classify, classify, meter, meter, action action queue queue egress egressi/fi/f classify, classify, meter, meter, action action queue queue routing routingcore core egress egressi/fi/f classify, classify, meter, meter, action action queue queue Vorlesung Rechnernetze ingress ingressi/fi/f classify, classify, meter, meter, action action queue queue Institut für Informatik 5 Freie Universität Berlin 1-10 Was wird programmiert? o Traffic Conditioning Traffic Conditioning Block Control flow Packet flow Meter Meter Classifier Classifier Vorlesung Rechnernetze Marker Marker Institut für Informatik Shaper Shaper Dropper Dropper Freie Universität Berlin 1-11 Was wird programmiert? o Classifier definiert durch Filter å address type (IPv4/IPv6) å destination address, mask å source address, mask å Flags (z.B. DSCP) å protocol (TCP/UDP) å min/max destination port å min/max source port Filter 2 Classifier Classifier … Vorlesung Rechnernetze Filter 1 no match Institut für Informatik 6 Freie Universität Berlin 1-12 Was wird programmiert? o Meter definiert durch Profile å average rate profile • min/max packet/bit rate • period å exponential weighted moving average rate profile • min/max packet/bit rate • period and gain Profile 1 å token bucket rate profile Profile 2 Meter Meter … • min/max packet/bit rate • burst size no match Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-13 Was wird programmiert? o Queuing Elements å Priority Queue • priority • Part of Priority Queue Set å Weighted Fair Queue • bit rate • Part of Weighted Fair Queue Set – total min/max bit rate å Weighted Round Robin Queue • packet rate • Part of Weighted Round Robin Queue Set – total min/max packet rate Vorlesung Rechnernetze Institut für Informatik 7 Freie Universität Berlin 1-14 Was wird programmiert? Profile 1 Meter Meter WFQueue WFQueue Profile 2 Filter 1 Monitor Monitor Dropper Dropper Filter 2 Classifier Classifier WFQueue WFQueue Meter Meter WFQueue WFQueue no match Marker Marker WFQueue WFQueue Dropper Dropper Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-15 Was wird programmiert? o Weiterleitung von Verkehrsdaten kann in Software oder Hardware realisiert werden. o Software å general-purpose processor å gespeicherte Programme zur Weiterleitung o Hardware å Field Programmable Gate Array (FPGA) å Application Specific Integrated Circuit (ASIC) å Programmierbare Netzwerkprozessoren Vorlesung Rechnernetze Institut für Informatik 8 Freie Universität Berlin 1-16 Wie wird programmiert? o Einzug von Programmier- und Middleware-Paradigmen in Telekommunikationsnetze å strukturiert • Funktionen, Module, ... å objektorientiert • Vererbung, Wiederverwendung, Kapselung å verteilt • Transparenter Zugriff auf Objekte auf verschiedenen Rechnern å z. B. CORBA, IDL, Java, POSIX C Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-17 Wie wird programmiert? o Field Programmable Gate Array (FPGA) å Logisches Gatter, das nach Herstellung (in der Regel einmalig) “programmiert” werden kann. å ANDs, ORs, NORs, NANDs, Flip-Flops å Verbindungen als Antifuses oder RAM-Zellen å Software Werkzeuge • design, verification, optimization, mapping, partitioning, placement, routing, bit stream generation • HDL (Hardware Description Language), VHDL (Very High Speed Integrated Circuit Hardware Description Language), Verilog Vorlesung Rechnernetze Institut für Informatik 9 Freie Universität Berlin 1-18 Wie wird programmiert? o Application Specific Integrated Circuit (ASIC) å Integrierte Schaltungsentwurf für spezielle Funktionen å FPGA nicht geeignet für Paketverarbeitungs-funktionen auf den höheren Protokollschichten å Komposition von vordefinierten Logikbausteinen å ASIC-Entwurf mit Standard-Designsoftware und • Simulationsmodellen, Entwurfsregeln, Standardbibliotheken Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-19 Wie wird programmiert? o Programmierbare Netzwerkprozessoren (PNP) å kürzere Entwicklungszeiten å schneller und billiger im Vergleich zu ASIC • ASIC: Modifikation erfordert neuen Chip • PNP: Modifikation per Software-Update å Rainier (IBM) • 16 programmierbare Protokollprozessoren – z.B. 40 Fast-Ethernet + 4 GigaBit-Ethernet ports • zentrale Steuerung mit PowerPC å IXP-1200 (Intel), C5 (C-Port), ... Vorlesung Rechnernetze Institut für Informatik 10 Freie Universität Berlin 1-20 Standardisierungen o IEEE P1520 PIN Working Group o MSF Forum o Parlay o Softswitch Consortium o JAIN Technology Initiative o CPIX Forum Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-21 IEEE P1520 o Application Programming Interfaces for Networks (PIN) o Member å Columbia University å Ericsson å KRDL, Singapore å NEC å Xbind Inc å Nortel å Alcatel Vorlesung Rechnernetze Institut für Informatik 11 Freie Universität Berlin 1-22 IEEE P1520 End-User End-UserApplications Applications Value-added Value-addedCommunication CommunicationServices Services Routing, Routing,Connection ConnectionManagement, Management, Admission AdmissionControl, Control,etc. etc. CCM Interface (connection control and management) Physical PhysicalElements Elements Institut für Informatik U Interface (upper) L Interface (lower) Virtual VirtualNetwork NetworkDevices Devices Vorlesung Rechnernetze V Interface (value-added) Freie Universität Berlin 1-23 IEEE P1520 Generic Base Base Abstractions Abstractions Vorlesung Rechnernetze Service-Specific Functional Functional Abstractions Abstractions Component Component Abstractions Abstractions Institut für Informatik 12 Service Service Binding Binding Abstractions Abstractions Freie Universität Berlin 1-24 MSF o Multiservice Switching Forum (MSF) o Open Multiservice Switching Model å einheitliche Übertragungs- und Switching-Infrastruktur å modulares Schichtenmodell å offene Schnittstellen für 3rd-Party Softwareoptionen o Ziel å Vereinheitlichung und Verbreitung von Protokollen und Schnittstellen (ATM, Frame Relay, IP, …) o Mitglieder: Internationale Diensteanbieter und Ausstatter Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-25 Freie Universität Berlin 1-26 MSF Vorlesung Rechnernetze Institut für Informatik 13 Parlay o Gründer: BT, Microsoft, Nortel, Siemens, Ulticom o Ziel å Definition von Schnittstellen zur Benutzung von ausserhalb der gesicherten Betreibernetzes å Skalierbarkeit å Erweiterbarkeit å Integration von Telekommunikation und Softwareengineering å Öffnung traditioneller Telekommunikations-infrastruktur o basiert auf DCOM und CORBA Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-27 Parlay 3rd Party Applications Call callback Call control manager callback Call leg callback Messaging manager callback Authentication callback Event notification callback Integrity management callback User interaction manager callback Parlay API Call control manager Messaging manager User Interact manager Authentication Call Mailbox Call user interaction Discovery Call Folder Generic user interaction service Event notification Message Generic call control service Vorlesung Rechnernetze Operations, management Generic messaging service Integrity management Parlay Framework Institut für Informatik 14 Freie Universität Berlin 1-28 Softswitch o Internationales Konsortium über offene Standards und Interoperabilität von Internet-basierten interaktiven Echtzeitanwendungen o Emulation von Circuit Switching in Software å Call agents, media gateways å H.323 (ITU), SIP (IETF), RTP (IETF) o Ziel å Verbreitung von Standards å Durchführung von Interoperabilitätstests å Entwicklung von Referenzimplementierungen å keine Standardisierung Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-29 JAIN o Initiative zur Entwicklung von offenen Telekommunikations Standards (vgl. Parlay) o geleitet von Sun Microsystems; Java-basiert o Ziel å Konvergenz von sprachorientierten IN-Netzen und datenorientierten IP-Netzen å schnellere, einfachere und billigere Entwicklung und Installation von Diensten in heterogenen Netzen o Mitglieder å Carrier: AT&T, BT, FT, KPN, NTT, Telcordia, ... å Vendor: Ericsson, Nokia, IBM, Nortel, Sun, Oracle, ... Vorlesung Rechnernetze Institut für Informatik 15 Freie Universität Berlin 1-30 CPIX o Internationale Organisation zur Verbreitung einer allgemeinen Programmierschnittstelle zwischen Kommunikationsprozessoren und anderen Datenund Telekommunikationsgeräten o Ziel å API Standards å Hardware (CSIX), Software (CPIX) o Mitglieder å C-Port, IBM, ... Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-31 Aktive Netzwerke o Spezialfall eines programmierbaren Netzwerks o Neben der Programmierschnittstelle werden hier auch Laufzeitumgebungen zur Ausführung von Programmen angeboten, welche die Programmierschnittstelle benutzen. o Netzwerkinfrastruktur kann dynamisch rekonfiguriert werden durch Programme innerhalb der Datenpakete o Programmierbarkeit pro Anwendung oder sogar pro Paket Vorlesung Rechnernetze Institut für Informatik 16 Freie Universität Berlin 1-32 Was sind aktive Netzwerke? o Passive / traditionelle Netzwerke å Endgeräte des Netzwerks verrichten komplexe Aufgaben in allen OSI-Schichten. å Vermittlungsknoten innerhalb des Netzwerks verrichten vergleichsweise einfache Aufgaben in den OSI Schichten 1- 3. å Aus Sicht des Netzwerks enthalten übermittelte Pakete nur Daten. o Erweiterung zu aktiven Netzwerken å Auch die Vermittlungsknoten verrichten Aufgaben in allen Schichten. å Programmcode für die Vermittlungsknoten kann vom Benutzer in das Netzwerk injiziert werden. å Der übermittelte Code kann Zustand und Verhalten der Vermittlungsknoten modifizieren. ⇒ Programmlade- und Laufzeitysteme für verteilte Netzwerkanwendungen Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-33 Darstellung im OSI-Referenzmodell Endgerät A Endgerät B Verarbeitung Verarbeitung Darstellung Darstellung Sitzung Sitzung Transport Vermittlungsknoten Transport Vermittlung Vermittlung Vermittlung Vermittlung Sicherung Sicherung Sicherung Sicherung Bitübertragung Bitübertragung Bitübertragung Bitübertragung Vorlesung Rechnernetze Institut für Informatik 17 Freie Universität Berlin 1-34 Darstellung im OSI-Referenzmodell Endgerät A Vermittlungsknoten Endgerät B Verarbeitung Verarbeitung Verarbeitung Verarbeitung Darstellung Darstellung Darstellung Darstellung Sitzung Sitzung Sitzung Sitzung Transport Transport Transport Transport Vermittlung Vermittlung Vermittlung Vermittlung Sicherung Sicherung Sicherung Sicherung Bitübertragung Bitübertragung Bitübertragung Bitübertragung Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-35 Erwartete Anwendungsgebiete o Netzwerkkommunikation: Schnelle Implementierung und Inbetriebnahme neuer Dienste. å Horizontale gemeinsame Entwicklung und Inbetriebnahme von Anwendungen und Diensten, z.B. • • • • Verbesserte Übertragungssicherung Netzwerkweites Caching Zuverlässigkeit und Adaptivität für Multicast Unterstützung von Mobilität å Reduzierter den Bedarf an Standardisierung. o Netzwerkbetrieb: Verteiltes Netzwerkmanagement å Erhöhung der Skalierbarkeit å Installation, Wartung und Test von Netzwerkdiensten „vor Ort“ Vorlesung Rechnernetze Institut für Informatik 18 Freie Universität Berlin 1-36 Anwendungsbeispiel 1: Active Error Recovery PANAMA Projekt, Litton TASC / Uni Mass. Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-37 Anwendungsbeispiel 2: Netzwerkweites Caching John Guttag, MIT Server C4 C2 C1 C3 Vorlesung Rechnernetze Client Institut für Informatik 19 Freie Universität Berlin 1-38 Anwendungsbeispiel 3: Adaptivität für Multicast IBR, TU Braunschweig Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-39 Ansätze o Diskreter Ansatz å Codeübertragung unabhängig von der Datenübertragung: Der Code muss vor Anwendung auf Datenpakete auf die Zielknoten übertragen und dort gespeichert werden. Eine Kennung der Datenpakete ermöglicht die Zuordnung von Code zu Daten. o Integrierter Ansatz (Inband-Ansatz, Capsules) å Code integriert in Pakete des Benutzerdatenstroms: Der Code wird mit dem gleichen Paketstrom wie die Daten übertragen. Dazu enthält jedes Paket ein optionales Feld mit Auszuführendem Code (Capsule). Vorlesung Rechnernetze Institut für Informatik 20 Freie Universität Berlin 1-40 Capsules o Extension header o Type kann als Fingerprint (MD5) genutzt werden o Zustandsänderung an jedem Knoten Src Dst TTL Version address address Type IP header Vorlesung Rechnernetze … Previous Type-dependent address header fields AN header Institut für Informatik Payload higher layers Freie Universität Berlin 1-41 Aktive Netzwerke: Realisierung o Performanz å Erhöhte Zeit zur Weiterleitung å vergrößertes Paket å MTU (Maximum Transmission Unit) o Betriebssystem å Prozess- und Speicherverwaltung o Sicherheit å Netz an sich ist in Gefahr å Authentifizierung: von wem? å Datenintegrität: nicht änderbar å Vertraulichkeit: nicht lesbar Vorlesung Rechnernetze Institut für Informatik 21 Freie Universität Berlin 1-42 Weitere Entwurfsentscheidungen o Laufzeitumgebung(en) o Programmiersprache o Netzwerk-Programmierschnittstelle o Management o Benutzerkreis o Sicherheit Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-43 Programmiersprachen und -schnittstellen o Programmiersprachen å TeleScript, General Magic å Java, Sun å PLAN (Packet Language for Active Networks), SwitchWare, UPenn å NetScript, Columbia Univ. å MAUDE (Wide-Spectrum Formal Language), Stanford Univ. o Programmier-Schnittstellen å IEEE P1520 PIN (Programming Interfaces for Networks) å MSF (Multiservice Switching Forum) å IETF GSMP (General Switch Management Protocol) å Router Plugins Toolkit, WUSTL, ETH Zürich å Extensible Routers, Princeton Univ. Vorlesung Rechnernetze Institut für Informatik 22 Freie Universität Berlin 1-44 Aktive Netzwerke: Systeme o Software-Systeme å Mobile Agentenplattformen: Voyager, Grasshopper, ... å ANTS (Active Node Transfer System), MIT å SANE (Secure Active Network Environment), SwitchWare, UPenn å Active Network Encapsulation Protocol (ANEP), SwitchWare, UPenn å ABONE (Active Network Backbone), Stanford RI å ANON (Active Network Overlay Network), Dartmouth, NH o Standards (Netzwerkbetrieb) å CMIP Command Sequencer, ISO/ITU-T å SNMP Script MIB, IETF – NEC/TU-BS, SNMP Research, Silicomp RI o Systeme mit Hardware-Unterstützung å Stream processor (voll integriert), NEC å ANN (Active Network Node), WUSTL, ETH Zürich å AMNet (Active Multicast Network), TU Braunschweig Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-45 Aktive Netzwerke: Systeme o ANTS å Java als Programmiersprache; JVM als Ausführungsumgebung å Wiederverwendung von Code durch mehrere Packete å PAN: Variation von ANTS für NodeOS o Liane å Prototypimplementierung für eingeschränkes C++ å Safety Assertions å Anwendung: Multicast Vorlesung Rechnernetze Institut für Informatik 23 Freie Universität Berlin 1-46 Aktive Netzwerke: Systeme o Liquid Software å Java als Programmiersprache; JVM als Ausführungsumgebung å No bytecode interpretation å Java-to-C translation; Just-in-time compilation o Netscript å Ünterstützung zur Entwicklung und Installation von Netzwerkdiensten å Vernetzung von Datenmanipulationsprozessen beschrieben in Java å Anwendung: dyamische Erstellung von Firewalls und speziellem Routing-Funktionen Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-47 Aktive Netzwerk: Systeme o PLAN å Programming Language for Active Networks å Typsicherheit, Terminierung zur sicheren Ressourcenverwaltung o Smartpackets å Mobile Programme werden in IP-Paketen übertragen å Sprocket als Programmiersprache; Übersetzung in kompaktes Ausführungsformat å Sichere Ausführungsumgebung (sandboxing, Authentifizierung) å Anwendungen: Monitoring and Control o SwitchWare å PLAN and ML zur Programmierung (Alien) å Zugriff auf lokale Code-Basis Vorlesung Rechnernetze Institut für Informatik 24 Freie Universität Berlin 1-48 Offene Fragen o Standardisierung von å Ansatz (diskret oder integriert) å Programmladesystem å Kopplung von Datenstrom und Laufzeitsystem å Programmiersprache å Netzwerkprogrammierschnittstelle o Sicherheit o Handhabbarkeit (manageability) o Produktfähigkeit, Produktgestaltung o Wirtschaftlichkeit Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-49 Zusammenfassung o Programmierbare Netzwerke erlauben durch offene Programmierschnittstellen von spezifischen Netzressourcen zu abstrahieren. o Die Kombination und Komposition von abstrakten Ressourcen vereinfacht die Erstellung und Einführung von neuen Diensten. o Aktive Netzwerke sind spezielle programmierbare Netze, die eine Programmierung pro Anwendung bzw. Paket ermöglichen. Vorlesung Rechnernetze Institut für Informatik 25 Freie Universität Berlin 1-50 Literatur o A. T. Campbell et al.: A Survey of Programmable Networks, ACM SIGCOMM Computer Communication Review, April 1999 o A. Lazar: Programming Telecommunication Networks, IEEE Network, pp. 8-18, 1997 o IEEE Communications Magazine, Oct 1998 o D. L. Tennenhouse et al.: A Survey of Active Network Research, IEEE Communications Magazine, pp. 80-86, Jan 97 o J. M. Smith et al.: Activating Networks: A Progress Report, IEEE Computer, pp.32-41, Apr 1999 o IEEE Communications Magazine, Mar + Apr 2000 Vorlesung Rechnernetze Institut für Informatik 26 Freie Universität Berlin 1-51