Enhancement of TCP Performance Over AD-HOC Networks Using PEP S. Kulkarni, N. Thanthry, and R. Pendse Department of Electrical and Computer Engineering, College of Engineering 1. Introduction In the past decade or so, wireless devices like PDAs, laptops, etc, have invaded the market resulting in an increased demand for connectivity with no heed paid to physical location. Hence the idea of “mobile ad-hoc networks” a.k.a MANETs has caught the fancy of researchers around the world. An ad-hoc network is one where the formation of the network is dynamic with no existing infrastructure in place. When a node enters the vicinity of an ad-hoc network, it tries to communicate with other nodes and in case it is granted permission, becomes a part of the network. The advantage of this kind of network is that it can be built and torn down in no time. This feature would be very useful in hostile environments like war zone, crisis situations, etc. It might also be used for business conferencing. TCP is a connection- oriented protocol which ensures reliable data transmission over the unreliable IP. It is responsible for the flow and congestion control within the data communication mechanism. TCP is also responsible for ensuring that a link’s capacity is shared fairly among the connections. It prevents the sender from overwhelming the receiver and in case of packet loss indicated by non-receipt of an acknowledgement, identifies the sequence number of the packet and retransmits it. In other words, it dynamically learns the delay characteristics of a network and adjusts its operation to maximize the throughput without overloading the network. Most applications in use like FTP, HTTP make use of TCP of TCP/IP suite for their operation. Hence it is preferred to implement TCP at the transport layer of an ad-hoc network which would facilitate connecting to the internet wherever available and support a large gamut of applications. Research indicates that performance of TCP degrades over the wireless networks due to its inability to distinguish between packet losses caused due to congestion and those caused due to defects in the transmission media or due to handoffs. In order to verify the performance degradation, an ad-hoc network was built in OPNET network simulator. Nodes were randomly placed in a square grid of area 5km x 5km. DSR was configured as the underlying routing protocol. 12 client/server pairs were configured to generate FTP traffic. FTP profile consisted of a large file size (1GB) and the application was configured to have 50 % command mix, i.e., application was performing both download and upload operations equally. All nodes were configured to have 11 Mbps bandwidth. Nodes were randomly selected to have mobility patterns. From the results, it was observed that in case of route failure, TCP performance degrades. This performance degradation was attributed to the congestion avoidance mechanisms used by the traditional TCP as these mechanisms reduce the data rate whenever they encounter packet drops. It was further observed that the performance deterioration is also dependent upon factors like node density, area and mobility patterns. In this paper, we propose enhancements to the TCP protocol to alleviate the performance degradation during events like link failure. 2. Proposed Solutions Proposal I: For a given ad-hoc network containing n nodes, data to be sent from a node ‘s’ to a node ‘d’ is routed by using either proactive table-driven or reactive routing protocols. Consider a situation where route is established with the exchange of request and reply packets. The concerned data packet is then forwarded along this route. After a few hops, the packet reaches an intermediate node ‘I’ and realizes that the next consecutive link is down. In this case the intermediate node sends a feedback to the source node informing it of the link failure and requesting it not send any further packets on the route. This message is piggybacked in the routing table update in case of table driven protocols and in hell messages in case of reactive protocols. The source now makes use of alternate routes present in its route cache to forward the remaining packets. However, some packets which were already sent along the earlier route are stored in the cache of the intermediate node. These packets are salvaged by ‘I’. and it attempts to find an alternate route to forward these packets. By using this approach, retransmissions due to assumed congestion are prevented. Also, the sender does not have to retransmit the packets sent prior to realizing the occurrence of a link failure since the intermediate node takes care of them. 143 The success of this approach depends on the trust relationship shared between the sender and the intermediate node. Even when the intermediate node is attempting to recover the already sent packets, the sender may resend the same to ensure reliability. The packets may arrive out of order at the destination because of the different paths followed by the packets. Proposal II: Another approach to improve TCP performance is to enable each node within the ad-hoc network with PEP ability. This implies that each node is capable of sending a proxy reply on behalf of other nodes. In this, communication occurs in the following manner: source S sends a packet to one of its neighboring nodes N1 which sends a proxy reply to S and then tries to look for a path to the destination of the packet. In the same manner the neighboring node of N1 will send a proxy reply to N1 and take over the responsibility of routing the packet to its intended destination. This process continues till the packet reaches its intended destination D. Thus each node receives acknowledgement before timeout and hence does not retransmit packets. The biggest challenge in this approach is endowing each node with a proxy server capability. Even otherwise, there is no guarantee of packet delivery. Failure of an intermediate node could result in that packet being lost forever. The only way to ensure successful transmission of packets is to allow each node to be able to view the operations of other nodes which, however, would hamper network security. Proposal III: Another approach to improve TCP performance also requires us to enable each node within the ad-hoc network with PEP ability. Thus each node is capable of sending a proxy reply on behalf of other nodes. Here, communication occurs in the following manner: source S sends a packet to destination D and some where along the route a link failure occurs. Say link leading from intermediate node N1 to the destination goes down, then one of the neighboring nodes of N1 is chosen to send a proxy acknowledgement to the source to prevent retransmissions and is assigned the responsibility of forwarding the packets. All the packets are now routed through this proxy PEP agent. The important thing in this approach is the criteria used to select the PEP agent. Choosing a node with larger number of routes in its route cache would result in better performance. Proposal IV: Another approach is to assign a static node to a group of nodes in an ad-hoc network as a multi point relay (MPR). All packets from any source to any destination within the network pass through this MPR. These MPRs send periodic hello messages to indicate that they are connected to their own set of nodes. These MPRs prevent retransmissions by sending acknowledgement piggybacked in the hello messages to the source indicating the successful receipt of a packet intended for any node belonging to the set it is connected to. For a destination belonging to another MPR, the source MPR will communicate with destination MPR and thus ensure reliable communication. The only problem with this approach is the MPRs can prove to be a single point of bottleneck within the network. 3. Conclusions and Future work In this project, the author has studied performance issues of TCP over ad-hoc networks. Simulation results indicate that performance of TCP streams is greatly affected by the non- availability of routes. However, the underlying TCP manager identifies the performance degradation and attributes the cause to congestion and in turn invokes the congestion avoidance mechanisms. In this project, the author has proposed four different mechanisms that could be used to improve the TCP performance in a MANET environment. 4. References 1. H. Balakrishnan and R. Katz, “Explicit loss notification and wireless web performance,” in IEEE Globecom Internet Mini-Conference, Sydney, Oct. 1998. 2. H. Balakrishnan, V. Padmanabhan, S. Seshan, and R. Katz, “A comparison of mechanisms for improving TCP performance over wireless links,” in ACM SIGCOMM, Stanford, CA, Aug. 1996. 3. H. Balakrishnan, V. N. Padmanabhan, and R. H. Katz, “The effects of asymmetry on TCP performance,* in Proceedings of the IEEE Mobicom‘97, (Budapest, Hungary), pp. 77-89, September 1997. 4. Analysis of TCP Performance over Mobile Ad Hoc Networks. Gavin Holland and Nitin Vaidya Department of Computer Science Texas A&M University, College Station, TX 77843-3112. 5. ATCP: TCP for Mobile Ad Hoc Networks by Jian Liu SUN Microsystems, Palo Alto, CA 94303 ;Suresh Singh Department of Computer Science Portland State University Portland, OR 97201. 144