Funktionsweise des World Wide Web


... [Seminar "Verteilte Systeme"] ... [Inhaltsverzeichnis] ... [weiter] ...

Kommunikationstechniken


Paketvermittlung

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.


Protokollarten

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).


Routing-Protokolle

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 http-Protokoll

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.
 

Der Erfolg von HTML

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] ...