12345678910111213141516171819 Geoinformation3 20 Geoinformation III Offene Systeme, Rechnernetze und...
-
Upload
kuonrat-langenbach -
Category
Documents
-
view
106 -
download
0
Transcript of 12345678910111213141516171819 Geoinformation3 20 Geoinformation III Offene Systeme, Rechnernetze und...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19Geoinformation3
20
Geoinformation III
Offene Systeme, Rechnernetze und das Internet
Vorlesung 11a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
1
• Bislang– Zumeist monolithische Geoinformationssysteme; eher „Insellösungen“– Fernzugriff erfolgt über Versenden von oder Netzwerkdateizugriff auf GIS-
Daten(banken) in proprietären (herstellerspezifischen) Formaten
• Zukunft– Verteilte Geodatenbanken
Direkter Zugriff auf Funktionen entfernter Geoinformationssysteme• Vernetzung von Katasterämtern, Vermessungsbüros, Lverm-Ämter
(z.B. ALKIS)• WebGIS
• Anforderungen– Offene Systeme zur Sicherung der Interoperabilität
• Systeme verschiedener Hersteller arbeiten unmittelbar zusammen– Kommunikation direkt über standardisierte Dienstschnittstellen– Standardisierte Modelle und Übertragungsformate für Geodaten
Einleitung zum dritten Vorlesungsblock
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
2
1. Offene Systeme, Rechnernetze und das Internet
Die eXtensible Markup Language XML
2. Grundlagen, Dokumentenstruktur
3. Document Type Definitions (DTDs)
4. XML Schema
5. Geographic Markup Language GML:– der vom OpenGIS-Consortium als XML-Anwendung definierte
Standard für Geo-Objekte
Übersicht über den dritten Vorlesungsblock
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
3
Offene Systeme; ISO/OSI-Referenzmodell
• Offenes System– Hersteller- und Geräteunabhängigkeit– Keine Festlegung auf Rechner- oder Netzarchitektur– Endsysteme arbeiten eigenverantwortlich und sind auch
unabhängig vom Offenen System arbeitsfähig– Verteilte Anwendungen ohne Zusatzaufwand realisierbar– Endsysteme sprechen dieselbe Sprache (durch Protokolle
festgelegt)
• Das ISO-Modell für Open System Integration ist das wichtigste Referenzmodell für die Realisierung offener, interoperabler Systeme– ISO-Norm 7498
• 7 hierarchisch aufeinander aufbauende Schichten– Ebenen 1-4 modellieren ein anwendungsunabh.
Transportsystem– Ebenen 5-7 beschreiben anwendungsspezifische Aufgaben
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
4
Das ISO/OSI-Referenzmodell
Anwendung
Darstellung
Sitzung
Transport
Vermittlung
Sicherung
Bitüber-tragung
Anwendung
Darstellung
Sitzung
Transport
Vermittlung
Sicherung
Bitüber-tragung
Schnittstelle
Schnittstelle
7
6
5
4
3
2
1
APDU
PPDU
SPDU
TPDU
Paket
Rahmen
Bit
Physikalisches Medium
Rechner A Rechner B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
5
Aufbau einer Schicht
Schicht i
Erbringt Dienst-Leistung für Schicht i+1
Nimmt Dienst der Schicht i-1
in Anspruch
(abstraktes) Medium i
• Jede Schicht i repräsentiert ein u.U. abstraktes Medium, für das bestimmte Zusicherungen gemacht werden
• Jede Schicht hat eine Schnittstelle nach oben und unten
• Schicht i bietet Dienste für Schicht i+1 an
• Die Implementierung der Dienste verwendet Dienste der Schicht i-1
• Ablauf der Kommunikation und Sicherstellung der zugesicherten Eigenschaften wird durch ein geeignetes Protokoll realisiert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
6
A 2x
Anwendung
Darstellung
Sitzung
Transport
Vermittlung
Sicherung
Bitüber-tragung
Anwendung
Darstellung
Sitzung
Transport
Vermittlung
Sicherung
Bitüber-tragung
7
6
5
4
3
2
1
APDU
PPDU
SPDU
TPDU
Paket
Rahmen
Bit
Physikalisches Medium
Rechner A Rechner BAnwendungsprotokoll
Darstellungsprotokoll
Anwendungsprotokoll
Sitzungsprotokoll
Darstellungsprotokoll
Anwendungsprotokoll
Transportprotokoll
Sitzungsprotokoll
Darstellungsprotokoll
Anwendungsprotokoll
Vermittlungsprotokoll
Transportprotokoll
Sitzungsprotokoll
Darstellungsprotokoll
Anwendungsprotokoll
Sicherungsprotokoll
Vermittlungsprotokoll
Transportprotokoll
Sitzungsprotokoll
Darstellungsprotokoll
Anwendungsprotokoll
Schnittstelle
Schnittstelle
Schnittstelle
Schnittstelle
Schnittstelle
Schnittstelle
Schnittstelle
Sicherungsprotokoll
Vermittlungsprotokoll
Transportprotokoll
Sitzungsprotokoll
Darstellungsprotokoll
Anwendungsprotokoll
Horizontale Kommunikation
Vertikale
Kommunikation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
7
Schicht 1: Bitübertragung (physical layer)
• In der untersten Schicht findet die räumliche Übertragung der Informationen über ein physikalisches Medium statt.
• Wesentliche Charakteristika– Bandbreite (Angabe in [Hz] oder [bps] (Bit pro Sekunde))– Qualität (Signal-/Rauschabstand)– Konnektivität (z.B. Rundfunk oder Punkt-zu-Punkt)– Übertragungsrichtung (simplex, halbduplex, vollduplex)– Mehrfachnutzung (z.B. per Zeit- oder Frequenzmultiplex)
• Häufigste Übertragungsmedien:– Kupfer- und Glasfaserkabel (z.B. Ethernet, Telefon)– Richtfunkstrecken (z.B. Satellitenverbindung)– Rundfunk (z.B. GPRS, Wireless LAN)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
8
Schicht 2: Sicherung (data link layer)
• Regelung des Medienzugangs– Vermeidung von Kollisionen– gerechte Zuteilung des Mediums („Aushungern“ vermeiden)
• gerechte Zuteilung unter hoher Last• dauerhafte Belegung durch einen Teilnehmer verhindern
• gezieltes Ansprechen einzelner Rechner im Teilnetz– Definition des Adressierungsschemas für physikalisch am selben
Medium angeschlossenen Geräte Beispiel Ethernet: MAC-Adresse der Netzwerkkarte (a.b.c.d.e.f);
• fehlerfreie Übertragung von Datenpaketen– Prüfsummenverfahren zur Fehlererkennung und -korrektur– bei erkanntem Fehler wird das Paket erneut übertragen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
Schicht 3: Vermittlung (network layer)
• Realisierung der netzübergreifenden Kommunikation– Definition eines globalen Adressierungsschemas zum gezielten
Ansprechen einzelner Rechner im Gesamtnetz– Routing: Bestimmung des Pfades von Paketen durch das Netzwerk– Flusskontrolle: lastabhängige Veränderung von Routing-Pfaden
• Multiplex-Mechanismus– zur Ermöglichung des gleichzeitigen Nutzens des darunterliegenden
Mediums von vielen Netzteilnehmern• Zeitmultiplex durch Zerlegung von Daten in kleine Pakete;
Pakete verschiedener Teilnehmer werden abwechselnd geschickt
• Bevorzugte Behandlung bestimmter Datenpakettypen (z.B. bei Video-Daten)
• Abrechnung– bei Dienstleistungserbringern (Providern), deren Abrechnung auf
dem Transfervolumen basiert
9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
10
Schicht 4: Transport (transport layer)
• Stellt ein universelles, zuverlässiges und anwendungs-unabhängiges Transportsystem zwischen allen beteiligten Rechnern bereit.– gezieltes Ansprechen einzelner Prozesse auf einem Rechner
• Übertragung beliebig langer Datenströme über beliebige Dauer– Zerlegung von Datenströmen in Sequenzen kleiner Pakete– Pakete können in veränderter Reihenfolge eintreffen– Transportschicht sorgt beim Empfänger für das korrekte
Zusammensetzen des ursprünglichen Datenstroms
• Verbindungsorientierte und verbindungslose Dienste– Verbindungsaufbau, Datenübertragung, Verbindungsabbau– Datagramme
• Schicht 4 stellt oftmals die Schnittstelle zwischen Betriebssystem und Anwendungsprogrammen dar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
11
Schicht 5: Sitzung (session layer)
• Sitzungsmanagement– Aufbau und Aufrechterhaltung von länger andauernden
Verbindungen (z.B. bei Datenbanken, Buchungssystemen, Online-Banking) über Trennungen der Netzverbindung hinweg
• Synchronisierung– u.a. Überbrückung von Netzausfällen– Rücksetzung zu definierten Wiederaufsetzpunkten („Rollback“)
• Übernahme typischer Aufgaben der sog. „Middle-Ware“– Middleware bezeichnet die Teile des Systems, die zwischen
Betriebssystem und Anwendungsprogrammen angesiedelt sind– Bereitstellung gemeinsamer Datenbereiche für verteilte
Anwendungen– Authentifizierung und Rechtevergabe– Remote Procedure Call RPC/ Remote Method Invocation RMI– Beispiele: CORBA, Microsoft DCOM, Java Beans, Java RMI, Sun RPC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
12
Schicht 6: Darstellung (presentation layer)
• Verschlüsselung– Daten werden vor Weiterleitung an bzw. nach Empfang von Schicht
5 für die Anwendung transparent ver- bzw. entschlüsselt– Beispiel: https implementiert verschlüsselte WWW-Verbindungen
• Datenkompression– Daten werden vor Weiterleitung an bzw. nach Empfang von Schicht
5 für die Anwendung transparent ge- bzw. entpackt
• Konvertierung– u.a. Zeichensatzanpassungen (z.B. ISO-8859-1 MS-DOS)– Wandlung von Binärformaten auf unterschiedliche Plattformen
• Dienste für Anwendungsprogramme– virtuelle Terminals– Protokolle zur Durchführung von Dateitransfern– Protokolle zur Durchführung von Aufträgen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
13
Schicht 7: Anwendung (application layer)
• Jede Anwendung besitzt ihr eigenes, auf den Diensten der darunterliegenden Schichten aufbauendes Protokoll– Anwendungsprogramme können auf alle Dienste der Schichten 4-6
zurückgreifen. Beispiel: WWW setzt direkt auf Schicht 4 auf, die Schichten 5 und 6 werden zum einfachen „Web-Surfen“ nicht benötigt.
• Beispielanwendungen:– Internet: World Wide Web, Email, News, IRC– Dateitransfer und –zugriff über das Netz– Datenbankabfragen– Reise- und Konzertbuchungssysteme– Verteilte, netzfähige Geoinformationssysteme (z.B. ArcInfo mit
ArcSDE)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
14
Dienste
• Dienst umfasst– Schnittstelle zwischen Teilnehmer (Nutzer) und Diensterbringer– Protokoll (Ablauf / Reihenfolge der Kommunikation)– Datenformat (Aufbau der einzelnen Nachrichten)
• Dienstelemente bzw. Dienstschnittstellenereignisse – Request: ein Teilnehmer möchte einen Dienst veranlassen, etwas
zu tun– Indication: ein Teilnehmer soll über ein Ereignis informiert werden– Response: ein Teilnehmer möchte auf ein Ereignis reagieren– Confirmation: ein Teiln. soll über eine Anforderung informiert
werden
• Standarddienste der Ebenen 2-5– Datagramm-Übertragung (verbindungslose Datenübertragung)– Verbindungsorientierte Kommunikation
• Verbindungsaufbau• Verbindungsabbau• Übertragung von Nutzdaten
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
15
A 2x
Bsp.: Verbindungsaufbau in der Vermittlungsschicht
An
ford
eru
ng
[ re
qu
est
]B
estä
tig
un
g[
con
firm
ati
on
]
An
twort
[ re
sp
on
se ]
An
zeig
e[
ind
icati
on
]
Vermittlungs-schicht
Sicherungs-schicht
Bitüber-tragungs-
schicht
Request
Indication
Response
Confirm
Rechner ASchicht i
Rechner BSchicht i
Dienst-benutzer
DienstleisterSchicht i-1
Dienst-benutzer
Zeit
Weg
Der Ablauf einer Kommunikation lässt sich gut durch Sequenz-diagramme (vgl. GIS III, 7. Vor-lesung) darstellen.
Der Ablauf einer Kommunikation lässt sich gut durch Sequenz-diagramme (vgl. GIS III, 7. Vor-lesung) darstellen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
16
Protokolle
• Aufgaben einer Schicht müssen dezentral gelöst werden, da Instanzen räumlich verteilt und nur lose (über die darunter liegenden Schichten) miteinander gekoppelt sind.– Protokolle stellen Verhaltensvorschriften dar, wie die miteinander
kommunizierenden, aber autonom arbeitenden Instanzen die Aufgaben einer Schicht gemeinsam lösen können.
• Wichtige Protokollmechanismen– Zuteilung geteilter Medien– Fehlererkennung und –behebung, Ausnahmebehandlung– Längenanpassung / Zerlegung und Rekomposition– Flusskontrolle– Weiterleiten– Übertragungsleistungsanpassung
• Ausnahme- und Fehlerbehandlung machen in der Praxis den größten Teil aus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
17
• Protokollspezifikation mittels Zustandsübergangsdiagramm– Zustände beschreiben stabile Situationen innerhalb des Mediums
zwischen ausgelösten Reaktionen (Nachricht an höhere Schicht) und dem Eintreffen neuer Stimuli
– Zustandsübergang wird durch das Eintreffen eines Stimulus eingeleitet• bevor der neue Zustand erreicht wird, wird eine Reaktion
hervorgerufen• Neben Stimuli der Dienstschnittstelle müssen auch „von
außen“ hervorgerufene Spontanübergänge berücksichtigt werden– z.B. bei Verbindungstrennung oder Herunterfahren des
Rechners
• Weitere Spezifikationsmöglichkeiten– Petri-Netze– Protokollbeschreibungssprachen wie z.B. STL („Estelle“)
Protokollspezifikation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
18
Protokollkorrektheit
• Korrektheit bedeutet– Protokoll realisiert genau die für das Medium spezifizierte und über
die Dienstschnittstelle erreichbare Funktionalität• Korrektheit muss für jedes Protokoll nachgewiesen werden
– formaler Beweis ist möglich– Erfordert die Untersuchung aller global möglichen Zustände
• z.B. durch Aufbau eines Erreichbarkeitsgraphen• ist für komplexe Protokolle entsprechend aufwändig
• Typische Fehler– Verzögerungen: es existieren Schleifen, die endlos durchlaufen
werden, ohne dass Zieldienst-Ereignisse auftreten; es existieren aber auch andere Übergänge (mit Zieldienst-Ereignissen)
– Deadlocks: Medium erreicht einen Zustand ohne weitere Ausgänge– Toter Ereignistyp: ein Ereignistyp tritt im Erreichbarkeitsgraph nicht
auf– Toter Instanzenzustand: ein Zustand fehlt im Erreichbarkeitsgraph
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
19
Protokollspezifikation
... mittels Zustandsübergangsdiagramm
• am Beispiel des Verbindungsaufbaus
A 11x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
.... .... ....
19
A 11x
Ruhezustand
VerbindungIn Aufbau
VerbindungaufgebautConReq
ConInd
ConRes-ConCon-
ConRes+
ConCon+
ConReq
AboInd1
AboInd1AboInd2 „Höhere Gewalt“
„Höhere Gewalt“
AboInd1AboInd2
Rechner A Rechner B
Schicht i
Schnittstellen
zur Schicht x+1
Schnittstellen
zur Schicht x+1
Schnittstellen
zur Schicht i+1
Schnittstellen
zur Schicht i+1
Zustand
Zustand
StimulusStimulus
ReaktionReaktion
Connect Request Connect Confirmation -
Connect Confirmation +
Abort Indication 1Abort Indication 2
Connect Response +
Connect Response -
Connect Indication
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
20
Protokollablauf:
... Aufbau u. Abbruch einer Verbindung
A 10x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
20
A 10x
ConReq
Ruhezustand
VerbindungIn Aufbau
Verbindungaufgebaut
AboInd1AboInd2
AboInd1AboInd2
ConCon-ConCon+
AboInd1
ConInd
ConRes-
ConReq
ConRes+
„Höhere Gewalt“
„Höhere Gewalt“
.... .... ....
Rechner A Rechner B
Schicht i
Connect Confirmation -
Connect Confirmation +
Abort Indication 1
Connect Response +
Connect Response -
Connect Indication
VerbindungIn Aufbau
Ruhezustand
ConInd
Connect Indication
ConRes+
Connect Response +
ConCon+
Connect Confirmation +
Verbindungaufgebaut
VerbindungIn Aufbau
z.B.Netzwerkkabel unterbrochen„Höhere Gewalt“
Ruhezustand
Verbindungaufgebaut
Connect Request
ConReq
AboInd1AboInd2
Abort Indication 1Abort Indication 2