The idea of virtual backbone routing for ad hoc wireless networks is to operate routing protocols over a virtual backbone. One purpose of virtual backbone routing is to alleviate the serious broadcast storm problem suffered by many exiting on-demand routing protocols for route detection. Thus constructing a virtual backbone is very important. In our study, the virtual backbone is approximated by a minimum connected dominating set (MCDS) in a unit-disk graph. This is a NP-hard problem. We propose a distributed approximation algorithm with performance ratio at most 8. This algorithm has time complexity O(n) and message complexity O(n · Δ), where n is the number of hosts and Δ is the maximum degree. To our knowledge, this is the best (time and message efficient) distributed algorithm known so far. We first find a maximal independent set. Then we use a Steinter tree to connect all vertices in the set. The performance of our algorithm is witnessed by both simulation results and theoretical analysis.