Studying the TCP Flow and Congestion Control Mechanisms Impact on Internet Environment Khalid Mohamed, Said Hussein and Asad Abdi Abubakr El Seddiq Department of Electrical & Electronics Engineering Department of Computer Engineering International University of Africa Al-Neelain University Khartoum, Sudan Khartoum, Sudan Kha.omer@hotmail.com Asadcabdi011 & Jallaludin456@gmail.com abubakr.elhussein@gmail.com Abstract - The Transmission Control Protocol (TCP) is connection oriented, reliable and end-to-end protocol that support flow and congestion control, with the evolution and rapid growth of the internet and emergence of internet of things IoT, flow and congestion have clear impact in the network performance. In this paper we study congestion control mechanisms Tahoe, Reno, Newreno, SACK and Vegas, which are introduced to control network utilization and increase throughput, in the performance evaluation we evaluate the performance metrics such as throughput, packets loss, delivery and reveals impact of the cwnd. Showing that SACK had done better performance in terms of numbers of packets sent, throughput and delivery ratio than Newreno, Vegas shows the best performance of all of them. Index Terms – TCP, Congestion mechanisms, Tahoe, Reno, Newreno, SACK and Vegas. I. INTRODUCTION The Transmission Control Protocol (TCP) is intended to provide a reliable process-to-process communication service, able to transfer a continuous stream of octets in a multinetwork environment. The TCP is intended to be a host-to-host protocol in common use in multiple networks. TCP is used to provide a connection-oriented, end-to-end reliable, securable connection service between pairs of processes, it is able to transfer a continuous stream of octets in each direction between its users by packaging some number of octets into segments for transmission through the internet system. Transmission is made reliable via the use of sequence numbers and acknowledgments, sequence numbers are used to correctly order segments that may be received out of order and to eliminate duplicates, and acknowledgments must be received within a timeout interval, otherwise the data is retransmitted, to govern the flow of data between TCP hosts, a flow control mechanism is employed [15]. TCP implements four congestion control algorithms: slow start, congestion avoidance, fast retransmit, and fast recovery, developed in [1] and [10]. TCP sender to control the amount of outstanding data being injected into the network use the slow start and congestion avoidance algorithms and add the congestion window (cwnd) to the a sender-side to limit amount of transmit data before receiving an ACK, in receiver-side add receiver's advertised window (rwnd) to limit the amount of outstanding data, the minimum of cwnd and rwnd governs data transmission, and to determine which algorithm is used to control data transmission the slow start threshold (ssthresh) is used. When an out-of-order segment arrives TCP receiver should send an immediate duplicate ACK to inform the sender that a segment was received out-of-order and which sequence number is expected, duplicate ACKs can be cause due to dropped segments or re-ordering of data segments by the network, after fast retransmit algorithm sends the missing segment the transmission of new data is governs by the "fast recovery" algorithm until a non-duplicate ACK arrives [9]. Now days with the invention of Internet of Things (IoT) several low power communication technologies have been proposed, this devices may relay on the transport protocols such as TCP or User Datagram Protocol (UDP), however there are quite challenge must be considered, UDP may be easier to implement in microcontrollers than TCP, but the security tools used for TCP (SSL/TLS) are not available in UDP, HTTP relies on the TCP. TCP’s flow control mechanism is not appropriate for Low Power and Lossy Networks (LLNs) and its overhead is considered too high for short-lived transactions [13]. [14] Surveyed the most important aspects of the IoT, he address that TCP cannot be used efficiently for the end-to-end transmission control in the IoT due to (Connection setup, Congestion control and Data buffering) therefore, information should be the focus of communication and networking solutions. In section II of this paper, we describe the principles of congestion control mechanisms and procedures that is followed to handle congestion, timeout and retransmission. Section III presents a detailed description of the network model. In section IV we analyse simulations result and discuss cwnd impact in the different simulations scenarios, and Section V concludes the paper. II. OVERVIEW OF TCP CONGESTION CONTROL MECHANISMS A. Congestion Control Algorithm 1) 1) TCP Tahoe: TCP Tahoe based on TCP congestion control algorithm which was suggested by Van Jacobson in his paper [1]. The flow on a TCP connection obey a ‘conservation International Journal of Computer Science and Information Security (IJCSIS), Vol. 16, No. 11, November 2018 174 https://sites.google.com/site/ijcsis/ ISSN 1947-5500