How a web-service like bitnode.earn can know each node's blockchain height?
We can get some information of each node in bitcoin network in this web-site: https://bitnodes.earn.com/nodes/
And, it is updated regularly(in approximately every 5 minutes).
My question is from here. How(the method) the web-service can get all the information from all the nodes in the network? They ask those information to all nodes in every 5 minutes? Doesn't it take quite long time to get the responses from all the nodes(about 10K nodes in the network)? Also, doesn't it required to be in peer-relationship with all of them to request those information?
I'm waiting any answer from you guys. Thank you in advance for your nice answer!