Each client in a swarm has a target "number of connections". Each client will try to get the best download out of each connection they have open - every 10 seconds they try connecting to a new peer at random to try to find a better download speed, and if they do they'll stop uploading on the connection with the worst download speed (to keep their target number of connections). Since peers will only upload if they're downloading, if you want a good download speed you need to be able to offer a good upload speed.
|