\section{Introduction}\label{1-Introduction}
A Wireless Multihop Ad Hoc Network (MANET) is a collection of autonomous devices that dynamically forms a temporary network without needing the administration of a centralized station. In such networks, nodes within each other's range are able to directly communicate in a wireless fashion without the support of a fixed pre-existing infrastructure. However, when mobile devices are located far apart from each other, a multihop routing algorithm is required in order to enable the transmission of data between non-neighbouring nodes. In the past years, a great amount of research effort has been dedicated to solve the multihop routing problem in MANETs, and as a result a high number of protocols have been proposed in the literature, all based on different assumptions and basic principles~\cite{3,4,5}.

Since TCP/IP constitutes the de-facto standard networking protocol stack for the Internet -being the most widely used transport protocol for a wide range of data services such as file transfer or web browser-it is expected to be deployed over ad hoc networks to allow seamless accesibility in absence of a fixed infrastructure. However, given that this transport protocol was originally designed to operate over wired networks, its performance can be dramatically affected when challenged with a highly dynamic wireless scenario, where interconnections between nodes change over time due to link quality variability and node mobility. Therefore, it is essential to acquire a better understanding of how TCP performs over ad hoc networks.

We implemented during the month of January 2009 our version of TCP using the ScatterWeb wireless nodes~\cite{6} as part of a project-oriented seminar imparted at the Free University Berlin. In the protocol stack, we decided to make use of our version of DSR -previously implemented in the first phase of our seminar~\cite{7}- as the ad hoc routing protocol over which TCP would run.

The present work describes the approach and the implementation decisions developing the TCP protocol with Routing provided by our version of DSR protocol. Even though our implementation constitutes a simplification of the great number of features provided by the protocol authors, it is our belief that the performance analysis and issues described in this report could be of great value in order to acquire a better understanding of relevant metrics and key aspects that should be considered whenever TCP is attempted to be deployed over a wireless ad hoc network. . The main objective of this work was to investigate until which extent its performance is affected by the interaction with ad hoc forwarding in a multihop wireless network.

The structure of the remaining technical report is organized as follows: Section II offers an overview of the TCP protocol functionality and basic operations. In Section III we describe the design decisions and main features of our protocol implementation, and a thorough analysis of its advantages and limitations is provided. Section IV describes the testbed we relied upon for our experimental analysis, along with the methodology and performance metrics used in order to study the behavior of TCP operating in a real environment. Finally, we present our conclusions in Section V.
