In this paper a dynamic address allocation protocol for mobile Ad Hoc networks (MANETs) capable of assigning an address to network nodes with low latency and communication overhead has been proposed. The protocol divides the network nodes into root, leaders and normal nodes based on their functions within the protocol. Address space are distributed between leaders in disjoint address tables. The leaders are responsible for assigning the addresses to unconfigured nodes. The leaked addresses which lost by the nodes that left the network abruptly, are reclaimed in an efficient way in order to preserve the addresses. Network partitioning and merging problem was solved in the protocol with low cost. The proposed protocol is scalable and proves its effectiveness in terms of time delay and communication overhead.