Funktionsweise des World Wide Web
... [Seminar "Verteilte Systeme"]
... [Inhaltsverzeichnis]
... [weiter] ...
Kommunikationstechniken
Wenn eine Verbindung zum Internet besteht und Daten zwischen zwei Rechnern
ausgetauscht werden sollen, geschieht dies, indem die Daten in einzelne
Datenpakete mit maximal 1500 Bytes Größe zerlegt werden. Jedes dieser
Datenpakete enthält einen Header mit Herkunftsadresse und Zieladresse sowie
zusätzlichen Metainformationen. Dies sind u.a. Paketlänge, Paketnummer und eine
Prüfsumme, die vom Sender sowie Empfänger jeweils neu berechnet wird.Nicht
enthalten im Paket sind jedoch Informationen über den Weg, den das Paket zur
Erreichung seines Zieles durch die verschiedenen Netze wählen soll.
Die Pakete werden alleine von den Routern der verschiedenen Netze über spezielle
Routingprotokolle (EGP und BGP) an ihr Ziel weitergeleitet.
Dabei können die versendeten Pakete durchaus auf unterschiedlichen Wegen durchs
Netz zum Empfänger gelangen. Ebenso können sie in unterschiedlicher Reihenfolge
ankommen oder unterwegs beschädigt werden oder verschwinden.
Die Aufgabe des Empfängers ist es daher, die empfangenen Pakete wieder in der
richtigen Reihenfolge zusammenzusetzen (z.B. zu einer Email) sowie fehlende oder
fehlerhafte Pakete erneut anzufordern.
Die Vorteile der Paketvermittlung sind der gleichberechtigte Zugang aller
Rechner zu einem Übertragungsmedium, da jeder Rechner immer nur kleine Pakete
versendet und nicht alle zu übertragenden Daten auf einmal. So ergeben sich
geringe Wartezeiten und die Möglichkeit einer schnellen Entdeckung von
Übertragungsfehlern dank der Aufteilung der Daten in kleine Blöcke.
Damit die Übertragung von verschiedensten Daten über unterschiedlichste Dienste
und Anwendungen über das Internet funktioniert, ist eine Vereinbarung einer
Logik für den Datenaustausch zwischen den beteiligten Rechnern erforderlich.
Dies erfolgt durch verbindungslose und verbindungsorientierte Protokolle.
Verbindungslose Protokolle
Bei verbindungslosen Protokollen werden die damit versandten Pakete so
schnell wie möglich versandt. Dafür ist kein vorhergehender Verbindungsaufbau
erforderlich. Geht beim Versenden ein Paket verloren oder wird beschädigt,
erhält der Sender keine Rückmeldung, dass sein Paket nicht beim Empfänger oder
nur fehlerhaft dort angekommen ist. Diese Protokollart wird zum Beispiel für das
Auflösen symbolischer Namen wie www.fh-wedel.de in die IP 213.39.232.194
verwendet.
Verbindungsorientierte Protokolle
Allen gemeinsam ist ihr grundlegender Aufbau. Zuerst erfolgt immer eine Art
Kommunikation zwischen beiden Geräten, in der erforderliche Kommunikations- und
Übertragungsparameter festgelegt werden. Anschließend erfolgt der eigentliche
Verbindungsaufbau, danach die Datenübertragung und zum Abschluss der
Verbindungsabbau. Ein typisches Beispiel für ein verbindungsorientiertes
Protokoll ist TCP (Transmission Control Protocol).
Um den Datenverkehr zwischen zwei kommunizierenden Rechnern über verschiedene
Netze zu ermöglichen, sind zusätzlich Protokolle für die Kommunikation zwischen
den Servern dieser Netze erforderlich. Hierfür werden zwei verschiedene Gateway
Protokolle verwendet, die alle eine Routing-Tabelle mit ähnlichem Aufbau
verwenden. Sie enthält eine Liste aller bekannten Netze und wie diese erreicht
werden können. Also alle Adressen, die über diesen Router erreicht werden
können. Zusätzlich verfügen sie über eine sogenannte "Cost Metric", die die
Bewertung der einzelnen alternativen Pfade nach Kapazität und Auslastung
ermöglicht.
Exterior Gateway Protocol (EGP)
Es erfolgt alle 120-480 Sekunden eine Abfrage der Nachbarn nach einer
Veränderung ihrer Routing-Tabelle. Liegt eine Änderung vor, wird die gesamte
Routingtabelle per Broadcast ausgetauscht. Der Nachteil dieses Verfahrens ist,
dass unnötig viel Netzlast erzeugt wird. Dieses Problem wird bei BGP behoben.
Border Gateway Protocol (BGP)
Bei diesem Protokoll wird bei einer Änderung der Routingtabelle nur die
Änderung dieser an die Nachbarn verschickt. Dies verringert den Netzwerktraffic
und beschleunigt den Austausch.
Gegenwärtig findet deshalb ein Übergang von EGP und BGP statt.
Im schlimmsten Fall können jedoch durch einen unvollständigen oder zu seltenen
Austausch der Routingtabellen Differenzen von bis zu 20 KB zwischen ihnen
entstehen. Dies kann dazu führen, dass bis zu 5% des Netzes, das über den
Provider mit einer nicht aktuellen Routingtabelle geroutet wird, nicht mehr
erreichbar ist. Dieses Phänomen nennt sich "Dark Address Space".
Das dem normalen Anwender wohl vertrauteste Protokoll ist das
Übertragungsprotokoll http für das Abrufen von Hypertext-Dokumenten im Web. Es
baut auf dem Daten-Transferprotokoll TCP/IP und überträgt angeforderte
HTML-Seiten zeichenorientiert auf den Rechner des Anfragenden. Dafür werden
Anforderungsbefehle wie GET sowie zusätzliche Übertragungsparameter und
Rückgabewerte für die Übermittlung einer angefragten Seite verwendet. Typische
Übertragungsparameter sind beispielsweise der Browsertyp und die http-Versionnummer, nach der die Übertragung erfolgen soll. Als Rückgabewert
wird dann bei erfolgreicher Übertragung der Wert 200 und bei Fehlern "404 File
not found" zurückgegeben.
Die für die Abfrage einer Seite verwendete Verbindung zwischen dem Rechner des
Benutzers und dem Server, auf dem die Website liegt, ist keine dauerhafte
Verbindung. Sie wird für jede Anfrage neu aufgebaut. Deshalb wird das
http-Protokoll als zustandsloses Protokoll bezeichnet.
Um eine Website anzufordern, wird eine spezielle Schreibweise in Form einer URL
(Uniform Resource Locator) verwendet. Zusätzlich gibt es noch die URI (Uniform
Resource Identifier), doch laut selfhtml sind URI und URL bei typischen Adressen
faktisch das Gleiche, weshalb hier nur auf den Aufbau von URLs eingegangen
werden soll.
Eine URL ist immer nach folgendem Schema aufgebaut:
schema ":" "//" [user [":"password] "@"] host [":" port] "/" url-path
Das Schema steht für das verwendete Protokoll z.B. http, dann können
verschiedene Angaben zur Authentifizierung des Benutzers beim Host angegeben
werden, gefolgt von dem eigentlichen Hostnamen, einem optionalen Port und
eventuell einem extra Pfad auf eine spezielle Seite auf dem Host. In der Praxis
wird meist nur das Schema, der Hostname und ein spezieller Pfad angegeben, um
erfolgreich auf eine Website zugreifen zu können.
Dies wäre beispielsweise mit der URL http://www.fh-wedel.de/index.html möglich.
Das Schema bzw. das verwendete Protokoll ist hier http, der Hostname ist
www.fh-wedel.de und der Pfad ist index.html.
Zusätzlich zu URL und URI ist auch noch URNs (Uniform Resource Name) in der
Diskussion. Sie sollten eine dauerhafte Adressierung von Dateien ähnlich wie
ISBN-Nummern für Bücher realisieren. Hier wird dann ein zusätzlicher Service
UNS (Universal Naming Service) benötigt, der ähnlich wie beim DNS (Domain Name
Service), eine Auflösung eines symbolischen Namens zu einer festen Adresse
vornimmt.
Die Hypertext Markup Language (HTML) ist eine standardisierte
Auszeichnungssprache, basierend auf der recht komplexen und umfangreichen
Sprache SGML(Standard Generalized Markup Language). HTML selbst ist jedoch eine
einfache Tag-Sprache für die Anzeige von Text in einem Web-Browser, die sich
aufgrund ihrer Einfachheit und Leistungsfähigkeit gegenüber ihren Vorgängern wie
Gopher, WAIS und Hytelnet durchgesetzt hat.
In der aktuellen Version 4.01 beinhaltet es gerade mal 91 Tags und 120
Attribute, weshalb sich bereits mit wenigen Tags und Attributen einfache
HTML-Dokumente erstellen lassen. Dies macht den Umgang mit HTML und sein
Erlernen recht einfach. Hinzu kommt, dass der HTML-Code aufgrund seiner
Plattformunabhängigkeit in jedem beliebigen Texteditor auf jedem beliebigen
Betriebssystem erstellt werden kann. Ebenso ist es möglich, den erstellten HTML
Code in einem beliebigen Webbrowser auf einem beliebigen Betriebssystem wieder
anzuzeigen, solange der Code standardkonform geschrieben wurde.
Der HTML Standard wird vom w3c (World Wide Web Consortium) zusammen mit anderen
grundlegenden Normen und Spezifikationen, die das www betreffen, verwaltet.
... [Seminar "Verteilte Systeme"]
... [Inhaltsverzeichnis]
... [weiter] ...