Ich weiß, dass TCP eine Überprüfung verwendet, um die Richtigkeit der Daten durch Senden an den Server sicherzustellen. Meine Frage ist, überprüft es alles auf einmal oder wie es hereinkommt?
Kurzes Beispiel:
Angenommen, ich lade die Superuser-Seite hier. Der Einfachheit halber kann es in 5 Pakete passen (es ist praktisch unmöglich, eine moderne Webseite in solch eine kleine Datenmenge zu packen.):
Alles auf einmal:
* Kunde: [Daten anfordern geht hier] **
Server: [Paket 1]
Server: [Paket 2]
Server: [Paket 3]
Server: [Paket 4]
Server: [Paket 5]
Client: [Paket 1]
Client: [Paket 2]
Client: [Paket 3]
Client: [Paket 4]
Client: [Paket 5]
Stück für Stück (sorry konnte diesem Wortspiel nicht widerstehen!):
* Kunde: [Daten anfordern geht hier] **
Server: [Paket 1]
Client: [Paket 1]
Server: [Paket 2]
Client: [Paket 2]
Server: [Paket 3]
Client: [Paket 3]
Server: [Paket 4]
Client: [Paket 4]
Server: [Paket 5]
Client: [Paket 5]
Antworten:
Aus Tanenbaums Computernetzwerken - 5. Ausgabe :
Fettgedruckte Wörter bedeuten eindeutig den zweiten Fall, in dem die Pakete gesendet und Bestätigungen in der richtigen Reihenfolge empfangen werden. Es ist nicht der Fall, dass ein Großteil der Pakete gesendet wird und auf deren Bestätigungen gewartet wird.
quelle
TCP verwendet Sequenznummern in jedem Paket, um zu überprüfen, ob alle gesendeten Daten empfangen wurden und in der richtigen Reihenfolge vorliegen. Zu jedem Paket werden Prüfsummen hinzugefügt, um zu überprüfen, ob das Paket fehlerfrei ist.
Der TCP-Artikel auf Wikipedia beschreibt die zuverlässige Übertragung genauer.
quelle