6.1 TCP/IP Schichtenmodell
und ISO OSI-Modell
TCP steht für Transmission Control
Protocol, IP für Internet Protocol. Zusammen bilden sie den Hauptbestandteil
der Protokolle, die Kommunikation über das Internet möglich machen.
Grundlage für das Funktionieren der Kommunikation zwischen allen unterschiedlichen
Typen von Rechnern im Internet bildet das TCP/IP Schichtenmodell und weist
somit gewisse Parallelen zum ISO OSI -Modell auf. Abbildung 1 veranschaulicht
den Zusammenhang, aber auch die Vereinfachungen des TCP/IP- Protokollstapels.
[6.1]
Hinter dem Schichtenmodell verbirgt sich
die Idee, daß höhere Schichten mit anderen Rechnern kommunizieren
können, ohne die Funktionsweisen der unteren Schichten zu kennen.
So reicht etwa eine Anwendung der obersten Schicht die Informationen einfach
an die darunter liegende Schicht (Transport- Schicht) weiter. [6.2]
Was ist also der Unterschied zwischen
TCP/IP und dem ISO OSI-Modell. TCP/IP ist wesentlich älter und im
militärischen Bereich entstanden während es sich bei dem OSI-Modell
um ein abstrahiertes Modell handelt. Die Entscheidung TCP/IP im Internet
als Standard zu etablieren, hängt hauptsächlich damit zusammen,
daß bereits eine große Anzahl Rechner TCP/IP zu der Zeit benutzt
haben. Insbesondere in Unix-Systemen waren TCP und IP als Kommunikationsprotokolle
bereits integriert. Für eine Umstellung der bestehenden Systeme auf
OSI gab es keine Übergangslösung. OSI ist nicht abwärtskompatibel
zu TCP/IP. [6.1]
Zunächst möchte der Autor auf
die einzelnen Funktionsweisen der Protokolle TCP bzw. IP eingehen, um dann
anschließend anhand eines Beispiels das Zusammenspiel der verschiedenen
Protokolle im Internet und die Vorteilhaftigkeit einer Schichtenhierarchie
zu erläutern.
6.1.1 TCP
TCP ist ein verbindungsorientiertes und
zuverlässiges Protokoll innerhalb der Transport- Schicht . TCP hat
zwei wesentliche Aufgaben: Erstens stellt TCP die Kommunikation mit der
höchsten Schicht, der Anwendung, her und zweitens kümmert sich
TCP um Fehlerbehandlung und einen gesicherten Datenfluß.
TCP erhält einen Datenstrom, ermittelt
den Empfänger und versucht eine Verbindung mit diesem Host aufzubauen.
Falls eine Antwort zurück kommt, sendet es das nächste Paket
und wartet wiederum auf Antwort. So gelangt ein Paket nach dem anderen
zum nächsten Rechner. Nachdem alle Pakete verschickt worden sind schließt
TCP die Verbindung. [6.3]
6.1.2 IP
Das Internet Protokoll ist im Gegensatz
zu TCP verbindungsunabhägig und unzuverlässig. IP überträgt
Datenpakete an andere Rechner und empfängt diese unabhängig von
deren Inhalt. Es ist unzuverlässig, da es die Daten einfach an die
darunterliegende Schicht, z.B. eine Netzwerkkarte, übermittelt und
sich nicht darum kümmert, ob die Daten auch ihr Ziel erreichen. Man
kann sich das IP als Bediener einer Morseschreibers vorstellen, der Morsezeichen
absetzt, aber sich nicht darum kümmert, ob die Morsezeichen ankommen
und ob die Morsezeichen am anderen Ende auch verstanden werden. Alleine
mit dem Internet Protokoll könnte natürlich noch keine Kommunikation
stattfinden.
Weiterhin teilt das IP die Daten in mehrere
kleine Pakete auf . Diese werden dann in die ungefähre Richtung der
Zieladresse weitergeleitet. Die Adressierung des Internet Protokoll basiert
auf den IP-Nummern (siehe Kapitel 6.2). [6.2],[6.4]
6.1.3 Der Zusammenhang zwischen TCP und
IP
Alleine aufgrund dieser beiden Protokolle
scheint es noch nicht einsichtig zu sein, warum eine vielzahl an Protokollen
notwendig ist, um die Kommunikation im Internet zu sichern. Dieses soll
an dem Beispiel einer E-Mail erläutert werden.
Der Benutzer tippt die Empfängeradresse
und den Inhalt der Nachricht in einem beliebigen E-Mail Programm ein .
Soweit ist noch keine Netzwerkanbindung notwendig. Wählt der Anwender
jedoch die Funktion "Abschicken" aus, versieht das Programm den Text mit
einem SMTP-Header , der Empfänger- und Absenderadresse enthält.
Der Anwendung kann es jedoch egal sein, wie der Brief seinen Empfänger
erreicht, sie muß die Nachricht lediglich an die nächste Schicht,
das TCP weiterreichen. Das TCP, welches die Nachricht entgegen nimmt, versieht
sie (wie jede Schicht) mit einem eigenem Header. Sie kann mit einem Postbooten
verglichen werden, der herausfindet, ob der Zielort exisitiert und diese
dann auf das entsprechendende Transportmittel wirft. Dieses Transportmittel
kann im Fall der Post die Bahn, ein LKW, ein Flugzeug oder ein Schiff sein
oder mehrmals wechseln, auch darum muß sich das TCP nicht kümmern,
dafür gibt es das IP, welches die E-Mail in mehrere kleine Pakete
teilt und diese in Richtung Ziel weiterleitet. Die physikalische Weiterleitung
übernimmt hier jedoch die Netzwerkschicht, z.B. das Ethernet. Das
Ethernet versieht die Daten mit einem weiteren Header und einer Prüfsumme
am Ende des Datenteils, mit Hilfe derer die korekte Übertragung festgestellt
werden kann. Diese Übergabe zwischen IP und Netzwerk findet mehrmals
statt. Am anderen Ende nimmt der Postboote (das TCP), die Teilpakete entgegen,
schneidet den IP Header ab, bringt diese in die richtige Reihenfolge und
fordert verlorengegangene Pakete erneut an. Der Empfängerrechner (Mailhost)
schneidet erneut den TCP Header ab und kopiert die E-Mail in das
Postfach des Empfängers.
Ähnlich laufen auch Verbindungen
anderer Applikationen. Die Anwendung versieht das Programm mit dem entsprechenden
Anwendungsprotokoll. Ein WWW-Browser zum Beispiel benutzt den Hyper Text
Transfer Protocol (HTTP) Header oder ein Dateiverwaltungsprogramm den File
Transfer Protocol (FTP) Header, um Dateien aus dem Internet zu übertragen.
Mit dem Weiterreichen an die Transportschicht sind somit die Aufgaben der
Anwendungen erledigt. Alles weitere stellen die unteren Schichten zur Verfügung.
Somit ergeben sich folgende Vorteile aus dem Schichten- Modell:
? Unabhängigkeit der oberen Schichten
von den unteren
? Neuerungen auf einer Schicht ziehen
keine Änderungen auf den anderen Schichten nach sich, somit verringerter
Programmieraufwand
? Erweiterungen meistens leicht auf Grundlage
der Anwendungsschicht zu realisieren
? Kommunikation innerhalb inhomogener
Netzwerke wird möglich
Allerdings steht dem Internet Protokoll
eine Erneuerung bevor, um der Entwicklung und multimedialen Erweiterungen
Rechnung zu tragen (siehe Kapitel 6.4). [6.1], [6.2], [6.5], [6.7]
6.2
IP-Nummern
Bereits gefallen ist der Begriff der IP-Nummern
oder auch IP-Adressen. Es handelt sich dabei um vier durch Punkte getrennte
acht- Bit Zahlen, wie z.B. 129.13.95.1. Sie sind weltweit eindeutig und
stellen jeweils (genau) einen Rechner dar. [6.7], [6.8]
Da diese kryptischen Adressen schwer zu
merken sind, wurde der Domain Name Service (DNS) eingeführt. Somit
steht die Adresse rzstud1.rz.uni-karlsruhe.de für 129.13.95.1. Für
die Umsetzung der numerischen IP-Adressen in Namen benötigt man eine
DNS Server. Er enthält eine Zuordnungstabelle von IP-Adressen in Domain
Namen. Die Domain Namen sind von hinten nach vorne strukturiert aufgebaut.
In diesem Beispiel steht die Endung de für Deutschland und ist Top-Level
Domain. Außer den Top-Level Domains für Länder (z.B. nl
für die Niederlande, uk für Großbritannien) gibt es die
Endungen mil für Militär, edu für Ausbildungsstätten,
org für Organisationen und com für kommerzielle Rechner. In letzter
Zeit sind einige neue Top-Level Domains, wie int für International
und eu für Europa ins Leben gerufen worden.
An zweiter Stelle (von rechts) steht die
Organisation, hier Universität Karlsruhe, oder die sogenannte Domain.
Weiterhin gibt es die Unterteilung in Sub-Domains (hier rz für Rechenzentrum)
und ganz vorne steht der Name des Rechners (rzstud1).
[6.9], [6.10]
Zur Vereinfachung des Routing (siehe Kapitel
6.3) sind die IP-Adressen in vier durch Punkt getrennte Teile aufgeteilt.
Somit können Organisationen
? Class-A-Adressen (für sehr große
Netze mit sehr vielen Hosts)
? Class-B-Adressen (für mittelgroße
Netzwerke) oder
? Class-C-Adressen (für kleine Netzwerke
mit weniger als 255 Hosts)
erwerben. Somit muß nicht jeder
Rechner bei jedem Router (siehe Kapitel 6.3) bekannt sein, sondern lediglich
die Domain, die dann wiederum einen Router besitzt, der die Rechner innerhalb
der Domain kennt.
6.3
Routing
6.3.1 Grundlagen des Routing
Routing ist das Weiterleiten von Informationen
an den richtigen Rechner oder in die (ungefähr) richtige Richtung.
Laut Oberweis gibt es vier grundsätzliche Varianten des Routing:
? vorbestimmtes Routing (bei Einrichtung
des Netzwerkes wird für jeden Knoten der Weg zu einem anderen Knoten
festgelegt)
? statisches Routing (für jeden Knoten
gibt es einen festgelegten nächsten Knoten auf dem Weg zum Zielrechner)
? dynamisches Routing (während der
Übermittlung wird der Weg der Daten dynamisch bestimmt)
? adaptives Routing (Weg wird entsprechend
der aktuellen Netzwerkbedingungen festgelegt) [6.11]
6.3.2 Routing im Internet
Denkt man an die Ursprünge des Internet
als militärisches ausfallsicheres Netzwerk zurück, dann ist es
einleuchtend, daß im Internet dynamisches adaptives Routing vorherrscht.
Den Hauptteil des Routing übernehmen die Router, Rechner mit dem alleinigen
Zweck des Weiterleiten von Daten in die richtige Richtung.
Wie bereits erwähnt sind die IP-Adressen
in Class-A, B und C aufgeteilt, da aber der Adreßraum knapp wurde,
konnte das Identical Routing für IP-Adressen mit dem gleichen Anfang
nicht komplett beibehalten werden, sondern es wurde eine Erweiterung eingeführt,
die es ermöglichen auch unter der aktuellen Version von IP (Version
4) die Adressen effizienter zu nutzen. Diese Methode ist aber mit einem
deutlich größerem Routing Aufwand verbunden.
6.4
Internet-Protokoll Version 6
6.4.1 Entstehung und Notwendigkeit eines
neuen Protokolls
Seit über drei Jahren forscht die
Internet Engineering Taskforce (IETF), das Gremium im Internet, welches
technische Standardisierungen vorantreibt, an einem neuen Internet Protokoll
unter dem Decknamen IP Next Generation (IPng) oder offiziell IPv6, welches
das bestehende IP der Version 4 ersetzen soll.
Die Notwendigkeit zur Entwicklung eines
neuen Internet Protokolls ergibt sich primär aufgrund des Wachstums
des Internets. Die von der IETF ins Leben gerufene Address Lifetime Expectation
(ALE) Arbeitsgruppe hat herausgefunden, daß der Adressraum der 32-Bit
IPv4 Adressen (IP-Adressen) nur noch bis zum Jahr 2005 reicht. Die theoretisch
mögliche Zahl von 232 eindeutigen Rechnernamen wird zwar dann noch
nicht erreicht sein, aber um den Routing Aufwand einigermaßen in
Grenzen zu halten, ist eine weitere Aufteilung nicht sinnvoll. [6.15]
Zweiter wesentlicher Punkt der Neuerung
ist die Unterstützung neuer und zukünftiger Technologien durch
IP. Hinden beschreibt einen bevorstehenden Wandel des Internets weg von
der Computer Industrie, die bisher das Internet fortgetrieben hat, hin
zu neuen Märkten. Dazu zählt er mobile Computersysteme, Netzwerkunterhaltungsindustrie
und netzwerkorientierte Gerätesteuerung.
? Mobile Computersysteme sind bereits bekannt,
aber sie verbreiten sich immer weiter und werden in Zukunft auch stärker
an Netzwerke, wie das Internet anschließbar sein. Daraus resultiert
die Notwendigkeit für ein Protokoll, welches die Autokonfiguration
ermöglicht. Hieraus ergibt sich die Forderung, daß eine Erweiterung
keinen deutlich größeren Overhead (an Daten) mit sich zieht.
? Die Unterhaltungsindustrie ist dabei
das Internet als Übermittler von Informationen zu erobern. So sind
Fernsehen, Video on Demand, Radio, etc. über das Internet sicherlich
bald Realität. Der Unterschied zwischen Fernsehern und Computern wird
zusammenschmelzen. Jedoch sollen als Vorgabe für IPv6 diese datenintensiven
Dienste das Internet so wenig, wie möglich belasten.
? Noch nicht realisiert sind Gerätesteuerung
über das Internet. Hinden nennt Steuerung von Licht, Heizung, Klimaanlagen,
Kühlhäusern und Motoren als Beispiele. Denkbar sind Computer
Intergrated Manufacturing (CIM) Anlagen, die via Internet oder Intranet
von irgendwo in der Welt bedient und überwacht werden können.
[6.13]
Diese "emerging markets" werden in nächster
Zukunft entstehen bzw. wachsen und wenn das Internet dafür die technischen
Grundlagen nicht liefert, werden eigene Verfahren entwickeln, die im nachhinein
schwer zu standardisieren sind. Somit sieht das IETF seine Position, diesen
Technologien eine Basis zu liefern, die als unabhängiger Standard
für jedermann verfügbar ist. IPv6 ist offen für neue Erweiterungen,
die heute noch nicht absehbar sind und somit für die Zukunft gewappnet.
[6.13]
Dritter wesentlicher Punkt der Umstellung
ist der Übergang von IP Version 4 auf IPng. Das Internet ist zu groß,
um eine synchrone Umstellung aller Rechner vorzunehmen. Somit ist bei der
Entwicklung darauf geachtet worden, das eine Abwärtskompatibilität
gewährleistet ist. IPng Pakete können mittels Tunnelling Strecken
durch "IPv4 Gebiet" durchqueren. Benutzer mit alten Systemen können
weiterhin alle herkömmlichen Dienste und IPv4 Rechner erreichen. Mit
alter Software stehen neue Dienste, wie Video on Demand allerdings nicht
mehr zur Verfügung. [6.12]
6.4.2 Unicast für Provider
Die eindeutigen IP-Nummern sind auf 128-bit
erweitert worden, somit entsprechen sie der vierfachen Länge der alten
IP-Nummern. Zunächst mag diese Länge ein wenig übertrieben
erscheinen, bedenkt man, daß sich damit 6,65 1023 Rechner je Quadratmeter
der Erde aufstellen ließen. Um ein hierarchisches und somit einfaches
Routing zu gewährleisten, sind die neuen Adressen systematisch aufgeteilt
und es wird klar das dabei einige Nummern nicht nutzbar sind. Das Beispiel
veranschaulicht den Aufbau der Adressen (für Provider):
3 bits 5 bits z.B. 28 bits z.B. 28 bits
z.B. 16 bits z.B. 48 bits
010
(Kennung des Adreßtyps) registry
ID
(NIC Kennung) provider ID
(z.B. BaWue) subscriber ID
(z.B. Uni Karlsruhe) subnet ID
(z.B. Rechenzentrum) interface ID
(Ethernetkarten-Adresse)
Abbildung 6: IPv6 Unicast-Adresse für
Provider
Rechner, die nur innerhalb des Firmennetzwerkes
oder des Provider-Netzwerkes gültig sind bekommen eine spezielle Anfangskennung
(1111 1110 10 bzw. 1111 1110 11) und somit werden Daten von diesen Rechnern
nicht nach außen weitergeleitet. Somit steht ein spezieller Sicherheitsmechanismus
zur Verfügung, um sensible Daten innerhalb des Netzes zur Verfügung
zu stellen, aber nach außen abzuschirmen. Alte IPv4 Adressen
haben führende Nullen und enthalten in den letzten 32-bit Ihre ursprüngliche
Adresse. Mit IPng werden die Adressen als acht durch Doppelpunkt getrennte
vierstellige Hexadezimalzahlen dargestellt, z.B. 1080:0:0:0:8:8A1:417A.
Zur Vereinfachung können somit führende Nullen weggelassen und
Adressteile mit nur Nullen durch zwei aufeinanderfolgende Doppelpunkte
abgekürzt werden. [6.12],[6.13]
6.4.3 Multicast
Da TCP als verbindungsorientiertes Protokoll
nicht Multicast fähig ist, stellt das Multicast eine komplette Novelle
dar . Multicast ermöglicht Video on Demand, Videokonferenz, Internet-TV
und eine ganze Reihe weiterer multimedialer Anwendungen. Ein Sender sendet
hierbei gleichzeitig die gleichen Daten an mehrere Empfänger. Mehrfachübertragung
wird verhindert, da die Internet Schicht sie bereits auswertet und somit
Bandbreiten spart. Multicast Adressen beginnen mit 1111 1111. [6.12]
6.4.4 Anycast
Anycast ist zum einen für mobile Computer
gedacht. Rechner, wie DNS-Server können zu einer Gruppe von Anycast-Hosts
zusammengefaßt werden. Somit sucht sich ein Laptop nach Anschluß
an das Netz den nächstverfügbaren DNS-Server heraus.
Auch Router können als Anycast-Rechner
konfiguriert werden, um Daten möglichst weit auf eigenen Leitungen
zu verschicken. IPv6 unterstützt die Autokonfiguration, welche dem
Internet Benutzer, der sich über eine Einwahlverbindung temporär
an das Internet anschließt, einen nicht ganz unerheblichen Installationsaufwand
erspart. [6.12]
6.4.5 sonstige Erweiterungen
Auf Grund des Rahmen dieses Seminars sind
weitere Erweiterungen von IPng hier nur in Ansätzen skizziert. Zur
Vertiefung empfiehlt der Autor [6.12], [6.13], [6.15].
? Sicherheit
IPng spezifiziert einen Authentifizierungsheader
und eine Sicherheitseinkapselung, überläßt dabei aber die
anzuwendenden Sicherheitstechniken dem Anwendungsprogramm.
? Header
Der IPv6 Header ist trotz vierfacher IP-Adressenlänge
nur doppelt so groß, wie der IPv4 Header. Optionen wurden optional
gemacht bzw. überflüssige weggelassen.
? Routing
IPv6 läßt Angaben über
das Routing zu, z.B. um Sicherzustellen, daß Pakete möglichst
weite Strecken auf eigenen Leitungen zurücklegen
? Zukunftsoffenheit
Es wurde beim Entwurf explizit darauf
geachtet, daß genug Raum für zukünftige Entwicklungen vorhanden
ist, sowohl in Bezug auf die IP-Adressen, als auch auf Portnummern, Dienste,
Header- Optionen, etc.
Die Next Generation Arbeitsgruppe am IETF
nennt keinen Termin für die Einführung von IPv6. Der Entwurf
liegt in der zweiten Version vor. Eine Umstellung ist in den nächsten
zwei bis drei Jahren zu erwarten.
. |
Quellenangaben Kapitel
6
| [1] Hosenfeld, Friedhelm und Brauer, Kai: Kommunnikation ohne Grenzen
– TCP/IP Informationsübermittlung im Internet, c't Magazin für
Computertechnik, Heft 12, 1995, S. 330ff |
| [2] What
is TCP/IP and Why Use It? |
| [3] Transmission
Control Protocol (TCP) |
| [4] Internet
Protocol (IP) |
| [5] Feichtner, Christian: Einführung
in TCP/IP |
| [6] December, John und Ginsburg, Mark: HTML & CGI, Indianaplolis
1995, sams.net Publishing, S. 374f |
| [7] Liu, Cricket; Peek Jerry; u.a.: Internet-Server – Einrichten und
Verwalten, O'Reilly, Bonn 1995, S. 9ff |
| [8] Filippidis und Kremer: Koordination
des Internet |
| [9] Feichtner, Christian: DNS |
| [10] Weihrich, Thomas: Filofax fürs Internet – Der Domain Name
Service von TCP/IP, c't Magazin für Computertechnik, Heft 10, 1997,
S. 346ff |
| [11 ] Oberweis, Andreas: Verteilte Datenbanksysteme, Frankfurt 1997 |
| [12 ] Hosenfeld, Friedhelm: Next Generation – Internet Protocol Version
6: ein neues Kommunikationszeitalter?, c't Magazin für Computertechnik,
Heft 11, 1996, S. 380ff |
| [13 ] Hinden, Robert: IP
Next Geneartion Overview |
| [14 ] Deering, S. und Hinden, Robert: Internet-Draft,
Internet Protocol Version 6 – Specification |
| [.15 ] Längsfeld, Malte und Wessels, Lars: Informationsgesellschaft
– Chancen und Risiken – Sicherheit in der Informationsgesellschaf |
|