I'd like to automatically shape bandwidth-hungry TCP connections corresponding to the already transmitted data.
A summary would be : "The first Mbit is transferred at full bandwidth, then it gradually drops to 1% of the bandwidth when it reaches 10Mbit, and stays there".
An example is better than 1k words :
b-w ^
| . .
100% | ******** .
| . * .
| . * .
| . * .
1% | . .********
+----------------------------> Data transfered.
1Mbit . . 10Mbit
I know that a full traffic shaping would be better, since it would allow bursting and use of leftover bandwidth, but the idea is specifically to automatically limit big data transfers without any further configuration.
How would I implement this on a linux host ?
Update: It isn't immediately obvious, but the data meter counts both ways (upload & download) as I purposefully didn't precise download or upload.