Ich komme irgendwie durch einander was nun verbindungslos ist und was verbindungsorientiert?
Also das Transportprotokoll TCP ist verbindungsorientiert ,TCP stellt einen virtuellen Kanal zwischen zwei Endpunkten einer Netzverbindung (Sockets) her. Auf diesem Kanal können in beide Richtungen Daten übertragen werden. TCP setzt in den meisten Fällen auf das IP (Internet-Protokoll) auf (Laut Wikipedia)und nun meine frage im TCP Protokoll werden aber auch die Benutzerdaten in IP-Datagramme fragmentiert.Und dann Verschickt
Wenn wir nun aber schon durch das TCP Modell eine Verbindung hergestellt haben (also wir haben schon eine virtuelle ende zu ende Route)wie so sollten dann die IP-Datagramme verbindungslos verschickt werden???
Wenn wir nun aber schon durch das TCP Modell eine Verbindung hergestellt haben (also wir haben schon eine virtuelle ende zu ende Route)wie so sollten dann die IP-Datagramme verbindungslos verschickt werden???
TCP setzt auf IP auf, IP ist verbindungslos. Du kannst IP nur verbindungslos schicken, IP kennt TCP nicht.
Stell Dir vor, Du willst der Deutschen Post Konkurrenz machen und versprichst Deinen Kunden, dass nie ein Brief verloren geht. Wenn ein Kunde zu Dir kommt, kopierst Du den Brief einfach und schickst diese Kopie mit der Deutschen Post. Falls sich der Empfänger beschwert, dass der Brief nicht angekommen ist, schickst Du einfach noch eine Kopie mit der Deutschen Post. Oder so ähnlich :)
Heißt das etwas wird entweder mit IP verschickt oder mit TCP?oder springt TCP ein wenn IP nicht gehalten hat was es verspricht also das die Daten angekommen sind?
IP verschickt die Daten verbindungslos(Datagrammtechnik) und was genau macht dann TCP?
Alsoo..
Das Internet benutzt das Internet-Protokoll (IP, rfc791). Dies sieht den Austausch von Paketen vor.
Wenn du also im Internet Daten verschicken willst, tust du dies immer paketbasiert; so etwas wie Streams oder Kanäle gibt es erstmal nicht.
Ein IP-Paket besteht (im wesentlichen) aus diesen Bestandteilen:
* Quell-IP-Adresse (z. B. 134.100.9.63)
* Ziel-IP-Adresse (z. B. 78.47.245.194)
* Protokoll (z. B. 6 (tcp) oder 17 (udp))
* Nutzdaten, die entsprechend dem Protokoll aufgebaut sind (z. B. ein TCP-Paket)
User können nicht direkt IP-Pakete verschicken/empfangen; dies ist dem Betriebssystem (und Anwendungen mit speziellen Privilegien) vorbehalten.
Nun gibt es z. B. das UDP (User Datagram Protocol, rfc768); dies bietet dem User die Möglichkeit, Paketbasiert mit anderen Rechnern zu kommunizieren. Im Wesentlichen kommt hier noch der Quell- und Zielport dazu. Hierüber können verschiedene Anwendungen auf demselben Rechner unterschieden werden.
Dann gibt es noch das TCP (Transmission Control Protocol, rfc793); dem User stellt es eine Schnittstelle zur Verfügung, die so aussieht, als hättest du eine Verbindung zur Gegenstelle, die aus zwei Kanälen/Streams (einen hin, einen zurück) besteht. Das ganze sieht für den User nicht mehr so aus, als würde er einzelne Pakete benutzen.
Tatsächlich benutzt TCP aber das IP-Protokoll zur Kommunikation, benutzt also Pakete. Daten werden in Pakete unterteilt; Kontrollinformationen (Verbindungsaufbau und so) werden auch mit Hilfe von Paketen ausgetauscht.
Zu dem Begriff der "Verbindung":
Ein typischer "Verbindungsaufbau" bei TCP besteht aus 3 Paketen und sieht so aus:
Quell-Adresse: Quell-Port -> Ziel-Adresse: Ziel-Port
134.100.9.63:7581 -> 78.47.245.194:80 (SYN)
78.47.245.194:80 ->134.100.9.63:7581 (SYN|ACK)
134.100.9.63:7581 -> 78.47.245.194:80 (ACK)
Danach sagt man, du hättest eine "Verbindung" aufgebaut. Genau genommen existiert diese Verbindung aber nicht! Das bilden sich die TCP-Implementierungen der beiden Rechner nur ein!
Statt über IP könnte ich diese 3 Pakete auch mit der Deutschen Post schicken. Hätten wir dann eine Verbindung aufgebaut? Was würde der Postbote von dieser Verbindung mitbekommen?
Heist das das nur der vermeidliche Verbindungsaufbau verbindungslos organisiert wird also quasi durch IP geregelt wird und das dann wenn die Verbindung steht alles verbindungsorientiert weiter geht ??
nee. die daten die tatsächlich über das übertragungsmedium laufen, sind immer paketbasiert (zb. ein tcp-paket in einem ip-paket in einem ethernet-paket). die schnittstelle die dir als benutzer zur verfügung steht, versteckt diesen inneren aufbau aber, sodass du das gefühl hast, mit datenströmen und verbindungen zu arbeiten.
Installier dir "wireshark" und schau dir einfach mal an, was auf deinem Netzwerk so abgeht. Vielleicht verstehst du das ganze dann besser?
Das war ein Weltpost Wulf :) Danke dir!