In this paper we investigate the performance of IEEE 802.11b ad hoc networks by means of an experimental study. This analysis reveals several aspects that are usually neglected in simulation studies. Firstly, since different transmission rates are used for control and data frames, different transmission ranges and carrier-sensing ranges may exist at the same time in the network. In addition, the transmission ranges are in practice much shorter than usually assumed in simulation analysis, not constant but highly variable (even in the same session) and depends on several factors (i.e., mobile height, interference condition, etc.). Finally, exploiting our performance measurements, we present a channel model for an 802.11 network that indicates virtual carrier sensing is generally not necessary and the RTS/CTS mechanism only introduces additional overhead.