Lernen aus dem Netz

Grundlagen der Vernetzung

Wissen | Hintergrund

Erste Erfahrungen an der Hotline und bei Seminaren haben gezeigt, daß viele Lehrer noch große Verständnisprobleme mit dem Konzept des c't/ODS-Kommunikationsservers haben und daher nicht abschätzen können, ob sich die Software für die Anbindung ihrer Schule ans Internet eignet. Ursache dafür sind fehlende Kenntnisse der zugrundeliegenden Netztechnik. Obwohl wir auf diverse c't-Veröffentlichungen zu diesem Thema verweisen können, wollen wir hier nochmals auf Einstiegsebene die Mechanismen beschreiben, auf denen der Anschluß eines Schulnetzes ans Internet basiert.

Das Internet ist, wie der Name schon sagt, ein Netz von Netzen.Lokale Netze (LANs) lassen sich deshalb einfach und effizient mit dem Internet verbinden. Etwas kniffliger wird die Angelegenheit, wenn der Anschluß über eine Wählleitung erfolgen muß, wenn Effizienz- und Sicherheitsaspekte eine große Rolle spielen und wenn ein möglichst preiswerter Zugang genutzt werden soll. Solche Zugänge werden nämlich für Privatpersonen angeboten, die kein LAN, sondern nur einen einzelnen PC anschließen wollen.

Dann gilt es, aus einem typischen Einzelplatz- und Einzelbenutzeranschluß einen LAN- und Mehrbenutzeranschluß zu machen. Vor diesem Problem stehen nicht nur viele der Schulen, die gerade über die Initiative `Schulen ans Netz´ ins Internet gehen wollen, auch Privathaushalte mit mehreren Rechnern und kleine Büros könnten mehr aus einem Anschluß bei T-Online oder WIN-Shuttle machen und darüber ihr LAN ans Internet anschließen.

Das Offene Deutsche Schulnetz und die c't haben dafür eine Lösung entwickelt: den c't/ODS-Kommunikationserver, der allen interessierten Schulen kostenlos zur Verfügung gestellt wird. In diesem Artikel beschreibe ich die technischen Konzepte eines Kommunikatiosservers im Internet - nichts Neues für alte Internet-Hasen: Die üblichen Internet-Dienste werden zusammengefaßt und für die Gegebenheiten an der Schule eingestellt.

Vernetzung hat nur einen Grund: Programme auf verschiedenen Rechnern sollen miteinaner `reden´, also Daten austauschen. Denn manche Rechner verfügen über viel freien Plattenspeicher, einen Drucker oder einen Datenbestand, den auch Anwender an anderen Systemen nutzen sollen. Jede einzelne dieser Dienstleistungen stellt ein eigenes Programm, ein `Server´ im Netz zur Verfügung. So gibt es beispielsweise Dateiserver, Druckserver oder WWW-Server.

Üblicherweise bezeichnet man einen Rechner, auf dem solche Server-Programme laufen, ebenfalls als Server. Er benötigt ein entsprechendes Betriebssystem, das unter anderem mehrere Serverprogramme gleichzeitig ausführen und die Daten der verschiedenen Benutzer vor unerlaubten Zugriffen schützen muß. Unix verfügt über solche Fähigkeiten; der c't/ODS-Kommunikationsserver verwendet eine Sonderform davon: Linux.

Der `Kunde´, der die Dienstleistung eines Servers nutzen will, ist ebenfalls eine Software und heißt `Client´. Die Sprache, in der Client und Server miteinander reden, muß genormt sein; eine solche genormte Sprache heißt Protokoll. Beim Abruf von WWW-Seiten ist es das Hypertext Transfer Protocol (HTTP), beim Zustellen von Briefen (EMail) über das Netz das Simple Mail Transfer Protocol (SMTP) - so hat jede Dienstleistung ihr eigenes Protokoll mit seiner kryptischen Abkürzung.

Losgelöst von seinen physischen Komponenten (Computern, Telefonleitungen etc.) ist das Internet eine Sammlung von Protokollen für Anwendungen, die dafür sorgt, daß netzweit Server und Clients miteinander kommunizieren können.

Um nun die Konzepte eines Kommunikationsservers zu verstehen, muß man sich die Arbeitsweise des Netzes etwas genauer anschauen. Die Verbindung zu einem Internet-Provider per Modem ist eine recht einfache Angelegenheit: der lokale Rechner erreicht über die Telefonleitung genau einen anderen Computer. Wenn der Rechner jedoch in ein lokales Netz eingebunden ist, kann es sich um Hunderte von anderen Computern handeln, die über dieselbe Leitung verbunden sind. Angenommen der Netscape Navigator und der WWW-Server befinden sich gemeinsam im selben LAN. Drei Probleme sind dann zu lösen:

  • Netscape muß dem Netz irgendwie sagen, welches System angesprochen werden soll. Jede Ethernet-Karte bekommt vom Hersteller eine garantiert eindeutige Nummer eingebrannt, die sie im Netz eindeutig identifiziert. Die Adresse `www.heise.de´ muß also in die Ethernet-Kartennummer des WWW-Servers umgewandelt werden.
  • Auf dem Zielrechner können mehrere Serverprogramme auf Anfragen warten. Der Rechner www.heise.de muß daher erfahren, daß diese Anfrage dem WWW-Server gilt und nicht etwa dem EMail-Server.
  • Bestünde im LAN die Möglichkeit, beliebig große Datenmengen in einem Rutsch zu versenden, dann würde die Übertragung einer großen Datei über längere Zeit hinweg den Datenverkehr zwischen den anderen Rechnern blockieren. Daher müssen die Daten vor dem Versand in kleine Päckchen zerlegt werden. In Ethernet-Netzen dürfen diese sogenannten Frames maximal 64 KBit groß sein. Hinzu kommt, daß durch Defekte (z. B. Wackelkontakte) oder elektromagnetische Strahlung einzelne Päckchen verfälscht werden können.

Das letztgenannte Problem lösen Softwaremodule, die an beiden Enden der Verbindung die Übertragung der Daten kontrollieren. Sie zerlegen den Datenstrom in Päckchen von maximal 1500 Byte Länge und fordern fehlende oder verstümmelte Pakete erneut an. Zur Verständigung benutzen die Module ein Protokoll namens Transmission Control Protocol (TCP).

Die TCP/IP-Vernetzung erfolgt über verschiedene Schichten, deren einzelne Module aufeinander aufbauen.

Die TCP-Module kümmern sich auch gleich noch um das Problem, daß auf einem Rechner mehrere Serverprogramme adressiert werden müssen. Hierzu erhält jedes Programm eine Nummer, die den sogenannten `Port´ bestimmt, über den es erreichbar ist. Alle Standardserver besitzen eine festgelegte Portnummer, bei WWW handelt es sich dabei um die 80. Daneben kann man jedoch auch weitere WWW-Server starten, und ihnen eine andere Portnummer zuweisen. Dann sähe die WWW-Adresse (URL, Uniform Resource Locator) etwa so aus: `http://www.heise.de:733/ab. html´. Mit dieser Angabe versehen, fordert der Netscape Navigator vom WWW-Server, der auf dem Rechner `www.heise.de´ über Port 733 erreichbar ist, die WWW-Seite mit Namen `ab.html´ an.

In einem Ethernet-LAN gibt es zwei Möglichkeiten, Daten an ein anderes System zu senden: Entweder man schickt ein Paket an alle Rechner (wie eine Rundfunksendung, genannt Broadcast) oder man kennt die Ethernet-Kartennummer des Empfängers und kann diesen Computer dann gezielt ansprechen.

In einem Ethernet-LAN sendet die Arbeitsstation `Josef´ daher zunächst ein Broadcast-Paket ins Netz, das etwa die Bedeutung hat: `Wer ist der Rechner mit dem Namen Arktur?´ Arktur antwortet in der Form: `Ich, meine Ethernet-Kartennummer lautet ...´ Josef kann nun Arktur unter dieser Nummer erreichen und merkt sie sich für die weitere Kommunikation.

Das muß in einem Ethernet-LAN prinzipiell immer so ablaufen, doch im Internet hilft dieser Mechansimus nicht weiter. Denn dort weiß Josef nicht, ob Arktur im selben LAN angeschlossen ist; er weiß noch nicht einmal, ob das Zielsystem überhaupt Ethernet benutzt. Ein Broadcast an all die Millionen von Rechnern, die weltweit am Internet angeschlossen sind, würde Tage dauern, und mit einer Ethernet-Kartennummer als Adresse ist auch nicht gedient.

Das Internet kann dieses Problem nur lösen, indem eigene Adressen vergeben werden, die zunächst nichts mit den Ethernet-Kartennummern zu tun haben. Diese Adressen werden von Softwaremodulen verwaltet, die das Internet-Protocol (IP) benutzen, um miteinander zu kommunizieren. Die Adressen heißen folglich IP-Adressen, sind 32 Bit lang und werden in Form von vier durch Punkte getrennte Dezimalzahlen angegeben.

Aus der Adresse `www.heise.de´ wird also in zwei Schritten eine Ethernet-Kartennummer:

  • Die Anwendungssoftware fragt über eine Hilfsfunktion die TCP/IP-Module nach der IP-Nummer von www.heise.de und erhält die IP-Adresse 193.141.40.129. Diese Information kann aus einer einfachen Liste (in einer lokalen Datei) stammen oder aus der weltweit verteilten Datenbank mit IP-Adressen, die ebenfalls über ein spezielles Protokoll (Domain Name Service, DNS) abgefragt wird.
  • Falls sich diese IP-Adresse im eigenen LAN befindet, fragt ein anderes Softwaremodul über Broadcast nach der zu dieser Adresse gehörenden Ethernet-Kartennummer, merkt sie sich und stellt das Paket zu.

Im gleichen Ethernet-LAN können jedoch mehrere Netzprotokolle verwendet werden. Geeignete Ethernet-Module (Kartentreiber) versehen die verschiedenen Ethernet-Päckchen (Frames) daher mit Kennungen und stellen sie dem richtigen Netzmodul (IP, LAN-Manager, Apple-Talk etc.) zu.

Da das Internet ein Netz aus Netzen ist, muß es Maschinen geben, die gleichzeitg in mehreren Netzen eingebunden sind und Daten von einem Netz in ein anderes weiterleiten können. Solche Maschinen heißen Router. Die Abbildung unten zeigt vier Computer, die in zwei LANs miteinander vernetzt sind. Zwischen den beiden LANs besteht eine ISDN-Verbindung, die wie ein kleines Netz aus zwei Computern behandelt wird. Insgesamt sind also drei Netze zu sehen.

Das Internet ist ein Netz von Netzen. Daher muß es Maschinen geben, die gleichzeitig an zwei Netze angeschlossen sind und Daten vom einen ins andere übertragen: die Router.

Jede IP-Adresse besteht aus einem Teil, der für das Netz steht und für alle Computer in einem LAN gleich ist (also der Netzadresse) sowie einem individuellen Teil für jeden Rechner. Die vier Bytes einer IP-Adresse können dabei unterschiedlich aufgeteilt sein. Der c't/ODS-Kommunikationsserver verwaltet ein sogenanntes `Class-C´-Netz, bei dem die ersten drei Bytes zur Netzadresse und das letzte Byte zu den Rechneradressen gehört.

In der Abbildung oben hat der Rechner `Josef´ die IP-Nummer 192.168.0.21, bestehend aus der Netznummer 192.168.0 und der Rechnernummer 21. Arktur befindet sich in zwei Netzen und hat folglich auch zwei IP-Nummern: die 192.168.0.1 für das LAN und die 194.25.2.12 für die Verbindung mit der Außenwelt.

Josefs IP-Modul kann anhand der IP-Nummer des Empfängers feststellen, ob dieser sich im eigenen LAN befindet. Es muß dazu nur die IP-Nummer des Empfängers mit der Nummer des LAN vergleichen: Sind die entsprechenden Teile beider Nummern gleich, kann das Datenpaket direkt zugestellt werden. Anderfalls wird es an einen Router geschickt (in diesem Fall an Arktur).

Doch woher weiß Josefs IP-Modul, welcher Teil zur Netznummer gehört? Dies muß man beim Einrichten der TCP/IP-Software angegeben. Dazu definiert man eine sogenannte Netzmaske, die in Class-C-Netzen die Form 255.255.255.0 hat. Verknüpft man diese Zahl durch eine logische Und-Operation mit einer IP-Adresse, so wird die Rechneradresse ausgeblendet und nur die Netzadresse bleibt übrig.

Und woher weiß Josefs IP-Modul, daß es alle Pakete mit fremden Netzadressen an Arktur schicken muß? Dies ist ein weiterer Parameter, den man beim Einrichten der TCP/IP-Software angegeben muß: der Default-Router. Etwas aufwendiger sind die Routing-Einträge des Rechners Arktur: Er weiß, daß alle mit 192.168.0 beginnenden IP-Nummern über seinen Ethernet-Adapter erreichbar sind. Ein weiterer Eintrag sagt ihm, daß die gesamte übrige Welt hinter dem Router 194.25.2.1 liegt, den er über seinen ISDN-Adapter erreicht. Dieser Router kennt wiederum das LAN, an dem er angschlossen ist, und einen weiteren Router (etwa in der Zentrale des Providers), an den er alle anderen Pakete mit fremden IP-Netzadressen weiterleitet. Auf diese Weise hüpfen die IP-Pakete von einem Router zum nächsten, bis sie schließlich das Zielsystem erreicht haben.

Die Routing-Tabellen werden nur bei kleinen Netzen fest eingestellt. Große Router bei Internet-Anbietern mit vielen Nachbar-Routern (hochvernetzte Systeme) tauschen Routing-Informationen untereinander aus und füllen ihre Tabellen automatisch. Router können spezielle Maschinen sein, auf denen keine Anwendungen laufen, oder aber Multitasking-Rechner (üblicherweise Unix- oder NT-Maschinen), auf denen beispielsweise Serverprogramme laufen können.

Ich habe jetzt in mehr als 1600 Worten beschrieben, daß es eigentlich ganz einfach ist, ein LAN ins Internet einzubinden. Man muß es nur mit einem Router an ein bereits vernetztes Netz anschließen. Leider hat dieses Konzept einen entscheidenden Nachteil für Schulen, Privatleute oder kleine Büros: Es funktioniert nur richtig, wenn die Netze ständig miteinander verbunden sind. Das ist im Augenblick aber hierzulande noch unrealistisch - weil zu teuer!

Der Befehl `traceroute´ (unter Windows 95: tracert) zeigt, wie IP-Pakete von Router zu Router ihren Weg durchs Internet finden.

Außerdem tragen die Internet-Provider bei einem einfachen Einzelzugang nur ein System in ihre Routing-Tabellen ein, den Kommunikationsserver Arktur. Alle anderen Rechner aus dem Schul-, Privat- oder Büronetz 192.168.0 jedoch nicht.

Es nützt in einer solchen Umgebung überhaupt nichts, wenn Josef in seiner Routing-Tabelle eingetragen hat, daß hinter Arktur der Rest der Welt zu erreichen ist. Der Rest der Welt weiß nämlich nicht, daß Josef hinter Arktur sitzt. Josefs IP-Pakete verlassen dann zwar das LAN und wandern über Arktur zu ihrem Ziel. Da das Netz 192.168.0 außen jedoch unbekannt ist, können die Rückantworten nicht korrekt zugestellt werden.

Ein reiner Router ist in unserem Fall also zu wenig; der c't/ODS-Kommunikationsserver Arktur muß schlauer sein. Dies ist er in der Tat. So schickt er als `Proxy´ WWW-Anfragen aus dem LAN stellvertretend unter der vom Provider bereitgestellten IP-Adresse ins Internet und nimmt die Antwort in Empfang. Die empfangenen Daten leitet er nicht nur an den Rechner im LAN weiter, der die Anfrage gestartet hat, sondern legt sie zudem auf seiner Festplatte ab. Fordert daraufhin ein weiterer Rechner im LAN dieselbe WWW-Seite an, so muß Arktur sie nicht erneut aus dem Internet holen, sondern kann sie blitzschnell von seiner Platte laden.

EMail und News sind weitere Server, die auf Arktur laufen. Sie benötigen keine Online-Verbindung zum Internet, sondern können über ein spezielles Protokoll namens UUCP (Unix to Unix Copy) gelegentlich Daten mit einem Rechner im Internet austauschen. Diese Konzepte wurden bereits in [3] ausführlich dargestellt. (ad)

[1 Jürgen Kuri, Wenn der Postmann zweimal klingelt, Namen und Adressen im TCP/IP-Netzwerk und im Internet, c't 12/96, S. 334

[2] Jürgen Kuri, Böhmische Dörfer, Vom Kabel zum Netzwerk, c't 1/97, S. 254

[3] Dr. Karl Sarnow, Axel Kossel, Lernen aus dem Netz, Internet-Zugang für Schulen, [../9612192/ c't 12/96, S. 192 ]

Anzeige