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.
Danke
SP
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.
Danke
SP
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 195571
Url: https://administrator.de/contentid/195571
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
7 Kommentare
Neuester Kommentar
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...
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...
@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ß
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ß