How are the data chunks handled within the bittorrent protocol?
When a client wants to download e.g. a linux distribution does the tracker return a list of peers which a client then connects to and requests chunks from each peer or does the tracker return a list of peers and info of which peer has what data?
Where is the data chunks managed or handled e.g. I need chunk 5 , 6, 10 and peer 2 has chunk 5, 7, 8. where is the data controlled or managed? Does the client request chunks from the other peers then the peer checks if it has the chunk and then sends it or how does the data flow work?
Thanks