D2F: A Routing Protocol for Distributed Data Fusion in Wireless Sensor Networks