[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

satellite delay (was: Re: [or-talk] Re: Win32.Trojan.Agent appear when close Torpark)




Of what reason don´t the same apply on the internet? One packet sent, then wait a couple of seconds for it to reach desitination and the answer packet returns, then next packet and so on. In my imagination, only loading a non graphic website, or sending this email to the list would take for hours, or what? But apparently it don´t...

You're imagining the following situation (C: client, S: server):

C: Send me the next packet.
S: Okay, here it is.
C: Send me the next packet.
S: Okay, here it is.
C: Send me the next packet.

In reality, it's more like this:

S: Here's packet 0.
S: Here's packet 1.
S: Here's packet 2.
S: Here's packet 3.
S: Here's packet 4.
S: Here's packet 5.
S: Here's packet 6.
C: I've received packets 0 through 4 correctly.
S: Here's packet 7.
S: Here's packet 8.
S: Here's packet 9.
S: Here's packet 10.
S: Here's packet 11.
C: I've received packets 5 through 8 correctly.
S: Here's packet 12.
S: Here's packet 13.
S: Here's packet 14.
S: Here's packet 15.
S: Here's packet 16.
C: Please resend packets 12 and 14.
S: Here's packet 12 again.
S: Here's packet 14 again.
S: Here's packet 17.
S: Here's packet 18.
S: Here's packet 19.
S: Here's packet 20.
S: Here's packet 21.
C: I've received packets 9 through 18 correctly.

TCP is very complicated, but is designed to keep sending a large amount of data even under high lag.

Now, as for HTTP, yes, there's going to be one "lag cycle" just based on the fact that you request a webpage and *then* you request the contents. But HTTP is designed so that you can request a ton of items simultaneously or in series, so you can just download the main webpage, start requesting images on it while the main webpage itself is still downloading, and parallelize as much as possible.

-Ben