Thanks for the reply, it does give me an understanding of how things work, but it also conjures up a few more questions in my tired old brain.
Things like where the packets are decided upon, because it has to be in one central place - yet each file is kept on a user's machine. As an example, if I'm downloading from two sources, and during the process another two sources become available, how do those machines know what they are to send? Sources one and two have already provided half of the file, in however many packets, so what communicates with the latecomers to say I want packets xy and z.
It's all too confusing, I guess I should just leave the detail upto the experts, and just be happy that it works.
All the best,
Chris P