1. A method of determining k-closest nodes from an identified node in a network, wherein distances for nodes in the network are stored in overlay nodes in a distributed hash table (DHT) overlay network, the method comprising: determining distances between the identified node and landmark nodes in the network; determining distances between the identified node and milestone nodes, wherein the milestone nodes are on network paths between the identified node and the landmark nodes; identifying a closest milestone or landmark node associated with a shortest of the measured distances from the landmark nodes and the milestone nodes to the identified node; querying a corresponding DHT overlay node that stores distances for the closest milestone or landmark node, and obtaining distances between observed nearest nodes and the closest milestone or landmark node from the corresponding DHT overlay node, wherein the observed nearest nodes are observed nearest nodes for the closest milestone or landmark node; calculating distances between the identified node and the observed nearest nodes based on distances received from the corresponding DHT overlay node and the measured distance between the closest milestone or landmark node and the identified node; and selecting k-closest nodes from the identified node from at least one of the closest milestone or landmark node and one or more of the observed nearest nodes based on the calculated distances.