Teleseminar 
 
 
 
historische Entwicklung des Internets 
 
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
 
Zurück | Weiter Weiter
Inhalt Inhalt