1. A method for a computing system to provide logical networking functionality for computer networks, the method comprising: receiving configuration information that specifies a quantity of multiple computing nodes arranged via a specified network topology for a first virtual computer network, the network topology including multiple sub-networks that each include a distinct subset of the multiple computing nodes and are each associated with one of multiple specified physical router devices, the multiple computing nodes each having a distinct virtual network address for the first virtual computer network; automatically implementing the first virtual computer network in accordance with the received configuration information by overlaying the first virtual computer network on a distinct physical substrate network that interconnects the multiple computing nodes, the multiple computing nodes each being located at a distinct location on the substrate network, the implementing of the first virtual computer network including emulating functionality of the multiple physical router devices without physically providing the multiple physical router devices; and under control of a communication manager module executing on the computing system, automatically managing multiple communications between the multiple computing nodes in such a manner as to emulate the functionality of one or more of the multiple physical router devices, each of the communications being from a sending one of the multiple computing nodes and being intended for a remote destination one of the multiple computing nodes and including the virtual network address for the destination node and including a virtual hardware address for the physical router device associated with one of the sub-networks to which the sending computing node belongs, the managing of each of the communications including: identifying the destination computing node for the communication based on the virtual network address included in the communication, and forwarding the communication over the substrate network to the location of the destination computing node in the substrate network; identifying the physical router device for the communication based on the virtual hardware address included in the communication, and modifying the communication to include information that the identified physical router device would have added to the communication if the identified physical router device had forwarded the communication from the sending computing node to the destination computing node based on the network topology; and providing the modified communication to the destination computing node.