Das Internet über Einwählen

Beim Einwählen übers Internet braucht es am PC ein Modem oder einen ISDN-Adapter. Zu Beginn der Kommunikation hat der PC noch keine IP-Adresse, die bekanntlich absolut zwingend notwendig ist und erst noch eindeutig auf der ganzen Welt sein muss.

Der PC wählt also einen POP (Point Of Presence) an und bittet ihn um eine IP-Adresse, die der POP ihm auch gibt, wenn er in seinem limitierten Vorrat eine momentan unbenutzte Nummer findet.

Diese IP-Nummer-Zuweisung wird natürlich mit Zeitstempel vom Provider protokolliert. Daher ist jeder Internet-Teilnehmer mindestens bis auf den einwählenden PC hinunter verfolgbar. Die Strafverfolgungsbehörden können im konkreten Fall Einsicht in dieses Protokoll nehmen.

Der POP wird dem PC dank des DHCP-Protokolles (Dynamic Host Configuration Protocol) mit der IP-Nummer auch gleich die IP-Nummern der DNS-Servers (Domain Name Service), des Default-Gateways und eventuell andere nützliche Daten mitteilen. DNS ist die öffenliche Telefonauskunft. Sie übersetzt Anfragen wie www.eunet.ch nach 192.16.202.11 und umgekehrt.


Schienen, Ports und Sockets

Bei den technischen Details hilft es meines Erachtens ungemein, wenn man sich das ganze Internet einfach als grosses Eisenbahn-Schienennetz vorstellt. Über dieses Netz fahren Züge von hier nach da, kreuz und quer. Jeder Bahnhof ist dabei ein Computer mit einer IP-Adresse.

Wie man bei Zügen auch sagt, ein Zug von Zürich nach Genf fahre über Baden, Olten, Fribourg, Lausanne, so sagt man bei IP-Verkehr, ein Datenpaket reist über verschiedene Hosts zum Ziel-PC. Im IP-Netz sind diese Hosts die Computer, die die Weichen stellen. So einen Computer nennt man auf der Netzwerk-Ebene Router.

Wie es bei den Zügen auch verschiedene Strecken vom Start zum Ziel gibt, kann es auch im Internet verschiedene Routen von einem PC zum anderen geben. Ein Router entscheidet jeweils aufgrund von verschiedenen Angaben, über welche Teilstrecke er ein ankommendes Paket weiterschickt auf seinem Weg zum Ziel-PC. Eine Möglichkeit, dies zu entscheiden, ist das Wissen des Routers um die Anzahl Bahnhöfe (Hops) oder die Geschwindigkeit der Leitung bis zum Ziel-PC. Kennt ein Router also mehrere Wege zum Ziel-PC, so nimmt er wohl diejenige Strecke, die mit den wenigsten Zwischenbahnhöfen auskommt oder die am schnellsten ist.

Wie bei den Zügen, so gibt es auch im Internet verschiedene Wagenarten: 1.-& 2.Klasse Personenwagen, Speisewagen, Schlafwagen, Gepäckwagen. Wenn Du in einen Wagen einsteigst, so wählst Du denjenigen, der Deiner Reiseart entspricht. Wenn Du also ein essender Reisender bist, dann wählst Du den Speisewagen.

Wenn Dich nun auf dem Zielbahnhof jemand erwartet, so weiss er - weil Du es ihm gesagt hast -, Du bist ein essender Passagier, also wartet er auf dem Zielbahnhof an der Stelle auf Dich, wo der Speisewagen anhält. Wenn Du in einem anderen Wagen ankommst, wird er Dich verpassen.

Im Internet gibt es dieses Konzept auch. Damit sich ein Web-Browser und ein Web-Server miteinander verständigen können und nichts verpassen, wissen sie von sich, dass sie bei jedem Zug immer auf den Wagen mit der Nummer 80 achten. Diese Nummer nennt man Port - oder auch Service Access Point. Darin befinden sich Daten für sie. Wenn sie sich einig wären, welchen anderen Wagen sie zusätzlich oder alternativ beobachten sollen, so könnten sich Web-Browser und -Server auch über einen anderen Port unterhalten.

Ähnliche Konventionen existieren für alle bekannten Internet-Dienste wie Web, FTP, Telnet, DNS, Mail, News, IRC etc. Alle bedienen sich einer festgelegten Portnummerierung.

Dies bedeutet aber auch, dass auf demselben Computer eigentlich mehrere Web-Server tummeln können, es muss ja jeder nur einen eigenen Port benutzen. Ein Computer mit seiner einzigen IP-Adresse kann auch verschiedene Dienste anbieten, zum Beispiel Web, FTP und Telnet.

Im Wesentlichen ist ein IP-Packet immer so aufgebaut. Die Nutzdaten werden immer in einem bestimmten Format verpackt, es ist eines der Protokolle der über der IP-Ebenen liegenden Transportebene: UDP (User Datagramm Protocol), TCP (Transmission Control Protocol) oder ICMP (Internet Control Message Protocol). Es beinhaltet aber noch mehr. Diese zahlreichen Details können bei Bedarf nachgelesen werden.

Der Begriff Socket bezeichnet die Kombination einer IP-Adresse mit einem Port. Ein Computer kann also viele, aber immer nur einmal vorkommende Sockets haben.


Das OSI-Layer-Modell

Das OSI-Layer-Modell (Open System Interconnetion) soll etwas ganz Einfaches lösen: Es soll dokumentieren helfen, welche Arbeiten für die Kommunikation zwischen Geräten auf einem bestimmten Layer ausgeführt werden und wie die funktionale oder logistische Abgrenzung von den anderen Layern definiert wird.

Zum Verständnis des OSI-Layer-Modells lässt sich die alltägliche Erfahrung der normalen Post heranziehen. Sämtliche dort seit Jahren gelösten, logistischen Probleme, Grob- bis Feinverteilung, finden sich hier im OSI-Layer-Modell wieder.

Die auf einer anderen aufbauenden Dienstleistung als Grundidee charakterisiert das OSI-Layer-Modell. Auf dem untersten Layer 1 gibt es die Funktion der physikalischen Verbindung zwischen den Geräten, das Kabel, die Funkstrecke, der Laser, was auch immer.

Auf allen weiteren Layern 2-7 gibt es keine physischen Verbindungen mehr, sondern nur noch konzeptionelle, logistische. Je höher die Layer-Nummer, desto abstrakter wird die Sicht auf die Kommunikation. Auf der untersten Ebene wird bestimmt, wie die einzelnen Bits wie angeordnet mit welchem Timing über das Medium geschickt werden, auf der obersten Ebene geht es darum, wie der Programmierer die Kommunikationsfähigkeit benutzt. Dazwischen sind die funktional unterscheidbaren, übrigen Layers. Im Internet interessieren uns vor allem die Layers 3 und 4.

Der Layer 3 nennt sich Netzwerklayer. Auf ihm ist die Sicht auf die Kommunikation schon so, dass man sicher sein kann, dass die Kommunikation zwischen zwei Geräten auf Layer 2 und darunter funktioniert. So befasst sich der Layer 3 nur noch mit der Adressierung von Geräten, das Auffinden derselben, das Lenken von Daten von einem Gerät zum anderen.

Der Layer 4 nennt sich Transportlayer. Er regelt das rechtzeitige, unversehrt und korrekt geordnete Ankommen der IP-Pakete beim Empfänger. Die einzelnen IP-Pakete einer grossen Sendung (grosses E-Mail etc.) können ja durchaus verschiedene Wege zum Ziel nehmen, die erst noch verschieden lange dauern. Beim Empfangsbahnhof müssen die einzelnen Wagen einfach wieder in die richtige Reihenfolge gebracht werden.


Wie die Post

Auf Layer 1 (Physical Layer) ist es das Beschreiben eines Blattes, das Einwerfen-Gehen eines Briefes, das Ausliefern eines Briefes durch den Briefträger. Dies ist der einzige Vorgang, wo wir als Kommunikationspartner mit dem physikalischen Medium, dem Briefkasten oder dem Pöstler, in Berührung kommen.

Auf Layer 2 (Link Layer) ist es das Prüfen der Lesbarkeit der Zieladresse, des intakten Birefumschlages auf der Post. Fehlerhafte Verpackungen sollten hier geflickt werden.

Auf Layer 3 (Network Layer) ist das Auffinden der postalischen Zieladresse die Aufgabe. Wie finde und leite ich einen Brief von der Postleitzahl 8805 nach 1702? Wenn der Brief abgeschickt ist, kann es auch passieren, dass er irgendwo auf einer Poststelle (Host auf Layer 3) liegenbleibt - kommt ja wirklich vor.

Auf Layer 4 (Transport Layer) ist es die Aufgabe, einen Brief eingeschrieben verschicken zu können. Das Medium garantiert mir, dass der Brief in korrekter Form ankommt, dass eventuelle Teilsendungen in der richtigen Reihenfolge ankommen, dass der Brief nicht irgendwo liegenbleibt, dass er also auch in einer definierten Zeit ankommt.

Auf Layer 5 (Session Layer) ist es das Handhaben der Kommunikation: Werden Briefe immer im Ping-Pong-Verfahren ausgetauscht, also einer schickt einen Brief, muss dann auf die Beantwortung warten, bevor er den nächsten Brief senden kann. Oder dürfen Briefe jederzeit ausgetauscht werden, riskierend, dass man Fragen ein zweites Mal stellt, die in der Antwort auf den ersten Brief schon unterwegs, aber halt noch nicht angekommen sind.

Auf Layer 6 (Presentation Layer) geht es darum, dass ein Brief beispielsweise in lateinischen Buchstaben in der Sprache englisch übermittelt wird. So regelt dieser Layer, dass beide Seiten erstens die Kodierung kennen (Zeichensatz, Alphabet) und zweitens die Sprache, in der der Briefinhalt verfasst ist, aushandeln und gegenbenfalls in eine Gemeinsame übersetzen können.

Auf Layer 7 (Application Layer) geht es um die Anwendung, um das Wie des Brief-Erzeugens: Per Handschrift, oder per Schreibmaschine oder per Computer. Hier ist die Absicht der Übermittlung des Briefes natürlich immer noch präsent, aber die ganze Aufgabe ist schon sehr abstrakt: Man weiss, dass der Brief geschrieben und dass er auch korrekt und für den anderen les- und verstehbar übermittelt werden kann. Man weiss, dass er ankommen wird, oder dass man wenigsten eine Unzustellbarkeitsmeldung bekommt.

Jeder Layer benutzt seine eigenen Regeln und Adressierungschemen. Das sind die Protokolle mit ihren Adressierungen. Man kann eigentlich alle Layers als Ebenen zeichnen. Das ergibt dann folgendes Bild, das mit den Ebenen suggeriert, dass alle Geräte auf der entsprechenden Ebene mit anderen kommunizieren können.

In Theorie kann man die Implementation eines Layers austauschen, ohne dass das Funktionieren der Layers darunter oder darüber beeinträchtigt ist. Bei den Netzwerkkartentreibern funktioniert das effektiv auch.

Die Netzwerkebene ist für das Internet die zentrale. Sie beinhaltet die IP-Protokollfamilie, die Namen wie ICMP, IGMP, ARP, RARP, DNS, RIP, UDP und TCP haben, wobei TCP in die den Layer 4 hinaufragt und ARP und RARP in den Layer 2 hinuntersteigen.

Im Internet gibt es selten einzelne Programme für die Jobs der Layers 5 und 6. Die Browser übernehmen diese Aufgaben teilweise selbst. Gerade für Layer 6 gibt es in HTML Mittel, das Zeichensatz-Problem zu lösen. Man kann also sagen, dass ein Internet Browser die Layers 5 bis 7 umfasst.


Vermittlungsgeräte

Nicht jeder Host hat selbst eine Verbindung zu jedem beliebigen anderen Host im Internet oder kann eine aufbauen. Deshalb gibt es in Netzwerken immer eine Maschine, die es können muss. Ohne sie geht keine Verbindung über das eigene Netzwerk hinaus.

Diese Maschine auf Layer 3 wird Default Gateway genannt. Weil sie auf Layer 3 arbeitet, ist es ein Router.

Ein Router vermittelt auf dem Network-Layer. Es ist ihm eigentlich egal, welche Medien (Layers 2 und 1) benutzt werden. Dafür muss das Netzwerkprotokoll auf beiden Seiten gleich sein. Weil in realen Netzwerken früher oft mehrere Protokolle verwendet wurden, entwickelte die Firma Novell bald sogenannte Multi-Protocol-Router (MPR), die die damals wichtigen Netzwerkprotokolle IP, IPX, AppleTalk, DECnet, Vines etc. routen konnten. Heutzutage sind Router meistens immer noch MPRs. Routers übertragen niemals Broadcast-Pakete (spezielle IP-Adressen, die bedeuten, dass alle Stationen im Netzwerk hinhören sollen). Deshalb sagt man, ein Router begrenzt eine Broadcast Domain.

Eine Bridge vermittelt auf dem Link-Layer. Ihr ist es egal, welche Protokolle auf der Netzwerkebene laufen, ihr Adressierungsschema ist das des Layers 2. Dafür muss das physikalische Medium auf allen Seiten der Bridge gleich sein - genauer gesagt: Es muss die Medium Access Control (MAC) Methode gleich sein, also Ethernet, Tokenring, StarLAN, ArcNet, HDLC, ISDN etc. Ob das Ethernet auf Layer 1 über Kupfer, Glasfaser oder Funk übertragen wird, ist der Bridge egal. Eine Bridge kann anhand der MAC-Adressen herausfinden, ob ein Paket übertragen werden soll oder nicht. Dazu lernt sie ganz einfach alle MAC-Adressen auswendig, die im Netz auf jeder Seite der Bridge vorbeirauschen. Eine Bridge begrenzt die möglichen Kollisionen im Ethernet jeweils auf eine Seite der Bridge. Deshalb sagt man, eine Bridge begrenzt eine Collision Domain.

In der Praxis gibt es heute meistens sogenannte Brouters, also die Kombination aus Bridge und Router.

Ein Switch ist eine Multiport-Bridge, also ein Gerät des Link-Layers. Gegenüber einem Hub, der als ein Multiport-Repeater ein Gerät des Physical Layers ist, garantiert der Switch den beiden beteiligten Kommunikationspartnern Kollisionsfreiheit. Der Switch taucht daher auch nur in Ethernet-Umgebungen auf.

Ein Gateway auf dem Application-Layer ist meistens eine Software, die vollautomatisch Daten im Format einer Applikation ins Format einer anderen umwandeln kann. Das bekannteste Beispiel heute dürfte wohl das E-Mail zu SMS-Gateway sein. Auch ein Web-basierendes Frontend auf einen Mailaccount (à la Hotmail und Konsorten) ist bereits ein Gateway.

Ein Proxy-Server ist eine Art Cache, Zwischenspeicher. Man kann ihn aber auch als Gateway zwischen identischen Applikationen auffassen. Er muss gezielt angesprochen werden über eine geänderte URL. Die Browser oder Mail- oder FTP-Clients erledigen dies allerdings automatisch, nachdem man sie auf den jeweiligen Proxy eingestellt hat. Ein Proxy sorgt für Geschwindigkeitszuwachs, weil er oft und von mehreren Usern benötigte Daten direkt aus dem Zwischenspeicher liefern oder Daten von Usern schnell in ihn übernehmen und ins langsame Internet ausliefern kann. Als Nebennutzen ergibt sich die Möglichkeit, die angeforderten oder auszuliefernden Daten und die Anforderer zu überwachen, sogar zu zensurieren.


Routing

Folgendes Bild ist ein Anschauungsbeispiel, wie das Routing im Internet funktioniert.

Die Kommunikation geschieht jeweils von Endgerät zu Endgerät (Browser zu Web-Server). Auf dem Weg von einem zum anderen durchläuft ein IP-Paket diverse Router. Jeder Router hat mindestens zwei IP-Adressen, jeweils eine in den Netzen, die er verbindet.

In jedem Netz ist die Routeradresse meistens identisch mit dem Standard oder Default Gateway. An ihn werden im lokalen Netz jeweils alle IP-Pakete geschickt, die sich nicht im lokalen Netz zustellen lassen.

Der Router verteilt dananch die Pakete innerhalb seiner Möglichkeiten an die im bekannten anderen IP-Adressen. Der Router betrachtet nur jeweils den Netzwerkanteil einer Empfänger-Adressen eines IP-Paketes und leitet es an ein Gerät (eine IP-Nummer) weiter, das mit der Empfänger-Adresse etwas anfangen kann.

Dazu braucht es eine Routen-Tabelle (Routing Table) wie die folgende. Man liest sie von links nach rechts, mit der Empfänger-Adresse in der Spalte Network Destination beginnend. Man finde eine Zeile, die mit der gegebenen Empfänger-Adresse übereinstimmt oder die in ein ganzes aufgelistetes Subnetz passt. Findet man keine, so passt immer die (hoffentlich vorhandene) Default-Route.

Findet man eine Zeile, so wird das IP-Paket an das genannte Gateway geschickt, das man über das ebenfalls aufgeführte Interface erreichen kann.

Stünden einmal mehrere mögliche Routen zur Verfügung, so wird diejenige genommen, die den kleinsten Wert in der Spalte Metric hat.

Ethernet adapter Local Area Connection 2:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 1.0.0.1
        Subnet Mask . . . . . . . . . . . : 255.255.255.255
        Default Gateway . . . . . . . . . :

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . : mindpower.ch
        IP Address. . . . . . . . . . . . : 212.45.194.150
        Subnet Mask . . . . . . . . . . . : 255.255.255.240
        Default Gateway . . . . . . . . . : 212.45.194.145
===========================================================================
Interface List
0x1 ............................... MS TCP Loopback interface
0x2 ......... ff ff ff 00 00 00 ... PGPnet Virtual Identity Adapter
0x1000004 ... 00 00 e8 42 70 5a ... Intel DC21140 PCI Fast Ethernet Adapter
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0   212.45.194.145  212.45.194.150       1
          1.0.0.1  255.255.255.255        127.0.0.1       127.0.0.1       1
    1.255.255.255  255.255.255.255          1.0.0.1         1.0.0.1       1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
   212.45.194.144  255.255.255.240   212.45.194.150  212.45.194.150       1
   212.45.194.150  255.255.255.255        127.0.0.1       127.0.0.1       1
   212.45.194.255  255.255.255.255   212.45.194.150  212.45.194.150       1
        224.0.0.0        224.0.0.0          1.0.0.1         1.0.0.1       1
        224.0.0.0        224.0.0.0   212.45.194.150  212.45.194.150       1
  255.255.255.255  255.255.255.255          1.0.0.1         1.0.0.1       1
Default Gateway:    212.45.194.145
===========================================================================

Die fett gedruckten Route ist die Default-Route. Ihr Gateway, das Gerät, das Pakete weiterleiten würde, ist hier die IP-Adresse 212.45.194.145. Die gelb unterlegte Zeile zeigt das gesamte Netzwerk mit der Subnetzmaske 255.255.255.240 ((gelb unterlegt).

Alle Pakete an die Maschine 212.45.194.150 werden an den Localhost 127.0.0.1 geschickt, also an die Maschine selbst (grün unterlegt). Pakete an das gesamte Subnetz 212.45.194.255 (an alle Maschinen dieses Subnetzes, auch bekannt als Broadcast) werden an 212.45.194.150 geschickt, die ja wie gerade gesehen dann weiterleitet (grau unterlegt).