I've been thinking about this for a while and can't seem to understand part of the network.
Lets assume that I'm a node that has been offline for 5 months and I want to retrieve the new blocks. When I broadcast the getblocks message different nodes see it, do all of my peers respond or do some of them respond and the others ignore it because of the other responses? And if they all respond back, would my node then choose which one/ones it wants to get the data from, or would it get the data from all of them? If it gets the data from all of them then wouldn't that slow the system down a lot and create a lot more traffic on the network?