Artikel pedia
| Home | Kontakt | Artikel einreichen | Oberseite 50 artikel | Oberseite 50 autors
 
 


Artikel kategorien
Letztes fugte hinzu
    Ms-access

   Instrumentation + schnittstellen

   Pc tuning - volle kraft voraus für ihr system

   Informatorische grundlagen

   Javascript

   Interne sortieralgorithmen - der kern der sache

   Plotter und sonstige drucker

   Frage 20 (rössl priska)

   Internet - programmierung

   Monitore

   Semesterarbeit und spezialgebiet für informatik

   Erörterungs zum thema

   Inhaltsverzeichnis

   Einführung in die entwicklung ganzheitlicher informationssysteme:

   Titel dokument
alle kategorien

  Das tcp/ip protokoll

                         TCP/IP RFC 793/791     PRRU-Referat               Inhalt  1. DAS INTERNET-PROTOKOLL (À IP, RFC 791) 3 1.1 Merkmale von IP 3 1.2 Das Paketformat von IP 3 1.3 Der Aufbau von IP-Paketen 3 2. DAS TRANSMISSION CONTROL PROTOCOL (À TCP, RFC 793) 4 2.

1 Merkmale von TCP 4 2.2 Das Paketformat von TCP 4 2.3 Identifikation von Sender und Empfänger 6 2.4 Aufbau einer TCP-Verbindung 6 2.5 Abbau einer TCP-Verbindung 8 2.6 Der Paketversand 9 3.

QUELLEN 9 1. Das Internet-Protokoll (à IP, RFC 791)   1.1 Merkmale von IP   Das IP-Protokoll stellt auf der Schicht 2 des ISO/OIS-Schichtenmodells den Transport von Datenpaketen zur Verfügung. Dieser Transport ist verbindunslos und nicht abgesichert   Verbindungslos ist der Transport deshalb, weil keine feste Verbindung zwischen Sender und Empfänger besteht. Das IP-Protokoll vergewissert sich vor dem Schicken der Daten nicht ob der Empfänger bereit ist die Daten zu empfangen, sondern via IP schickt eine Internet-Anwendung die Pakete einfach über das Netz. Das erste Paket an den einen, das zweite an den anderen Empfänger und das dritte wieder an den ersten Empfänger.

Eine feste Verbindung wird dazu weder benötigt noch hergestellt.   Nicht abgesichert ist der Transport via IP, weil keine Gewähr übernommen wird, dass das Paket auch beim richtigen Empfänger ankommt. Zwar gibt sich das System die größte Mühe mittels dem Internet Control Message Protocol (à ICMP, RFC 792) Fehler in der Übertragung zu vermeiden bzw. zu melden, allerdings ist augrund des verbindungslosen Zustandes auch nicht gesichert, dass die Fehlermeldung beim richtigen Empfänger ankommt.   1.2 Das Paketformat von IP   4 Bit 4 Bit 4 Bit 4 Bit 4 Bit 4 Bit 4 Bit 4 Bit   Version HLen Service Type Total Length Identification Flags Fragment Offset Time to live Protocol Header Checksum Source IP Adress Destination IP Adress Optionen (variabel) Padding   1.

3 Der Aufbau von IP-Paketen   Version (4 Bit): Version des IP-Protokolls (derzeit 4) HLen (4 Bit): Länge des IP-Kopfes in DWords Service Type (8 Bit): Priorität eines Paketes; Merkmale der Übertragungsweges Total Length (16 Bit): Gesamtlänge des IP-Paketes (Nutzdaten+Overhead) in Bytes Identification (16 Bit): Nummerierung der einzelnen Fragmente eines IP-Pakets Flags (3 Bit) Fragment Offset (13 Bit): Start der Daten innerhalb eines Fragments Time to live (8 Bit): Lebensdauer eines Pakets Protocol (8 Bit): Art des Pakets, das in IP-Paket enthalten ist Header Checksum (16 Bit): Checksumme über den Kopf des IP-Pakets Sourced IP Adress (32 Bit): Destination IP Adress (32 Bit) Optionen (variable): IP-Optionen Padding (n*8Bit): Füllbyte, um auf DWord-Länge zu kommen     2. Das Transmission Control Protocol (à TCP, RFC 793) 2.1 Merkmale von TCP 2.1.1 Verbindung von Anwendung zu Anwendung   Die Endpunkte einer TCP-Kommunikation werden durch eine IP-Adresse und eine Portnummer gekennzeichnet. Die IP-Adresse sorgt dafür, dass die Datenpakete zum richtigen Host kommen, die Portnummer wiederum ist dafür Zuständig, dass die Daten am Host zur richtigen Anwendung kommt.

Mit dieser Funktionsweise ist es möglich das mehrere Internet-Anwendungen auf einem Host gleichzeitg meherer TCP-Verbindungen mit anderen Anwendungen auf anderen Hosts zu unterhalten. 2.1.2 Sichere, virtuelle Verbindung   TCP knüpft eine virtuelle Verbindung zwischen den beiden Endpunkten der Verbindung, die mehr einer Telefonverbindung gleicht, als dem „blinden“ Versand von IP-Paketen. Im Rahmen des TCP-Protokolls die beiden Kommunikationspartner Informationen aus um fehlerhaft übertragene oder verloren gegangene Pakete zuerkennen und den Fehler zu beheben. 2.

1.3 Voll Duplex   Die Kommunikation ist in beide Richtungen möglich, d.h. dass beide Partner können gleichzeite Senden und Empfangen. 2.1.

4 Flexible Paketgrößen   Die Übertragung von Daten mittels TCP ist nicht an bestimmte Größen gebunden. Die theoretische Paketgröße liegt im Bereich von einem Byte bis zu mehreren Megabyte.   2.2 Das Paketformat von TCP   4 Bit 4 Bit 4 Bit 4 Bit 4 Bit 4 Bit 4 Bit 4 Bit   Source Port Destination Port Seqeuenze Number Acknowledgment Number Data Offset Reserved Control Bits Window Checksumme Urgent Pointer Optionen Padding   Source Port (16 Bit) Der Port auf Seiten des Absenders, über den der TCP-Strom läuft.   Destination Port (16 Bit) Der Port auf Seiten des empfängers, an dem der TCP-Strom landet.   Sequence Number (32 Bit) Sorgt für die richtigte Einordnung des Segments im TCP-Strom.


Mit ihrer Hilfe kann man erkennen, ob ein Segment fehlt.   Acknowledgment Number (32 Bit) Diese Information teilt der Gegenseite welche Sequence Number als nächstes im TCP-Strom folgt.   Data Offset (4 Bit) Dieses Feld zeigt die Größe des TCP-Headers in DWORDs (32-Bit-Einheiten) an. Damit kann man ermitteln, wo die eigentlichen Nutzdaten beginnen.   Reserviert (6 Bit) Dieses Feld ist für zukünftige Nutzung vorbehalten à muß Null sein   Control Bits (6 Bit) Bezeichnet Inhalt und Aufgabe des TCP-Kopfes Folgende Einstellungen der Bits sind möglich (von links nach rechts)   URG=1 à Das Segment enthält dringende Daten (urgent data), der Inhalt des Feldes Urgent Pointer ist zu beachten. ACK=1 à Das Feld enthält ein Acknowledge PSH=1 à empfangene Daten sofort weitergeben (push) RST=1 à Verbindung zurücksetzten (reset) SYN=1 à Verbindungsaufbau und Synchronisation der Sequence-Numbers FIN=1 à Verbindung schließen   Window (16 Bit) Anzahl der Bytes, die der Absender bereit ist zu empfangen.

  Checksumme (16 Bit) Checksumme über Header   Urgent Pointer (16 Bit) Bei TCP-Segmenten, bei denen das URG-Flag gesetzt ist, gibt diese Feld den Offset der ersten „normalen“ Daten an, die sich hinter den dringenden Daten befinden.   Optionen (variable Länge) TCP definiert hat zur Zeit drei Arten von Optionen:   „End of Option List“ à Wert: 0 (1 Byte) Dieses Feld zeigt an, das keine weiteren Optionen folgen „No-Option List“ à Wert: 2 (1 Byte) Dieses Feld dient zur Trennung zwischen zwei Optionen, z.B damit die nächste Option an der Word-Grenze beginnt. „Maximum Segment Size“ à Wert: 2 (1 Byte) + Länge: 4 (1 Byte) + Segment (2 Byte) Hier wird die maximal Segmentgröße angegeben. Dieses Feld wird vorallem beim Verbindungsaufbau benutzt.   Padding (variable Länge) Füll-Bytes à wird benötigt, damit der TCP-Header immer auf 32-Bit endet.

  2.3 Identifikation von Sender und Empfänger   Da die eigentlichen IP-Adressen schon im Kopf des IP-Pakets gespeichert wird, verzichtet man auf eine weiter Speicherung im TCP-Header. Im TCP-Header werden nur die Port-Informationen gespeichert. Aus den IP-Adressen und den Portnummern ist es möglich eine eindeutige Verbindung zwischen Sendern und Empfänger aufzubauen.   2.4 Aufbau einer TCP-Verbindung   Bei der TCP-Verbindung kommt der sogenannte „three-way-handshake“ zum Einsatz.

Das bedeutet, das drei TCP-Segmente nötig sind um eine Verbindung aufzubauen.   Wenn Host A eine Verbindung zu Host B aufbauen will, dann schickt er ein TCP-Paket, indem das SYN-Flag gesetzt ist. Dadurch erkennt Host B, dass jemand eine TCP-Verbindung mit ihm aufbauen will. Weiters ist es nötig, dass am Host B ständig ein Programm wacht, dass einen bestimmten Port überwacht und feststellt, ob jemand auf diesem Port eine Verbindung aufbauen will.   Wie schon erwähnt schickt Host A ein TCP-Paket, in dem das SYN-Flag und das Sequence Number-Feld mit der Sequence Number gesetzt ist. Daten sind in der Regel nicht enthalten.

Ist die Gegenseite zur Verbindungsaufnahme bereit, antwortet sie mit einem TCP-Segment, in dessen Header sowohl das SYN- als auch das ACK-Flag gesetzt ist. Das ACK steht für Acknowledgment, also für Bestätigung des SYN der Gegenseite. Gleichzeitig wird im Acknowledgment Number-Feld die initiale Sequence Nummer plus 1 des Empfängers angegeben. Im Sequence Number-Feld wird die Sequence Number des Empfänger mitgeschickt.   Die abschließende Nachricht vom Sender der Kommunikation dient dazu, um die gewünschte Sequence Number zu bestätigen. Hierzu schickt der Sender beide Sequence-Number (seine und die des Empfängers) plus 1 zurück.

  Beispiel: Host A will Verbindung mit Host B aufnehmen   TCP A TCP B   1. CLOSED LISTEN   2. SYN-SENT à <SEQ#=100> à SYN-RECEIVED <CTL=SYN>   3. ESTABLISHED ß <SEQ#=300><ACK#=101> ß SYN-RECEIVED <CTL=SYN,ACK>   4. ESTABLISHED à <SEQ#=101><ACK#=301> à ESTABLISHED <CTL=ACK>   5. ESTABLISHED à <SEQ#=101><ACK#=301> à ESTABLISHED <CTL=ACK><DATA>   Anfangszustand Ein Host A ist inaktiv (geschlossen); Host B wartet auf einen Verbindungsaufbau   Verbindungsaufbau von Host A Host A sendet ein Paket indem das SYN-Flag gesetzt ist und gleichzeitig sendet er seine Sequence Number mit (in dem Beispiel 100).

Host B empfängt das gesendete Paket   Bestätigung von Host B Host B sendet seinerseits ein Paket, indem sowohl das ACK- als auch das SYN-Flag gesetzt ist. Zur Bestätigung, dass er die Sequence Number von Host A erhalten hat, schickt er sie im ACK-Feld mit, allerdings um eins erhöht. In „seinem“ Sequence-Feld schickt er die eigene Sequence Number mit (à 300). Wenn Host A dieses Paket besteht von seiner Seite steht die Verbindung zu Host B.   Nochmalige Bestätigung von A Damit auch eine Verbindung von B nach A aufgebaut wird, müssem noch ein letzes Mal die beiden Nummern bestätigt werden. Host A sendet dazu ein Paket mit gesetztem ACK-Flag.

Die Sequence Number ist nun 101, die ACK-Number 301. Kommt das Paket am Host B an, steht die Verbindung auch zu Host A.   Daten verschicken Host A schickt zu Host B Daten.   Mögliche Sonderfälle Beide Host wollen gleichzeitig eine Verbindung aufbauen Neuaufbau einer „abgestürzten“ Verbindung Behandlung von halbgeöffnete Verbindungen   2.5 Abbau einer TCP-Verbindung   Um den Verbindungsabbauch zu verstehen, muß man eine wichtige Eigenschaft des TCP-Protokolls vestehen. Da eine TCP-Verbindung eine „voll duplex“-Verbindung darstellt, besteht eine Verbindung eigentlich aus zwei seperaten Verbindungen.

Einmal von A nach B und zum anderen eine von B nach A. Wenn also „A“ die Verbindung schließen will, ist damit nur die Verbindung von A nach B betroffen.   Die Seite A schickt ein TCP-Paket, indem das FIN-Flag gesetzt ist. Mit Erhalt des Pakets informiert die TCP-Software von B die jeweilige Anwendung, dass die Verbindung geschlossen werden soll und daher keine weiteren Daten verschickt werden können. B bestätigt den Erhalt des FIN-Pakets und wiederholt den gesamten Vorgang von seiner Seite aus. Damit werden beide Teile einer Verbindung geschlossen.

Natürlich werden auch hier laufende Sequence- und Acknowledgements Numbers verschickt.   Beispiel: User schließt Verbindung   TCP A TCP B   1. ESTABLISHED ESTABLISHED   2. (Close) FIN-WAIT-1 à <SEQ=100><ACK=300> à CLOSE-WAIT <CTL=FIN,ACK>   3. FIN-WAIT-2 ß <SEQ=300><ACK=101> ß CLOSE-WAIT <CTL=ACK>   4. (Close) TIME-WAIT ß <SEQ=300><ACK=101> ß LAST-ACK <CTL=FIN,ACK>   5.

TIME-WAIT à <SEQ=101><ACK=301> à CLOSED <CTL=ACK>   LINK CLOSED     Beschreibung:   FIN-WAIT-1 Bedeutet, dass Host A auf ein FIN-Paket von Host-B wartet, oder auf die Bestätigung des von ihm gesendeten FIN-Pakets. FIN-WAIT-2 Host A wartet auf die Bestätigung des FIN-Pakets CLOSE-WAIT Der Host B wartet auf den Verbindungsabbruch durch den User LAST-ACK Der Host wartet auf Bestätigung seines FIN-Pakets   TIME-WAIT Host A wartet eine Zeit damit er sicher sein kann, dass Host B auch seinen Wunsch zum Beenden des Verbindung bekommen hat.   In diesem Fall kann das FIN-Paket an einer beliebigen Stelle des ausgehenden TCP-Stroms stehen. Sobald das FIN-Paket versendet wurde, werden keine weiteren Pakete verschickt. Der Host, der das FIN-Flag verschickt hat (à Host A), wird in den FIN-WAIT 1 Zustand versetzt, dass bedeutet, dass weiterhin ankommende Pakete entgegengenommen werden und alle bisherigen Pakete, inklusive des FIN-Pakets, werden bei Verlust neu verschickt. Wenn vom anderen Host (à Host B) das FIN-Paket bestätigt hat, sendet er seinerseits ein FIN-Paket, um auch die Verbindung von seiner Seite abzubauen, diese FIN-Paket muß natürlich auch von Host A bestätigt werden.

Zu beachten ist hierbei, dass Host B seinerseite erst ein FIN-Paket senden wird, wenn der User die Verbindung auf seiner Seite schließen will.   Mögliche Sonderfälle Verbindungsabbruch durch den Remote-Host Gleichzeitiger Verbindungsabbruch   2.6 Der Paketversand   Nachdem die Verbindung aufgebaut ist besteht der Datenstrom aus dem Austausch von Segmenten. Da natürlich auch einzelne Segmente verloren gehen können, arbeitet TCP mit wiederholten Sendung von verlorenen Segmenten. Außerdem kann es zu doppelten Paketen kommen, auch dieses Problem korrigiert TCP.   Wie schon öfters erwähnt ist die Sequence Number eines der wichtigsten Elemente im TCP-Protokoll.

Sie wird nicht nur beim Verbindungsauf- und abbau verwendet sondern auch bei dem eigentlichen Paketversand. Durch diese Nummer kann bestimmt werden, welche Pakete noch fehlen und damit ist es möglich die Daten korrekt zu übermitteln.     3. Quellen   Internet Intern TCP/IP Tutorial and Technical Overview (à Internet) RFC 791 (Request for comments über IP) RFC 793 (Request for comments über TCP)        

Suchen artikel im kategorien
Schlüsselwort
  
Kategorien
  
  
   Zusammenfassung Der Vorleser

   sachtextanalyse

   interpretation zwist

   Fabel interpretation

   literarische charakteristik

   interpretation bender heimkehr

   felix lateinbuch

   interpretation der taucher von schiller

   textbeschreibung

   charakterisierung eduard selicke
Anmerkungen:

* Name:

* Email:

URL:


* Diskussion: (NO HTML)




| impressum | datenschutz

© Copyright Artikelpedia.com