Vol.:(0123456789) Wireless Personal Communications https://doi.org/10.1007/s11277-019-06781-5 1 3 A Novel Network Coding Algorithm to Improve TCP in Wireless Networks Azam Jannesari 1  · Mehdi Agha Sarram 1  · Razieh Sheikhpour 2 © Springer Science+Business Media, LLC, part of Springer Nature 2019 Abstract This paper proposed a novel algorithm called Efciency Network Coding (ENC) for wire- less mesh networks. The ENC algorithm is based on COPE protocol and consists of two parts: In the frst part, ENC codes the packets which have a smaller diference in size than other packets and so uses less bandwidth to code and send packets. In the second part, the nodes which their packets are in front of virtual queue and the ones which their packets are in front of output queue participate in coding. Therefore, ENC increases coding opportuni- ties and takes less time for sending packets. The proposed ENC is implemented in NS2.34 with TCP-New Reno on COPE framework and compared with the throughput of TCP in COPE. The results of this paper show that the throughput of the proposed ENC is greater than that of COPE in most cases. The time complexity of ENC depends on the overhear packets in the nodes and can be less, equal, or more than COPE in diferent conditions. Keywords TCP · Network coding · COPE · Wireless networks · Throughput 1 Introduction Network coding is a new approach for sending information and has been recently pro- posed as an alternative for routing [16]. Routing is a means to fnd the best possible route between sender and receiver for sending data via the route. In routing algorithms, the inter- mediate nodes can only copy data packets from input edges and send the packets to the appropriate output. In other words, the intermediate nodes in routing algorithms are not allowed to change the data packets. In the network coding method, the intermediate nodes are permitted to changes the packets. Each node is allowed to send combinations of input packets to its output edges [711]. One of the frst network coding protocols is COPE which has been implemented by Katti et al. [2] between MAC and LL in a wireless mesh network. Three main techniques * Mehdi Agha Sarram mehdi.sarram@yazd.ac.ir 1 Department of Computer Engineering, Faculty of Engineering, Yazd University, Yazd, Iran 2 Department of Computer Engineering, Faculty of Engineering, Ardakan University, P.O. Box 184, Ardakan, Iran