Rainers Welt

Datenkommunikation und Rechnernetze

Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt.
Fast alle Hard- und Softwarebezeichnungen, die erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden.

Ich möchte mit diesem Text einen 'kurzen' Einblick in die Technik der Netzwerkkommunikation geben. Für mich wird das Abtippen des Textes zu einer Übung für eine meiner Klausuren in diesem Semester. Vielleicht kann ja auch jemand anderes etwas daraus lernen. Aber auf jeden Fall wünsche ich viel Spass bei der Lektüre dieses Informationstextes.

Gliederung


Einführung

Ein Netzwerk ist ein Mittel, mit dem man mehrere Computer verbinden kann. Über diese Mittel können die Computer kommunizieren und Daten austauschen und ihre Ressourcen teilen. Für das Vernetzen von Computern gibt es also zwei Hauptgründe:


Ein Netzwerk kann verschiedene geographische Gebiete überdecken und aus verschiedenen Typen von Hardware und Technologien bestehen. Die verschiedenen Transmissionsmedien und -techniken sind zum Beispiel:

Desweitern werden zwei Verbindungen unterschieden, die logische Verbindung zweier Rechner und die physische Verbindung. Die logische Verbindung ist das, was der Endanwender 'zu sehen' bekommt, für ihn sind die zwei Rechner direkt miteinander verbunden. Die physische Verbindung bezeichnet somit die tatsächliche Verbindung der Rechner über Kabel und Netzwerkkarten oder Funkverbindungen, ... . Die physische Verbindung kann über mehrere verschiedene Netzwerke gehen, über verschiedene Medien übertragen werden, ohne, dass der Benutzer davon etwas bemerkt. Wenn man zum Beispiel im Internet surft und dabei eine Verbindung zu einem WWW-Server aufbaut, meint man, direkt mit ihm verbunden zu sein. Mit dem Befehl /usr/sbin/traceroute <host> (tracert <host> unter DOS (und Windows in der DOS-Box)) kann man sich den Weg, den die Daten vom Server zum Browser nehmen, sichtbar machen (der Pfad (/usr/sbin) kann auf unterschiedlichen Systemen variieren).

Die interne 'Übersetzung' der logischen Verbindung in die physische geschieht über die Schichten-Protokolle.
Verschiedene Kategorien von Netzwerken sind WAN (Wide Area Network (Ausdehnung bis ca. 500 km)), LAN (Local Area Network (Ausdehnung bis ca. 5 km)) und diverse I/O Bus-Systeme (z.B. Einsteckkarten (Ausdehnung bis ca 5 m)).

zurück zur Gliederung

Kurze Geschichte

Diese Geschichte ist im Wesentlichen die des Internet, das mehrere Millionen Netzwerke miteinander verbindet; damit sie nicht ganz so trocken ist, sind noch einige Anekdoten eingebunden. Man sollte hier aber noch einige andere Daten angeben, die zwar nicht direkt etwas mit dem Internet zu tun haben, aber für die Datenkommunikation ebenfalls wichtig sind:


Die Anfänge des Internet 1962 bis 1969

In Erwartung eines Atomkrieges beauftragte die Luftwaffe der Vereinigten Staaten eine Forschergruppe mit der Entwicklung eines Kommunikationsnetzes, das einen nuklearen Angriff überstehen könnte (Larry Roberts meint dazu:' Es ist ein Gerücht, dass das Internet entwickelt wurde, um einen nuklearen Krieg auszuhalten. Das ist total falsch. Wir wollten ein effizientes Netz aufbauen.' Das Argument eines Atomschlags sei erst später dazugekommen, es erwies sich als recht nützlich, um weitere Gelder lockerzumachen [3]). Sie schuf ein Netzwerk, das nicht zentral kontrolliert wurde; wenn also einer der Knotenpunkte zerstört wurde, sollte das restliche System weiterlaufen.
Damals war das Konzept revolutionär; bis dato kannte man nur die Großrechnersysteme, bei denen Anwender über Terminals auf zentrale Großrechner zugegreifen. Bei einem Ausfall des Zentralrechners fällt somit das gesamte Netzwerk aus. Einer dieser Forscher, Paul Baran, hat fast das gesamte Konzept erdacht; er stellte sich ein System vor, in dem sich die Daten ihren eigenen Weg duch das Netz suchen, und bei Überlastung eines Knotens einen anderen Weg wählen konnten. Dieses Konzept war aber seiner Zeit weit voraus und das Pentagon setzte nur wenig Vertrauen in dieses Verfahren. Diese Kurzsichtigkeit des Pentagons verzögerte die Geburt des Internet, aber nicht sehr lang. 1965 wurde das Projekt wieder aufgenommen, Gelder wurden verteilt und im Jahr 1969 wurde dieses dezentralistische Netz Realität; es nannte sich ARPANET (20. Oktober 1969: erster PING im ARPANET).
Das ARPANET war, für heutige Begriffe, recht einfach gestrickt. Es vernetzte die Computer von vier amerikanischen Forschungseinrichtungen.
Anekdote am Rande (10.10.1969, erster remote login (Stanford)), Leonard Kleinrock erinnert sich:
'Wir tippten also das L ein und fragten am Telefon 'Seht ihr das L?' 'Wir sehen es', war die Antwort. Wir tippten das O ein und fragten 'Seht ihr das O?' 'Ja, wir sehen das O!' Wir tippten das G ein ... und die Maschine stürzte ab [3]'
Es war eine beträchtliche Leistung, Computer über das Telefonnetz zu verbinden, die Euphorie darüber verschwand aber schnell, als man realisierte, dass man kein geeignetes Betriebssystem für Barans Konzept hatte.

Unix 1969 bis 1973

1969 wurde in den Bell Labs die erste Version von UNIX entwickelt. Diese erste Version von UNIX hatte aber kaum Ähnlichkeit mit dem heutigen UNIX. Es war zum Beispiel noch ein Single-User-System. Es beinhaltete auch nur die allernötigsten Tools, um überhaupt laufen zu können. Allerdings traten auch hier wieder Probleme auf, zum Beispiel war die verwendete Programmiersprache nicht gut für diese Aufgaben geeignet.

Die Programmiersprache C

C wird häfig zur Programmierung von Sprach-Compilern benutzt. Sie hatte einen erheblichen Einfluss auf die Entwicklung des Internet. Heute werden viele Applikationen zur Vereinfachung der Kommunikation über das Internet in C geschrieben. Es wurden sowohl das Betriebssystem UNIX als auch die Protokollfamilie TCP/IP in C geschrieben. Somit währe das Internet in seiner heutigen Form ohne C nicht existent.

Prägende Jahre 1972 bis 1975

1972 umfasste das ARPANET etwa 40 Hosts (den Hosts wurde ein IMP (Interface Message Processor) vorgeschaltet, der nur die Aufgabe hatte, Daten zu senden und zu empfangen, den Empfang zu überprüfen und das Senden zu wiederholen, wenn etwas nicht geklappt haben sollte; der IMP musste einem Computer vorgeschaltet sein und rund um die Uhr laufen können, was für die damaligen Verhältnisse eine beträchtliche Anforderung war), in diesem Jahr wurde auch die email erfunden; diese Erfindung kann als eine der wichtigsten Innovationen des Jahrzehnts im Computerbereich angesehen werden (Leonrad Kleinrock erinnert sich an eine email als 'illegale Nutzung' der neuen Technik. Er musste eine Konferenz in England vorzeitig verlassen und hat dabei seinen Rasierer vergessen. Er setzte sich an ein Terminal und stellte die Verbindung zu einem Konferenzteilnehmer her, der gerade online war. Zwei Tage später hatte er seinen Rasierer wieder)(Das '@' als Teil einer User-Adresse eines Programms, mit dem sich Nachrichten verschicken ließen wurde 1972 von Ray Tomlinson eingeführt; diese Taste benötigte er auf seinem 33-Tasten-Keyboard sonst am wenigsten [3]). Email ermöglicht einfache und billige Kommunikation. Dies führte zu offenem Gedankenaustausch und länderübergreifender Zusammenarbeit zwischen Wissenschaftlern. Von diesem Zeitpunkt an lebte das Netzwerk.
Eine andere Schlüsselerfindung wurde 1974 gemacht, das Transmission Control Protocol (TCP)(es wurde am 1.1.1983 in den Rang eines offiziellen Standards erhoben). Dieses Protokoll war die Möglichkeit, Daten zerstückelt über das Netzwerk zu schicken und sie am anderen Ende wieder zusammenzusetzen. Es ist das wichtigste Protokoll, das heute verwendet wird. Zum Jahr 1975 war das ARPANET ein vollständig funktionierendes Netzwerk und die Kontrolle wurde an die damalige United States Defense Communication Agency übergeben.
Das Internet selber entstand am 22. November 1977, als erstmals drei unterschiedliche Netze zusammengeschaltet wurden.

UNIX

Zwischen 1974 und 1980 wurde der UNIX-Sourcecode an Universitäten im ganzen Land verteilt, was einen Hauptgrund für den Erfolg von UNIX ausmachte. Die akademische Welt fand Gefallen an UNIX und die Schulen brachten einige fähige Computeranwender (und Programmierer) hervor, die UNIX schon kannten. Somit brauchten die Firmen ihre neuen Mitarbeiter nicht erst in ein neues, kompliziertes Betriebssystem einarbeiten. Im Jahre 1978 beschloss AT&T Lizenzgebühren zu verlangen. Daraufhin schuf die University of California in Berkley ihre eigene UNIX-Version.

UNIX und das Internet

Da UNIX als Betriebssystem für das Internet bestimmt war, wurden Fortschritte in UNIX in das Design des Internet integriert; seit 1975 entwickelten sich UNIX und das Internet gemeinsam weiter. Seit dieser Zeit sind viele verschiedene UNIX-Versionen entstanden, zum Beispiel AIX, HP-UX, IRIX, SunOS & Solaris und Digital Unix. Viele dieser UNIX-Versionen laufen aber nur auf High-Performance-Rechnern, sogenannten Workstations. Sie unterscheiden sich dahingehend vom PC, das sie hochwertige Hardware enthalten und dementsprechend teurer sind; das liegt unter anderem auch daran, dass sie nur in limitierter Anzahl hergestellt werden. Da die Entwicklung des Internet UNIX integrierte, enthält UNIX die Grundbausteine des Netzes; kein anderes Betriebssystem wurde jemals so sehr darauf ausgerichtet, im Internet eingesetzt zu werden.

zurück zur Gliederung

OSI-Referenzmodell

Für das Verständnis von verschiedenen Vorgängen und der verwendeten Hardware sollte man das Open Systems Interconnection Reference Model (OSI) verstanden haben. Das OSI-Referenzmodell wurde von der International Standards Organisation (ISO) entwickelt und beschreibt die Struktur und die Funktionen von Datenkommunikationsprotokollen. Dieses Architekturmodell ist in sieben Schichten (Layer) aufgeteilt und dient der allgemeinen Festlegung der Begriffe, um sich leichter mit anderen über die Datenkommunikation zu unterhalten. Die sieben Schichten definieren die Funktionen der Datenkommunikationsprotokolle, sie repräsentieren die Funktionen, die ausgeführt werden, wenn Daten zwischen Anwendungen über ein Netzwerk übertragen werden.
Hier werden die verschieden Schichten mit einer kurzen Beschreibung ihrer Funktion dargestellt; aufgrund des Aufbaus spricht man auch vom Protokoll-Stack.

 ------------------------
 |                      |  Anwendungsschicht
 |  Application Layer   | Stellt Mittel bereit, mit denen man auf die 
 |                      | Kommunikationsumgebung zugreifen kann
 ----------------------------------------------------------------------------
 |                      |  Darstellungsschicht
 |  Presentation Layer  | Sorgt für eine einheitliche Präsentation der ver-
 |                      | sendeten Information (Datenformat)
 ----------------------------------------------------------------------------
 |                      |  Kommunikationssteuerungsschicht
 |    Session Layer     | Sorgt für organisierten und synchronisierten Daten-
 |                      | austausch (Verbindungsverwaltung zw. Anwendungen)
 ----------------------------------------------------------------------------
 |                      |  Transportschicht
 |   Transport Layer    | Garantiert zuverlässige, fehlerfreie
 |                      | Datenübertragung (Fehlererkennung, -korrektur)
 ----------------------------------------------------------------------------
 |                      |  Vermittlungsschicht
 |    Network Layer     | Stellt Mittel für Verbindungsaufbau zwischen Sys-
 |                      | temen (Verbindungsverwaltung zwischen Rechnern)
 ----------------------------------------------------------------------------
 |                      |  Sicherungsschicht
 |   Data Link Layer    | Steuert Informationsfluss zwischen Systemen auf dem
 |                      | Kommunikationsweg (physikalische Zuverlässigkeit)
 ----------------------------------------------------------------------------
 |                      |  Bitübertragungsschicht
 |    Physical Layer    | Sorgt für direkte Verbindung zum physikalischen
 |                      | Medium (def. Eigenschaften d. Übertragungswege)
 ------------------------
      

Eine Schicht definiert kein einzelnes Protokoll, sie definiert Funktionen zur Datenkommunikation. Jede Schicht kann somit mehrere Protokolle enthalten, von denen jedes einen eigenen Dienst bereitstellt (z.B. ftp oder http in der Applikationsschicht). Jede Schicht kommuniziert direkt mit der darüber- und darunterliegenden Schicht auf dem eigene Host und logisch mit der ihr entsprechenden Schicht auf dem anderen Host.

zurück zur Gliederung

Ethernet / IEEE 802.3

Die IEEE (Institute of Electrical and Electronic Engineers (Institut, welches Datenkommunikationsnormen ausarbeitet)) hat mehrere Normen für lokale Netze herausgebracht, diese sind unter der Bezeichnung IEEE 802 bekannt. Die verschiedenen Normen unterscheiden sich in der Bitübertragungsschicht und in der MAC-Teilschicht (die zweite Schicht ist in zwei weitere Schichten unterteilt, die Media Access Controll Schicht und das Logical Link Control Protocol), sind aber vom LLC her kompatibel. Die Normen in IEEE 802 wurden von ANSI als nationale US-Normen, vom NBS als Regierungsnormen und von der ISO als internationale Normen (ISO 8802) übernommen. Sie sind in fünf Teile gegliedert, welche jeweils einen eigenen Band bilden. 802.1 gibt eine Übersicht über die anderen Normen, 802.2 beschreibt den oberen Teil der Sicherungsschicht (LLC) und die Bände 802.3 bis 802.5 beschreiben drei Normen für lokale Netze, nämlich CSMA/CD, Token-Bus und Token-Ring. Diese Normen beinhalten die Protokolle der Bitübertragungsschicht und der MAC-Teilschicht.
Ethernet ist ein Produkt, welches auf den CSMA/CD-Protokollen basiert; der Name Ethernet bezieht sich auf das Kabel. Es gibt verschiedene Typen von Ethernet-Kabeln:

10Base5 (Thick Ethernet) war historisch das erste Kabel. Im Abstand von 2,5 m ist es mit Markierungen versehen; an diesen Stellen lassen sich Abzweigungen in das Kabel einbringen. Die Bezeichnung 10Base5 bedeutet, dass das Kabel mit 10 Mbps (Mega Bits Pro Sekunde) auf dem Baseband arbeitet und Segmente von bis zu 500 m unterstützt.
Der zweite Kabeltyp ist Thin Ethernet (10Base2: 10 Mbps, Baseband, 200 m Segmente). Er lässt sich im Gegensatz zu Thick Ethernet besser biegen und ist somit flexibler einsetzbar. Hier werden sie Anschlüsse über BNC-Stecker in Form von T-Stücken gemacht. Es ist auch kostengünstiger als Thick Ethernet.
10Base-T arbeitet ebenfalls mit 10 Mbps (Es gibt auch das schnellere 100Base-T mit 100 Mbps) auf dem Baseband, es unterstützt Segmente von 100 m länge. Es basiert auf dem Verdrahtungsmuster der Telefonkabel, jeweils zwei Leitungen werden miteinander verdrillt (sieben Verdrillungen pro Fuss). Es lässt sich einfacher warten als Thin Ethernet, verursacht aber höhere Kosten durch zusätzliche Hardware, die nötig wird, wenn man mehr als zwei Rechner miteinander vernetzen will. Man benötigt dann noch Hubs oder Switches.
10Base-F ist ein Glasfaserkabel, es unterstützt eine Segmentlänge von 2000 m und kommt oft zum Einsatz, wenn man zwei Gebäde miteinander vernetzen will oder auch die Netze in den jeweiligen Gebäden miteinander verbinden will, da es recht widerstandfähig gegen Rauschen ist.
Es ergeben sich so verschiedene Netzwerktopologien:

Um die oben angesprochenen maximalen Segmentlängen auszuweiten werden Repeater eingesetzt. Sie verstärken die Signale und geben sie weiter. Repeater werden von der verwendeten Software nicht erkannt, es ergibt sich lediglich eine geringe Verzögerung in der Übertragung.

zurück zur Gliederung

Hochgeschwindigkeits LANs

Als Hochgeschwindigkeits LAN bezeichnet man Netzwerke, die im IEEE 802.3u Standard beschrieben werden; das sind Netzwerke, die mit 100 MBit Daten Übertragen (100Base-T). Diese Netzwerke werden auch Fast Ethernet genannt. Aufgrund der Notwendigkeit, Abwärtskompatibel zu bleiben, entschloss der 802.3-Ausschuss, die Technik beizubehalten, sie aber schneller zu machen. Das Ergebnis in Form der 802.3u wurde 1995 offiziell von der IEEE zugelassen.
Man hätte theoretisch auch 10Base5 oder 10Base2 Kabel benutzen können, indem man einfach die zulässige Kabellänge um den Faktor zehn gekürzt hätte, aber die Vorteile der 10Base-T-Verkabelung war so überwältigend, das Fast-Ethernet komplett auf diesem Design basiert.

zurück zur Gliederung

Steuern von "Collision Domains"

zurück zur Gliederung

FDDI

zurück zur Gliederung

Routing

zurück zur Gliederung

IP Routing

zurück zur Gliederung

TCP / UDP

zurück zur Gliederung

Netzwerkdienste

zurück zur Gliederung

WAN Technologie und Dienste

zurück zur Gliederung

Glossar, Fachbegriffe

HUB
SWITCH
REPEATER: relativ dummes Gerät, arbeitet auf der Bitübertragungsschicht und gibt alle Signale verstärkt weiter. Er kann keine Fehlerüberprüfung vornehmen, geschweige denn Fehler korrigieren.
ROUTER
BRIDGE

zurück zur Gliederung

Quellen: