WP12/1 Performance evaluation of ECN-based TCP error discriminator over wireless networks M. Alnuem, J. Mellor, R. Fretwell Mobile Computing and Networks Research Group School of Informatics University of Bradford Bradford, UK Abstract Some of the promising End-To-End solutions to improve TCP performance over networks suffering from wireless transmission errors are error discriminators. An error discriminator is any technique that tries to differentiate between error types and deal with each type differently. By distinguishing between error types, TCP can avoid unnecessary cuts of congestion window in the case of wireless errors where retransmission of lost packets is enough and there is no need to slow down. One of the techniques for error discrimination is the use of Explicit Congestion Notification (ECN). ECN is a technique to mark packets with a flag whenever congestion is expected. An active queue management (AQM) mechanism that anticipates congestion is located in the middle routers and allowed to mark packets with an ECN flag whenever a congestion is about to happen. In this work we evaluate the performance of a proposal to improve TCP performance over wireless network by using an ECN-based error discriminator at TCP sender and a RED queuing mechanism that sends congestion notifications. The ECN-based error discriminator is used to differentiate between error types based on an ECN feedback from a Random Early Detection AQM placed in the congested node. When an error occurs, if this error was preceded by ECN the error is considered to be a congestion error, and hence TCP reduces it’s transmission rate. However, if the error occurs while there is no ECN notification then the error is considered as a wireless error and TCP does not need to reduce it’s throughput. A set of experiments were conducted to validate this solution. The results show that ECN is a good predictor of imminent congestion and can be used actively in an error discriminator over networks that suffer from low and medium congestions. Keywords: Performance evaluation, error discrimination, wireless networks, Explicit Congestion Notification, TCP 1 Introduction Explicit congestion notification [1] was first introduced to help TCP avoiding congestion-collapses by allowing intermediate nodes to set a congestion notification bit in the IP header whenever a congestion is expected. The TCP sender will respond to this notification by reducing it’s transmission rate. An Active Queue management mechanism (e.g. RED[2]) is placed at the congested nodes and become responsible for marking packets when a congestion is expected (in case of RED the packets will be marked when the queue reaches a particular threshold). Using ECN requires changes on the TCP sender and receiver. Also it requires the use of AQM at the congested nodes. However, using ECN does not requires changing the TCP congestion mechanisms since TCP required to respond to ECN in the same way as it respond to a packet drop. However, in wireless links, errors caused by link failure are high. In case of a wireless error, TCP does not need to reduce it’s transmission rate because there is no actual congestion. Since TCP respond to all errors by reducing it’s transmission rate, distinguishing between transmission errors and congestion errors is expected to improve TCP performance over error prone links like wireless links. Dawkins et al. in [3] has proposed the use ECN to improve TCP performance over wireless links by modifying the way TCP responds to ECN. Biaz [4] explains the technique as following: If a drop is detected by receiving duplicate acknowledgments, then we look if we have received an ECN in the near past. If ECN is received before the error happened then this is a strong indication that this error is caused by congestion. This is based on the understanding that, in ECN-capable connections, ECN should always happen before congestion drops. So, if the ECN preceded the drop then TCP consider this drop as congestion drop and act by reducing sender’s window size in order to solve the congestion. However, if the drop happens while not