Manchmal kommen die Daten in meiner Netzwerkbibliothek anders an, als ich sie gesendet habe, wenn ich ein Paket sende. Ich bin davon ausgegangen, dass TCP eine genaue Zustellung garantiert. Stimmt das? Oder muss beim Verpacken und Empfangen meines eigenen Bibliothekscodes etwas schiefgelaufen sein?
Antwort1
TCP garantiert KEINE exakte Zustellung Ihrer Daten auf der Ebene eines einzelnen Pakets.
Stattdessen bietet TCP den Rahmen zur Bestimmung der Datenintegrität durch Einfügen von Sequenznummern und Prüfsummen in den Header jedes Pakets, die der Empfänger überprüfen sollte, und einen Mechanismus, mit dem der Empfänger den Absender auffordern kann, Pakete erneut zu übertragen, wenn Pakete überhaupt nicht ankommen oder die Prüfsummen fehlschlagen.
Antwort2
Versuchen Sie, die Prüfsumme abzugleichen. Wenn sie nicht übereinstimmt, ist es wahrscheinlich, dass die Daten nach dem Senden und vor dem Erreichen des Ziels von etwas oder jemandem geändert werden. Wie bei einer MITM-Sache. Dies ist auf beiden Seiten möglich, Absender und Empfänger.