# Introduction he Internet, created as far back as January 1983, has revolutionized communication, business and also wealth creation (Sagar & Shankar, 2013). The Internet and basically all kinds of networks can be viewed logically as a queue of packets. Packets are unit of data fragments that are constantly being transmitted between nodes, and this is the foundation of all forms of networking. Networks perform the tasks of packet transmission between nodes thereby reducing the number of packets remaining in the queue waiting to be transmitted. The exponential increase of network usage and also network capacity brings up more comprehensive issues which are paramount to the network's overall performance (Alkharashi, 2016). Broadband services have been made available to mobile users at homes, offices, schools with static equipment such as hubs, switches and also routers providing high-speed data. As at 2007, it was estimated that over 1.8 to 2 billion people will have broadband services by 2012 and over two-thirds of them will be mobile broadband users subscribing to various networks built on the High-Speed Packet Access (HSPA) and Long-Term Evolution (LTE) technology (ERICSSON, 2007). It is estimated that global mobile users will surpass 5 billion by the end of year 2017 (GSMA, 2017), that is more than two-thirds of the world's population, one can only imagine the amount of traffic that will be generated with such great number of users (Internet World Stats, 2017). The Long-Term Evolution technology brings about so many beneficial advantages over previous technologies to both users and the network administrators, these advantages can be categorized into three major points; which are performance and capacity; simplicity and a wide range of terminals (Khalil, 2015). The problem of congestion has existed far back as the creation of computer networks, it has persisted to modern networks and solutions are far from being absolute. Long-Term Evolution technologies offers high speed broadband services at cheap and efficient rates to users (Sauter, 2011). This technology is built on packet switching which means that data is broken down into packets and these packets are transported via routes to their destinations, due to the dynamic nature of packet switching the packets can follow different routes and on getting to the destination all the packets are gathered and the data is rebuilt from the packets (Willassen, 2003). Congestion can easily disrupt network process, as a result of heavy traffic on the network packet can be delayed, timed out, contain error and sometimes even be lost. This is a serious problem leaving networks clogged with so much traffic and so little work is done. Although it should be stated that the Transmission Control Protocol (TCP) which is the integral protocol for the transfer of packets between network elements provides some sort of congestion control ensuring that the network is not filled to its capacity with traffic load (Jayakumari & Senthilkumar, 2015), but this method of congestion control is highly on ineffective when it is being applied to Long Term Evolution technology which provides high-speed broadband services due to the design of the protocol (Alkharashi, 2016). TCP favours reliability over performance and is not built to handle huge volumes of data. Thus, TCP congestion control policies tend to be ineffective when being implemented on Long Term Evolution networks. # II. # Literature Review Congestion occurs when the request for packet service is greater than the available resource the network has at that present moment. This leads to the loss of data packets due to the long queues of packets waiting to be transmitted. As computer networks continues in the state of congestion the throughput of the network drops while utilization sky rockets meaning that although the network is heavily utilized, little or no work is done (Khalil, 2015). This is a complex problem for network administrators to deal with due to the fact that congestion occurs at the interlink between nodes, the network's gateway and also at routing point. Also, various networks operate with numerous protocols, traffic control schemes and varying equipment. Therefore, looking for a solution to fit all network works is tasking. Networks in a state of congestion are also in a state of deadlock, new packets entering the networks will create a clogging effect. This is the primary reason for the drop-in network throughput (Mohamed, Sahib, Suryana & Hussin, 2016). Congestion occurs when the request for packet service is greater than the available resource the network has at that present moment (Ullah, Shahzad, Khurram, & Anwer, 2014). Although congestion can be described as a resource allocation problem, making resources more accessible is not a viable solution. Some of the solutions that has been widely provided include: 1. Congestion is caused by lack of sufficient buffer memory so the solution to this is that memory has to become cheap enough thereby allowing for infinite storage. 2. Slow links between connecting nodes is the cause of congestion. Having high speed connecting links will solve the problem. 3. Having slow processing power will lead to congestion, having high speed processors will solve the problem. All these solutions listed only provide just a temporary fix to the problem, if they are seen as fact by network administrators it could lead to improper network planning and implementation. On the contrary to all these assumptions, proper network protocol designing and implementation is needed to establish a network to combat congestion. Hence, by implementing any of these assumptions above, would reduce the overall throughput and also reduce performance thereby adding more congestion to the network system (Amoroso, 2009). Infinite buffer storage although not a bad idea cannot offer a total solution to the problem, it gives just a temporal solution which will not last for long. Although small memory buffers when faced with too much traffic suffer from buffer overflow and loss of packets but if we are to have infinite butter storage during heavy traffic would result in long queues of packets, delays and so on. Finally, when packets leave the queue, so much time would have passed and these packets would time out (Floyd & Fall, 1999). Also, having high speed links between nodes will not make much difference to solve the problem of congestion, at the time when the Internet began, the speed for nodes and workstation available as at the time was not more than 300 bits per seconds (300b/s). Gradually with increase in technology speeds of up to 1.5 megabits per seconds (1.5Mb/s) was attainable with the introduction of Local Area Networks (LANs) and also Ethernet speeds of about 10 megabits per seconds (10Mb/s) was possible (Jain, 1990) (Mohamed, Sahib, Suryana, & Hussin., 2016). It was at this point in history the issue of congestion started to gain recognition due to a mismatch such that fast-high speed LANs were connected via slow links and slow nodes that cannot keep up to the speed of these links. Today, when it come to the speed of data or Internet connections we can have speeds up to Gigabits or even Terabits but the issue of congestion still persists. Therefore, having high speed links is not the solution. Also, the same can be taught of for slow processors, having high speed processors can lead to a mismatch. # a) TCP Congestion Control Congestion Control is a network layer problem that is concerned with how the network responds to situations where we have huge amounts of data packets in the network than can be sent, this causes a clogging effect in the network. Congestion control is different from other issues such as Flow Control, Flow Control is a data link layer issue and also it is concerned with just one sender overloading the network with packets (Moses, 2010). Congestion Control refer to the specific means and methods that have been adopted over time to control the effect congestion possess to various networks (Ramb, 2011). Congestion Control mechanisms can broadly be divided into 2 main Categories: Open-Loop Congestion Control which provides ways and procedures for the prevention of congestion and Closed-Loop Congestion Control which provides ways of the removal of congestion completely from a network. # Global Journal of Computer Science and Technology Volume XVIII Issue III Version I Understanding this mathematically, let's assume w(t) is the congestion window size i.e. the sending rate during a time slot t, a (where a > 0) is the additive increase parameter and b (where 0 0) is the additive increase parameter and b (where 0