Much of the work on routing algorithms, particularly for multicast, which has been done in the past has used fairly simple models to generate the topological graph which represents the hosts in the network. Some such random graphs bear little resem blance to data communication networks which are actually de ployed. This paper proposes a more realistic model, incorporating hierarchy and redundancy, and is developed into a network generation algorithm. The approach described here can be developed to provide more refined models in the future, and the source code of an implementation is freely available from ftp.nexen.com/pub/papers.