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
- Kurze Geschichte
- OSI-Referenzmodell
- Ethernet / IEEE 802.3
- Hochgeschwindigkeits LANs
- Steuern von "Collision Domains"
- FDDI
- Routing
- IP Routing
- TCP / UDP
- Netzwerkdienste
- WAN Technologie und Dienste
- Glossar, Fachbegriffe
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:
- Teilen von Informationen
- Elektronische Post (email)
- Daten- und Filetransfer
- Remote Login
- Teilen von Ressourcen
- Teilen von Computern (Rechenleistung)
- Teilen von Druckern
Ein Netzwerk kann verschiedene geographische Gebiete überdecken und aus verschiedenen Typen von Hardware und Technologien bestehen. Die verschiedenen Transmissionsmedien und -techniken sind zum Beispiel:
- Tranmissionsmedien
- Geführte
- Koaxialkabel
- Verdrillte Leitungen (twisted pair)
- Glasfaser (fibre optic)
- Ungeführte
- Radio
- Satellit
- Mikrowellen
- Geführte
- Transmissionstechniken
- Baseband (es wird nur eine Frequenz übertragen)
- Broadband (es werden mehrere Frequenzen übertragen)
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)).
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:
- 1774 Erstes Telegraphensystem wird erfunden
- 1836 Patentierung des Telegraphen
- 1876 Graham Bell erfindet das Telephon
- 1888 Marconi erfindet das Radio
- 1904 Flamings Diode wird vorgestellt
- 1906 Fessenden erfindet die Amplitudenmodulation
- 1948 Shockleys Transistor wird vorgestellt
- 1954 Die Massenfertigung von IBMs 701 Mainframe wird aufgenommen
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 GliederungOSI-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 GliederungEthernet / 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
- 10Base2
- 10Base-T
- 10Base-F
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:
- Lineare Topologie
- Baumtopologie
- Bustopologie
- Segmentierte Topologie
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 GliederungHochgeschwindigkeits 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.
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
Quellen:
- [1] Vorlesungsunterlagen der Vorlesung Datenkommunikation und Rechnernetze von Herrn Wolfgang Nickel
- [2] anonymous, hacker's guide: sicherheit im internet und im lokalen netz, Markt und Technik, Buch- und Software-Verlag, 1999
- [3] Detlef Borchers, Maria Benning, Jürgen Kuri, Hätt ich dich heut erwartet ... , c't 21/1999, S.128ff
- [4] Craig Hunt [Übersetzung und deutsche Bearbeitung: Peter Klicman], TCP/IP Netzwerk Administration, O'Reilly, 2. Auflage, 1. korrigierter Nachdruck, Januar 1999
- [5] Andrew S. Tanenbaum [Übersetzung: Angelika Shafir], Computernetzwerke, Prentice Hall Verlag GmbH, 3. Auflage, 1997