There have been a number of recent proposals for link and network-layer protocols in the sensor networking literature, each of which claims to be superior to other approaches. However, a proposal for a networking protocol at a given layer in the stack is typically evaluated in the context of a single set of carefully selected protocols at other layers. Because of the limited data available about interactions between different protocols at various layers of the stack, it is difficult for developers of sensor network applications to select from amongst the range of alternative sensor networking protocols. This paper evaluates the interaction between several protocols at the MAC and network layers measuring their performance in terms of end-to-end throughput and loss on a large testbed. We identify some common sources of poor performance; based on this experience, we propose a set of design principles for the designers of future interfaces.