Registered Member
|
A high-speed download will ultimately be upload capacity limited on an ADSL connection.
For each kB/s coming in, about 1/30 kB/s is needed for outgoing ACKs of the incoming TCP traffic. Say you have 90 kB/s uplink capacity, you want 10 kB/s spare -> uplink speed limit 80 kB/s. Now an incoming 1000 kB/s torrent data stream needs about 35 kB/s uplink capacity just to ack all incoming frames. It would be nice, if incoming traffic would account its TCP protocol overhead on uplink capacity so that there is no need to manually de-rate the uplink speed to handle faster downlinks. |
Moderator
|
And how do you suppose doing that ? TCP is completely handled in the kernel, calculating the overhead is AFAIK not possible from user space. |
Registered Member
|
[quote]And how do you suppose doing that ? TCP is completely handled in the kernel, calculating the overhead is AFAIK not possible from user space.[/quote]
You can always use "rule of thumb" estimation. Such estimators are never precisely correct, but are are a lot easier to implement. It should not hurt too much to over-estimate ACK traffic share. You can estimate using least feature implementation on systems: That is: 1 ACK packet (64 bytes) per each 1450 received payload bytes. What does hurt most is exceeding the instantaneous uplink capacity which results in hard packet dropping, and retransmissions after timeout. So make sure you do NOT exceed the instantaneous uplink capacity. You are safe to over-estimate the uplink overhead. Statistical analysis of network monitoring data can give you better estimate of how large the ACK traffic share really is, and also a nice 3 sigma confidence level on how much there really should be accounted for per each incoming payload byte. Similarly outgoing traffic will need overhead estimation to correctly estimate link traffic. Jumbo-gram sending is so rare, that it should not be considered a factor in the estimation. For each 1450 bytes of payload, there will be one 1500 byte data frame with 16 byte link layer overhead. Without such uplink traffic overhead estimation I have to derate my ADSL uplink capacity configuration by as much as 70% to enable 1MB/s downlink traffic. Then (and that is the nuisance part) I have to remember to up-rate my link capacity after the high-speed download has completed. With automatic uplink overhead estimation I could keep my uplink setting unchanged, and data would just flow without ever exceeding uplink capacity |
Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]