sharepoint
Goto Top

Daten senden bei einer TCP-Verbidnung in beide Richtungen...erneuter Handshake notwendig?

Hallöle,

beim Aufbau einer TCP-Verbindung wird im ersten
Schritt die Verbindung über den 3-way-handshake
synchronisiert.
Danach können Daten in beide Richtungen gesendet
werden.

Wenn der Sender sich mit dem Empfänger synchronisiert
hat und Daten sendet ist ja alles in Ordnung.

Aber...
wie sieht es aus, wenn der Empfänger Daten senden
möchte?
Muss er die TCP-Verbindung neu aufbauen und ebenfalls
den 3-way-handshake durchlaufen?

Oder kann der Empfänger "einfach so" auf dem schon
synchronisierten Kanal senden?

Ein Link mit Erklärung zum Nachlesen wäre auch schön. face-wink

Danke
SP

Content-ID: 195571

Url: https://administrator.de/contentid/195571

Ausgedruckt am: 24.11.2024 um 22:11 Uhr

maretz
maretz 09.12.2012 um 15:08:02 Uhr
Goto Top
da TCP von so ziemlich jedem Programm genutzt werden kann ist das ja ziemlich … ähm… unklar was du meinst, oder?

Wenn du z.B. dir http anguckst - dann wird da üblicherweise in beide Richtungen gearbeitet… Es gibt aber auch Fälle in denen du nur sendest. Jetzt kommt es darauf an was du dann nämlich mit "Empfänger sendet" meinst -> sendet der nur ein ACK usw. - dann geht das über die normale Verbindung (damit bestätigt der ja extra das ein Paket ankam). Redest du aber von richtigen Datenverkehr kann man z.B. bei Tauschbörsen davon ausgehen das die üblicherweise einen neuen Kanal dafür aufmachen…

Von daher - so pauschal wirst du da nix finden, das hängt von der genauen Anforderung ab...
jens2001
jens2001 09.12.2012 um 15:19:46 Uhr
Goto Top
Wikipedia abgestürzt?
SharePoint
SharePoint 09.12.2012 um 15:20:18 Uhr
Goto Top
Achso face-wink

Bleiben wir mal zunächst mal bei http. face-wink

Ein Client fordert eine Website von einem Server an.
Der Client baut also die Verbindung auf.
Letztendlich sendet er aber nur die Anfrage.
Der Server hingegen, der diese Anfrage empfängt, muss
nun aber die Seite senden.
Baut er eine neue TCP-Verbindung auf oder nutzt er die
schon existierende?

Anderes Szenario:
Ein Client verbindet sich zu einem FTP-Server, um Daten
hochzuladen. Der Client baut die Verbindung auf und
sendet die Daten.
Wie sieht es nun aus, wenn der Client auch etwas
herunterladen möchte?
Baut der FTP-Server eine neue Verbindung zum Client auf?
Denn nun sendet ja der FTP-Server.

Und nun die letzte Frage.
Hast Du ein konkretes Beispiel, wo wirklich richtiger
Datenverkehr (also hin und her) nur über eine einzige
TCP-Verbindung läuft?

Danke und Gruß
SP
danielfr
danielfr 09.12.2012 um 15:55:14 Uhr
Goto Top
Grundsätzlich können beide über einen Kanal "senden und empfangen" um es mal so auszudrücken. Wie das in den verschiedenen Protokollen im einzelnen geregelt wird kannst Du aber in den Spezifikationen nachlesen. Es bietet sich eben, wie schon erwähnt, Wikipedia an, da gibts eine gute Feld zur Suche.
marinux
marinux 09.12.2012 um 17:32:51 Uhr
Goto Top
@SharePoint

In beiden von die geschilderten Fällen ist der Client der Initiator und er baut die TCP-Verbindung auf. Über diese werden dann sämtlichen Daten gesendet (sofern der Client nicht mehrere TCP-Verbindungen zu dem Server aufmacht), bis Client oder Server die Verbindung beenden.
Der Server startet üblicherweise nicht von sich aus TCP-Verbindungen zu einem Client! Wohin sollte er auch auf dem Client Verbinden (fehlender Port etc.)?

Nochmal speziell zu dem FTP-Szenario: Auch beim Herunterladen fragt der CLIENT beim FTP-Server an, eröffnet also eine Verbindung. Über diese erfolgt dann auch der Transfer.


Willst du das selber mal testen, dann installiere dir z.B. Wireshark, sniffe auf deiner Netzwerkkarte und eröffne über sie eine FTP Verbindung. Setze in Wireshark den Filter "FTP" und du kannst alles wunderbar beobachten, ja sogar grafisch ausgeben.

Gruß
SharePoint
SharePoint 11.12.2012 um 14:04:42 Uhr
Goto Top
Vielen Dank an alle "Antwortgeber".

Frage beantwortet.

An Wireshark hatte ich noch gar nicht
gedacht. Werde speziell das FTP-Szenario
mitschneiden.

SP
danielfr
danielfr 11.12.2012 um 19:27:56 Uhr
Goto Top
An Wireshark hatte ich noch gar nicht
gedacht. Werde speziell das FTP-Szenario
mitschneiden.

Besonders praktisch ist dann die "Follow Stream" (o.ä.) Funktion, die Du mit rechtem Mausklick auf ein Paket erreichst. Probiers einfach mal aus.
Have fun.