DDR-Distributed dynamic routing algorithm for mobile ad hoc networks