Tcp Congestion Control Strategy Based on Multi-Level Priority Queue
Total Page:16
File Type:pdf, Size:1020Kb
Zhi-Min Li, Dong-Liang Wu and Men-Mei Li Tcp Congestion Control Strategy Based on Multi-Level Priority Queue Abstract: Seeing that the existing network congestion control methods do not con- sider that the asymmetry of network link and the transmission state of Acknowl- edgment (ACK) packets have influence on performance and stability of network, the article proposes the network congestion control strategy based on double-level pri- ority queue (DPQCC) and describes the corresponding algorithm. To achieve greater ACK packets forwarding efficiency, the strategy sets up a high priority queue in the routing node for ACK packets that are saved temporarily and have not been re- transmitted timely owing to link congestion, then retransmit ACK packets preferen- tially when the link is idle. Experimental results show that, compared with early congestion avoidance algorithm (RED), when using DPQCC algorithm, the packet loss rate is significantly lower, throughput has improved greatly, the end-to-end delay has reduced on the whole, and only when the network is under the severe congestion state, the end-to-end delay would slightly increase, but delay jitter is smaller, and network stability is enhanced. Keywords: Network Congestion; The double-level priority queue; DPQCC algorithm; Network performance; ACK packet 1 Introduction With the development of the Internet today, its success is attributed to the continu- ous improvement and strengthening of the protocols, in which the TCP/IP protocol plays an important role. TCP/IP has become the de facto standard protocol of the Internet. Whereas, with the growth of the WWW applications and a variety of mul- timedia information in the Internet, particularly booming the popularity of Internet + business idea, the weakness of the TCP/IP protocol emerges gradually. For exam- ple, fast information retrieval in self-organizing P2P network [1] and positioning algorithm for wireless sensor networks [2] should depend on the effective TCP con- || Zhi-Min Li, School of Information Technology, Hunan Mechanical & Electrical Polytechnic, Changsha, 410151, China. Email: [email protected] Dong-Liang Wu, School of Information Technology, Hunan Mechanical & Electrical Polytechnic, Changsha, 410151, China Men-Mei Li, School of Computer Science and Technology, University of South China, Hengyang, 421001, China. Email: [email protected] DOI 10.1515/9783110540048-064, © 2017 Zhi-Min Li et al, published by De Gruyter. This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License. 648 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li gestion control strategy. The major reason of network congestion is the limited network resources and the imbalanced network traffic distribution; Congestion will not disappear with the increase of network capacity. Network’s complexity, heterogeneity and dynamic make it difficult to design the congestion control strategy. So far, the congestion problem has not been solved well. Effective congestion control mechanism and queue management keep the network under good working condition. A lot of data packs without congestion control collapse the network. There are many TCP algo- rithms, such as addition increasing or decreasing multiplication based slow start, congestion avoidance, fast retransmit and fast recovery mechanism coupled with a simple FIFO queue management, which make Internet possible in a healthy run. But, with the increasing network bandwidth of all kinds of traffic on the Internet, the insufficient network bandwidth makes the current packet loss rate in the best effort delivery increase. Researches on the TCP layer’s congestion control have very important significance for the network, because in the Internet, most of the work of congestion control is done by the TCP layer. Congestion control of the TCP layer can improve the utilization rate of network resources, which can avoid the collapse of the network. With the rapid development and popularization of the Internet, all kinds of new network services have been put forward and applied; the degree of network link congestion is deepened increasingly with a sharp rise in network data traffic [3]. It is confirmed through the network measurement technology and network performance analysis technology that the fundamental reason of data packet loss, time delay, delay jitter, and a series of problems is the congestion of network link. At present, network congestion is the main factor for affecting network quality of service (QoS) and network performance [4]. In order to alleviate problems such as packet loss caused by the link congestion, a lot of research work is focused on the improvement on a router; setting up the buffer queue in the router is one of the solutions. The greater length of queue can save more data packets temporarily, reduce the number of packet loss, improve network throughput, at the same time, it will increase the queuing delay of data packets in the queue; On the contrary, the smaller length of queue cannot solve the problem of congestion effectively. Therefore, effective and stable queue congestion control method plays an important role in alleviating net- work congestion [5]. In this paper, we present an efficient TCP congestion control strategy based on multi-level priority queue that sets a high priority queue specially to store those ACK packets without being forwarded due to the link congestion. As corroborated by our experiments, the special high priority queue for ACK packets is crucial for solving the congestion problem. Furthermore, the multi-level priority queue offers the fol- lowing key advantages over the TCP congestion control process: Efficient ACK packets forwarding. The ACK packets are stored in a queue with higher priority, and can be forwarded firstly when the link is idle. So, the sender can Tcp Congestion Control Strategy Based on Multi-Level Priority Queue | 649 know the transmit success at an early time. It can avoid many retransmissions in the network. Significantly lower packet loss rate. The ACK packets and data packets, which have not been timely forwarded due to link congestion in the router, are stored re- spectively in two queues. In the idle link, the ACK packets can be forwarded firstly. So, the ACK packets can be stored and forwarded in priority especially under the congesting traffic. The number of the ACK packets the sender receives is the stand- ard of the data transmission success. Therefore, it can lower the packet loss rate significantly. Throughput has improved greatly. As we know that the success probability of data transmission has been improved greatly, less bandwidth will be consumed in our TCP congestion control strategy. So, the throughput of the network can also be improved greatly. The rest of the paper is organized as follows. Section 2 discusses related work. Section 3 introduces the basic theory about the multi-level priority queue. We de- sign a TCP congestion control strategy based on the multi-level priority queue in Section 4. Then, Section 5 describes the packet enqueuer and dequeuer algorithm in this multi-level priority queues. Section 6 shows the experimental results, such as the packet loss rate, the transmission delay, and the throughput. Section 7 shows conclusions as well as the future work. To summarize, this paper makes the follow- ing contributions: A Double-level priority queue congestion control strategy. We present a double- level priority queue congestion control strategy to divide the ACK and data packets without being forwarded into two queues with different priorities. The ACK packets can be forwarded firstly when the link is idle. A packet enqueuer and dequeuer algorithm. We propose a packet enqueuer and dequeuer algorithm according to the basic operations of the priority queue, which can store different kinds of packets. The packets in the higher-priority queue can be forwarded firstly. Experimental evaluations. We present an experimental evaluation showing that our approach can achieve a better throughput with satisfactorily low loss rate in TCP congestion control as expected. 2 Related Research Data is transferred in the network. When there are too many packets in a subnet, it will cause network performance decrease, which is called congestion as known. Network decreased performance is represented as the transmission increasing la- tency and network throughput reduction of the information packet. Fig. 1 shows that when the number of packets from the host port to the communication subnet is 650 | Zhi-Min Li, Dong-Liang Wu and Men-Mei Li within its capacity range, they will all be sent to the destination (except for few packets not being transmitted correctly due to the transmission error). And the net- work load increases to a certain value, which we call “Knee”. If the network load exceeds its processing capacity, the communication subnet begins losing data packets and causes the deterioration of the situation. When the network load con- tinues increasing to another value, the network throughput volume drops almost to zero. In this case, it cannot almost transfer any data, which is known as “Deadlock”. The root cause of network congestion is that the network load has gone beyond the network resource capacity and processing capacity. It is also because that the sum of the demand for resources is greater than the sum of the available resources. In theory, if the resource is infinite, the congestion will not happen. But, it cannot happen in reality. The main factors leading to the congestion are the following: Insufficient storage space. When many ports forward packets to the same out- put port, each packet needs to queue at the receiving port buffer. If the output does not have enough buffers, or the buffer is not enough, the packet will be discarded, especially for burst data stream. Insufficient bandwidth capacity. High-speed data stream over a slow link can often produce the congestion. Only when the data transmission rate R is less than the channel capacity, the congestion can be avoided. Slow Node processors.