ZertifikatZertifikat

Die Geschichte des Internet

Das OSI referensmodell

Aufgaben der einzelnen Schichten

Kritik am OSI referensmodell

Die Tcp/ip Architektur

Aufgaben der Tpc/Ip Schicht

Kritik an der Tcp/Ip Architektur

Vergleich vom OSI-RM und Tcp / Ip-RM

Netzwerkbindungen

Das TCP-Protokoll

Das UDP-Protokoll

Virtuelle Kreise

Telnet Protocol

FTP Protocol

 

CIDR - Classless Internet Domain Routing

Tcp/Ip / Subnetting IPv4

Netzwerkklassen

Öffentliche ( Privat ) IP Adressen

Die IP Transportprotokolle

Tcp / IPv6

IP Adressen bei IPv6

 

Automatisches Scrollen.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

Die Geschichte des Internet

Vorstufe zum TCP/IP RM war das NCP des ARPANET. Das ARPANET war das erste paketvermittelnde Netz weltweit, es ist jedoch technisch von seinen Nachfolgenetzen überholt worden und wurde bis auf den militärischen Teil (MILNET) 1990 außser Betrieb genommen.

Das erste echte TCP/IP Netz war das NSFNET. Es umfaßte US Forschungseinrichtungen, die aufgrund fehlender Aufträge von der ARPA keine Anbindung an das ARPANET bekamen. Es war jedoch ein Gateway zum ARPANET an der Carnegie Mellon University vorhanden. Aufgrund von Finanzierungsüberlegungen wurde das NFSNET mit Hilfe von MERIT, MCI und IBM von 1,5Mbps auf 45Mbps aufgerüstet und wurde in ANSNET umbenannt. Dieses wurde 1995 an America Online verkauft, weil das Forschungsnetz über ausreichende Kapazitäten bei kommerziellen IP Netzbetreibern verfügte. Die NSF erteilte Aufträge für die Errichtung von Austauschknoten (NAP) an denen verschiedene Netze miteinander Daten austauschen können.

In Europa gab es ebenfalls mit dem NFSNET vergleichbare Netze z.B. EBONE und EuropaNET, außerdem eine Reihe nationaler Netze.

Der wichtigste Nachfolger des ARPANET ist das globale Internet, das auf dem TCP/IP RM basiert. Es verbindet Tausende verschiedene Teilnetze miteinander und hat eine ständig wachsende Anzahl von Nutzern. Die Entwicklung des WWW Anfang der neunziger Jahre brachte mit einem Schlag Millionen von Leuten auch aus dem Nichtakademischen Bereich ins Internet. Daraus ergibt sich die Notwendigkeit der Weiterentwicklung.

Die Protokolle der Internet Schicht Die Internet Schicht des TCP/IP RM enthält außer dem IP Protokoll noch ein paar kleinere Protokolle, die hier nur kurz zur Sprache kommen sollen, weil sie zum weiteren Verständnis benötigt werden:

weitere Protokolle der Vermittlungsschicht sind
IGMP (Internet Group Management Protocol),
RARP (Reverse Adress Resolution Protocol)
und einige Routing Protokolle (z.B. RIP (Routing Information Protocol), OSPF (Open Shortest Path First)).

IGMP und ICMP benutzen das IP, da sie jedoch keine eigentlichen Nutzdaten transportieren, werden sie ebenfalls der Internet Schicht zugeordnet.

TCP/IP - Subnetting IPv4

TCP = Transmission Control-Protokoll
IP = Internet Protokoll

Zunächst ein paar Grundlagen zur IP-Adressierung.

IP-Adressen sind 32-Bit Zahlen, die aus zwei Anteilen bestehen, dem Netzanteil und dem Rechnerteil. Es gibt drei verschieden Arten von IP-Netzklassen, Class - A, Class - B und Class - C. Unter Subnetting versteht man ausleien von bits der Host-ID an die Netzwerk ID Folge:feinere Unterteilung der Netze (mehr Netze) aber weiniger Host in den Netzen.Mit Hilfe der Subnetmask kann man die Adreßbereiche in Bezug auf Anzahl der Subnetze und Hosts manipulieren. Im Normalfall verwendet man eine einfache Subnetmask (255.255.255.0) Wenn man ohne gute Vorbereitung und Dokumentation mit anderen Subnetmasks arbeitet, kann man damit sehr schnell Probleme bekommen.

Will ein Rechner mit einem anderen kommunizieren, muß er erst einmal herausfinden, ob dieser sich auf dem gleichen Netzwerk befindet. Dazu nimmt er die Zieladresse und blendet mit Hilfe der Subnetzmaske den Rechneranteil aus. Ist die so erhaltene Netzwerkadresse mit der eigenen identisch, liegt der Zielrechner im gleichen Netzwerk. Anderenfalls muß die Kommunikation über ein Gateway erfolgen.

Ein wichtiger Grundsatz ist, daß niemals alle Bits eines Teils 0 oder 1 sein dürfen. Die Rechneradresse, bei der alle Bits des Rechnerteils auf 1 gesetzt sind, hat eine besondere Bedeutung; sie ist die sogenannte Broadcast-Adresse, unter der sich alle Rechner des entsprechenden Netzwerkes angesprochen fühlen. Sie wird z.B. für BOOTP-Anfragen genutzt.

Um nun intern die Rechnernetze weiter zu strukturieren und z.B. abteilungsweise aufzuteilen, kann ein Netzwerk mit subnetting weiter unterteilt werden. Dazu wird ein Teil der Rechnerportion als Subnetz definiert. In einem Class-B Netz können die ersten vier Bits der Rechneradresse für das Subnetz gewählt werden. Damit bekommt man 16 Subnetze. Jedes dieser Subnetze kann 4094 Rechner umfassen.
Sie können auch statt 8 Bit Subnetze solche mit 10 Bit benutzen. Damit haben Sie bis zu 1022 Subnetze mit bis zu 62 Rechnern.
Die maximale Anzahl von vernetzten Rechnern beträgt damit 65534 in einem nicht-unterteilten Klasse-B Netz. Der Vorteil ist, daß eben nicht 65534 Rechner auf einem physischen Netz liegen, sondern maximal 62.

Trotz der auf den ersten Blick unglaublichen Anzahl von Adressen war schnell abzusehen, daß die Zahl der Adressen bei der explosionsartigen Verbreitung von LANs und der TCP/IP Protokollfamilie nicht mehr lange ausreichen würde. Als temporäre Maßnahme werden jetzt Organistionen auch mehrere Class C Adressen zugeordnet, um den Engpaß bei den Class B Adressen zu umgehen. Class A Adressen können gar nicht mehr vergeben werden. Parallel zu diesen Maßnahmen wird ein neues Adressierungsschema getestet.TCP / IP V6

Eine Internetadresse ist eine sogenannte IP-Adresse. Dabei wird die IP-Adresse nicht dem Hostrechner zugeordnet, sondern dem Netzwerkadapter (z.B. Netzwerkkarte). Jeder Computer kann mehrere Netzwerkadapter besitzen, d.h. er kann auch mehrere IP-Adressen besitzen. Im folgenden wird zur Vereinfachung davon ausgegangen, daß die IP-Adresse dem Computer zugeordnet wird.

Die Dotted Decimal-Notation Eine IP-Adresse ist 32 Bit lang. In C kann man sie also als "Long Integer" Üblicherweise wird die IP-Adresse aber in einer speziellen Notation Decimal-Notation". Diese Notation stellt jedes Byte der IP-Adresse einzelnen Bytes mit Punkten (XXX.XXX.XXX.XXX). Folgende Zahlen unterschiedlichen Zahlen dar:

IP-Adresse als binäre Zahl: 11000000 10100100 01100100 00001010
P-Adresse als Dezimalzahl: 3231998986
IP-Adresse als Hexadezimalzahl: 0xC0A4640A
IP-Adresse als Dotted Decimal-Notation: 192.164.100.10

Solange kein Anschluß an das Internet erfolgt oder geplant ist, ist der Aufbau der IP-Adressen frei, das heißt man kann beliebige Zahlen verwenden. Wenn man aber auf Nummer Sicher gehen will, benutzt man intern die Adressen, die die IANA für Privatnetze reserviert hat. Sollte bei einem Internet-Knoten eine solche Adresse auftauchen, wird sie nicht weiter geroutet.

Es gibt Programme, die für vorgegebene IP-Adressen und Masken alle benutzbaren Adressen berechnet, z.B. subnet.exe, ipsub15.zip oder netter10.zip, alle zu finden bei Netwarefiles.de. TCP/IP Router verbinden SUBnetze, denn sie pflegen Tabellen über die gesamte Infrastruktur der Netzes, sprich Adressen aller existieren SUB Netze und zugehörigen Router. Die Verbindung der Endgeräte erfolgt durch das Protokoll ARP (Address Resolution Protocol). Dieses sorgt dafür, daß die entsprechende MAC-Adresse der Zielstation der Sendestation bekannt wird. Sind Router im Spiel, wird die MAC-Adresse des Routers zurückgegeben und dieser leitet dann an die Zielstation oder den nächsten Router weiter.

Netzwerkklassen

Class - A Netze ( 00000000 ) haben eine 8 - Bit Netzwerkadresse und eine 24 - Bit Rechneradresse. Das erste Bit in der Netzadresse zeigt an, daß es sich um ein Klasse - A Netz handelt, die übrigen 7 ergeben die Netznummer. Das bedeutet, daß es 128 mögliche Klasse - A Netze gibt. Das Netz mit der Nummer 0 gibt es nicht, das Netz 127 ist für die sog. Loopback-Adresse reserviert. Also gibt es 126 Klasse-A (1.x.x.x–126.x.x.x) Netze mit jeweils 16777214 Rechnern. 127.0.0.1 loopback Nachrichten an diese Adresse verlassen den Host nicht, sondern werden auf IP-Ebene abgefangen und an die höhere Protokollschicht zurückgegeben. mehr darüber im OSI Modell.

Class - B Netze haben einen 16 bittigen Netzwerk- und einen ebenfalls 16 bittigen Rechnerteil. Die ersten beiden Bits im Netzteil zeigen die Klasse an, (10000000 ). Mit anderen Worten, eine Klasse B Adresse liegt im Bereich von 128.x.x.x bis 191.x.x.x. Mit den 14 Bits des Netzteils können 16384 mögliche Netznummern gebildet werden, und mit den 16 Bits des Rechnerteils 65536 Rechner Adressen.

Ein Klasse C Netz (11000000) besitzt ein 24-Bit langes Feld für die Netzadresse und ein 8-bit langes Rechner Feld. Die beiden höchsten Bits der Netzadresse sind auf 1 gesetzt, d.h. die Netzadresse liegt im Bereich 192.x.x.x–223.x.x.x. Alle weiteren Netze sind reserviert.


 

Die Internet Adressklassen
\includegraphics[width=\textwidth]{adrclass.eps}

Der Besitzer einer Netzadresse hat die Möglichkeit die Hostadresse mit Hilfe einer Subnetzmaske in mehrere Teilnetze zu unterteilen, so kann das Netz innerhalb einer Organisation strukturiert werden. Wieviele Bits für die Subnetzadresse genutzt werden, bleibt dem Administrator des Netzes überlassen.

Aufteilung von IP Adressen in Subnetze
\includegraphics[width=\textwidth]{ipsplit.eps}

Dazu hier ein kleines Beispiel:

Die IP Adresse 141.76.9.6 ist eine IP Adresse, da es sich um eine Klasse B Adresse handelt ist der Netzanteil 16 Bit also muß die Subnetzmaske auf die niederwertigen 16 Bit (Host ID) wirken. Eine gültige Subnetmaske wäre z.B. 255.255.240.0, um die Subnetzadresse von der Hostadresse zu trennen, wird die IP Adresse mit der Subnetzmaske logisch verknüpft. Um die Subnetzadresse zu erhalten wird eine boolesche Multiplikation (AND) ausgeführt und um die Hostadresse zu erhalten, wird eine boolesche Multiplikation mit der invertierten Subnetzmaske ausgeführt (Tabelle1).


Tabelle 1: Berechnung von Hostadresse und Subnetzadresse aus der IP Adresse
Dezimal Binär
IP Adresse 141.76.9.6 10001101 01001100 00001001 00000110
Subnetmaske 255.255.240.0 11111111 11111111 11111100 00000000
Netzadresse 141.76.8.0 10001101 01001100 00001000 00000000
Hostadresse 0.0.1.6 00000000 00000000 00000001 00000110


Außserhalb des LAN der Organisation ist die Subnetzmaske unbekannt und die Adresse wird so behandelt, als ob es keine Unterteilung in Subnetze gäbe.


  Öffentlisch    
Klasse Netz
ersten 8 Bit
Netzanteil
Teilnetze
Hostanteil
Subnetmaske
Kurzform
 
010.xxx.xxx.xxx
A
 00000000
001 – 126
126
16.777.214
255.xxx.xxx.xxx
/24
169.xxx.xxx.xxx 
B
10000000
128 – 191
16384
65.534
255.255.xxx.xxx
/16
192.xxx.xxx.xxx 
C
11000000
192 – 223
2097
254
255.255.255.xxx
/8
224.xxx.xxx.xxx
D
11100000
224 - 239
Multicast ( Router Abfrage )     
172.16.xxx.xxx – 172.32.xxx.xxx
Sonderadressen  aber auch Öffentlich
127.0.0.1
Loopback ( Testen der eigenen Netzwerkkarte )
240.xxx.xxx.xxx –255.xxx.xxx.xxx
Reservierter bereich ( Uni, Tests, usw. )

Im Fall einer 255.255.255.255 würde dies dann folgendermaßen aussehen:


Oktett
1
2
3
4
Bit Wert
1 1 1 1 1 1 1 1
1   1   1   1   1   1   1   1
1   1   1   1   1   1   1   1
1   1   1   1   1   1   1   1
Binär Wert 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Dezimal Wert
255
255
255
255


Im Fall einer 255.255.255.0 oder /24 würde dies dann folgendermaßen aussehen:

Bit Wert
1 1 1 1 1 1 1 1
1   1   1   1   1   1   1   1
1   1   1   1   1   1   1   1
0   0   0   0   0   0   0   0
Binär Wert 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Dezimal Wert
255
255
255
0

-------------------------------------- 8Bits -------------------------------------------

 1

1

1

1

1

1

1

1

128

64

32

16

8

4

2

1

------------------------------ 255 Dezimalwert -----------------------------------

Zusammenfassung

Klasse A Anzahl der Netzwerke 126, Anzahl der Host pro Nezwerk 16.777.214, Bereich der Netzwerk-IDs erstes Oktett 1-126
Klasse B Anzahl der Netzwerke 16.384, Anzahl der Host pro Nezwerk 65.534, Bereich der Netzwerk-IDs erstes Oktett128-191
Klasse C Anzahl der Netzwerke 2.097, Anzahl der Host pro Nezwerk 254, Bereich der Netzwerk-IDs erstes Oktett192-223
Netzwerk-ID und Host-ID können nicht 000 sein (alle bits auf 0 gesetz )
Netzwerk-ID und Host-ID können nicht 255 sein( alle bits auf 1 gesetz )
127 reservieet loopback Adresse
255 Broadcast-Adresse

 Formel :
2 hoch Anzahl der gesetzten Bits – 2 Anzahl max Teilnetze
2 hoch Anzahl nicht gesetzter bits – 2 Anzahl max hosts  

                        

Thomas muss den Rechnern in einer der Zweigstellen des Unternehmens die Hostadressen zuweisen. Eine Einzelroute zur Zweigstelle wird mit 192.168.16.0/21 zusammengefasst. Die Zweigstelle arbeitet mit 150 Windows 2000 Professional-Rechnern in einem einzigen Subnetz: 192.168.16.0/24. Die Geschäftsleitung möchte jedoch in der Zweigstelle bis zu 2000 zusätzliche Rechner hinzufügen können. Thomas möchte diesen Wunsch der Geschäftsleitung berücksichtigen und gleichzeitig auch die Routenzusammenfassung ausnutzen können.

A    Sie fügt in der Zweigstelle eine weitere, als 192.168.32.0/22 angekündigte Route hinzu. 

B    Sie fügt in der Zweigstelle die zusätzlichen Netzwerkkennungsnummern 192.168.33.0/24 –  192.168.39.0/24 hinzu. 

C    Sie fügt in der Zweigstelle die zusätzlichen Netzwerkkennungsnummern 192.168.17.0/24 –  192.168.23.0/24 hinzu. 

D    Sie fügt in der Zweigstelle die zusätzlichen Netzwerkkennungsnummern 192.168.24.0/24 –  192.168.31.0/24 hinzu. 

E    Sie ändert die Ankündigung an die Zweigstelle auf 192.168.16.0/20. 

Eine Zweigstelle arbeitet mit 150 Hosts, demnächst kommen noch 2000 Hosts hinzu, ergibt 2150 Hosts in der Zweigstelle. Da in der Zweigstelle mit Klasse C Netzen gearbeitet wird, werden weitere C-Klasse Netzadressen benötigt. 2150 / 254 (Anzahl Hosts pro Klasse C Netz) = 9 (8.5) Netze. Ein Netzwerk ist bereits vorhanden, es werden noch 8 komplette Klasse C Netze benötigt, entspricht dem Lösungsvorschlag D. Da die Ankündigung für 2150 Hosts erfolgen soll, muss die Ankündigungsadresse geändert werden. Die alte Ankündigungsadresse 192.168.16.0/21 reicht für 2048 Hosts (11 (3+8) Bits für Hosts). Die neue Ankündigungsadresse muss 2150 Hosts verwalten können, dafür sind 12 Bits notwendig (4096 Hosts). Damit ist E als Antwort für die Ankündigungsadresse richtig.

Das OSI Referenzmodell

Einleitung

Es gibt eine ganze Reihe von verschiedenen Netzwerkarchitekturen. Dazu gehören DECNet (Digital Equipment), IPX/SPX (Novell), SNA (IBM) und TCP/IP. Es gab Bestrebungen eine einheitliche Netzwerkarchitektur zu definieren, diese Standardarchitektur ist das OSI Refenzmodell. Es basiert auf einem Vorschlag der ISO und wurde 1984 zum Standard erhoben.
Dieses Modell trägt den Namen ISO OSI Referenzmodell (OSI - Open Systems Interconnection), weil es sich damit beschäftigt, offene Systeme miteinander zu verbinden, d.h. Systeme, die für die Kommunikation mit anderen Systemen offen sind.

Das OSI RM ist aus sieben Schichten, wie in Abbildung  dargestellt, zusammengesetzt. Bei der Definition der Schichten wurden folgende Gesichtspunkte beachtet:

Die sieben Schichten des OSI Referenzmodells
( deutsche und englische Bezeichnungen )
\includegraphics[width=9cm]{osi1.eps}

Aufgaben der einzelnen Schichten

  1. Die Bitübertragungsschicht
    ... hat die Aufgabe der physischen Datenübertragung. In der Definition dieser Schicht werden die technischen Parameter der übertragung (Signalpegel, Lichtfrequenzen, Bitströme, Verkabelung) festgelegt.
  2. Die Sicherungsschicht
    ... verarbeitet die sequentiell von der Bitübertragungsschicht kommenden Rohbits zu Datenrahmen (Data Frames). Dabei stellt sie sicher, da"s sich der Vermittlungsschicht ein fehlerfreier Datenstrom präsentiert. Dazu prüft sie die Checksummen (CRC - Cyclic Redundancy Check). Die Sicherungsschicht wurde von der IEEE in zwei Teilschichten aufgeteilt:

  3. Die Vermittlungsschicht
    ... ist vor allem für die Adressierung und das Routing zuständig, d.h. hier wird der Weg bestimmt, den ein Paket vom Sender zum Empfänger zurücklegen soll. In der Vermittlungsschicht werden häufig auch Abrechnungsfunktionen (Accounting) implementiert, um so anfallende Kosten oder Datentransfermengen erfassen zu können. Sie muss ausserdem Probleme mit unterschiedlichen Netzen (Paketgrö"sen, Adressierung u.ä.) bewältigen.
  4. Die Transportschicht
    ... "`versteckt"' die unterliegende Hardware vor der Sitzungsschicht und küm"-mert sich um den Aufbau von Transportverbindungen. Es gibt grundsätzlich zwei Arten von solchen Transportverbindungen: Diese Schicht ist, anders als die bisher besprochenen Schichten eine sogenannte Ende zu Ende Schicht, d.h. ein Programm auf der Quellmaschine führt ein "`Gespräch"' mit einem ähnlichen Programm auf der Zielmaschine. In den niedrigeren Schichten sprechen nicht zwangsläufig Quell- und Zielmaschine miteinander, da sich zwischen beiden auch noch Router befinden können. Die Transportschicht muss ausserdem Pakete verschiedener paralleler Verbindungen managen können (multiplexen).
  5. Die Sitzungsschicht
    ... bietet Dienste an, mit denen Benutzer (Programme oder Personen) an verschiedenen Verbindungen miteinander aufbauen können, um z.B. Dateien zu übertragen oder Dialoge zu führen. Dabei übernimmt sie Aufgaben der Synchronisation und ggf. des Token-Managements.
  6. Die Darstellungsschicht
    ... übernimmt häufig vorkommende Aufgaben, beispielsweise Codierung (z.B. ASCII nach Unicode). Dabei achtet sie insbesondere auf Syntax und Semantik der Daten.
  7. Die Verarbeitungsschicht (manchmal auch Anwendungsschicht)
    ... stellt Anwendungen eine transparente Schnittstelle zur Verfügung und kümmert sich z.B. um die Umsetzung von Terminalfunktionen oder Datei"-namen für Netzwerkanwendungen. In die Anwendungsschicht kann man ausserdem E-Mail, Remote-Job-Entry, Verzeichnisabfragen und ähnlich geartete Dienste einordnen.

1.3 Datenübertragung im OSI RM Bei der Datenübertragung wird beim OSI RM folgenderma"sen vorgegangen: auf der Senderseite, wird in jeder Schicht ein Header an die Transporteinheit (siehe Abbildung) angehangen. Auf Empfängerseite werden diese Header in der korrespondierenden Schicht ausgewertet und abgeschnitten. Jede Schicht "`spricht"' nur mit der entsprechenden Schicht auf der anderen Seite die gleiche Sprache (Das gleiche Protokoll). Der Transport in vertikaler Ebene ist für die einzelnen Schichten völlig transparent.

Kritik am OSI RM

Es gibt folgende Kritikpunkte am OSI RM


Die TCP/IP Architektur

Das TCP/IP Referenzmodell ist anders als das OSI RM aus Zwecken der praktischen Anwendung entstanden . Die TCP/IP Architektur wurde aus folgenden Erwägungen heraus entwickelt: Das TCP/IP Modell ist wie das OSI RM als Protokollstapel aufgebaut, wie aus Abbildung  ersichtlich.

Die Schichten der TCP/IP Architektur
\includegraphics[width=\textwidth]{tcpip1.eps}

Aufgaben der TCP/IP Schichten

Das Transmission Control Protocol / Internet Protocol ist ein weitverbreiteter Standard für die Verbindung von Rechnern vieler verschiedener Hersteller. Die verschiedenen Implementierungen der Protokolle der TCP/IP-Familie sind untereinander kompatibel, so daß Daten und Dienste von Rechnern verschiedener Hersteller gemeinsam genutzt werden können.

Die Entwicklung von TCP/IP wurde vom amerikanischen Verteidigungsministerium (Department of Defense/DoD) bzw. dessen Forschungsbereich Defense Advanced Research Projects Agency (DARPA) in Auftrag gegeben, um für ihr ARPANET ein verläßliches Kommunikationsprotokoll zu bekommen. Ziel war die Definition und Implementierung einer Protokollfamilie. Das Ergebnis ist heute unter dem
Namen TCP/IP bekannt.

  1. Die Host an Netz-Schicht
    Ist im TCP/IP RM nicht klar definiert. Es gibt in der Definition von TCP/IP nur einen Hinweis, daß sich ein Host über ein bestimmtes Protokoll (das von Host zu Host und von Netz zu Netz abweichen kann) am Netz anschliessen muß, um IP Pakete versenden zu können.
  1. Die Internet Schicht
    Definiert ein offizielles Paketformat und Protokoll namens IP (Internet Protocol), dabei handelt es sich um ein verbindungsloses Protokoll, da"s analog zur gelben Post funktioniert, d.h. der Sender gibt ein Paket auf das Netz und "`hofft"', daß es beim Empfänger ankommt. Die Sicherung dieses Transports kommt einer höheren Schicht zu. Derzeit wird im Internet das IP in der Version 4 verwendet (IPv4).
  2. Die Transportschicht
    Enthält zwei Transportprotokolle, das verbindungsorientierte TCP (Transmission Control Protocol) und das verbindungslose UDP (User Datagram Protocol). TCP enthält eine Reihe von Möglichkeiten um den Transport von Paketen abzusichern. Pakete die in der falschen Reihenfolge von den unteren Schichten kommen, kann TCP wieder zu einem zusammenhängenden Datenstrom zusammensetzen. Beim UDP Protokoll müssen sich die Anwendungen selbst um die Flußkontrolle selbst kümmern, dieses Protokoll ist für einfache Frage Antwort Anwendungen (NTP), oder für Anwendungen, bei denen Geschwindigkeit vor Qualität geht (Echtzeit Audio/Video) prädestiniert.
  3. Die Verarbeitungsschicht
    Liegt direkt über der Transportschicht, weil die praktische Erfahrung gezeigt hat, daß die Darstellungs  und Sitzungs"-schicht des OSI RM in den meisten Fällen überflüssig sind. Aller höherschichtigen Protokolle befinden sich hier (z.B. FTP, SMTP, HTTP, TELNET ...).

Kritik an der TCP/IP Architektur

Auch das TCP/IP RM bietet einigen Anlas zur Kritik.

Vergleich von OSI RM und TCP/IP RM

Gegenüberstellung von OSI RM und TCP/IP RM
\includegraphics[width=\textwidth]{comp1.eps}

Beide Modelle basieren auf einem Stapel von Protokollen. Auch der Aufbau der Schichten ist ähnlich. Bei beiden werden der Anwendung netzunabhängige Ende-zu-Ende-Transportdienste zur Verfügung gestellt.

Während das OSI RM klar die Konzepte "`Dienst"', "`Schnittstelle"' und "`Protokoll"' trennt, verwischen diese bei TCP/IP. Das OSI RM past gut in die modernen Vorstellungen von Objektorientierter Programmierung (OOP), weil zwischen den einzelnen Schichten nur über klar definierte Schnittstellen ein Datenaustausch stattfindet und die Protokolle "`Privatangelegenheit"' der jeweiligen Schicht sind.

Aufgrund des Zeitpunkts seiner Entwicklung und seiner Komplexität, wurde das OSI RM jedoch kaum technisch angewandt. Es fehlten anfangs wichtige Konzepte, so war ein Broadcast Verkehr im anfänglichen OSI Modell nicht vorgesehen und muste nachträglich eingefügt werden, um mit der Realität mitzuhalten.

Man kann sagen, das sowohl OSI RM als auch TCP/IP RM ihre Berechtigung haben, während das OSI RM gut für die Beschreibung und Klassifizierung von Computernetzwerken ist, stellt TCP/IP zwar eine gut funktionierende Architektur dar aber ein Modell existiert praktisch nicht.


Netzwerkverbindungen

Netzwerkverbindungen können entweder verbindungsorientiert oder verbindungsfrei sein.

Verbindungsorientieres Netzwerk/Protokoll

Das TCP-Protokoll

Das TCP-Protokoll arbeitet verbindungsorientiert. Bei der Datenauslieferung steht die Verbindung Mittelpunkt und nicht der Port. Eine leicht verständliche Analogie ist eine Telefonkommunikation. Hostcomputer ist das Büro, eine Telefonnummer ist ein Port und der Telefonanruf die Verbindung. Angestellten im Büro sind die Anwendungsprotokolle und die geführten Gespräche entsprechen Austausch von Daten. Die Angestellten (Anwendungsprotokolle), die in diesem Büro (Hostcomputer) arbeiten, nutzen das Telefonsystem (IP) voll aus. Im Büro (Hostcomputer) wird jedem Mitarbeiter (Anwendungsprotokoll) eine eigene Nummer zugewiesen (Port). Leitet die Telefongesellschaft Gespräch an das Büro (Hostcomputer) weiter, klingelt ein Telefon. Die Telefonnummer (Port) eingehenden Anrufs bestimmt, wer den Anruf (Verbindung) entgegennimmt. Wollen de Anrufer Mitarbeiter miteinander reden, kommt es zur Konversation (Datenaustausch). Das TCP-Protokoll teueres Protokoll, d.h. es ist viel Aufwand nötig und es zu implementieren und zu warten.

Verbindungsfreies Netzwerk/Protokoll

Das UDP-Protokoll

Das UDP-Protokoll arbeitet verbindungsfrei. Man kann es mit einem Postdienst vergleichen. Wenn man die Analogie mit dem Postdienst ein wenig abändert, kann man die Beziehung zwischen UDP, Ports und Anwendungen einfach verstehen. Der Hostcomputer stellt das Postamt dar, die Briefkästen sind die Ports und die Besitzer der Briefkästen die Anwendungsprotokolle. Das IP-Protokoll ist das Auslieferungssystem des Netzwerks. Nun kann man sagen, das IP ist der Postwagen und die Transportprotokolle sind die Fahrer/Postboten. Die Postautos (IP) liefern ganze Wagenladungen an Post (Daten) zwischen den Postämtern (Hostcomputern) aus. Nachdem die Post sortiert ist, werfen die Postboten (UDP) die Briefe (Daten) in die Briefkästen (Ports). Die Besitzer der Briefkästen (Anwendungen) überprüfen die Briefkästen regelmäßig und entnehmen ihre Post. Es erfolgt keine Rückmeldung, ob die Daten angekommen sind oder nicht. Der Vorteil von UDP ist, daß es billig ist, d.h. nicht viel Aufwand zur Erstellung einer Anwendung nötig und auch die Wartung ziemlich leicht zu überblicken ist.

Virtuelle Kreise

Ein virtueller Kreis ist eine Verbindung, die sich wie eine dedizierte Punkt-zu-Punkt-verbindung darstellt. Wenn man z.B. zwischen Salzburg und München telefoniert, sieht es so aus, also würde eine direkt Verbindung zwischen Salzburg und München stehen, sozusagen ein eigenes Kabel. In Wirklichkeit wird das Gespräch von der Telefongesellschaft zwischen verschiedenen Schaltstellen geleitet. Es existiert also keine dedizierte Leitung zwischen Salzburg und München, auch wenn es so aussieht. Innerhalb des TCP/IP-Familie arbeitet das TCP-Protokoll mit einem virtuellen Kreis.

Sockettypen

Man unterscheidet im wesentlichen zwei Typen von Sockets. Mit der Wahl des Socket-Typs wird automatisch die Art des Datenaustauschs zwischen den beteiligten Prozessen festgelegt: Stream-Sockets sind verbindungsorientiert und zuverlässig. Verbindungsorientiert heißt, daß zwischen den beiden beteiligten Prozessen eine feste Verbindung aufgebaut wird (ähnlich einer Standleitung), über die Daten in beide Richtungen fließen können. Sie bleibt solange bestehen, bis einer der Prozesse dieVerbindung abbaut. Daten werden darüber, wie der Name schon andeutet, in Form eines kontinuierlichen Byte-Stroms ohne äußere Struktur transportiert (analog einer bidirektionalen Pipe). Zuverlässig heißt, daß alle über einen Stream-Socket gesandten Daten garantiert am Ziel ankommen, und zwar in der Reihenfolge, in der sie abgeschickt wurden. Stream-Sockets werden oft auch Virtual Circuits oder TCP-Sockets genannt.

Datagram-Sockets sind verbindungslos und nicht zuverlässig. Verbindungslos heißt, daß keine feste Verbindung zwischen den beiden beteiligten Prozessen aufgebaut wird. Daten werden in Form von Paketen gesandt. Da keine Verbindung zum Ziel-Socket besteht, muß dessen Adresse explizit beim Versenden mit angegeben werden. Nicht zuverlässig heißt, daß nur garantiert wird, daß ein Datenpaket abgeschickt wird, nicht aber, daß es sein Ziel erreicht, daß es genau einmal am Ziel ankommt, oder daß mehrere Pakete ihr Ziel in der Reihenfolge des Abschickens erreichen.Datagram-Sockets werden oft auch UDP-Sockets genannt.

Es stellt sich die Frage, wozu es zwei unterschiedliche Socket-Typen gibt. Stream-Sockets besitzen zwar gegebenüber den Datagram-Sockets offensichtliche Vorteile, jedoch werden diese durch einen erhöhten Overhead beim Datentransport erkauft. Auch die Erhaltung von Paketgrenzen ist ein zu beachtender Aspekt. Die Verwendung von Datagram-Sockets bietet sich an bei unkomplizierten Kommunikationsstrukturen, wo etwa eine Anfrage an einen Server-Prozeß gesendet und diese einfach wiederholt wird, falls keine Antwort innerhalb eines bestimmten Zeitraumes eintrifft.

Telnet Protocol

Telnet ist ein remote access Protokoll, mit dem ein lokales Terminal in die Lage versetzt wird, wie ein Terminal an einem entfernten Rechner zu funktionieren. Mittels Telnet kann ein Personal Computer oder ein Terminalfenster in einer Benutzungsoberfläche in ein Terminal verwandelt werden. Das Telnet-Protokoll wird meisten durch zwei Prozesse implementiert. Ein Client Prozeß initiiert, vom Benutzer gestartet, eine Session mit dem entfernten System. Auf diesem arbeitet ein Server, welcher auf Verbindungen mit entfernten Benutzern wartet und diese dann bearbeitet.

File Transfer Protocol (FTP)

Das File Transfer Protocol wird benutzt, um Dateien über ein Netzwerk zu transportieren. Ein Rechner kann eine Verbindung mit einem entfernten Rechner initiieren und darüber Dateien senden und empfangen, Verzeichnisse anzeigen lassen und einfache Kommandos ausführen. Genauso wie Telnet, wird FTP üblicherweise als Client-Server Software implementiert. Der Benutzer arbeitet mit dem lokalen Client, der mit dem entfernten Server kommuniziert. Dieser Server bearbeitet dann die Befehle des entfernten Benutzers und schickt die Ergebnisse an den Client zurück.

 

Die IP Transportprotokolle

IP ist das Transportprotokoll des TCP/IP RM, es wirkt auf der Internet Schicht (entspricht der Vermittlungsschicht des OSI RM).

Aufbau eines IPv4-Datagramms
\includegraphics[width=\textwidth]{ipv4.eps}

Ein IP Datagramm besteht aus einem Header und den Nutzdaten (Abbildung ). Wenn ein UDP Datagramm oder TCP Paket von der Transportschicht versandt werden soll, hängt das IP einen Header an den Anfang dieser Nutzdaten. Dieser Header enthält außser der Quell- und Zieladresse auch eine Checksumme (CRC), mit der die Integrität beim Empfänger gesichert werden kann (siehe auch). Die Größe eines IP Datagramms (MTU) hängt von dem verwendeten Netzwerktyp ab, typische Größen sind 1500 Byte für Ethernet, 4352 Byte für FDDI, 17914 Byte für Token Ring und 576 Byte für X.25. Wenn ein Datagramm größser als diese MTU ist, muss es fragmentiert, also in mehrere Datagramme geteilt werden. Die theoretische Maximallänge eine IP Datagramms ist 65535 Byte.

IP ist ein verbindungsloses Protokoll, d.h. es kümmert sich nicht darum, ob ein Datagramm ankommt oder nicht, diese Aufgabe liegt bei höheren Schichten (TCP oder Anwendung).

 

TCP / IPv6,

Aufgrund mehrerer Schwächen des aktuellen IP Protokolls IPv4, sah sich die IETF 1990 veranlaßt, die Arbeit an einer neuen Version von IP  aufzunehmen. Dazu wurde in RFC 1550 eine Anfrage nach Vorschlägen für das neue IP veröffentlicht.

Nach heftiger Diskussion über verschieden Punkte der Vorschläge einigte man sich auf folgende Eigenschaften:

Das Protokoll heißst IPv6 oder IPnG.

IP Adressen bei IPv6

Bei IPv6 sind die Adressen nicht mehr wie bisher 32 Bit lang, sondern 128 Bit (Abbildung). Sie werden in einer hexadezimalen Schreibweise mit Doppelpunkten angegeben, z.B. 0:0:0:0:0:0:C1AE:1AA1 (dies ist eine IPv4 kompatible Adresse, da nur die letzten 32 Bit genutzt sind, das IPv4 äquivalent ist 193.174.26.161). Die neuen IP Adressen lassen sich in 3 Klassen einteilen:

Der Aufbau einer IPv6 Adresse (oben mit MAC, mitte mit Anbieterbasierten Unicast Adressen, unten mit nationalen Registern)
\includegraphics[width=\textwidth]{ipv6_addr.eps}
der Header von IPv6

Der Aufbau des IPv6 Hauptheaders
\includegraphics[width=\textwidth]{ipv6_head.eps}

 


CIDR - Classless Internet Domain Routing

Ziel des CDIR ist es, dem Mangel an IP Adressen, der durch die klassenbasierte Adressvergabe auftritt, entgegenzuwirken. Beim CIDR werden, anders als bei der herkömmlichen Adressvergabe, nicht komplette Teilnetze vergeben, sondern nur Subnetze, d.h. Wenn eine Organisation z.B. 4096 IP Adressen braucht, bekommt Sie nicht mehr wie bisher ein komplettes Klasse B-Netz (z.B. 194.24.0.0 = 65536 Adressen), Sondern eine Reihe von IP Adressen z.B. 194.24.16.0 bis 194.24.31.255 und dazu eine Subnetmaske um die Hostadressen aus den IP Adressen zu filtern z.B. 255.255.240.0. Um mit diesen Adressen arbeiten zu können müssen alle Router auf dem Weg zu diesem Subnetz sowohl Netzadresse als auch Subnetmaske und nicht wie bisher nur die Netzadresse kennen.