I suppose the nodes would only listen and re-broadcast new block from and to a limited subset of other nodes (assuming the block is valid).
How is this subset chosen? Does Bitcoin Core software choose them? (if one uses it)
I'm thinking if most of the nodes are listening to only the "popular" sources, then these sources would have too much power to influence what nodes will or will not hear. (Like how the media in real life affects people)