1. A computer-implemented method comprising: providing, by one or more programmed computing systems, a virtual computer network; receiving an indication of a communication directed to a destination network address from a first computing node of the virtual computer network; selecting, by the one or more programmed computing systems and based at least in part on one or more attributes of the communication, and before sending the communication over a substrate network on which the virtual computer network is overlaid and that separates the first computing node from a final destination associated with the destination network address, an intermediate destination node for the communication from a group of multiple intermediate destination nodes connected to the substrate network, wherein the selecting of the intermediate destination node includes performing hashing, using the destination network address, on multiple substrate network addresses associated with the multiple intermediate destination nodes in order to obtain a substrate network address for the intermediate destination node to be selected; and sending, by the one or more programmed computing systems and using the substrate network address associated with the selected intermediate destination node, the communication over the substrate network from the first computing node to the selected intermediate destination node, to enable forwarding of the communication by the selected intermediate destination node to the final destination.