Mobilitätsunterstützung auf der Anwendungsebene
Transcrição
Mobilitätsunterstützung auf der Anwendungsebene
Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme WWW - HTTP und Mobilität • Eigenschaften Zustandslos, Client/Server, Anfrage/Antwort Erfordert verbindungsorientiertes Protokoll (TCP) Primitive Caching- und Sicherheitsmodelle Kapitel 2 • Technische Grundlagen: Schicht 1 • Verfahren zum Medienzugriff: Schicht 2 Kapitel 3 • Drahtlose Netze: WLAN, Bluetooth, WirelessMAN, WirelessWAN • Mobilfunknetze: GSM, GPRS, UMTS • Satellitensysteme und Broadcastnetze Kapitel 4 • Mobilität in der Netzwerkschicht • Mobilität in der Transportschicht • Mobilitätsunterstützung Auswirkungen auf die Anwendungsebene • „Mobile WWW“ • WAP Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 1 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 2 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Ansätze in Richtung Web für mobile Endgeräte HTML und mobile Endgeräte • Anwendungs-Gateways, erweiterte Server Einfache Clients, Vorberechnungen im Festnetz Kompression, Filterung, Inhaltsextraktion Automatische Anpassung an Netzwerkgegebenheiten • HTML Entworfen für Endgeräte höherer Leistung, Farbdisplay, Maus Optimierung der „Ästhetik“, nicht des Kommunikationsaufwandes • Mobile Endgeräte haben oft nur kleine Anzeigen niedriger Auflösung und sehr eingeschränkte Eingabemöglichkeiten • Beispiele Skalierung von Grafiken, Farbreduktion, Änderung des Dokumentenformats (z.B. PS nach TXT) Detailbetrachtungen, Ausschnitte, Zoom Extraktion von Überschriften, Zusammenfassung des Textes HDML: einfache, HTML-ähnliche Sprache mit speziellem Browser HDTP: passendes Protokoll, entwickelt von Unwired Planet • weitere „Features“ Animierte GIFs, Frames, ActiveX Controls, Filmclips, Audio, ... Heute schon werden Echtfarbendarstellung, Multimedia-Unterstützung, hohe Auflösungen beim Entwurf von Web-Seiten vorausgesetzt • Die Mehrzahl der HTML-Seiten enthält Fehler; Browser müssen sehr leistungsfähig sein, um diese Fehler „auszugleichen“ • Probleme Proprietäre Ansätze, erfordern eine Menge spezieller Zusätze für Browser Große Geräteheterogenität erschwert Ansätze • Heterogenität der Endgeräte wird weitgehend ignoriert! Also werden z.B. auch große Bilder automatisch zum Mobiltelefon mit geringer Auflösung unter hohen Kosten übertragen! Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene • Probleme Entworfen für große Bandbreiten und geringe Verzögerungen Große und redundante Protokollköpfe (lesbar für Menschen) Unkomprimierte Übertragung von Inhalten Dynamische Objekte können nicht im Cache abgelegt werden, Mobilität macht oft Caches unmöglich POST (d.h. Senden zum Server) kann i.A. nicht gepuffert werden, damit problematisch falls gerade abgekoppelt Mit TCP: Großer Overhead pro Anfrage durch 3-Way-Handshake verglichen mit dem eigentlichen Inhalt, Slow-start Problematik DNS-Lookup durch Client erzeugt zusätzlichen Verkehr 3 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 4 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Systemunterstützung für „mobiles WWW“ Systemunterstützung für „mobiles WWW“ Mobiler Client Erweiterte Browser • Pre-fetching, Caching und abgekoppelte Nutzung • z.B. Internet Explorer Client Proxy • Pre-fetching, Caching und abgekoppelte Nutzung • z.B. Caubweb, TeleWeb, Weblicator, WebWhacker, WebEx, WebMirror, ... Integrierte Erweiterung Browser Web Server Netzwerk Proxy • Adaptive Inhaltstransformation bei schlechter Verbindung, pre-fetching, Caching • z.B. TranSend, Digestor Browser Begleitende Anwendung Web Server 5 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Mobiler Client Browser Netzwerk Proxy Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 6 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Systemunterstützung für „mobiles WWW“ Spezielles Netzwerk Subsystem • Adaptive Inhaltstransformation bei schlechter Verbindung, pre-fetching, Caching • z.B. Mowgli Client Proxy Web Server Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Client und Netzwerk Proxy • Kombination der Nutzen plus Protokollvereinfachungen • z.B. MobiScape, WebExpress Browser Web Server Mobiler Client Zusätzliche, begleitende Anwendung • Pre-fetching, Caching und abgekoppelte Nutzung • z.B. ursprünglicher WebWhacker Mobiler Client WAP - Wireless Application Protocol Mobiler Client Browser Client Proxy Web Server Netzwerk Proxy Ziele • Internet-Inhalte und erweiterte Dienste sollen zu mobilen Endgeräten (Telefone, PDA, ...) geliefert werden • Unabhängigkeit von Standards drahtloser Netze • Offen für alle, Vorschläge („weltweite Protokollspezifikation“) werden Standardisierungsgremien vorgelegt • Anwendungen sollen über aktuelle Transportmedien/Gerätetypen hinweg skalieren und auch auf zukünftige Entwicklungen anwendbar sein Mobiler Client Browser Client Proxy Web Server Netzwerk Proxy Plattformen • beispielsweise GSM (900, 1800, 1900), CDMA IS-95, TDMA IS-136, Systeme der 3. Generation wie IMT-2000, UMTS, W-CDMA, cdma2000 1x EV-DO Forum • Früher: WAP-Forum, mitgegründet von u.a. Ericsson, Motorola, Nokia, Unwired Planet • Jetzt: Open Mobile Alliance Zusätzlich viele Server-Erweiterungen machbar • „Channels“, Inhaltsaushandlung, ... Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 7 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 8 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme WAP 1.x - Schichtenarchitektur und Protokolle WAP - Standardisierungsinhalte Internet • Browser „Micro-Browser“, ähnlich den bekannten Browsern im Internet HTML, Java A-SAP WAP Application Layer (WAE) S-SAP • Script-Sprache Ähnlich zu Java-Script, angepasst an das mobile Umfeld Weitere Dienste und Anwendungen Session Layer (WSP) HTTP TR-SAP Transaction Layer (WTP) • WTA/WTAI Wireless Telephony Application/Interface: Zugriff auf Telefonfunktionalitäten SEC-SAP SSL/TLS Security Layer (WTLS) T-SAP • Inhaltsformate z.B. Visitenkarten (vCard), Kalenderereignisse (vCalender) TCP/IP, UDP/IP, Medien • Protokollstapel Transport-, Sicherheits- und Sitzungsschicht Transport Layer (WDP) WCMP Trägerdienste (GSM, UMTS, ...) WAE beinhaltet z.B. WML (Wireless Markup Language), WML Script, WTAI Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 9 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme 10 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme WAP - Protokolle WAP - Protokolle Wireless Transaction Protocol (WTP) • Leichtgewichtiges, transaktionsorientiertes Protokoll • Speicherplatzschonend, Effizienz bezüglich der Luftschnittstelle • Unterstützung verschiedener Kommunikationsformen, Anwendung bestimmt den Grad der Zuverlässigkeit: Klasse 0: unzuverlässiger Request (Beispiel: Push-Dienst) Klasse 1: zuverlässiger Request (Beispiel: Verlässlicher Push-Dienst) Klasse 2: zuverlässiger Request/Response (Mit/Ohne ACK, Beispiel: Typisches Web-Browsing) • Es gibt keinen expliziten Verbindungsaufbau/-abbau! Wireless Datagram Protocol (WDP) • Protokoll der Transportschicht der WAP-Architektur • Liegt direkt auf den Übertragungsdiensten der verschiedenen Netzwerktechnologien (GSM [SMS, GPRS, ...], DECT, ...) auf • Mit Hilfe von WDP, das nach unten entsprechend des Übertragungsdienstes angepasst ist, soll ein global interoperables Transportsystem geschaffen werden. • Zusätzlich dient WCMP (Wireless Control Message Protocol) ähnlich wie ICMP der Steuerung/Fehleranzeige Wireless Transport Layer Security (WTLS) • Datenintegrität, Privatheit, Authentifikation, Schutz vor Denial-of-Service Attacken • WTLS basiert auf dem TLS (Transport Layer Security) - Protokoll (ehemals SSL, Secure Sockets Layer), hier optimiert für schmalbandige Kommunikationskanäle Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Wireless Session Protocol (WSP) • HTTP 1.1 Funktionalität: Request/Reply, Verhandlung über Inhaltstypen, ... • Unterstützung von Client/Server, Transaktionen (simultan, asynchron), PushTechnik • Schlüsselverwaltung, Authentifikation, Internet-Sicherheitsdienste • Verwaltung von Sitzungen (Unterbrechung, Wiederaufnahme,...) 11 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 12 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme WAE - Wireless Application Environment WAE - logisches Modell Ziele • Netzwerkunabhängige Anwendungsumgebung für schmalbandige drahtlose Geräte • Integriertes Internet/WWW-Programmiermodell hoher Interoperabilität Ursprungs-Server Anforderungen • Geräte- und netzwerkunabhängig, internationale Unterstützung • Herstellerbestimmbare Mensch-Maschine-Schnittstelle • Beachtung von langsamen Verbindungen, geringem Speicher, begrenzter Rechenleistung, kleinem Bildschirm, einfache Eingabe Antwort mit Inhalt Web Server andere Server Komponenten • Architektur: Anwendungsmodell, Browser, Gateway, Server • WML: XML-Syntax, basiert auf Karteikartenmetapher, Variablen, ... • WMLScript: prozedural, Schleifen, Bedingungen, ... (ähnlich JavaScript) • WTA: Telefonanwendungen wie Rufsteuerung, Textnachrichten, Telefonbuch, ... (von WML/WMLScript zugreifbar) • Inhaltsformate: vCard, vCalendar, Wireless Bitmap, WML, ... Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Gateway Client kodierte Antwort mit Inhalt Kodierer & Dekodierer push Inhalt kodierter push Inhalt Anfrage 13 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme kodierte Anfrage WTA User Agent WML User Agent andere WAE User Agents 14 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Wireless Markup Language (WML) WAP - Netzwerkelemente Festnetz • WML folgt einer Stapel/Blatt (Skat) [deck] und Karten [card] Metapher WML-Dokumente bestehen aus vielen Karten, Karten werden zu Stapeln gruppiert Ein Stapel ist einer HTML-Seite ähnlich und stellt eine Übertragungseinheit dar WML beschreibt nur die Absicht einer Interaktion in einer abstrakten Art Die Umsetzung/Präsentation hängt dann von den Gerätefähigkeiten ab Internet HTML WML HTML Filter WAP Proxy Binary WML WML HTML Web Server • Eigenschaften Texte, Bilder Benutzerinteraktion Navigation Inhaltsverwaltung Mobilnetz HTML Filter/ WAP Proxy WTA Server Binary WML Binary WML Telefonnetz • Weiterhin: WMLScript als „Analogie“ zu JavaScript Binary WML: Binäres Datenformat für Clients Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 15 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 16 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Wireless Telephony Application (WTA) Beispiele für WAP-Protokollstapel (WAP 1.x) • Sammlung telefonspezifischer Erweiterungen • Erweiterung des Standard-WAE-Anwendungsmodells Content Push • Ein Server kann Inhalte direkt auf einen Client schieben • Der Client kann nun evtl. bisher unbekannte Ereignisse verarbeiten Behandlung von Netzereignissen • Eine Tabelle zeigt auf, wie auf bestimmte Ereignisse vom Netz zu reagieren ist Zugang zu Telefonfunktionen • Jede Anwendung auf dem Client kann auf Telefonfunktionen zugreifen • Beispiel Rufen einer Nummer (WML) wtai://wp/mc;07216086415 WAP-Standardisierung WAE User Agent außerhalb WAP WAE WTP WTP UDP WDP IP non IP Datagrammbasierte Anwendungen WTLS (GPRS, ...) (SMS, ...) UDP WDP IP non IP WTLS (GPRS, ...) (SMS, ...) 17 UDP WDP IP non IP (GPRS, ...) (SMS, ...) Reine Datenanwendungen evtl. ohne zusätzlich benötigte Sicherheit Typische WAPAnwendung mit komplettem Protokollstapel Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme 18 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Inhaltsformate Externe Dienste EFI KryptoBibliotheken WAE/WTA User Agent (WML, XHTML) Push Provisioning Authentisierung Navigation Discovery Identifikation Service Lookup PKI Gesicherter Transport Gesicherte Träger • Ziel: Integration von WWW, Internet, WAP und alternativen Ansätzen, z.B. i-mode Capability Negotiation Push OTA Cookies Synchronisation Hypermedia Transfer (WTP+WSP, HTTP) CSD IPv6 19 Verbindungen (TCP mit wireless profile) Datagramme (WDP, UDP) IPv4 MMS Nachrichten Streaming USSD SMS GUTS FLEX Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene MPAK ... ... Protokollrahmenwerk Multimedia Messaging (Email) Sitzung Sicherheitsdienste Transfer • Neue Anwendungen Farbgrafik Animation Laden großer Dateien Ortsabhängige Dienste Synchronisation mit PIMs Pop-up/kontextsensitive Menüs Dienstelokalisierung Transport • Neu für Entwickler XHTML TCP mit „Wireless Profile“ HTTP Anwendungsrahmenwerk WAP 2.0 Architektur Träger WAP 2.0 (Juli 2001) Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene Transaktionsbasierte Anwendungen WTLS Rufen einer Nummer (WMLScript) WTAPublic.makeCall("07216086415"); Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene WSP 20 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Java 2 Platform Micro Edition (J2ME) Mobile, tragbare Multimedia-Ausstattung … • „Java-Boom erwartet“ (?) Desktop-Bereich: über 90% Standard-PC-Architektur, Intel-x86kompatibel, meist MS-Windows-Systeme Was soll hier Plattformunabhängigkeit helfen? • ABER: Heterogene, „kleine“ Geräte Internet Appliances, Mobilfunktelefone, eingebettete Steuerungen, Autoradios, ... Aus technischer Notwendigkeit (Temperatur, Platz, Leistungsaufnahme, ...) und Kostengründen unterschiedliche Hardware benötigt • J2ME Bereitstellung einer einheitlichen Plattform Teilweise eingeschränkter Funktionsumfang im Vergleich zu StandardJava-Plattform • Idee geht über WAP 1.x oder Ansätze wie i-mode hinaus Vollständige Anwendungen auf Mobiltelefonen, nicht nur Browser Auch Systemaktualisierungen, Ende-zu-Ende-Verschlüsselung Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 21 Kapitel 4.3: Auswirkung der Mobilität auf die Anwendungsebene 22