How Torrrents work
-
My understanding of how torrents work is that ONE person begins seeding a file, and before it is even completely received by anybody leeching it.. the leechers are automatically seeding the partial file to each other.
So, theoretically.. one host would seed a file.. and two leechers could be downloading it.. one leecher with all "odd" numbered packets, and the other with all "even" numbered packets.. so the original host would not have to seed the entire file to any one person. The 2 leechers would eventually give each other the packets they have to complete the set.
However, that does not seem to be what happens in reality. I see all the leechers getting the same packets from the initial host, so that all the leechers have the same percentage complete.. and if the original host goes offline, then the leechers are stuck with an incomplete set.
Again, theoretically, if two leechers had half the file each.. and the host who had the complete set went offline.. then the two leechers would provide each other with the packets that the other leecher did not have. This is how torrents are supposed to work. But.. from what I have seen.. if the person with 100% stops seeding when the most one leecher has is even 99%… The set never completes to 100%!
Theoretically.. there could be 100 leechers.. none of which has more than 1% of the file.. and the original seeder who has the 100% stopped.. then those 100 leechers each with a different 1% of the file could build the remainder of the file.
=====
I remember seeing settings in which you could set your torrent client to grab random packets.. or grab them sequentially.. or grab the beginning and end of the download first. By grabbing the beginning first. you can preview the partial video. you need the beginning to view a partially downloaded video.====
The reason I mention this.. is because lately, I am seeing an increase in the number of incomplete files. It is quite frustrating to have most of the videos I download never complete. But sometimes that is great for me.. because I sometimes find the completed file on some other site, and when completed.. I get a lot of people on this site leeching the rest of it off of me. -
This is largely due to a combination of two different factors:
-
Some of our uploaders (such as myself), do not have a very fast upload speed, while some of the leechers have an amazing upload speed. In the case of uploaders such as myself who don't have a decent upload speed, it is only possible for me to upload any of the parts of the file to any given user at a slow rate (usually about 45KB/s). When there are one (or more) leechers who can crank out speeds of say 1MB/s and there are several leechers, eventually those leechers with the quick upload speeds will help get other users caught up to where they are in the process as the torrent traffic tends to favour the fastest connection, generally preferring active and connectable nodes, often ignoring the passive ones that use follow-back packets.
-
In light of the last portion of #1, there are a large number of users who are running behind a NAT, which is most often found built right into their broadband modem to masquerade a /24 subnet (say 192.168.1.0/24) issued to each computer connected to the modem's built in router behind a single IP address visible from the internet. This is not necessarily a problem though, if the NAT is configured correctly. In my case, my torrent program listens for incoming connections on port 22791. When my computer announces to the internet through the NAT, it can get an outbound connection no problem to announce that it's listening on port 22791. If you do not program the NAT in the router to forward inbound connections from the WAN (Internet) on TCP & UDP 22791 through to my laptop in some way, the NAT will drop them by default because it does not know where to route them to, since it does not use these ports itself for anything. The result is that you end up becoming a passive node. More often than not, passive nodes are unable to upload if they have SPI/Firewall protection enabled on their router and have not properly confiugred the port forwarding in the NAT. Some connectivity will be lost to discovering the passive nodes and sniffing out active ones to take preference over.
-