\section{Introduction}\label{1-Introduction}
A wireless multi hop ad hoc network is a collection of mobile nodes that dynamically forms a temporary network without requiring any centralized administration station. In such networks, the topology can change over time due to the lack of an existing infrastructure, varying transmission conditions and node mobility. Each mobile node behaves as a router, forwarding packets for other mobile nodes that might not be within the transmission range to reach a given destination.  In recent years, a plethora of protocols have been developed addressing the transmission of data across ad hoc networks. However, many questions are still open in this field, where theoretic approaches usually do not match when the real implementation is considered. During the 2 months from October to December 2008 we implemented our version of one of these ad hoc network routing protocols, the Dynamic Source Routing protocol (DSR) [1, 4, 5], as part of a project-oriented seminar imparted at the Free University Berlin. DSR is a reactive on demand protocol which uses soft-state source routing instead of hop-by-hop routing to fulfill the forwarding of packets between source and destination within a multi hop wireless ad hoc network. The present work describes our approach and implementation decisions developing the DSR protocol. Furthermore, a small-scale test was built and deployed in order to enable the evaluation its performance in a real environment. Even though our version of the routing protocol does not implement the vast number of features described by its authors [1], we believe that our experiences and the list of issues contained in this report could be of interest for identifying the aspects that should be taken into account whenever a routing protocol is attempted to be implemented and tested in the real world.

  The structure of the remaining technical report is organized as follows: Section 2 provides an overview of the DSR protocol basic operation as well as of its main mechanisms, Route Discovery and Route Maintenance. In Section 3 we describe the design decisions and main features of our protocol implementation, and an analysis of its advantages and limitations is offered. Finally,  we present our conclusions in Section 4.

