Multicast, or one-to-many, communication arises frequently in parallel computing and telecommunication applications. Multicast networks can simultaneously support multiple multicast connections between the network inputs and network outputs. However, due to the complex communication patterns and routing control in multicast networks, there is still a considerably large gap in network cost between the currently best known multicast networks and permutation networks. In this paper, we will present a class of interconnection networks which can support a substantial amount of well-defined multicast patterns in a nonblocking fashion and yet have a comparable cost to permutation networks. We will also provide an efficient routing algorithm for satisfying multicast connection requests in such networks. Moreover, the multicast capability of the networks will be represented as a function of fundamental network structural parameters so that the trade-off between the network multicast capability ...