TCP/IP - Fundus.org

Werbung
"Andreas V.O. Petersson" <[email protected]>
TCP/IP
Was ist TCP/IP?
Um im Internet eine Verbindung mit einem anderen Computer herzustellen, braucht man ein Protokoll, das
sicherstellt, das man die Daten die man anfordert, auch bekommt.
Dazu muss sich jeder Computer im Internet an einen festgelegten Standard halten.
Ein Protokoll ist eine Sammlung von Regeln oder Konventionen, die Datenformate und die Art der Übermittlung
zwischen Kommunikationssystemen beschreiben.
Das ISO/OSI Schichtmodell:
Die übergeordnete Norm ist das ISO/OSI Schichtmodell. Es ist ein gedankliches Referenzmodell, mit dem Netzwerkkommunikation herstellerunabhängig beschrieben wird.
Dieses Schichtmodell ist kein Protokoll, sondern ein Schema für Protokolle und deren
Normierung, ist daher ein Architekturmodell für Protokolle und Standards zur
Datenkommunikation.
Das Modell ist aus verschiedenen Schichten
aufgebaut. Jede Schicht hat ihre eigenen
Normen. Wenn Daten verarbeitet werden,
durchlaufen sie alle Schichten. Bei diesem Bild
werden Daten empfangen: Der physikalische
Empfang der Daten, bis zur Darstellung z.b.
einer HTML –Seite.
Die einzelnen Schichten im Detail:
Die physikalische Schicht sorgt für die Weiterleitung der Daten in das Netzwerk. Ihre
Aufgabe ist also nur der Transport von unformatierten Bitsequenzen.
Der Link Layer (Sicherungsschicht) sorgt für das Erkennen und Beheben von Fehlern, und
sorgt für die Regelung des Zugriffs auf das Medium.
Normalerweise sind die ersten zwei Schichten eine Einheit, zusammen bilden sie die
Netzwerkkarte oder das Modem.
Danach folgt der Network Layer, er sorgt für den Aufbau eines Kommunikationskanals
zwischen zwei Rechnern, genaugenommen ist das der Transport von Paketen zwischen
beliebigen Endpunkten. Das beinhaltet also Adressierung und Routing. Diese Schicht
analysiert aber noch nicht den Inhalt.
"Andreas V.O. Petersson" <[email protected]>
In der Transportschicht findet die Fehlerkorrektur und Sortierung der Daten statt. Hier kommt
das TCP zum Einsatz. Hier findet auch der Aufbau einer Verbindung und ihre Erhaltung statt.
Der Session Layer ist in den meisten Fällen (verschiedene Protokolle) unbenutzt, eventuell
sorgt er dafür, wann jeder Teilnehmer senden darf.
Im Presentation Layer (Darstellungsschicht) findet die Ciffrierung oder Dechiffrierung statt,
sowie eine Komprimierung oder Dekomprimierung; Eventuell werden noch Konvertierungen
durchgeführt, wie eine Umwandlung des Zahlenformates. Danach werden Nachrichten so
aufgearbeitet, wie sie die Anwendungssoftware erwartet (z.b. Java- oder HTML - Code).
Die letzte Schicht, der Application Layer ist das Kommunikationsprogramm selbst. Hier
werden Daten interpretiert, wie bei Dateitransfer (FTP), Electronic Mail (X.400) oder
Hypertext (HTTP).
Das Protokoll:
TCP ist das häufigste Übertragungsprotokoll. Es garantiert die einwandfreie Übertragung der
Daten von A nach B. Es wandelt einen verbindungslosen Dienst in einen verbindungsorientierten um. Es gibt somit eine Garantie für eine korrekte Verbindung. TCP wird in der
Transportschicht eingesetzt.
Die Alternative dazu ist UDP, ein verbindungsloser Dienst. Dieses Protokoll wird nur
eingesetzt, wenn nicht unbedingt eine sichere Verbindung notwendig ist, oder wenn die
Anwendungssoftware für die korrekte Übertragung sorgt.
Im Internet hat jeder Rechner eine “Identifikationsnummer”. Die ersten 24 Bit der Adresse ist
die Adresse des Netzwerkes, in dem der Computer steht; Die weiteren 8 sind die Adresse des
Computers. Jedes Netzwerk kann maximal 253 Rechner haben, die restlichen sind für
spezielle Aufgaben reserviert.
Die Kommunikation im Internet geschieht mit Hilfe von Datenpaketen. Wenn jemand Daten
verschicken will, so steckt er sie in ein Paket, und “schreibt die Adresse drauf”.
Die Weitervermittlung dieser Daten übernehmen Router (Knotenrechner). Sie treffen die
Entscheidung, in welche Richtung das Datenpaket jetzt weitergesandt werden soll.
Wenn der Router feststellt, dass ein Weg blockiert ist, probiert er die Weiterreichung an einen
anderen Router. Auf diese Weise konfiguriert und optimiert sich das Internet von alleine.
Das hat aber auch zur Folge, dass die Datenpakete unter Umständen nicht in der Reihenfolge
ankommen, in der sie abgeschickt wurden, oder dass große Datenpakete in zersägtem Zustand
ankommen.
Der Empfänger muß also die
Pakete wieder zusammensetzen, das ist aber nur
möglich mit einer wohldefinierten Struktur der
einzelnen Pakete.
Deshalb hat jedes Datenpaket
einen Header(Kopf), in dem
präzise Daten über das Protokoll enthalten sind. Danach
folgen erst die eigentlichen
Daten.
"Andreas V.O. Petersson" <[email protected]>
Struktur des IP- Kopfes:
Die Version gibt die IP- Version an. Derzeit ist die aktuelle Ip-version 4. Danach folgt die
Angabe, wie groß der Kopf ist.
In “Sevicetypen” wird die Art der Übermittlung festgelegt, wie z.b. besonders dringende
Pakete.
Die “Paketlänge” gibt an, wie lang das gesamte Paket, inklusive des Headers ist. Da dafür nur
16 Bit reserviert sind, ist das Paket maximal 65536 Byte lang.
Die “Identifikation” ist eine Nummer, die der Absender der Pakete fortlaufend erhöht. Damit
kann er die Pakete, die er aussendet, voneinander unterscheiden.
Das DF- und das MF-Flag sind für die Aufsplittung von Paketen verantwortlich. Wenn DF
gesetzt wird, bedeutet das, dass das Paket nicht zersägt werden kann. Wenn MF gesetzt ist,
wurde das Paket bereits einmal aufgeteilt. Der “Fragmentabstand” gibt an, ab dem wievielten
Byte des Originalpaketes der Inhalt dieses Paketes beginnt.
Die Lebenszeit ist ein Wert, der bei jedem Mal, bei dem ein Paket weitergereicht wurde, um 1
verringert wird. Wenn er null wird, so wird das Paket gelöscht. Damit wird verhindert, dass
das Netz unnötig durch ziellose Pakete belastet wird.
Bei “Transport” wird festgelegt, für welche Datenübertragung die Daten bestimmt sind. Das
ist meistens TCP. Danach folgt eine Prüfsumme für den Protokollkopf. Die “Optionen” sind
für Sonderaufgaben reserviert.
Danach folgt, wenn man TCP
als Übertragungsprotokoll
verwendet, der TCP-Kopf.
Die Struktur des TCP-Kopfes:
Meistens wollen mehrere Prozesse gleichzeitig auf das Netzwerk zugreifen. Deshalb
bekommt jeder Prozeß eine eigene Portnummer. Damit wird sichergestellt, dass die Daten
dem richtigen Prozeß zukommen. z.b. Wenn man gleichzeitig Internet surft und FTP
Download macht, wäre es doch schade, wenn sich ein paar falsche Daten in das File
einschleichen, da ja beide Prozesse unter der selben IP-Adresse Daten anfordern.
Die Kombination aus IP-Adresse und Port wird als Socket bezeichnet.
Die Sequenznummer und die Quittungsnummer erfüllen den gleichen Zweck wir die
Identifikationsnummer beim IP-Header. Durch die Quittungsnummer wird gleichzeitig der
Empfang bestätigt.
Der “Datenabstand” definiert die Länge des TCP-Kopfes.
Die “Fenstergröße” definiert, wieviele Bytes der Sender derzeit empfangen kann. Dadurch
wehren sich Rechner gegen zu große Datenfluten.
"Andreas V.O. Petersson" <[email protected]>
Danach folgt eine Prüfsumme, die sich aber auf das gesamte Datenpaket bezieht. Damit
werden Fehler vermieden.
Erst jetzt kommen die Nutzdaten des Pakets, die dann zur nächsthöheren Schicht
weitergeleitet werden. Dort übernehmen Protokolle wie SMTP, HTTP, FTP, Telnet, Gopher
die weitere Interpretation der Daten.
Abkürzungen:
TCP/IP:
Transmission Control Protocol / Internet Protocol
ISO:
Internationale Standardisation Oraganisation
OSI:
HTML:
FTP:
X.400:
www:
HTTP:
UDP:
Open Systems Interconnection
Hyper Text Makup Language
File Transfer Protocol
Ein Standard zum autauschen von Mails
World wide Web
Hyper Text Transfer Protocol
User Datagram Protocol
Herunterladen